From 35d2b85dee71a3d7ef698520d9fc3b74dfcb416a Mon Sep 17 00:00:00 2001 From: Jackz Date: Wed, 12 May 2021 14:36:42 -0500 Subject: [PATCH] TKStopper: Move banning to when player leaves --- plugins/l4d2_TKStopper.smx | Bin 5531 -> 5845 bytes scripting/l4d2_TKStopper.sp | 18 ++++++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/plugins/l4d2_TKStopper.smx b/plugins/l4d2_TKStopper.smx index 7860844046dc3be9a68843d41f3f757a4900a91e..e23983a00499ae728dc2f8642e0fffb82e0d74f4 100644 GIT binary patch delta 5689 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 K8Yi=JHvb1lG_m^t diff --git a/scripting/l4d2_TKStopper.sp b/scripting/l4d2_TKStopper.sp index 8630e12..736e78b 100644 --- a/scripting/l4d2_TKStopper.sp +++ b/scripting/l4d2_TKStopper.sp @@ -14,7 +14,7 @@ #include #include -bool lateLoaded, IsFinaleEnding; +bool lateLoaded, IsFinaleEnding, isPlayerTroll[MAXPLAYERS+1]; int iJoinTime[MAXPLAYERS+1]; float playerTotalDamageFF[MAXPLAYERS+1]; int lastFF[MAXPLAYERS+1]; @@ -52,6 +52,7 @@ public void OnPluginStart() //AutoExecConfig(true, "l4d2_tkstopper"); HookEvent("finale_vehicle_ready", Event_FinaleVehicleReady); + HookEvent("player_disconnect", Event_PlayerDisconnect); if(lateLoaded) { for(int i = 1; i <= MaxClients; i++) { @@ -79,6 +80,14 @@ public void OnClientDisconnect(int client) { playerTotalDamageFF[client] = 0.0; } +public void Event_PlayerDisconnect(Event event, const char[] name, bool dontBroadcast) { + int client = GetClientOfUserId(event.GetInt("userid")); + if(client > 0 && isPlayerTroll[client]) { + BanClient(client, hBanTime.IntValue, BANFLAG_AUTO | BANFLAG_AUTHID, "Excessive FF", "Excessive Friendly Fire", "TKStopper"); + } + isPlayerTroll[client] = false; +} + //TODO: Autopunish on troll instead of ban. Activate troll that does 0 damage from their guns & xswarm public Action Event_OnTakeDamage(int victim, int& attacker, int& inflictor, float& damage, int& damagetype, int& weapon, float damageForce[3], float damagePosition[3]) { @@ -86,7 +95,7 @@ public Action Event_OnTakeDamage(int victim, int& attacker, int& inflictor, flo if(GetClientTeam(victim) != 2 || GetClientTeam(attacker) != 2 || attacker == victim) return Plugin_Continue; //Allow friendly firing BOTS that aren't idle players: //if(IsFakeClient(victim) && !HasEntProp(attacker, Prop_Send, "m_humanSpectatorUserID") || GetEntProp(attacker, Prop_Send, "m_humanSpectatorUserID") == 0) return Plugin_Continue; - + if(isPlayerTroll[attacker]) return Plugin_Stop; int time = GetTime(); if(time - lastFF[attacker] > hForgivenessTime.IntValue) { playerTotalDamageFF[attacker] = 0.0; @@ -95,6 +104,7 @@ public Action Event_OnTakeDamage(int victim, int& attacker, int& inflictor, flo lastFF[attacker] = time; if(GetUserAdmin(attacker) == INVALID_ADMIN_ID) { if(playerTotalDamageFF[attacker] > hThreshold.IntValue && !IsFinaleEnding) { + isPlayerTroll[attacker] = true; LogMessage("[NOTICE] Banning %N for excessive FF (%f HP) for %d minutes.", attacker, playerTotalDamageFF[attacker], hBanTime.IntValue); NotifyAllAdmins("[Notice] Banning %N for excessive FF (%f HP) for %d minutes.", attacker, playerTotalDamageFF[attacker], hBanTime.IntValue); //BanClient(attacker, hBanTime.IntValue, BANFLAG_AUTO | BANFLAG_AUTHID, "Excessive FF", "Excessive Friendly Fire", "TKStopper"); @@ -105,8 +115,8 @@ public Action Event_OnTakeDamage(int victim, int& attacker, int& inflictor, flo if(L4D_IsInFirstCheckpoint(victim) || L4D_IsInLastCheckpoint(victim) || time - iJoinTime[attacker] <= hJoinTime.IntValue * 60000) { return Plugin_Stop; }else { - SDKHooks_TakeDamage(attacker, attacker, attacker, IsFinaleEnding ? damage * 2.0 : damage / 2.0); - damage = IsFinaleEnding ? 0.0 : damage / 2.0; + SDKHooks_TakeDamage(attacker, attacker, attacker, IsFinaleEnding ? damage * 2.0 : damage / 1.9); + damage = IsFinaleEnding ? 0.0 : damage / 2.1; return Plugin_Changed; } }