Page 1 of 1

Timer problem

Posted: Sun Jul 31, 2005 7:48 am
by alien
Hi,

after working with 3d graphics for some years I suddenly have some free time that I would like to spend building some Descent 3 levels.

I have been playing around with the level editor for a bit and done some tutorials, and it's good fun.

Now I got stuck in a guide/tutorial, I can't find the following:

if the following condition is met:
(CloseDoor)=(TIMER ID)

"CloseDoor" is the name of a timer ID, and the whole guide/tutorial can be found here: http://www.descentforum.de/forum/viewtopic.php?t=1814

Could someone push me in the right direction please? I use the latest version of the level editor.

Posted: Sun Jul 31, 2005 8:13 am
by Stryker
I'll need a bit more information--what's triggering the timer? What generates the timer event? Is it a level timer or an object-specific timer?

Posted: Sun Jul 31, 2005 8:36 am
by alien
Thank you for a very qick reply!

Basicly it's supposed to be a level with a switch and door that dallas locks when you start a level and opens for ten seconds when you shoot the switch.

When the switch is shot the following action is performed:

Generate level timer event in 10.00 seconds using with ID CloseDoor


Then there is a Closed door script with owner Level and the event is:

Timer [TIMER ID] Went Off


This is where I need:

if the following condition is met:
(CloseDoor)=(TIMER ID)

Posted: Sun Jul 31, 2005 1:07 pm
by Interceptor6
In order to set the condition to (CloseDoor)=(TIMER ID) or have a timer trigger of any kind, you will need to perform these few quick steps. The method is a bit hidden and obscure, but after you've used it once it will become second nature. Now, do the following in Dallas:

right click on ALWAYS under "when the followiung condition is met" in your script. Choose replace with a new condition, then default comparison statement. The condition should now look like this:

Literal: 0.00
operation: =
Literal 0.00

right click on either 'literal' entry. Select Replace with literal -> Enumerated Types -> TimerID

Your condition should have been changed to this:

TimerID:none
operation: =
TimerID:none

To finish, simply right click on one of the timer ID entries and select TIMER ID at the top of the menu. On the other entry you will put the name of your timer (closedoor), and you're done.

I'd suggest exporting this base script out too, as you will be likely using it a lot for trigger events. Good luck, hope that helps.

-Int

Posted: Mon Aug 01, 2005 5:30 am
by alien
Thanks a lot, Interceptor6!

That was exactly what I needed. It works perfectly. I would never find that without help.

Posted: Mon Aug 01, 2005 5:57 am
by alien
Oh, sorry I forgot,

I have a question too.

"I'd suggest exporting this base script out too"

Could you (or someone else) please say what it's good for and how it's done?

Posted: Mon Aug 01, 2005 11:34 am
by Interceptor6
Ahh, glad that helped out.

As for exporting a script, that will save it out to a file. Doing this will allow you to quickly reuse it in any of your levels, without having to do the long literal > enumerated types method every time. Just highlight the script that you wish to save, and click on the 'Export' button on the side, like this.

Put any name into the next box, and simply save it to a location that's easy to find. That way, when you want to add a timer trigger to a level, you can click 'import' on the side and quickly add it in anywhere needed.

-Int