This plugin will prevent a ghost infected from using the DUCK command if they are blocked. In addition, if they get passed that line of defense, it will create a timer (for 0.1 seconds) after they spawn that checks for the following conditions:
1) They are ducked, but not in the process of "ducking" (released the crouch key and are coming up from the duck)
2) Is not holding the crouch button down.
If those conditions match, the player is slayed and notified that why they were killed. The plugin calls ShowActivity2 which tells (depending on how you have sourcemod setup) people the person was killed for trying to use the exploit.
Because of the way the game works, anytime a ghost is in a tunnel which auto ducks them, they are detected as cheating if they aren't holding crouch. For this reason, the default is not to kill them, but to force them to duck unduck.
Version 1.0 forces a player to run +duck then -duck after spawning.
l4d_block_ghost_duck.sp is always the latest.
Notes
!!Version 1.1 and above require SM 1.3!!
!!Version 1.1 and above require SM 1.3!!
- Use version 1.0 if you wish to run on SM 1.2
Version History
1.5
- Fixed +duck-duck mode where every time you spawn, it called the code. Now it does same detection as slay version. (is ducked, not holding duck, and not falling)
- Changed default from slay to +duck-duck.
1.4
- Added the ability to toggle slay when exploit detected at spawn.
- Detects falling velocity during spawn. L4D flags you as ducking when you jump. This now (when spawning) checks to see if the player IS ducking, BUT is falling, and bypasses the kill\duck+stand fix.
1.3
- Added a fallback method of detection. If player spawns, is on the infected team, is ducked, and is not holding the duck key, they are slayed and notified why.
1.2
- More effecient. Now it caches the offsets of the properties. It first checks for duck command even being used, then checks that the client is on the infected team, then makes sure we're working with players, not bots.
1.1
- Uses SM 1.3
- Hooks player command and detects for team infected, is a ghost, if they are using the +DUCK command, and if they are blocked, and if so, removes the +DUCK command.
1.0.1
- Uses SM 1.2
- Uses better detection of the client using the exploit when spawning. Pulled from version 1.5. No longer forces to duck\unduck every time.
1.0
CVARs
l4d_ghost_duck_block_ver - Version of the plugin
l4d_ghost_duck_block_kill - If set to 1, slays the player when they spawn and have used the exploit. Default is 0. Note: If set to 0, they use the old duck+stand mechanism which cancels out the exploit.
History Downloads
Version 1.0 - 22 views
Version 1.1 - 15 views
Version 1.2 - 17 views
Version 1.3 - 4 views
Version 1.4 - 44 views