summaryrefslogtreecommitdiff
path: root/source/sourcemod/scripting/gokz-anticheat/commands.sp
diff options
context:
space:
mode:
authoraura <nw@moneybot.cc>2026-02-17 23:42:09 +0100
committeraura <nw@moneybot.cc>2026-02-17 23:42:09 +0100
commit5e2eb7d67ae933b7566f1944d0bb7744da03d586 (patch)
tree054acff1113270a9cd07933df760f3768c1b6853 /source/sourcemod/scripting/gokz-anticheat/commands.sp
parent341db13a008dc12bb22ceb50452d93d01476308c (diff)
move source stuff to its own folder
Diffstat (limited to 'source/sourcemod/scripting/gokz-anticheat/commands.sp')
-rw-r--r--source/sourcemod/scripting/gokz-anticheat/commands.sp76
1 files changed, 76 insertions, 0 deletions
diff --git a/source/sourcemod/scripting/gokz-anticheat/commands.sp b/source/sourcemod/scripting/gokz-anticheat/commands.sp
new file mode 100644
index 0000000..a1fbe2e
--- /dev/null
+++ b/source/sourcemod/scripting/gokz-anticheat/commands.sp
@@ -0,0 +1,76 @@
+void RegisterCommands()
+{
+ RegAdminCmd("sm_bhopcheck", CommandBhopCheck, ADMFLAG_ROOT, "[KZ] Show bunnyhop stats report including perf ratio and scroll pattern.");
+}
+
+public Action CommandBhopCheck(int client, int args)
+{
+ if (args == 0)
+ {
+ if (GOKZ_AC_GetSampleSize(client) == 0)
+ {
+ GOKZ_PrintToChat(client, true, "%t", "Not Enough Bhops (Self)");
+ }
+ else
+ {
+ PrintBhopCheckToChat(client, client);
+ }
+ return Plugin_Handled;
+ }
+
+ char arg[65];
+ GetCmdArg(1, arg, sizeof(arg));
+ char targetName[MAX_TARGET_LENGTH];
+ int targetList[MAXPLAYERS], targetCount;
+ bool tnIsML;
+
+ if ((targetCount = ProcessTargetString(
+ arg,
+ client,
+ targetList,
+ MAXPLAYERS,
+ COMMAND_FILTER_NO_IMMUNITY | COMMAND_FILTER_NO_BOTS,
+ targetName,
+ sizeof(targetName),
+ tnIsML)) <= 0)
+ {
+ ReplyToTargetError(client, targetCount);
+ return Plugin_Handled;
+ }
+
+ if (targetCount >= 2)
+ {
+ GOKZ_PrintToChat(client, true, "%t", "See Console");
+ for (int i = 0; i < targetCount; i++)
+ {
+ if (GOKZ_AC_GetSampleSize(targetList[i]) == 0)
+ {
+ PrintToConsole(client, "%t", "Not Enough Bhops (Console)", targetList[i]);
+ }
+ else
+ {
+ PrintBhopCheckToConsole(client, targetList[i]);
+ }
+ }
+ }
+ else
+ {
+ if (GOKZ_AC_GetSampleSize(targetList[0]) == 0)
+ {
+ if (targetList[0] == client)
+ {
+ GOKZ_PrintToChat(client, true, "%t", "Not Enough Bhops (Self)");
+ }
+ else
+ {
+ GOKZ_PrintToChat(client, true, "%t", "Not Enough Bhops", targetList[0]);
+ }
+ }
+ else
+ {
+ PrintBhopCheckToChat(client, targetList[0]);
+ }
+ }
+
+ return Plugin_Handled;
+} \ No newline at end of file