Intended to those rushers and ppl who wasting time of your team.
Consists of 3 parts:
1) Prevents infinite rapid door open/close:
- limit door speed
- damage people with electricity who try to open/close door for too often
- kill people who wasted too many attempts to open/close the door
2) Prevent rushing from tanks
- Lock the door when first tank is appearing
- Unlock the door when all tanks died
3) Don't allow people to waste team time
- When the most of your team reached the final door, the countdown timer is started
- If countdown elapsed, "Witch hunting mode" is turning ON!!!
- everybody who isn't inside the safezone has a lethal chance to meet lot of witches instantly. Just consider them as they are already dead
Nice visual effects
Can be found in: cfg/sourcemod/l4d_door_antispam.cfg
// 0=Plugin off, 1=Plugin on.
// Is door electric when opened? (1 - Yes, 0 - No)
// Is door electric when closed? (1 - Yes, 0 - No)
// Number of locked door touches to begin warn player
// Number of locked door touches to begin shock player
// Number of locked door touches to kill player
// Download additional visual fx effects files for tesla (L4D1 only)
// Ensure end checkpoint door spawn as closed (1 - Yes, 0 - No)
// Kill entities preventing to open/close the door? (0 - No, 1 - yes: infected only, 2 - yes: all, including players)
// Block the door when tanks are not killed? (1 - Yes, 0 - No)
// Number of seconds to delay door in opened/closed state (0 - to disable)
// Percent of alive players +1 that should be next to the safe room to begin witch hunting (-1 - to disable)
// Maximum distance to saferoom for counting percent for witch hunting
// Time (in seconds) witch will wait for to begin hunting
// Time (in seconds) the next map will be forcibly loaded after witch hunting started (for emergency)
* Callback for receiving the moment when witch hunting is started
* @param iStarted 1 - When hunting is started, 0 - When huntng is stopped.
forward void DAS_OnWitchHunting(int iStarted);
* Callback for receiving the moment when client touched the door
* @param iDoor 1 - Door index
* @param iClient 1 - Client index
forward void DAS_OnDoorTouched(int iDoor, int iClient);
- Compatible with DragoStats (automatically disable counting witch points when "Witch hunting mode" is turned ON.
- ConVar "l4d_door_antispam_kill_blockers" may cause damage player state (since one of the damn Valve updates), causing player can't do anything and can't see himself when he is killed by the door, even after changing the map.
- Added ConVar "l4d_door_antispam_force_next_map_time" - Time (in seconds) the next map will be forcibly loaded after witch hunting started (for emergency).
- Removed change of saferoom area to prevent possible problems.
- some adjustments for individual maps.
- added ConVars.
- code is simplified and optimized.
- improved doors recognizing code.
- added 'lock on tanks'.
- added witch hunting countdown.
- Initial release.
- @cravenge - for "Lockdown System" plugin - I took the most his nice code from there
- @SilverShot - for Teasla effect from "Mutant Zombies" plugin
- @Mr.ToNik - for energy splash effect logic I used from "VIP Spawn Effects" plugin
Donates are very appreciated and welcomed for further inspiration, make me happy, and make next updates came out more often: