Overview
This guide will show you how the weapon and item spawning system works and how to use it in hammer.
Intro
This guide will show you how the item spawning system works in No More Room In Hell. It is assumed you have prior knowledge in mapping for the Source Engine before using this guide.
No More Room In Hell has a two part item spawning system, static and dynamic.
Static item spawns
Part one is the static spawning system. These are items that are placed that will always spawn and will always be a certain item. In addition firearms will always spawn with a maximum ammo for one magazine/clip.
To place a static item, use the point entity tool and place the item with the name you want to spawn. At the bottom of this guide is a list of all the items in the game.
Dynamic Item Spawn
The dynamic item spawn system is made up of two entities, random_spawner and random_spawner_controller.
Random_spawner is the entity that will spawn a random item from a selection of items you specify at it’s location.
The values for items are in percentages (%). For example 25 = 25%.
If the total values of all keyvalues goes over 100 then the values will be normalized so that the total is 100.
If the total values of all the keyvalues is under 100 then there is a chance nothing will spawn. E.g. fa_1911 = 40 and fa_glock17 =40 that means there’s a 20 percent chance nothing will spawn.
Ammo Fill Min and Ammo Fill Max specify what percentage you want the starting ammo to be in the guns. For example an Ammo Fill Min of 10 and Ammo Fill Max of 50 means if a fire arm is selected it will spawn with between 10% and 50% of it’s ammo already loaded into it.
But what if you want to specify certain items? To do that turn off smart edit
Next click “Add” then for the “Key” put in the name of the item and in the “Value” put the percentage chance you want it to have then click OK
Once you are done turn smart editing back on.
This random_spawner has a 50% chance to spawn an ammo entity and 50% chance to spawn nothing:
This random_spawner has a 10% chance to spawn ammo, 20% chance to spawn an explosive, 30% chance to spawn a handgun, and 40% chance to spawn a melee weapon:
You can also limit the total number of random spawned items per round.
Add a random_spanwer_controller somewhere in your map (you only need one). The setup is exactly the same as random_spanwer except the values represent the max number of those items that are allowed to spawn from random_spawner entities.
The values inherit their parents values if the parents value is lower.
For example given the following:
“any” means that only 5 random_spawners in total will spawn an item because “any” is a keyword that refers to all items. “firearm” means that only 3 guns at max will spawn. “ammo” is set to 6 but it is a child of “any” so while it says 6 the most that can spawn is “5”. “fa_1911” is set to 4 which is less then “any” but more then “firearm” so it is adjusted to 3 by the game.
- When all random_spawner entities are loaded their spawn requests (what they would have spawned without the limiter) are sent to the limiter
- After the level is loaded, the limiter picks from the list of requests to spawn until either the list is empty or all limits are reached
- Any random_spawner entity that requests a spawn after the above is immediately spawned or rejected