Page 1 of 1
Disable trigger
Posted: June 12th, 2010, 8:35 pm
by BatterY
How i disable trigger B, when trigger A is triggered?
Let's say we have a lift. The lift has 2 triggers: up and down. A player walks into the trigger A, which is down and the lift lowers. But a player walks into trigger B, which is up, causing the lift move back and forth. How to avoid this?
Re: Disable trigger
Posted: June 12th, 2010, 11:06 pm
by Nightmare
Simple:
Code: Select all
elevator(){
trigDown = getent("triggerDown","targetname"); //Trigger to move elevator down
trigUp = getent("triggerUp","targetname"); //Trigger to move elevator up
ele = getent("elevator","targetname"); //Elevator
while(1){
trigDown waittill("trigger"); //Wait until trigger down
ele moveZ(-300,5,2.5,2.5);
ele waittill("movedone");
wait 5;
trigUp waittill("trigger"); //Wait until trigger up
ele moveZ(300,5,2.5,2.5);
ele waittill("movedone");
wait 5;
}
}
Re: Disable trigger
Posted: June 13th, 2010, 12:32 pm
by BatterY
Thanks, but i'm having another problem here: i need to disable the trigger while the thread is running.
So how i disable triggerUp while elevator() is running..?
Code: Select all
elevator()
{
trigUp = getent("triggerUp","targetname");
ele = getent("elevator","targetname");
while(1)
{
trigUp waittill("trigger");
ele moveZ(-300,5,2.5,2.5);
ele waittill("movedone");
wait 5;
ele moveZ(300,5,2.5,2.5);
ele waittill("movedone2);
wait 1;
}
}
Re: Disable trigger
Posted: June 13th, 2010, 1:29 pm
by Drofder2004
Why disable it?
Nightmare posted a fine script to use.
The loop will stop and wait for the first trigger to be pressed and then after being pressed wait for the second trigger. Then restart.
Trigger A/B will only work once and only alternating.
Re: Disable trigger
Posted: June 13th, 2010, 5:24 pm
by BatterY
I have 2 elevators in my map. other has 2 triggers, other has 1.
The other lift has only 1 trigger because its only one-way.
Re: Disable trigger
Posted: June 13th, 2010, 7:04 pm
by Nightmare
One time use elevator:
Code: Select all
elevator2(){
trig = getent("trigger","targetname"); //Trigger to move elevator
ele = getent("elevator","targetname"); //Elevator
trig waittill("trigger"); //Wait until trigger
ele moveZ(-300,5,2.5,2.5);
ele waittill("movedone");
}