Download attachment
Multimanager
This tutorial assumes you have a basic working knowledge of Worldcraft/Hammer. If you have familiarized yourself with Andy's
"In the Beginning" tutorial series, you will have no problems using the
multi_manager entity. The
multi_manager is a point-based entity used to time-activate other entities in your map. It can activate up to 16 entities on any schedule you prefer.
Normally, any sequence (a set of entities that is used to create an effect or scene) is controlled by a
multi_manager. For instance, when an alien suddenly teleports into view, a
multi_manager is behind the scenes controlling the timing of everything from the lasers and sound of the teleportation to the actual spawning of the alien. A sequence can contain almost any entity that can be targetted by name...
scripted_sequence, func_breakable, func_door, ambient_generic, light, etc.
For this tutorial we will explode several
func_breakable crates in a row, just to keep things simple. In the example map, I have set up everything for you except the
multi_manager, which I will teach you how to do here.
To begin
Download the MultiManager.rmf and open it up in Worldcraft. Notice the 4
func_breakable entities along the northern wall? These are the crates we will be blowing up in our sequence. I have creatively named them
crate1, crate2, crate3, and crate4. It is very important to notice that I did not use "Capital letters" in the names of these entities we will be targeting from the
multi_manager. This is because the
multi_manager always converts targeted names to lower-case. Your sequence will not work if you include any "Capital Letters" in your targetted entity names.
Placement
To place the
multi_manager in your map, use the
entity tool to create an entity anywhere inside the perimeter of the map. Right click on the entity and select
properties to bring up the Object Properties dialog box, then choose
multi_manager from the drop-down list provided.
Setup
You will notice that
Name is the only attribute available in the
multi_manager dialog box. Type whatever name you choose into this box. This name will be used as a
Target when you are ready to activate the
multi_manager. In order to begin setting up a sequence in your
multi_manager you must turn off
SmartEdit by clicking on the
SmartEdit button. This may bring up some odd looking keyvalues which should be left undisturbed. Click the
add button at the bottom of the dialog box. This brings up a small dialog box called
New KeyValue.
Creating a new keyvalue This is used to add the name of an entity your
multi_manager will be targeting, as well as the time (in seconds) that entity will be targeted after the
multi_manager has been activated. In the
Key: field, type in
crate1. In the
Value: field, enter
1. Hit the OK button to log the entry into the
keyvalues area. You have just set up the first event in your sequence! The
func_breakable called
crate1 will be activated (blown up) one second after the
multi_manager itself has been activated. Now hit the
add button again and enter
crate2 and give it a value of
2.5. Hit OK to log the entry. Now
crate2 will be blown up
2.5 seconds after the
multi_manager has been activated. Add the entries for
crate3 and
crate4, giving them whatever time values you prefer.
Lots of new keyvalues!
Activation
All that's left to make this work is to cause the
multi_manager to be activated somehow during gameplay. Do this by entering the
name of your
multi_manager into the target field of another entity. When the target field is activated during the game, it will cause the
multi_manager to be activated. I have provided a
func_button for this purpose in the example map. Type the name of your
multi_manager into the
Target field of the
func_button. To do this, choose
Map from the menu bar at the top of the Worldcraft window, then
Entity report, then
func_button, then click the
properties button. If
SmartEdit is still off, click
SmartEdit to turn it on...you will see the word
attributes rather than
keyvalues when
SmartEdit is on. Highlight the
target attribute and type in the name of your
multi_manager.
See it in Action
Compile the map. When you are in your map, use the button that you see in front of you. It should start the sequence you created with the
multi_manager. If the crates blow up one by one then you got it right! If nothing happens, check to see that the name of the
multi_manager is spelled correctly in the
func_button target field. If some of the crates do not blow up, check their spelling in the
multi_manager and make sure all 4 of them are targeted.
Extra Information
Remember, the time value you enter is the time in seconds that will elapse starting when the
multi_manager is triggered. Timing can be entered as precisely as milliseconds. Get in the habit of using
.001 for the value if you need to target an entity as soon as the
multi_manager is activated. Using
0 in the value field can cause undesired and erratic results. It is OK to give different entries the same time value to make them happen simultaneously.
If you wish to change a value after it has been logged, click on it in the
keyvalues box and that entry's values will show up in the corresponding boxes on the right. The values in those boxes can then be edited. Or you can delete the highlighted entry by hitting the
delete button in the center of the dialog box. Anytime you see the odd keyvalues unexpectedly, just click SmartEdit to get things back to normal.
Even though we used a
func_button to activate our
multi_manager in this example, almost any entity containing a
Target or
fire field can be used to trigger a
multi_manager...
trigger_once,
func_door (fire on close),
path_corner (fire on pass),
trigger_auto, etc.
There is only one flag that can be set for
multi_manager...
Multithreaded. As a new mapper, always tick this flag. Ticking the
MultiThreaded flag allows the
multi_manager to clone itself to keep your sequence operating smoothly. If
Multithreaded is not checked, and your
multi_manager is used more than once (such as when firing a cannon), events that overlap in your sequence will not be activated properly.
What it looks like in-game.