From 82918f194535b990215822fa13df53adb1b023ea Mon Sep 17 00:00:00 2001 From: rtldg <55846624+rtldg@users.noreply.github.com> Date: Sun, 4 Jul 2021 11:01:34 +0000 Subject: [PATCH] rate limit sm_glock, sm_usp, and sm_knife --- addons/sourcemod/scripting/shavit-misc.sp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/addons/sourcemod/scripting/shavit-misc.sp b/addons/sourcemod/scripting/shavit-misc.sp index d0f6bbbd..121f6b61 100644 --- a/addons/sourcemod/scripting/shavit-misc.sp +++ b/addons/sourcemod/scripting/shavit-misc.sp @@ -76,6 +76,7 @@ char gS_PreviousMap[PLATFORM_MAX_PATH]; int gI_Style[MAXPLAYERS+1]; Function gH_AfterWarningMenu[MAXPLAYERS+1]; bool gB_ClosedKZCP[MAXPLAYERS+1]; +int gI_LastWeaponTick[MAXPLAYERS+1]; ArrayList gA_Checkpoints[MAXPLAYERS+1]; int gI_CurrentCheckpoint[MAXPLAYERS+1]; @@ -1265,6 +1266,8 @@ public void OnClientPutInServer(int client) SDKHook(client, SDKHook_WeaponDrop, OnWeaponDrop); SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage); + gI_LastWeaponTick[client] = GetGameTickCount(); + if(IsFakeClient(client)) { if (gCV_BotFootsteps.BoolValue && gH_UpdateStepSound != null) @@ -1832,6 +1835,13 @@ public Action Command_Weapon(int client, int args) return Plugin_Handled; } + if (GetGameTickCount() - gI_LastWeaponTick[client] < 10) + { + return Plugin_Handled; + } + + gI_LastWeaponTick[client] = GetGameTickCount(); + char sCommand[16]; GetCmdArg(0, sCommand, 16);