Respawning Items: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
Line 60: Line 60:


'''A few final notes:'''
'''A few final notes:'''
1) You WILL still need the '''logic_timer''' as it controls how long the '''env_entity_maker''' waits after the prop's destruction before recreating it.   
1) You WILL still need the '''logic_timer''' as it controls how long the '''env_entity_maker''' waits after the prop's destruction before recreating it.   



Revision as of 13:48, 2 July 2008

This is a tutorial for creating respawning items that can be either placed at a position, or dropped from the sky.

Step by step

First, create your room however you want it, or open up an existing map.

Entities

The following entities will be used:

Item templates

Now, place into the level the item you want to spawn (e.g., item_healthkit) and name it spawned1.

Place near this a point_template, name it template1 and set the Template 1 property to spawned1.

Repeat this process for every other item you want to be able to spawn, remembering to use different names (e.g., spawned1 becomes spawned2 and template1 becomes template2).

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., spawner1, spawner2, 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., template1).

Add your logic_case

The logic_case entity will contain a list of all the env_entity_maker entities, and will be used to make the entities spawn.

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

The logic_timer will be used to make each item spawn. It works by using the PickRandomShuffle input of the logic_case.

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: OnTimer
Target entities named: logic_spawner
Via this input: PickRandomShuffle

Test your map

Compile and test your map. If something does not work, try downloading the sample map and see if you missed anything.

Respawning a destroyed prop

If you follow the steps provided above your prop will respawn on a timer, as you may have noticed, regardless of whether or not the prop was destroyed... this could be problamatic. If you only want the prop to respawn once it has been destroyed, for example: an explosive oildrum... you don't want 500 of them on your map, you only want a number corresponding to the number of env_entity_maker which you placed.

To make a prop respawn once it has been destroyed:

1) Select a particular env_entity_maker press "alt+enter" to bring up the entity's properties

2) Click on the "flags" tab at the top

3) Check "autospawn: wait for entity destruction"

4) Click "apply"

5) After saving your map it's now ready to compile... a note: you may also want to check "autospawn: even if the player is looking" so that you can see it happen.

A few final notes:

1) You WILL still need the logic_timer as it controls how long the env_entity_maker waits after the prop's destruction before recreating it.

2) This portion of the tutorial is not in the sample map.

Samples

A sample map demonstrating this tutorial is available for download.