From ec897c3466e29b9547ce85196489f98a3fe22b52 Mon Sep 17 00:00:00 2001 From: Dogan Date: Fri, 8 Nov 2019 14:40:59 +0100 Subject: [PATCH] KnifeMadness: Hopefully fix spec exploit --- .../scripting/UNLOZE_KnifeMadness.sp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/UNLOZE_KnifeMadness/scripting/UNLOZE_KnifeMadness.sp b/UNLOZE_KnifeMadness/scripting/UNLOZE_KnifeMadness.sp index 5053285f..02fc1efa 100644 --- a/UNLOZE_KnifeMadness/scripting/UNLOZE_KnifeMadness.sp +++ b/UNLOZE_KnifeMadness/scripting/UNLOZE_KnifeMadness.sp @@ -2,6 +2,7 @@ #include #include #include +#include #pragma semicolon 1 #pragma newdecls required @@ -35,6 +36,7 @@ public void OnPluginStart() HookEvent("player_spawn", OnClientSpawn, EventHookMode_Post); HookEvent("player_death", OnClientDeath, EventHookMode_Pre); HookEvent("player_hurt", OnClientHurt, EventHookMode_Post); + HookEvent("player_team", OnClientTeam, EventHookMode_Pre); } //---------------------------------------------------------------------------------------------------- @@ -100,6 +102,20 @@ public void OnClientHurt(Event hEvent, const char[] sEvent, bool bDontBroadcast) pack.WriteCell(GetClientUserId(victim)); } +//---------------------------------------------------------------------------------------------------- +// Purpose: +//---------------------------------------------------------------------------------------------------- +public void OnClientTeam(Event hEvent, const char[] sEvent, bool bDontBroadcast) +{ + int client = GetClientOfUserId(hEvent.GetInt("userid")); + + if (g_bClientKnifed[client]) + { + g_bClientKnifed[client] = false; + LogPlayerEvent(client, "triggered", "switch_to_spec"); + } +} + //---------------------------------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------------------------------