Scripted sequence
Post Reply
Quote
Re: Scripted sequence
Posted by Spazz on Thu Oct 2nd at 2:50am 2003


OK...

Description:  I have a basic lab room set up.  In the middle, i have kind of a tank that connects to the roof and the floor (it is made of glass).  The tank is filled with water.  On either side of the tank is 2 control pannels i have made (they just look good). There is also 2 red warning lights on either side of the tank.

Question:  OK, when someone walks up to either of the control pannels and presses the use key, i want a large laser to go through the middle of the tank. I can do that part.  After that, i want it to wait say 5 seconds and then trigger a sprite.  I want the sprite to be bubbles so it appears that the water is boiling.  Then 1 second after that, I want a second laser to shoot from the same origin as the first (both simotaneously), but i want the second one to be eratic,  Flailing all over the place.  After that, I Want the warning lights to flash. Then finally 1 second after that, i want the tank to explode.

 

I know how to make the glass a function_breakable and i know how to make the first laser. 

I also know this is quite the sequence.  I am not much good at multimanigers.

 

IF ANY BRAVE SOUL CARES TO EXPLAIN THIS TO ME... PLEASE DO.  If not, just tell me it is a waist of time to post a request this complex and ill go crawl back into my noobie hole.

Thank you for your time.

[addsig]




Quote
Re: Scripted sequence
Posted by Gollum on Thu Oct 2nd at 10:09am 2003


Right, well you really do need to use multi_managers (henceforth MMs) to do something like this.  A MM is just like lots of trigger_relays all put together.

The sequence of events is actually quite simple here.  It works like this:

Button ---> everything else

You can use a MM to trigger up to 16 unique names.  If you need more than this, add another MM with the same name.  Get both your func_buttons to target the MM.

Now you need to set up the effects.  The sprite should just toggle between on and off.  I assume you are using an env_laser or env_beam for your laser effect.  To make an eratic laser, you could just increase the NoiseAmplitude (this will make a laser that arcs wildly between its start and end point).  Alternatively, you can make a laser that switches randomly between different endpoints, simply by adding more info_targets of the same name.

Bear in mind that if you make the glass a func_breakable, you may need to set "only on Trigger" to prevent the player breaking it and spoiling your sequence.  In this case you must trigger the breakable using a MM as described below, since it will be immune to all damage.

Use an env_explosion for the explosion.  The lights can just be toggled.  Now all that's left is to worry about what happens to the water.  I don't know how you want to do this, but you will have to get rid of it somehow.  The most basic way is to create a trigger_relay called "waterkill" and have that killtarget the func_water (note that MMs cannot do this).  You will need to trigger this relay using the MMs.

Once all that is set up, you must make sure all the effects are off, ready to be triggered.  Then go to the MM(s) and turn off SmartEdit.  Use the "add" button to add keys; type in the name of an entity that you want to trigger, with a value equal to the amount of time (in seconds) to wait before triggering (that is, how long after the button has been pressed).  Keep doing this until all of the effects are listed, and remember only to give each MM 16 items at most.

For some of these entities, you may need to turn them off after they've been turned on.  Just add them to your MMs again, but with a different delay.  They will be created as entityName#1 in the list of MM targets.  You could even fire the same thing 16 times if you like - ent, ent#1, ent#2....etc.

Finally, you must prevent the buttons from working again or weird s**t will happen when they are next pressed!  There are several ways to do this.  Here's a quick and dirty method:

Give both your buttons a name.  Now create a trigger_changetarget called "change" that is set to affect the buttons and change their target to "null" (or any other name that is not used in your map).  Now, add the key "change" to one of your MMs, with a delay of 0.

That means that the buttons can only be used once; every time they are used afterwards, they will trigger something that isn't there, so nothing will happen.

If you prefer to "lock" the buttons fully, you will need to use and env_global and a multisource, with the multisource acting as a master.  I can explain that too if you like, but I expect you've had enough new stuff already for now





Quote
Re: Scripted sequence
Posted by Spazz on Thu Oct 2nd at 10:49am 2003


Ya Know What....it was incredibly cool that you decided to help me out with this.  Thank you man. [addsig]



Quote
Re: Scripted sequence
Posted by Gollum on Thu Oct 2nd at 11:26am 2003


No problem, that's what this place is for

Good luck, and keep us posted with your progress.  That's a hell of a lot of stuff to do at once, so build it up piece by piece.





Quote
Re: Scripted sequence
Posted by Spazz on Thu Oct 2nd at 4:04pm 2003


Whell, If i can get it all to run properly, maybe ill redistribute it as a tutorial...i ma just fixing up the architecture in the room, then to grind of making all the entities run correctly. [addsig]



Quote
Re: Scripted sequence
Posted by LAzerMANiac on Thu Oct 2nd at 4:13pm 2003


i got an idea on the water problem! Wter doesn't just dissapear... St its direction to "down" , name it water, then divide the height of the water brush by the time ONLY the normal laser fires (5 seconds) let's say you have a water brush 200 units thick. thus, 200/5=40. then 40 would be the "speed" value, or at what speed the water will go down. Have the MM target it and it will look like it's evaporating! Add some steam sprites, too, i guess... so it will go like this: laser starts, bubbles start, steam starts, water goes down slowly, as soon as it gets all the way down, the chaotic laser starts and explodes the glass tube. Do you mind if I steal this idea from you? [addsig]



Quote
Re: Scripted sequence
Posted by Spazz on Thu Oct 2nd at 4:16pm 2003


That is a good idea... and no, i dont really mind [addsig]



Quote
Re: Scripted sequence
Posted by LAzerMANiac on Thu Oct 2nd at 4:17pm 2003


yay!!! you will see it in my Escape mod as a break-the wall puzzle!!! [addsig]



Quote
Re: Scripted sequence
Posted by Spazz on Thu Oct 2nd at 6:21pm 2003


ok, i made a brush as my func_button, and it targets mm_laser  (that is my multimanager).  Now i know my 2 sets of lasers work, but when i dont click the start on flag, and target them with the multimanager, it doesnt do any thing.  Do i need to click toggle in the laser flags?  Any ideas?

...this is my clip

[addsig]




Quote
Re: Scripted sequence
Posted by Gollum on Thu Oct 2nd at 6:27pm 2003


Try ticking toggle - that might help.  It's easy to test, anyway

If this doesn't work, you must gain more information.  Does the MM cause anything to trigger?  It's either a problem with the MM triggering, or a problem with the laser.  Find out which.





Quote
Re: Scripted sequence
Posted by Spazz on Thu Oct 2nd at 6:33pm 2003


ok, it has to be something with the lasers.  i placed a gibshooter in my map and told the mm to target it, and it worked without a hitch...what should i do about the env_beam? [addsig]



Quote
Re: Scripted sequence
Posted by Gollum on Thu Oct 2nd at 10:45pm 2003


Hmm, that's odd   For a start, I think you should set the beam to "toggle".  Then (if you haven't already), confirm that it does work when "start on" is ticked.



Quote
Re: Scripted sequence
Posted by Spazz on Fri Oct 3rd at 2:09am 2003


Ya, the work on their own, when i have them set to start on.  I checked the toggle button, and nothing.  Also, when i incorperated the gibshooter into the sequence, it worked no problem.  Is it because i am using an env_beam and not env_laser.  I like the beam because you can use info_target and place the info_beam outside the map for easy reference.  To make sure it wasnt some bogus value i might have put into the env_beam entities, i even replaced them with new ones that had only width, noise, and color edited.  Still i get nothing.  They look really cool when they are checked as start on, but i cant get them to work with the mm.  Do i need to do anything with the values that refer to frames per minute or scrole rate or any thing else?  Maybe ill try it with env_laser when i finish my A.P. Calc.

Any input is appreciated.

Thank you.

[addsig]




Quote
Re: Scripted sequence
Posted by Spazz on Fri Oct 3rd at 2:53am 2003


Ok, the env_laser just fixed my problem... [addsig]




Post Reply