NOTE: This plugin will continue to be supported by mi123645 on this thread:
http://forums.alliedmods.net/showthr...938#post893938
Features:
- Custom Infected HUD (based on Durzel's Infected HUD plugin) to keep track of the bots.
- It uses L4D built-in cvars to configure itself (z_versus_boomer_limit, z_ghost_delay_max, etc).
- Spawns special infected bots to fill up the infected's team (up to z_max_player_zombies).
- When a real player connects and joins the infected team, any extra bot will be kicked.
- 2 cvars to disallow spawning certain infected bots (boomers and smokers):
l4d_infectedbots_allow_boomer and
l4d_infectedbots_allow_boomer
- 1 cvar to change the way you want infected spawn time handled:
===> 0 (default): Human zombies will use default spawn times (min time if less than 3 players in team) (min default is 20)
===> 1: Bots and human zombies will have the same spawn time. (max default is 30).
- cvar to enable/disable infected bots hud: l4d_infectedbots_showhud (default is 1 - enabled).
Know problems:
- Since this plugin uses the "z_spawn" command to spawn the infected bots (by temporarily changing his sv_cheats flags), it won't work if you have Kigen's anti-cheat plugin installed on your server, since it will detect the spawn attempt as a cheat. I don't know if Kigen's plugin has a setting to allow this for server plugins, but it didn't allow me to use this command from my plugin.
- Special infected bots know shit about team work
.... so don't expect them to coordinate their attacks with yours
How to install:
- Download
l4dvsinfectedbots.smx or compile (on your pc)
l4dvsinfectedbots.sp with latest 1.2 snapshot (at least
2541).
- Copy the
l4dvsinfectedbots.smx file on the
../sourcemod/plugins folder and restart your server.
Change log:
Version 1.0:
- Initial release.
Version 1.1:
- Implemented "give health" command on infected spawn, to fix the no-hud/no-pounce bug.
Version 1.1.1:
- Fixed survivor's quick HUD refresh when spawning infected bots.
Version 1.1.2:
- Implemented a different method to fix the survivor's quick HUD refresh when spawning infected bots. Previous one wasn't working well.
Version 1.2:
- Fixed several bugs while counting players.
- Added chat message to inform infected players (only) that a new bot has been spawned.
Version 1.3:
- No infected bots are spawned if at least one player is in ghost mode. If a bot is scheduled to spawn but a player is in ghost mode, the bot will spawn no more than 5 seconds after the player leaves ghost mode (spawns).
- Infected bots won't stay AFK if they spawn far away. They will always search for survivors even if they're far from them.
- Allows survivor's team to be all bots, since we can have all bots on infected's team.
Version 1.4:
- Now Infected bots can spawn even when a real player is dead or in ghost mode without forcing the real player to spawn.
- Since real players won't be forced to spawn, they won't spawn outside the map or in places they can't get out (where only bots can get out).
- Minor changes to avoid some crashes.
Version 1.5:
- Added HUD panel for infected bots. Original idea from: Durzel's Infected HUD plugin. Some code was copied from it with his permission.
- Added validations so that boomers and smokers do not spawn too often. A boomer can only spawn (as a bot) after XX seconds have elapsed since the last one died.
- Added/fixed some routines/validations to prevent memory leaks.
Version 1.5.1:
- Fixed major bugs that caused server to hang (infite loops and threading problems).
Version 1.5.2:
- Normalized spawn times for human zombies (min = max).
- Fixed spawn of extra bot when someone dead becomes a tank. If player was alive, his bot will still remain if he gets a tank.
- Added 2 new cvars to disallow boomer and/or smoker bots:
==> l4d_infectedbots_allow_boomer = 1 (allow, default) / 0 (disallow)
==> l4d_infectedbots_allow_smoker = 1 (allow, default) / 0 (disallow)
Version 1.5.3
- Fixed issue when boomer/smoker bots would spawn just after human boomer/smoker was killed. (I had to hook the player_death event as pre, instead of post to be able to check for some info).
- Added new cvar to control the way you want infected spawn times handled:
* l4d_infectedbots_normalize_spawntime:
===> 0 (default): Human zombies will use default spawn times (min time if less than 3 players in team) (min default is 20)
===> 1: Bots and human zombies will have the same spawn time. (max default is 30).
- Fixed issue when all players leave and server would keep playing with only survivor/infected bots.
- Updated version CVAR, now it will show 1.5.3
Version 1.5.4.
- Fixed (now) issue when all players leave and server would keep playing with only survivor/infected bots.
Version 1.5.5.
- Fixed some issues with infected boomer/smoker bots spawning just after human boomer is killed.
- Changed method of detecting VS maps to allow non-vs maps to use this plugin.
Version 1.5.6
- Rollback on method of detecting VS maps.
Version 1.5.7
- Rewrited the logic on map change and round end.
- Removed multiple timers on "kickallbots" routine.
- Added checks to "IsClientInKickQueue" before kicking bots.
Version 1.6.
- Finally fixed issue of server hanging on mapchange or when last player leaves. Thx to AcidTester for his help testing this.
- Added cvar to disable infected bots HUD
Version 1.6.1
- Changed some routines to prevent crash on round end.
(last version supported by me)
Thanks to all who have helped me test this plugin. I couldn't have done it without all your feedback.
NOTE: "Get Plugin" will now compile with SM 1.2