From 23c5672984c236a7065acde537a497211bd6250b Mon Sep 17 00:00:00 2001 From: Jackz Date: Fri, 21 May 2021 11:02:26 -0500 Subject: [PATCH] TKStopper: Ignore damage done to an attacked victim --- plugins/l4d2_TKStopper.smx | Bin 7208 -> 7994 bytes scripting/l4d2_TKStopper.sp | 69 +++++++++++++++++++++++++++++++++++- 2 files changed, 68 insertions(+), 1 deletion(-) diff --git a/plugins/l4d2_TKStopper.smx b/plugins/l4d2_TKStopper.smx index bcbd3d6e0e7252b1e8b8a044ea703d51a2bb4f46..7592d0f25caf43c9ec5da612a6fba9c4b3333efb 100644 GIT binary patch delta 7841 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 delta 7048 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 diff --git a/scripting/l4d2_TKStopper.sp b/scripting/l4d2_TKStopper.sp index f9c9de3..f6c7182 100644 --- a/scripting/l4d2_TKStopper.sp +++ b/scripting/l4d2_TKStopper.sp @@ -14,7 +14,7 @@ #include #include -bool lateLoaded, IsFinaleEnding, isPlayerTroll[MAXPLAYERS+1], isImmune[MAXPLAYERS+1]; +bool lateLoaded, IsFinaleEnding, isPlayerTroll[MAXPLAYERS+1], isImmune[MAXPLAYERS+1], isUnderAttack[MAXPLAYERS+1]; int iJoinTime[MAXPLAYERS+1]; float playerTotalDamageFF[MAXPLAYERS+1]; int lastFF[MAXPLAYERS+1]; @@ -57,6 +57,21 @@ public void OnPluginStart() HookEvent("finale_vehicle_ready", Event_FinaleVehicleReady); HookEvent("player_disconnect", Event_PlayerDisconnect); + HookEvent("charger_carry_start", Event_ChargerCarry); + HookEvent("charger_carry_end", Event_ChargerCarry); + + HookEvent("lunge_pounce", Event_HunterPounce); + HookEvent("pounce_end", Event_HunterPounce); + HookEvent("pounce_stopped", Event_HunterPounce); + + HookEvent("choke_start", Event_SmokerChoke); + HookEvent("choke_end", Event_SmokerChoke); + HookEvent("choke_stopped", Event_SmokerChoke); + + HookEvent("jockey_ride", Event_JockeyRide); + HookEvent("jockey_ride_end", Event_JockeyRide); + + RegAdminCmd("sm_ignore", Command_IgnorePlayer, ADMFLAG_KICK, "Makes a player immune for any anti trolling detection for a session"); if(lateLoaded) { @@ -68,6 +83,54 @@ public void OnPluginStart() } } +/////////////////////////////////////////////////////////////////////////////// +// Special Infected Events +/////////////////////////////////////////////////////////////////////////////// +public Action Event_ChargerCarry(Event event, const char[] name, bool dontBroadcast) { + int victim = GetClientOfUserId(event.GetInt("victim")); + if(victim) { + if(StrEqual(name, "charger_carry_start")) { + isUnderAttack[victim] = true; + }else{ + isUnderAttack[victim] = false; + } + } +} + +public Action Event_HunterPounce(Event event, const char[] name, bool dontBroadcast) { + int victim = GetClientOfUserId(event.GetInt("victim")); + if(victim) { + if(StrEqual(name, "lunge_pounce")) { + isUnderAttack[victim] = true; + }else{ + isUnderAttack[victim] = false; + } + } +} + +public Action Event_SmokerChoke(Event event, const char[] name, bool dontBroadcast) { + int victim = GetClientOfUserId(event.GetInt("victim")); + if(victim) { + if(StrEqual(name, "choke_start")) { + isUnderAttack[victim] = true; + }else{ + isUnderAttack[victim] = false; + } + } +} +public Action Event_JockeyRide(Event event, const char[] name, bool dontBroadcast) { + int victim = GetClientOfUserId(event.GetInt("victim")); + if(victim) { + if(StrEqual(name, "jockey_ride")) { + isUnderAttack[victim] = true; + }else{ + isUnderAttack[victim] = false; + } + } +} +/////////////////////////////////////////////////////////////////////////////// +// Misc events +/////////////////////////////////////////////////////////////////////////////// public void Event_FinaleVehicleReady(Event event, const char[] name, bool dontBroadcast) { IsFinaleEnding = true; } @@ -83,6 +146,7 @@ public void OnClientPutInServer(int client) { public void OnClientDisconnect(int client) { playerTotalDamageFF[client] = 0.0; + isUnderAttack[client] = false; } public void Event_PlayerDisconnect(Event event, const char[] name, bool dontBroadcast) { @@ -93,6 +157,8 @@ public void Event_PlayerDisconnect(Event event, const char[] name, bool dontBroa 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]) { @@ -102,6 +168,7 @@ public Action Event_OnTakeDamage(int victim, int& attacker, int& inflictor, flo //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; + if(isUnderAttack[victim]) return Plugin_Continue; int time = GetTime(); if(time - lastFF[attacker] > hForgivenessTime.IntValue) {