diff options
Diffstat (limited to 'sourcemod/scripting/gokz-global/ban_player.sp')
| -rw-r--r-- | sourcemod/scripting/gokz-global/ban_player.sp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/sourcemod/scripting/gokz-global/ban_player.sp b/sourcemod/scripting/gokz-global/ban_player.sp new file mode 100644 index 0000000..835d9e5 --- /dev/null +++ b/sourcemod/scripting/gokz-global/ban_player.sp @@ -0,0 +1,42 @@ +/* + Globally ban players when they are suspected by gokz-anticheat. +*/ + + + +// =====[ PUBLIC ]===== + +void GlobalBanPlayer(int client, ACReason reason, const char[] notes, const char[] stats) +{ + char playerName[MAX_NAME_LENGTH], steamid[32], ip[32]; + + GetClientName(client, playerName, sizeof(playerName)); + GetClientAuthId(client, AuthId_Steam2, steamid, sizeof(steamid)); + GetClientIP(client, ip, sizeof(ip)); + + DataPack dp = new DataPack(); + dp.WriteString(playerName); + dp.WriteString(steamid); + + switch (reason) + { + case ACReason_BhopHack:GlobalAPI_CreateBan(BanPlayerCallback, dp, steamid, "bhop_hack", stats, notes, ip); + case ACReason_BhopMacro:GlobalAPI_CreateBan(BanPlayerCallback, dp, steamid, "bhop_macro", stats, notes, ip); + } +} + +public int BanPlayerCallback(JSON_Object response, GlobalAPIRequestData request, DataPack dp) +{ + char playerName[MAX_NAME_LENGTH], steamid[32]; + + dp.Reset(); + dp.ReadString(playerName, sizeof(playerName)); + dp.ReadString(steamid, sizeof(steamid)); + delete dp; + + if (request.Failure) + { + LogError("Failed to globally ban %s (%s).", playerName, steamid); + } + return 0; +} |
