View Single Post
Author Message
Junior Member
Join Date: Sep 2009
Old 10-06-2009 , 22:02   [L4D & L4D2] Auto Infected Spawner
Reply With Quote #1

This is my first plugin.

I wanted some way to keep pummeling survivors with special infected while making some special infected spawn more often than others (since I loved killing lots of boomers, I wanted boomers to spawn much more often than smokers and hunters). I decided to make this plugin when other plugins and built-in cvars didn't spawn infected exactly how I wanted.


Manages its own system of automatic infected spawning. Change a specific special infected's chance of spawn by changing its weight. The higher the weight, the higher the chance it spawns, vice versa.

- The probability of a special infected spawning is (its weight)/(sum of all weights).
- The plugin for now can spawn upto 14 special infected (excluding witch) at once.
- Tank can have an exception of having -1 weight, which isn't factored into the weight sum. Instead, the director manages the spawning of the tanks (i.e. lottery system at each checkpoint).
- Witches aren't considered in these weights since they're the only non-playable special infected. Witches have their own spawning system. A setting of -1 on the witch limit cvar is director handled.
- Randomized spawn time mode: random spawn time between min and max spawn time
- Incremental spawn time mode: spawn time slows down as there are more special infected on the map at once; speeds up when there are less special infected
- Decremental spawn time mode: spawn time speeds up as there are more special infected; slows down when there are less special infected
- Constant witch spawn time mode: one witch spawns at the end of a witch spawn time interval
- Variable witch spawn time mode: one witch spawns anytime within a witch spawn time interval

If you don't want the settings to reset every map change, edit the cvars in the automatically generated l4d_autoSI.cfg at the cfg/sourcemod directory.

l4d_ais_version - Auto Infected Spawner Version
l4d_ais_enabled - "1" - Disable/Enable functionality of the plugin
l4d_ais_disable_in_versus - "1" - Automatically disable plugin in versus mode
l4d_ais_fast_response - "0" - Disable/Enable faster special infected response
l4d_ais_fast_spawn - "0" - Disable/Enable faster special infected spawn (Enable when SI spawn rate is high)
l4d_ais_safe_spawn - "0" - Disable/Enable special infected spawning while survivors are in safe room
l4d_ais_boomer_weight - "100" - The weight for a boomer spawning
l4d_ais_hunter_weight - "100" - The weight for a hunter spawning
l4d_ais_smoker_weight - "100" - The weight for a smoker spawning
l4d_ais_tank_weight - "-1" - The weight for a tank spawning [-1 = Director spawns tanks]
t - "-1" - The max amount of witches present at once (independant of l4d_ais_limit) [-1 = Director spawns witches]
l4d_ais_witch_period - "300.0" - The time (seconds) interval in which exactly one witch will spawn
l4d_ais_witch_period_mode - "1" - The witch spawn rate consistency [0 = CONSTANT | 1 = VARIABLE]
l4d_ais_limit - "3" - The max amount of special infected at once
l4d_ais_spawn_size - "1" - The amount of special infected spawned at each spawn interval
l4d_ais_time_mode - "1" - The spawn time mode [0 = RANDOMIZED | 1 = INCREMENTAL | 2 = DECREMENTAL]
l4d_ais_time_min - "0.0" - The minimum auto spawn time (seconds) for infected
l4d_ais_time_max - "60.0" - The maximum auto spawn time (seconds) for infected

l4d_ais_reset - Reset by slaying all special infected and restarting the timer
l4d_ais_start - Manually start the spawn timer
l4d_ais_time - Set a constant spawn time (seconds) by setting l4d_ais_time_min and l4d_ais_time_max to the same value
l4d_ais_preset - Set spawn weights to given presets <default|none|boomer|smoker|hunter|tank>

- It might conflict with other spawn plugins, such as infectedbots. I put a cvar that automatically disables the plugin in versus.
- Possible conflict with Kigen's anticheat since this plugin uses the z_spawn cheat

djromero for laying the foundation of the infected bots plugin.
mi123645 for letting me use some code from his infectedbots plugin.
FuzzOne and TacKLER for porting this plugin to L4D2.
Munch for updating plugin for L4D2

1.0.0 - Initial release (l4d_autoIS)

L4D1 version: l4d_autoIS
L4D2 version: l4d2_autoIS
Attached Files
File Type: sp Get Plugin or Get Source (l4d_autoIS.sp - 6463 views - 29.7 KB)
File Type: sp Get Plugin or Get Source (l4d2_autoIS.sp - 5197 views - 36.8 KB)

Last edited by Tordecybombo; 09-14-2014 at 17:17. Reason: added Munch's update to l4d2 version
Tordecybombo is offline