elevator()
{
thread monitortrig_1();
thread monitortrig_2();
level.elevator_ismoving = 0;
level.elevator_pos = "down";
}
monitortrig_1()
{
trig_goUp = getent("trig_elevator_up","targetname");
while(1)
{
trig_goUp waittill("trigger",player);
if(level.elevator_ismoving == 0 && level.elevator_pos == "down")
thread elevator_goup();
if(level.elevator_ismoving == 0 && level.elevator_pos == "up")
thread elevator_goup(1);
wait 1;
}
}
monitortrig_2()
{
trig_goDown = getent("trig_elevator_down","targetname");
while(1)
{
trig_goDown waittill("trigger",player);
if(level.elevator_ismoving == 0 && level.elevator_pos == "up")
thread elevator_godown();
else if(level.elevator_ismoving == 0 && level.elevator_pos == "down")
thread elevator_godown(1);
wait 1;
}
}
elevator_godown(upfirst)
{
level.elevator_ismoving = 1;
schuifdeur1 = getent ("schuifdeur1", "targetname");
schuifdeur2 = getent ("schuifdeur2", "targetname");
schuifdeur3 = getent ("schuifdeur3", "targetname");
schuifdeur4 = getent ("schuifdeur4", "targetname");
elevator = getent("elevator","targetname");
if(isDefined(upfirst))
{
elevator movez (140,7,1.9,1.9);
wait 7;
}
schuifdeur3 movex (50, 1.5);
schuifdeur4 movex (-50, 1.5);
schuifdeur3 waittill("movedone");
wait 1.5;
schuifdeur3 movex (-50, 1.5);
schuifdeur4 movex (50, 1.5);
schuifdeur3 waittill("movedone");
wait .5;
elevator movez (-140,7,1.9,1.9);
wait 5;
schuifdeur1 movex (50, 1.5);
schuifdeur2 movex (-50, 1.5);
schuifdeur1 waittill("movedone");
wait 1.5;
schuifdeur1 movex (-50, 1.5);
schuifdeur2 movex (50, 1.5);
schuifdeur1 waittill("movedone");
wait 1.5;
level.elevator_pos "down";
level.elevator_ismoving = 0;
}
elevator_goup(upfirst)
{
level.elevator_ismoving = 1;
schuifdeur1 = getent ("schuifdeur1", "targetname");
schuifdeur2 = getent ("schuifdeur2", "targetname");
schuifdeur3 = getent ("schuifdeur3", "targetname");
schuifdeur4 = getent ("schuifdeur4", "targetname");
elevator = getent("elevator","targetname");
if(isDefined(upfirst))
{
elevator movez (-140,7,1.9,1.9);
wait 7;
}
schuifdeur1 movex (50, 1.5);
schuifdeur2 movex (-50, 1.5);
schuifdeur1 waittill("movedone");
wait 1.5;
schuifdeur1 movex (-50, 1.5);
schuifdeur2 movex (50, 1.5);
schuifdeur1 waittill("movedone");
wait .5;
elevator movez (140,7,1.9,1.9);
wait 5;
schuifdeur3 movex (50, 1.5);
schuifdeur4 movex (-50, 1.5);
schuifdeur3 waittill("movedone");
wait 1.5;
schuifdeur3 movex (-50, 1.5);
schuifdeur4 movex (50, 1.5);
schuifdeur3 waittill("movedone");
wait 1.5;
level.elevator_pos = "up";
level.elevator_ismoving = 0;
}