From 9dd192d66da3d3a0c9697ded083234e455bda47d Mon Sep 17 00:00:00 2001 From: Jackz Date: Wed, 12 May 2021 01:13:06 -0500 Subject: [PATCH] Update TKSTopper --- README.md | 3 +++ plugins/l4d2_TKStopper.smx | Bin 5401 -> 5531 bytes scripting/l4d2_TKStopper.sp | 4 +++- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 8b0f686..dc0c96f 100644 --- a/README.md +++ b/README.md @@ -281,6 +281,7 @@ An idea that you can either manually or have events (friendly fire, new player j Currently **in development.** Currently auto triggers: + 1. On any recent friendly fire (only triggers once per 100 game ticks) 2. Any new player joins (only triggers once per 100 game ticks) @@ -300,6 +301,8 @@ Any survivor that attacks another survivor 1. If within first 2 minutes of joining, no damage is dealt to either victim or attacker. This prevents the next person to join being punished. 2. If during the finale vehicle arrival, they do 0x damage to victim and take 2x reverse friendly fire 3. If neither #1 or #2, both the victim and the attacker take 1/2 the original damage +4. If victim is in a saferoom, no damage is dealt. + During any of the above three conditions, if they deal (or attempt to deal) over 75 HP in 15 seconds they will be instantly banned for a set period of time (60 minutes). If they are for sure a team killer, it can be extended to a permanent ban. diff --git a/plugins/l4d2_TKStopper.smx b/plugins/l4d2_TKStopper.smx index 7b2f090e868e2fd5cd8b6b818f2c7aa9a2ec7435..7860844046dc3be9a68843d41f3f757a4900a91e 100644 GIT binary patch delta 5374 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 RUzYpJl8Ha1aWXq+^MBy!va0|9 delta 5243 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 diff --git a/scripting/l4d2_TKStopper.sp b/scripting/l4d2_TKStopper.sp index 9b5ab21..8630e12 100644 --- a/scripting/l4d2_TKStopper.sp +++ b/scripting/l4d2_TKStopper.sp @@ -12,6 +12,8 @@ #include #include #include +#include + bool lateLoaded, IsFinaleEnding; int iJoinTime[MAXPLAYERS+1]; float playerTotalDamageFF[MAXPLAYERS+1]; @@ -100,7 +102,7 @@ public Action Event_OnTakeDamage(int victim, int& attacker, int& inflictor, flo return Plugin_Stop; } //If the amount of MS is <= join time threshold * 60000 ms then cancel - if(GetTime() - iJoinTime[attacker] <= hJoinTime.IntValue * 60000) { + 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);