Simple Scripted Sequences
Ok, for the purpose of this tutorial I have created a small lab room. My objective is to create a series of events that culminate in the explosion of the tank in the middle of the room.
Events:
1. Push the button
2. First laser turns on
3. Second laser turns on 4 sec after the first
4. Red warning lights turn on at the same time as the second laser
5. The tank explodes 4 sec after the first laser
Basically we are using a multimanager as a row of switches with a timer. After the given time, one of the switches is clicked and one of the events is triggered. Now even though multimanagers may seem scary to new users, they are actually simple.
To set up the multimanager, first uncheck the smart edit. Now, all you do is type the name of the entity you want to trigger, and the time (in seconds) that you want it to delay before that entity is triggered. Simple.
*Note: All the trigger names I used can be changed. All the names I used are in parenthesis.
Ok, first I turned the console in front of the tank into a func_button that targets my mm.
To create the laser, I used 2 func_laser and 1 info_target. The first laser (laser_1) targets the info target (laser_a). The second laser (laser_2) is placed over the first and also targets the info target. The only difference from first is that I added a noise of 150. This creates a random laser the flails all over the place.
The warning lights were very basic. All I did was create a few brushes that looked somewhat like red lights. I created a light entity with a red color and placed it directly under the brushes. All 3 of the light entities are to have the same name (light_1). That way, you don?t have to enter 3 different values into the mm.
Now, the tank is easy. Simply select all the brushes and tie them to func_breakable (glass_1. I made the magnitude 800 so that it is sure to kill anything that hasn?t taken cover. I also turned the render mode to texture and the FX amount to 150. This will make the glass see through. Also, you have to check the flag trigger only.
As I said before, for the multimaniger, simply enter the name of the entity and how long you want the delay.
In order to stop all the entities after the sequence is done, you have to re trigger them all again. I simply copied my mm and changed the name to (mm_laser_stop) and changed all the delay values to 0.
The last thing you have to worry about is making sure the event cant be triggered again. An easy way to accomplish this is create a trigger_changetarget. Have it target the button you used and tell it to change the target to null. Null doesn?t exist, so the button is now dead. To finish it off, simply have the second mm target the trigger_changetarget. And now you are done.
Time to compile and watch it happen!
*I am simply demonstrating how I accomplished this effect. Credit is due to Gollum who helped me figure out how to do this all.
Ok, for the purpose of this tutorial I have created a small lab room. My objective is to create a series of events that culminate in the explosion of the tank in the middle of the room.

Events:
1. Push the button
2. First laser turns on
3. Second laser turns on 4 sec after the first
4. Red warning lights turn on at the same time as the second laser
5. The tank explodes 4 sec after the first laser
Basically we are using a multimanager as a row of switches with a timer. After the given time, one of the switches is clicked and one of the events is triggered. Now even though multimanagers may seem scary to new users, they are actually simple.
To set up the multimanager, first uncheck the smart edit. Now, all you do is type the name of the entity you want to trigger, and the time (in seconds) that you want it to delay before that entity is triggered. Simple.
*Note: All the trigger names I used can be changed. All the names I used are in parenthesis.
Ok, first I turned the console in front of the tank into a func_button that targets my mm.
To create the laser, I used 2 func_laser and 1 info_target. The first laser (laser_1) targets the info target (laser_a). The second laser (laser_2) is placed over the first and also targets the info target. The only difference from first is that I added a noise of 150. This creates a random laser the flails all over the place.
The warning lights were very basic. All I did was create a few brushes that looked somewhat like red lights. I created a light entity with a red color and placed it directly under the brushes. All 3 of the light entities are to have the same name (light_1). That way, you don?t have to enter 3 different values into the mm.
Now, the tank is easy. Simply select all the brushes and tie them to func_breakable (glass_1. I made the magnitude 800 so that it is sure to kill anything that hasn?t taken cover. I also turned the render mode to texture and the FX amount to 150. This will make the glass see through. Also, you have to check the flag trigger only.
As I said before, for the multimaniger, simply enter the name of the entity and how long you want the delay.

In order to stop all the entities after the sequence is done, you have to re trigger them all again. I simply copied my mm and changed the name to (mm_laser_stop) and changed all the delay values to 0.

The last thing you have to worry about is making sure the event cant be triggered again. An easy way to accomplish this is create a trigger_changetarget. Have it target the button you used and tell it to change the target to null. Null doesn?t exist, so the button is now dead. To finish it off, simply have the second mm target the trigger_changetarget. And now you are done.

Time to compile and watch it happen!

*I am simply demonstrating how I accomplished this effect. Credit is due to Gollum who helped me figure out how to do this all.