Respawning Items: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
mNo edit summary
No edit summary
Line 48: Line 48:


To make a prop respawn once it has been destroyed:
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
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
2) click on the "flags" tab at the top
3) check "autospawn: wait for entity destruction"
3) check "autospawn: wait for entity destruction"
4) click "apply"
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 and you don't have to stare the other way hoping you look long enough before you turn around.
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 and you don't have to stare the other way hoping you look long enough before you turn around.


P.S. this portion of the tutorial is not in the sample map.
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) I don't recommend checking "force spawn: only if there's room" as this enable the possiblity of endless spawn looping if the prop moves after it's created(in other words, the prop will respawn if it is moved regardless of whether or not the prop is actually destroyed.)
3) '''this portion of the tutorial is not in the sample map.'''


== Samples ==
== Samples ==

Revision as of 13:38, 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 and you don't have to stare the other way hoping you look long enough before you turn around.

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) I don't recommend checking "force spawn: only if there's room" as this enable the possiblity of endless spawn looping if the prop moves after it's created(in other words, the prop will respawn if it is moved regardless of whether or not the prop is actually destroyed.) 3) this portion of the tutorial is not in the sample map.

Samples

A sample map demonstrating this tutorial is available for download.