This is a tutorial for creating respawning items that can be either placed at a position, or dropped from the sky.
- 1 Step by step
- 2 Item templates
- 3 Add your entity makers
- 4 Add your logic_case
- 5 Add your timer
- 6 Creating props that only respawn after they have been destroyed (only works in Half-Life 2: Deathmatch)
- 7 Creating weapons that only respawn after they have been picked up/used (only tested in Garry's Mod)
- 8 Test your map
Step by step
First, create your room however you want it, or open up an existing map.
The following entities will be used:
- point_template - makes copies of the item to spawn.
- env_entity_maker - spawns the item in the game.
- logic_case - used to trigger
- logic_timer - used to trigger the
logic_caseand select a random spawner.
Now, place into the level the item you want to spawn (e.g., item_healthkit) and name it
Place near a point_template, name it
template1 and set the Template 1 property to
Repeat this process for every other item you want to be able to spawn, remembering to use different names (e.g.,
Add your entity makers
Place around your map a number of env_entity_maker entities. The first one should be named
spawner1 and each should be named in a consecutive manner (i.e.,
spawner3 and so forth).
Each of these should have their Point_template To Spawn property set to the template you want to spawn (e.g.,
Add your logic_case
Begin by naming your logic_case
logic_spawner and giving a value to each Case xx property. You can simply put a number in each, counting upwards. Only put as many values in as you have env_entity_maker entities though.
On the Output tab, add an output for each env_entity_maker you have. Set each to a different OnCaseXX output, and put the name of the env_entity_maker you want to spawn in the target field (e.g.,
spawner1) and set the input to be ForceSpawn.
Add your timer
Add your logic_timer and set Start Disabled to
No. Under Refire Interval set the delay (in seconds) of how often you would like your items to spawn. For testing purposes, I used a value of 2.
Add the following output to your logic_timer:
- My output named:
- Target entities named:
- Via this input:
Creating props that only respawn after they have been destroyed (only works in Half-Life 2: Deathmatch)
To create a prop which will respawn once it has been destroyed, simply follow these quick and easy steps. Please note that in this example we will be using the explosive oildrum prop as it's the simplest prop to destroy. Note that this tutorial is written for the newest of hammer users and may seem a little drawn out. In an effort to expedite the completion of this tutorial for users more experience with hammer I have made the numbers of the most key steps bold.
1) Select the Entity tool
2) In the box on the right side of your screen, that has the words "to world" and "to entity" above it you will see some text describing the current type of entity selected. In that box type: prop_physics_respawnable.
3) Select what the prop will look like by opening it's properties (select it and press "alt+enter"), then clicking on world model and then clicking on browse.
4) In the bottom of the new window that opens up, there is box labeled "filter" type in oildrum. Select the oildrum001_explosive prop. Then click on "apply"
5) If you have closed the prop's property window, reopen it by pressing "alt+enter". In this window you will see a column on the left. Scroll to the bottom, where you will see "respawn time". Click on that and on the right side of the window you will see a value of 60. Set it to whatever time period you desire or leave it as is. Once again, click "apply".
6) You're done. That's it. Easy right?
Creating weapons that only respawn after they have been picked up/used (only tested in Garry's Mod)
1) Create the weapon that you want to use. Place it where you want it to be placed in the level. Give it the name "spawnedgun"
2) Create an env_entity_maker and put it in the same place as your gun. Give it the name "spawngun"
3) Create a point_template near your other entities and give it the name "tempgun". Go back to your env_entity_maker and put "tempgun" under "Point_template To Spawn"
4) Go to your point_template and under Template 1 put "spawnedgun"
5) Go to your gun and set an output to "OnPlayerPickup" with the Target Entity to "spawngun" and the input of "ForceSpawn". You might want to add a delay.
Test your map
Compile and test your map.