Stalker, Here is my basic script change suggestion
Code: Select all
// ARCHITECTURE and ILLUSTRATION: Carl Gifford.
// SCRIPTING and CUSTOMTEXTURES: Daniel Clark.
main:
level waittill prespawn
//set scoreboard messages
setcvar "g_obj_alliedtext1" "Allies"
setcvar "g_obj_alliedtext2" "Overtake the Outpost"
setcvar "g_obj_alliedtext3" "Do or Die!"
setcvar "g_obj_axistext1" "Axis"
setcvar "g_obj_axistext2" "Protect the Outpost"
setcvar "g_obj_axistext3" "Defend to the Death!"
setcvar "g_scoreboardpic" "textures/mohmenu/dmloading/der_vorposten.tga"
level.script = maps/dm/der_vorposten
//call additional stuff for playing this map round based is needed
if(level.roundbased)
thread roundbasedthread
thread derxx
thread ambientsounds
thread sw1_prep
thread trappdoor_prep
thread trappdoor2_prep
thread cab_pushbutton_prep
thread elevator_prep
thread g2_prep
thread g3_prep
thread lift1_prep
thread lift2_prep
thread turnstile_prep
thread silo_lid_prep
thread portal_3
thread lighthouse_light
thread fan1
thread fan2
thread portal_1
thread portal_2
thread portal_4
thread portal_5
thread portal_6
thread portal_7
thread portal_8
$world farplane 2500
$world farplane_bias 900
$world farplane_color (.09 .09 .078)
level waittill spawn
end
//-----------------------------------------------------------------------------
roundbasedthread:
// Can specify different scoreboard messages for round based games here.
level waitTill prespawn
level waittill spawn
// set the parameters for this round based match
level.dmrespawning = 0 // 1 or 0
level.dmroundlimit = 5 // round time limit in minutes
level.clockside = kills // set to axis, allies, kills, or draw
level waittill roundstart
end
//-----------------------------------------------------------------------------
derxx:
wait .75
local.player = parm.other
local.player stufftext "togglemenu der"
local.player playsound Ambientxx //Amb_M4_Basement_01.mp3
//local.player playsound Ambientxx wait
end
//------------------------------------------
ambientsounds:
//$radio loopsound radioxx
$derocean2 loopsound ocean2xx
$derlightwind loopsound windxx
$derfire loopsound firexx
$derstatic loopsound staticxx
$derstatic2 loopsound staticxx
$electric_transformer loopsound transformerxx
$dercricket loopsound cricketxx
$derbirds loopsound birdsxx
end
//------------------------------------------
scream1:
$frantic playsound screamxx
end
//------------------------------------------
sw1_prep:
$elect_rm_lts light 3.0 1.5 1.8 175//.09 5.0 30.0 250 (Red) (Green) (Blue) (lightradius)
$sw1 rotatezdownto 0
$sw1 waitmove
$elect_rm_lts lightoff
$elect_rm_lts wait
$sw1_sound playsound push_button wait
goto sw1_operation
//------------------------------------------
sw1_operation:
$sw1_trigger wait .1
$sw1_trigger triggerable
$sw1_trigger waittill trigger
$sw1 playsound push_button
$sw1 playsound push_button wait
$sw1 rotatezupto 90
$sw1 time .25
$sw1 waitmove
$elect_rm_lts lighton
$elect_rm_lts wait
$sw1 playsound push_button
$sw1 playsound push_button wait
$sw1_trigger wait .5
$sw1_trigger triggerable
$sw1_trigger waittill trigger
$sw1 playsound push_button
$sw1 playsound push_button wait
$sw1 rotatezdownto 0
$sw1 time .25
$sw1 waitmove
$elect_rm_lts lightoff
$elect_rm_lts wait
$sw1 playsound push_button
$sw1 playsound push_button wait
goto sw1_operation
//------------------------------------------
trappdoor_prep:
$trappdoor rotatexdownto 0
$trappdoor waitmove
$trappdoor playsound trap_open wait
$trappdoor playsound trap_close wait
goto trappdoor_operation
//------------------------------------------
trappdoor_operation:
$trappdoor_trigger wait .5
$trappdoor_trigger triggerable
$trappdoor_trigger waittill trigger
$trappdoor openportal
$trappdoor playsound trap_open
$trappdoor playsound trap_open wait
$trappdoor rotatexupto 95
$trappdoor time .45
$trappdoor waitmove
$trappdoor_trigger wait .5
$trappdoor_trigger triggerable
$trappdoor_trigger waittill trigger
$trappdoor playsound trap_close
$trappdoor playsound trap_close wait
$trappdoor rotatexdownto 0
$trappdoor time .45
$trappdoor closeportal
$trappdoor waitmove
goto trappdoor_operation
//------------------------------------------
trappdoor2_prep:
$trappdoor2 rotatezupto 0
$trappdoor2 waitmove
$trappdoor2 playsound trap_open wait
$trappdoor2 playsound trap_close wait
goto trappdoor2_operation
//------------------------------------------
trappdoor2_operation:
$trappdoor2_trigger wait .5
$trappdoor2_trigger triggerable
$trappdoor2_trigger waittill trigger
$trappdoor2 openportal
$trappdoor2 playsound trap_open
$trappdoor2 playsound trap_open wait
$trappdoor2 rotatezdownto -95
$trappdoor2 time .45
$trappdoor2 waitmove
$trappdoor2_trigger wait .5
$trappdoor2_trigger triggerable
$trappdoor2_trigger waittill trigger
$trappdoor2 playsound trap_close
$trappdoor2 playsound trap_close wait
$trappdoor2 rotatezupto 0
$trappdoor2 time .45
$trappdoor2 closeportal
$trappdoor2 waitmove
goto trappdoor2_operation
//------------------------------------------
// Elevator_cab_Button
//------------------------------------------
cab_pushbutton_prep:
$elevator_button bind $elevator
$elevator_button_trigger bind $elevator
goto cab_pushbutton
//------------------------------------------
cab_pushbutton:
$elevator_button_trigger waittill trigger
$elevator_button playsound push_button
wait .1
goto cab_pushbutton
//------------------------------------------
// Elevator
//------------------------------------------
elevator_prep:
$elevator moveto $first_floor // Set the destination.
$elevator move // Moves elevator to starting point.
level.elepos = 0 // Defines the position of the elevator. "0 - down" "1 - up"
$ironwheels bind $elevator
$scream bind $elevator
$scream_hurt bind $elevator
thread elevator_standby1
thread elevator_standby2
thread elevator_standby3
end
//-----------------------------------------------------------------------
elevator_standby1:
$elevator_trigger1 waittill trigger
if (level.elepos == 0) // If lift state is down, use this thread.
{
println "elevator down - moving up" //prints to console if the developer mode is set.
goto lift_move_up
end
}
else
if (level.elepos == 1) // if lift state is up, use this thread.
{
println "elevator up - moving down" //prints to console if the developer mode is set.
goto lift_move_down
end
}
end
//---------------------------------------------------------------------------
elevator_standby2:
$elevator_trigger2 waittill trigger
if (level.elepos == 0) // If lift state is down, use this thread.
{
goto lift_move_up
end
}
end
//---------------------------------------------------------------------------
elevator_standby3:
$elevator_trigger3 waittill trigger
if (level.elepos == 1) // If lift state is up, use this thread.
{
goto lift_move_down
end
}
end
//---------------------------------------------------------------------------
lift_move_up:
$elevator_trigger1 wait 9.8
$elevator_trigger2 wait 9.8
$elevator_trigger3 wait 9.8
$ironwheels loopsound elevmotorxx
$motorspeaker loopsound power_generatorxx
$elevator speed 40
$elevator moveto $first_floor_speed1 //set the destination and speed
$elevator waitmove
$elevator speed 50
$elevator moveto $first_floor_speed2 //set the destination and speed
$elevator waitmove
$elevator speed 60
$elevator moveto $second_floor_speed2 //set the destination and speed
$elevator waitmove
$elevator speed 50
$elevator moveto $second_floor_speed1 //set the destination and speed
$elevator waitmove
$elevator speed 40
$elevator moveto $second_floor //set the stop destination
$elevator waitmove // wait till the elevator has completed the move
$ironwheels loopsound elevmotorxx wait
$motorspeaker loopsound power_generatorxx wait
level.elepos = 1 // set the elepos to up
thread elevator_standby1
thread elevator_standby2
thread elevator_standby3
end
lift_move_down:
$elevator_trigger1 wait 7.8
$elevator_trigger2 wait 7.8
$elevator_trigger3 wait 7.8
$ironwheels loopsound elevmotorxx
$motorspeaker loopsound power_generatorxx
$elevator speed 43
$elevator moveto $second_floor_speed1 //set the destination and speed
$elevator waitmove
$elevator speed 63
$elevator moveto $second_floor_speed2 //set the destination and speed
$elevator waitmove
$elevator speed 73
$elevator moveto $first_floor_speed2 //set the destination and speed
$elevator waitmove
$elevator speed 63
$elevator moveto $first_floor_speed1 //set the destination and speed
$elevator waitmove
$elevator speed 43
$elevator moveto $first_floor //set the stop destination
$elevator waitmove // wait till the elevator has completed the move
$ironwheels loopsound elevmotorxx wait
$motorspeaker loopsound power_generatorxx wait
level.elepos = 0 // set the elepos to down
thread elevator_standby1
thread elevator_standby2
thread elevator_standby3
end
//-----------------------------------------------------------------
//gates g2, g3
//Waypoint(closed) g2_cl, g3_cl
//Waypoint(open) g2_op, g3_op
//model tik g2speaker, g3speaker
//Triggers g1_trigger2, g1_trigger3
//setthread g1_standby2, g1_standby3
//-----------------------------------------------------------------
//
//NOTEs: Waypoint Right click 2D----->info----->waypoint
// Gate Entity Right click 2D----->Script--->Object
//------------------------------------------
// Gate2
//------------------------------------------
g2_prep:
$g2 moveto $g2_cl // Set the destination.
$g2 move // Moves gate to starting point.
$g2 speed 25 // sets the gate move speed
level.g2pos = 0 // Defines the position of the gate. "0 - closed" "1 - opened"
$g2_wheelsupport bind $g2
$g2_wheel bind $g2_wheelsupport
thread g2_standby1
thread g2_standby2
thread g2_standby3
end
//-----------------------------------------------------------------------
g2_standby1:
$g2_trigger1 triggerable // Turns on the trigger
$g2_trigger1 waittill trigger
if (level.g2pos == 0) // If gate state is closed, use this thread.
{
println "gate closed - opening" //prints to console if the developer mode is set.
goto g2_opening
end
}
else
if (level.g2pos == 1) // if gate state is open, use this thread.
{
println "gate open - closing" //prints to console if the developer mode is set.
goto g2_closing
end
}
end
//---------------------------------------------------------------------------
g2_standby2:
$g2_trigger2 triggerable // Turns on the trigger
$g2_trigger2 waittill trigger
if (level.g2pos == 0) // If gate state is closed, use this thread.
{
println "gate closed - opening" //prints to console if the developer mode is set.
goto g2_opening
end
}
else
if (level.g2pos == 1) // if gate state is open, use this thread.
{
println "gate open - closing" //prints to console if the developer mode is set.
goto g2_closing
end
}
end
//---------------------------------------------------------------------------
g2_standby3:
$g2_trigger3 triggerable // Turns on the trigger
$g2_trigger3 waittill trigger
if (level.g2pos == 0) // If gate state is closed, use this thread.
{
println "gate closed - opening" //prints to console if the developer mode is set.
goto g2_opening
end
}
else
if (level.g2pos == 1) // if gate state is open, use this thread.
{
println "gate open - closing" //prints to console if the developer mode is set.
goto g2_closing
end
}
end
//----------------------------------------------------------------------
g2_opening:
$g2_wheel rotatex -150
$g2 moveto $g2_op //set the destination
$g2speaker loopsound gatemotorxx
$g2 waitmove // wait till the gate has completed the move
$g2speaker loopsound gatemotorxx wait
wait .1
level.g2pos = 1 // set the g2pos to up
$g2_wheel rotatex wait
thread g2_standby1
thread g2_standby2
thread g2_standby3
end
g2_closing:
$g2_wheel rotatex 150
$g2 moveto $g2_cl //set the destination
$g2speaker loopsound gatemotorxx
$g2 waitmove // wait till the gate has completed the move
$g2speaker loopsound gatemotorxx wait
wait .1
level.g2pos = 0 // set the g2pos to down
$g2_wheel rotatex wait
thread g2_standby1
thread g2_standby2
thread g2_standby3
end
//------------------------------------------
// Gate3
//------------------------------------------
g3_prep:
$g3 moveto $g3_cl // Set the destination.
$g3 move // Moves gate to starting point.
$g3 speed 25 // sets the gate move speed
level.g3pos = 0 // Defines the position of the gate. "0 - closed" "1 - opened"
$g3_wheelsupport bind $g3
$g3_wheel bind $g3_wheelsupport
thread g3_standby1
thread g3_standby2
thread g3_standby3
end
//-----------------------------------------------------------------------
g3_standby1:
$g3_trigger1 triggerable // Turns on the trigger
$g3_trigger1 waittill trigger
if (level.g3pos == 0) // If gate state is closed, use this thread.
{
println "gate closed - opening" //prints to console if the developer mode is set.
goto g3_opening
end
}
else
if (level.g3pos == 1) // if gate state is opened, use this thread.
{
println "gate opened - closeing" //prints to console if the developer mode is set.
goto g3_closing
end
}
end
//---------------------------------------------------------------------------
g3_standby2:
$g3_trigger2 triggerable // Turns on the trigger
$g3_trigger2 waittill trigger
if (level.g3pos == 0) // If gate state is closed, use this thread.
{
println "gate closed - opening" //prints to console if the developer mode is set.
goto g3_opening
end
}
else
if (level.g3pos == 1) // if gate state is opened, use this thread.
{
println "gate opened - closeing" //prints to console if the developer mode is set.
goto g3_closing
end
}
end
//---------------------------------------------------------------------------
g3_standby3:
$g3_trigger3 triggerable // Turns on the trigger
$g3_trigger3 waittill trigger
if (level.g3pos == 0) // If gate state is closed, use this thread.
{
println "gate closed - opening" //prints to console if the developer mode is set.
goto g3_opening
end
}
else
if (level.g3pos == 1) // if gate state is opened, use this thread.
{
println "gate opened - closeing" //prints to console if the developer mode is set.
goto g3_closing
end
}
end
//----------------------------------------------------------------------
g3_opening:
$g3_wheel rotatex -150
$g3 moveto $g3_op //set the destination
$g3speaker loopsound gatemotorxx
$g3 waitmove // wait till the gate has completed the move
$g3speaker loopsound gatemotorxx wait
wait .1
level.g3pos = 1 // set the g3pos to up
$g3_wheel rotatex wait
thread g3_standby1
thread g3_standby2
thread g3_standby3
end
g3_closing:
$g3_wheel rotatex 150
$g3 moveto $g3_cl //set the destination
$g3speaker loopsound gatemotorxx
$g3 waitmove // wait till the gate has completed the move
$g3speaker loopsound gatemotorxx wait
wait .1
level.g3pos = 0 // set the g3pos to down
$g3_wheel rotatex wait
thread g3_standby1
thread g3_standby2
thread g3_standby3
end
//------------------------------------------
// lift1
//------------------------------------------
lift1_prep:
$lift1_trigger1 bind $lift1
$lift1 moveto sl1 // Set the destination.
$lift1 move // Moves lift1 to starting point.
level.liftpos1 = 0 // Defines the position of the lift1. "1 - down" "0 - up"
$l1motor bind $lift1
goto lift1_move_up1
end
//---------------------------------------------------------------------------
lift_jossle1z:
$lift1 rotatezdownto -1.1
$lift1 time .2
$lift1 rotatez wait
end
lift_jossle2z:
$lift1 rotatezupto 0
$lift1 time .2
$lift1 rotatez wait
end
lift_jossle3z:
$lift1 rotatezupto 1.1
$lift1 time .2
$lift1 rotatez wait
end
lift_jossle4z:
$lift1 rotatezdownto 0
$lift1 time .2
$lift1 rotatez wait
end
//---------------------------------------------------------------------------
lift_jossle1x:
$lift1 rotatexdownto -12
$lift1 time 4
$lift1 rotatex wait
end
lift_jossle2x:
$lift1 rotatexupto 0
$lift1 time 4
$lift1 rotatex wait
end
lift_jossle3x:
$lift1 rotatexupto 12
$lift1 time 2
$lift1 rotatex wait
end
lift_jossle4x:
$lift1 rotatexdownto 0
$lift1 time 2
$lift1 rotatex wait
end
lift_jossle5x:
$lift1 rotatexupto 1.2
$lift1 time .5
$lift1 rotatex wait
end
//---------------------------------------------------------------------------
lift1_move_up1:
$l1motor loopsound elevmotorxx
$lift1 speed 30
$lift1 moveto $sl1
$lift1 waitmove
$lift1 moveto $sl2
$lift1 waitmove
thread lift_jossle3z
$lift1 moveto $sl3
$lift1 waitmove
thread lift_jossle4z
$lift1 speed 60
$lift1 moveto $sl3b
$lift1 waitmove
$lift1 speed 80
$lift1 moveto $sl4
$lift1 waitmove
$lift1 speed 100
$lift1 moveto $sl5
$lift1 waitmove
$lift1 speed 120
$lift1 moveto $sl6
$lift1 waitmove
$lift1 speed 110
$lift1 moveto $sl7
$lift1 waitmove
$lift1 speed 90
$lift1 moveto $sl8
$lift1 waitmove
$lift1 speed 80
$lift1 moveto $sl8b
$lift1 waitmove
$lift1 speed 60
$lift1 moveto $sl9
$lift1 waitmove
thread lift_jossle1z
thread lift_jossle3x
thread lift_jossle4x
$lift1 speed 35
$lift1 moveto $sl10
$lift1 waitmove
thread lift_jossle2z
thread lift_jossle1x
thread lift_jossle2x
$lift1 rotatez wait .01
$lift1 rotatex wait .01
$lift1 speed 30
$lift1 moveto $sl11
$lift1 waitmove 1
thread lift_jossle5x
$lift1 rotatex wait
thread lift_jossle4x
$l1motor stoploopsound elevmotorxx
$l1motor loopsound elevmotorxx wait
level.liftpos1 = 1
$lift1 waitmove
wait 2
goto lift1_move_down1
end
lift1_move_down1:
$l1motor loopsound elevmotorxx
if($lift1_trigger1 != NULL)
{
$lift1_trigger1 wait 31 // hmmm... what are these for ? I get NULL error.ViP
}
if($lift1_trigger2 != NULL)
{
$lift1_trigger2 wait 31 // hmmm... what are these for ? I get NULL error.ViP
}
if($lift1_trigger3 != NULL)
{
$lift1_trigger3 wait 31 // hmmm... what are these for ? I get NULL error.ViP
}
$lift1 speed 30
$lift1 moveto $sl11
$lift1 waitmove
$lift1 moveto $sl10
thread lift_jossle2z
$lift1 moveto $sl9
$lift1 waitmove
thread lift_jossle1z
$lift1 speed 50
$lift1 moveto $sl8b
$lift1 waitmove
$lift1 speed 70
$lift1 moveto $sl8
$lift1 waitmove
$lift1 speed 90
$lift1 moveto $sl7
$lift1 waitmove
$lift1 speed 95
$lift1 moveto $sl6
$lift1 waitmove
$lift1 speed 90
$lift1 moveto $sl5
$lift1 waitmove
$lift1 speed 80
$lift1 moveto $sl4
$lift1 waitmove
$lift1 speed 70
$lift1 moveto $sl3b
$lift1 waitmove
$lift1 speed 50
$lift1 moveto $sl3
$lift1 waitmove
thread lift_jossle3z
$lift1 speed 35
$lift1 moveto $sl2
$lift1 waitmove
thread lift_jossle4z
$lift1 speed 30
$lift1 moveto $sl1
$lift1 waitmove 1
$l1motor stoploopsound elevmotorxx
$l1motor loopsound elevmotorxx wait
level.liftpos1 = 0
$lift1 waitmove
wait 2
goto lift1_move_up1
end
//------------------------------------------
// lift2
//------------------------------------------
lift2_prep:
$lift2 moveto l1 // Set the destination.
$lift2 move // Moves lift1 to starting point.
level.lift2pos1 = 0 // Defines the position of the lift1. "1 - down" "0 - up"
$lift2motor bind $lift2
goto lift2_move_up1
end
//---------------------------------------------------------------------------
lift_jossle5z:
$lift2 rotatezdownto -1.5
$lift2 time .2
$lift2 rotatez wait
end
lift_jossle6z:
$lift2 rotatezupto 0
$lift2 time .2
$lift2 rotatez wait
end
lift_jossle7z:
$lift2 rotatezupto 1.5
$lift2 time .2
$lift2 rotatez wait
end
lift_jossle8z:
$lift2 rotatezdownto 0
$lift2 time .2
$lift2 rotatez wait
end
//---------------------------------------------------------------------------
lift2_move_up1:
$lift2motor loopsound elevmotorxx
$lift2 speed 30
$lift2 moveto $l1
$lift2 waitmove
$lift2 moveto $l2
$lift2 waitmove
thread lift_jossle5z
$lift2 speed 50
$lift2 moveto $l3
$lift2 waitmove
thread lift_jossle6z
$lift2 speed 60
$lift2 moveto $l3b
$lift2 waitmove
$lift2 speed 85
$lift2 moveto $l4
$lift2 waitmove
$lift2 speed 120
$lift2 moveto $l5
$lift2 waitmove
$lift2 speed 140
$lift2 moveto $l6
$lift2 waitmove
$lift2 speed 120
$lift2 moveto $l7
$lift2 waitmove
$lift2 speed 95
$lift2 moveto $l8
$lift2 waitmove
$lift2 speed 75
$lift2 moveto $l8b
$lift2 waitmove
$lift2 speed 55
$lift2 moveto $l9
$lift2 waitmove
thread lift_jossle7z
$lift2 speed 35
$lift2 moveto $l10
$lift2 waitmove
thread lift_jossle8z
$lift2 speed 30
$lift2 moveto $l11
$lift2 waitmove 1
$lift2motor stoploopsound elevmotorxx
$lift2motor loopsound elevmotorxx wait
level.lift2pos1 = 1
$lift2 waitmove
wait 2
goto lift2_move_down1
end
//---------------------------------------------------------------------------
lift2_move_down1:
$lift2motor loopsound elevmotorxx
$lift2 speed 30
$lift2 moveto $l11
$lift2 waitmove
thread lift_jossle7z
$lift2 speed 30
$lift2 moveto $l10
$lift2 waitmove
thread lift_jossle8z
$lift2 speed 60
$lift2 moveto $l9
$lift2 waitmove
$lift2 speed 85
$lift2 moveto $l8b
$lift2 waitmove
$lift2 speed 100
$lift2 moveto $l8
$lift2 waitmove
$lift2 speed 120
$lift2 moveto $l7
$lift2 waitmove
$lift2 speed 115
$lift2 moveto $l6
$lift2 waitmove
$lift2 speed 110
$lift2 moveto $l5
$lift2 waitmove
$lift2 speed 95
$lift2 moveto $l4
$lift2 waitmove
$lift2 speed 75
$lift2 moveto $l3b
$lift2 waitmove
$lift2 speed 40
$lift2 moveto $l3
$lift2 waitmove
thread lift_jossle5z
$lift2 speed 30
$lift2 moveto $l2
$lift2 waitmove
thread lift_jossle6z
$lift2 speed 30
$lift2 moveto $l1
$lift2 waitmove
$lift2motor stoploopsound elevmotorxx
$lift2motor loopsound elevmotorxx wait
level.lift2pos1 = 0
$lift2 waitmove
wait 2
goto lift2_move_up1
end
//---------------------------------------------------------------------------
turnstile_prep:
$turnstile_arm bind $turnstile
level.turnstile_pos = 0 // Defines the position of the turnstile. "0 - down" "1 - up"
$turnstile_trigger wait 10.2 //sets trigger
goto turnstile_standby // standing by for player to activate the trigger
//-----------------------------------------------------------------------
turnstile_standby:
$turnstile_trigger waittill trigger
if (level.turnstile_pos == 0) // If turnstile position is down, use this thread.
{
println "turnstile down - moving up" //prints to console if the developer mode is set.
goto turnstile_move_up
end
}
else
if (level.turnstile_pos == 1) // if turnstile position is up, use this thread.
{
println "turnstile up - moving down" //prints to console if the developer mode is set.
goto turnstile_move_down
end
}
end
//---------------------------------------------------------------------------
turnstile_motor:
$turnstile_motor loopsound turnstile_motorxx
wait 10.1
$turnstile_motor stoploopsound turnstile_motorxx
end
//---------------------------------------------------------------------------
turnstile_move_up:
$turnstile_trigger wait 10.2
thread turnstile_motor
$turnstile rotateXdownto -80
$turnstile time 10
$turnstile waitmove
level.turnstile_pos = 1 // set the turnstile_pos to up
goto turnstile_standby
end
turnstile_move_down:
$turnstile_trigger wait 10.2
thread turnstile_motor
$turnstile rotateXupto 0
$turnstile time 10
$turnstile waitmove
level.turnstile_pos = 0 // set the turnstile_pos to down
goto turnstile_standby
end
//------------------------------------------
silo_lid_prep:
$silo_lid moveto $silo_lid_1 // Set the destination.
$silo_lid move // Moves gate to starting point.
$silo_lid speed 25 // sets the gate move speed
level.silo_lid_pos = 0 // Defines the position of the gate. "0 - closed" "1 - opened"
goto silo_lid_standby1
end
//-----------------------------------------------------------------------
silo_lid_standby1:
$silo_lid_motor loopsound power_generatorxx wait
$silo_lid_trigger wait 16.1
$silo_lid_trigger triggerable // Turns on the trigger
$silo_lid_trigger waittill trigger
if (level.silo_lid_pos == 0) // If silo_lid state is closed, use this thread.
{
println "silo closed - opening" //prints to console if the developer mode is set.
thread silo_lid_opening
end
}
else
if (level.silo_lid_pos == 1) // if silo_lid state is opened, use this thread.
{
println "silo opened - closeing" //prints to console if the developer mode is set.
thread silo_lid_closing
end
}
end
//----------------------------------------------------------------------
silo_lid_opening:
$silo_lid moveto $silo_lid_2 //set the destination
$silo_lid_motor loopsound power_generatorxx
$silo_lid waitmove // wait till the silo_lid has completed the move
level.silo_lid_pos = 1 // set the silo_lid pos to open
goto silo_lid_standby1
end
silo_lid_closing:
$silo_lid moveto $silo_lid_1 //set the destination
$silo_lid_motor loopsound power_generatorxx
$silo_lid waitmove // wait till the silo_lid has completed the move
level.silo_lid_pos = 0 // set the silo_lid pos to close
goto silo_lid_standby1
end
//----------------------------------------------------------------------
portal_3:
while (1)
{
$silo_lid_trigger waittill trigger
$prt3 openportal
$silo_lid_trigger waittill trigger
wait 16
$prt3 closeportal
}
end
//------------------------------------------
lighthouse_light:
$lightbeam bind $light_base
$frontlight_1 bind $light_base
$frontlight_2 bind $light_base
$light_reflector bind $light_base
$light_base rotatey -30
end
//------------------------------------------
fan1:
$blade1 bind $fan1
$blade2 bind $fan1
$blade3 bind $fan1
$blade4 bind $fan1
$blade5 bind $fan1
$blade6 bind $fan1
$fan1 rotatey 460 // the number indicates the speed of the fans rotation. Use -325 to rotate the fan the other way.
end
//---------------------------------------------------------------------------
fan2:
$blade7 bind $fan2
$blade8 bind $fan2
$blade9 bind $fan2
$blade10 bind $fan2
$fan2 rotatez -250 // the number indicates the speed of the fans rotation. Use -325 to rotate the fan the other way.
end
//---------------------------------------------------------------------------
portal_1:
while(1)
{
$trigger_prt1 waittill trigger
local.player=parm.other
$prt1 openportal
while(local.player istouching $trigger_prt1)
waitframe
$prt1 closeportal
}
end // not needed after an endless loop but good habit to get into
//---------------------------------------------------------------------------
portal_2:
while(1)
{
$trigger_prt2 waittill trigger
local.player=parm.other
$prt2 openportal
while(local.player istouching $trigger_prt2)
waitframe
$prt2 closeportal
}
end // not needed after an endless loop but good habit to get into
//---------------------------------------------------------------------------
//$prt3 operates silo portal
//---------------------------------------------------------------------------
portal_4:
while(1)
{
$trigger_prt4 waittill trigger
local.player=parm.other
$prt4 openportal
while(local.player istouching $trigger_prt4)
waitframe
$prt4 closeportal
}
end // not needed after an endless loop but good habit to get into
//---------------------------------------------------------------------------
portal_5:
while(1)
{
$trigger_prt5 waittill trigger
local.player=parm.other
$prt5 openportal
while(local.player istouching $trigger_prt5)
waitframe
$prt5 closeportal
}
end // not needed after an endless loop but good habit to get into
//---------------------------------------------------------------------------
portal_6:
while(1)
{
$trigger_prt6 waittill trigger
local.player=parm.other
$prt6 openportal
while(local.player istouching $trigger_prt6)
waitframe
$prt6 closeportal
}
end // not needed after an endless loop but good habit to get into
//---------------------------------------------------------------------------
portal_7:
while(1)
{
$trigger_prt7 waittill trigger
local.player=parm.other
$prt7 openportal
while(local.player istouching $trigger_prt7)
waitframe
$prt7 closeportal
}
end // not needed after an endless loop but good habit to get into
//---------------------------------------------------------------------------
portal_8:
while(1)
{
$trigger_prt8 waittill trigger
local.player=parm.other
$prt8 openportal
while(local.player istouching $trigger_prt8)
waitframe
$prt8 closeportal
}
end // not needed after an endless loop but good habit to get into
//----------------------------------------------------------------------
//FINAL