From 89b08a279fbb36e868b281c96c645a77848d37ec Mon Sep 17 00:00:00 2001 From: Jackz Date: Thu, 17 Feb 2022 11:05:11 -0600 Subject: [PATCH] Fix incorrect admin votekick --- plugins/L4D2FFKickProtection.smx | Bin 5282 -> 5532 bytes scripting/L4D2FFKickProtection.sp | 20 ++++++++++++++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/plugins/L4D2FFKickProtection.smx b/plugins/L4D2FFKickProtection.smx index 9f010147a3a6152cc66372cb6c02ece6eccdfea3..c9cb15d5ba4454ae58c6836807c2bffde26009fd 100644 GIT binary patch delta 5361 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: When FF count > this", FCVAR_NONE, true, -1.0); } +int iJoinTime[MAXPLAYERS+1]; public void OnClientPutInServer(int client) { int team = GetClientTeam(client); if(team == 2) { SDKHook(client, SDKHook_OnTakeDamageAlive, OnTakeDamage); } + iJoinTime[client] = GetTime(); } public void Event_PlayerTeam(Event event, const char[] name, bool dontBroadcast) { @@ -56,8 +58,13 @@ public void Event_PlayerTeam(Event event, const char[] name, bool dontBroadcast) } } /* -Dropped BabybackRibs from server (Disconnect by user.) L 02/16/2022 - 10:38:53: [SM] Exception reported: No valid ban method flags specified L 02/16/2022 - 10:38:53: [SM] Blaming: L4D2FFKickProtection.smx L 02/16/2022 - 10:38:53: [SM] Call stack trace: L 02/16/2022 - 10:38:53: [SM] [0] BanClient L 02/16/2022 - 10:38:53: [SM] [1] Line 78, s:\Jackz\Documents\Sourcepawn\scripting\L4D2FFKickProtection.sp::VoteStart Potential vote being called Client "Andean Brain Surgeon" connected (70.112.126.195:27005). String Table dictionary for downloadables should be rebuilt, only found 39 of 51 strings in dictionary String Table dictionary for soundprecache */ - +Dropped BabybackRibs from server (Disconnect by user.) +L 02/16/2022 - 10:38:53: [SM] Exception reported: No valid ban method flags specified +L 02/16/2022 - 10:38:53: [SM] Blaming: L4D2FFKickProtection.smx + L 02/16/2022 - 10:38:53: [SM] Call stack trace: + L 02/16/2022 - 10:38:53: [SM] [0] BanClient + L 02/16/2022 - 10:38:53: [SM] [1] Line 78, s:\Jackz\Documents\Sourcepawn\scripting\L4D2FFKickProtection.sp::VoteStart Potential vote being called +*/ public Action VoteStart(int client, const char[] command, int argc) { if(!IsClientInGame(client)) { PrintToServer("Preventing vote from user not in game: %N", client); @@ -80,8 +87,13 @@ public Action VoteStart(int client, const char[] command, int argc) { AdminId targetAdmin = GetUserAdmin(target); if(targetAdmin != INVALID_ADMIN_ID) { //Only run if vote is against an admin PrintToChat(target, "%N has attempted to vote kick you.", client); - if(callerAdmin == INVALID_ADMIN_ID) { //If vote starter is not an admin, ban their ass - BanClient(client, 0, 0, "Attempted Vote Kick Admin", "Dick-Be-Gone", "noFF"); + for(int i = 1; i <= MaxClients; i++) { + if(target != i && IsClientConnected(i) && IsClientInGame(i) && GetUserAdmin(i) != INVALID_ADMIN_ID) { + PrintToChat(i, "%N attempted to vote-kick %N", client, target); + } + } + if(callerAdmin == INVALID_ADMIN_ID && GetTime() - iJoinTime[client] <= 120) { + KickClient(client, "No."); } return Plugin_Handled; }