Page 4 of 5
Posted: Tue Jan 20, 2004 3:40 am
by small_sumo
Unfortunatelly I can't do it on my own. I've got slow modem connection,
no one to test it with and only one pc.
Can someone help?[/quote]
I have 2 pc's if no-one will help I will have a go for ya, I am kinda snowed but would help you cos you rock, and your rock status is what will get you through.

Posted: Tue Jan 20, 2004 3:53 am
by omniscient
i will help sumo, as i said b4, id be glad to.
kai0ty@hotmail.com is my email.
Posted: Tue Jan 20, 2004 4:27 am
by Balr14
I moved the map to Dm and removed all scripting. Worked fine. Well, except for the elevator, that didn't work without the script.
Posted: Tue Jan 20, 2004 3:03 pm
by small_sumo
Balr14 wrote:I moved the map to Dm and removed all scripting. Worked fine. Well, except for the elevator, that didn't work without the script.
Cool

Posted: Tue Jan 20, 2004 6:38 pm
by Draska
Balr14 wrote:I moved the map to Dm and removed all scripting. Worked fine. Well, except for the elevator, that didn't work without the script.
Thx Balr.
Now I can assume the scripting is wrong.
small_sumo wrote:I have 2 pc's if no-one will help I will have a go for ya, I am kinda snowed but would help you cos you rock, and your rock status is what will get you through.
omniscient wrote:i will help sumo, as i said b4, id be glad to.
Thank you gentlemen.
I will redo the script and pass it to you for testing.
Posted: Tue Jan 20, 2004 8:33 pm
by Bjarne BZR
A few remarks to your script Draska. I've gone through it and analyzed it ( and formatted it to be able to understand how in h**l it can function at all

).
1) DONT USE GOTO!!!!! goto makes baby jesus cry! ( And me ) After reading it, I still can't explain how your elevators work ( but the commands in them selves do not seem to be faulty ). Use threads if you want to transfer executing control.
2) END YOUR METHODS!!! I have entered a crearly visible comment where I think they should be.
3) The spawn disabling: give all the spawns you want to disable the same targetname and execute something like
to disable all spawns with targetname 'spawn_allies_back'.
4) There is an extra end at this comment:
Code: Select all
/**************************************
* WHERE DOES THE 'end' BELOW BELONG? *
**************************************/
...my guess is that you can remove it safely.
Anyway, here is the entire script with my comments:
Code: Select all
// THE OPERA
// ARCHITECTURE: Draska
// SCRIPTING&TEXTURES: Draska
main:
level waittill prespawn
thread dam_operate
//thread detonator
thread door_prep
thread elevator1_preparation
thread elevator2_preparation
thread elevator3_preparation
thread winda_off
setcvar "g_obj_alliedtext1" "Destroy German"
setcvar "g_obj_alliedtext2" " ammo depots "
setcvar "g_obj_axistext1" "Defend ammo depots"
setcvar "g_obj_axistext2" " "
setcvar "g_obj_axistext3" ""
setcvar "g_scoreboardpic" "opera_score"
//$world farplane 5500
//$world farplane_color (0.086275 0.105882 0.121569)
//*** Precache Dm Stuff
exec global/DMprecache.scr
exec global/entsound.scr
exec global/ambient.scr obj_team4
exec global/door_locked.scr::lock
level.script = maps/obj/The_Opera_House.scr
thread global/exploder.scr::main
//****************************
//****sound precache**********
//****************************
local.master = spawn ScriptMaster
//local.master aliascache soundalias wavfile soundparms numbers channel loaded maps "mapname"
// local.master remove // edit: omit this line
local.master aliascache elevator_run sound/mechanics/Mec_ElevatorRun_01.wav soundparms 1.5 0.0 1.0 0.0 800 3000 auto loaded maps "obj dm"
local.master aliascache elevator_gate sound/mechanics/Mec_ElevatorGate_03.wav soundparms 1.5 0.0 1.0 0.0 300 3000 auto loaded maps "obj dm"
local.master aliascache arty_exp_water1 sound/weapons/explo/exp_water_01.wav soundparms 1.0 0.2 0.8 0.4 1000 8000 weapon loaded maps "obj dm"
local.master aliascache arty_exp_water2 sound/weapons/explo/exp_water_02.wav soundparms 1.0 0.2 0.8 0.4 1000 8000 weapon loaded maps "obj dm"
local.master aliascache arty_exp_water3 sound/weapons/explo/exp_water_03.wav soundparms 1.0 0.2 0.8 0.4 1000 8000 weapon loaded maps "obj dm"
local.master aliascache track_switch2 sound/mechanics/M1_LeverPull.wav soundparms 1.2 0.0 1.0 0.0 320 2200 auto loaded maps "obj dm"
local.master aliascache fence_roll_open sound/mechanics/Fence_Open.wav soundparms 1.2 0.0 1.1 0.0 160 1600 item loaded maps "obj dm"
local.master aliascache door_vault_roll_open sound/mechanics/m6l3a_SlidingDoors_Open.wav soundparms 1.0 0.0 1.0 0.0 160 1600 item loaded maps "obj dm"
local.master aliascache door_vault_roll_close sound/mechanics/m6l3a_SlidingDoors_Close.wav soundparms 1.0 0.0 1.0 0.0 160 1600 item loaded maps "obj dm"
local.master aliascache track_switch1 sound/mechanics/M4_TrackLever.wav soundparms 1.2 0.0 1.2 0.0 320 2200 auto loaded maps "obj dm"
local.master aliascache track_switching sound/mechanics/M4_TrainTrackSlide.wav soundparms 1.2 0.0 1.2 0.0 320 2200 auto loaded maps "obj dm"
local.master aliascache m6l2b_generator_off sound/mechanics/Mec_GeneratorOff_01.wav soundparms 1.5 0.0 1.0 0.0 160 6000 item loaded maps "obj dm"
local.master aliascache stonecrash01 sound/weapons/explo/Explo_StoneMed1.wav soundparms 0.6 0.4 1.0 0.4 2000 8000 auto loaded maps "obj dm"
local.master aliascache stonecrash02 sound/weapons/explo/Explo_StoneMed2.wav soundparms 0.6 0.4 1.0 0.4 2000 8000 auto loaded maps "obj dm"
local.master aliascache stonecrash03 sound/weapons/explo/Explo_StoneMed1.wav soundparms 0.6 0.4 1.0 0.4 2000 8000 auto loaded maps "obj dm"
local.master aliascache stonesmall01 sound/mechanics/Obj_BreakStoneSml_01.wav soundparms 0.6 0.4 1.0 0.4 1000 8000 auto loaded maps "obj dm"
local.master aliascache stonesmall02 sound/mechanics/Obj_BreakStoneSml_02.wav soundparms 0.6 0.4 1.0 0.4 1000 8000 auto loaded maps "obj dm"
local.master aliascache stonesmall03 sound/mechanics/Obj_BreakStoneSml_03.wav soundparms 0.6 0.4 1.0 0.4 1000 8000 auto loaded maps "obj dm"
local.master aliascache stonesmall04 sound/mechanics/Obj_BreakStoneSml_04.wav soundparms 0.6 0.4 1.0 0.4 1000 8000 auto loaded maps "obj dm"
local.master aliascache stonesmall05 sound/mechanics/Obj_BreakStoneSml_01.wav soundparms 0.6 0.4 1.0 0.4 1000 8000 auto loaded maps "obj dm"
local.master aliascache explode_tank1 sound/weapons/explo/Explo_MetalMed1.wav soundparms 0.9 0.2 0.8 0.2 1500 9000 weapon loaded maps "obj dm"
local.master aliascache explode_tank2 sound/weapons/explo/Explo_MetalMed2.wav soundparms 0.9 0.2 0.8 0.2 1500 9000 weapon loaded maps "obj dm"
local.master aliascache explode_tank3 sound/weapons/explo/Explo_MetalMed3.wav soundparms 0.9 0.2 0.8 0.2 1500 9000 weapon loaded maps "obj dm"
local.master aliascache explode_tank4 sound/weapons/explo/Explo_MetalMed4.wav soundparms 0.9 0.2 0.8 0.2 1500 9000 weapon loaded maps "obj dm"
// *****spawn points******
$spawn_allies17 disablespawn
$spawn_allies18 disablespawn
$spawn_allies19 disablespawn
$spawn_allies20 disablespawn
$spawn_allies21 disablespawn
$spawn_allies22 disablespawn
$spawn_allies23 disablespawn
$spawn_allies24 disablespawn
$spawn_allies25 disablespawn
$spawn_allies26 disablespawn
$spawn_allies27 disablespawn
$spawn_allies28 disablespawn
$spawn_allies29 disablespawn
$spawn_allies30 disablespawn
$spawn_allies31 disablespawn
$spawn_allies32 disablespawn
level waittill spawn
level.bomb_damage = 400
level.bomb_explosion_radius = 640
level.defusing_team = "axis"
level.planting_team = "allies"
level.targets_to_destroy = 2
level.dmrespawning = 1
level.dmroundlimit = 20
level.clockside = axis
level waittill roundstart
$house_explode thread global/obj_dm.scr::bomb_thinker
$depot2_boom thread global/obj_dm.scr::bomb_thinker
$house_explode thread axis_win_timer
thread allies_win_bomb $house_explode $depot2_boom
thread bomb1_exploded $house_explode
thread bomb2_exploded $depot2_boom
thread shingle_setup
end
//*** --------------------------------------------
//*** "Axis Victory"
//*** --------------------------------------------
axis_win_timer:
level waittill axiswin
end
//*** --------------------------------------------
//*** "Allies Victory"
//*** --------------------------------------------
allies_win_bomb local.bomb1 local.bomb2:
while (local.bomb1.exploded != 1)
waitframe
while (local.bomb2.exploded != 1)
waitframe
teamwin allies
end
//*** --------------------------------------------
//*** "Depot One Boom"
//*** --------------------------------------------
bomb1_exploded local.bomb1:
while (local.bomb1.exploded != 1)
wait .1
iprintlnbold "Allies have destroyed Western Depot!"
end
//*** --------------------------------------------
//*** "Depot Two Boom"
//*** --------------------------------------------
bomb2_exploded local.bomb2:
while (local.bomb2.exploded != 1)
wait .1
iprintlnbold "Allies have destroyed Northern Depot!"
$spawn_allies1 disablespawn
$spawn_allies2 disablespawn
$spawn_allies3 disablespawn
$spawn_allies4 disablespawn
$spawn_allies5 disablespawn
$spawn_allies6 disablespawn
$spawn_allies7 disablespawn
$spawn_allies8 disablespawn
$spawn_allies9 disablespawn
$spawn_allies10 disablespawn
$spawn_allies11 disablespawn
$spawn_allies12 disablespawn
$spawn_allies13 disablespawn
$spawn_allies14 disablespawn
$spawn_allies15 disablespawn
$spawn_allies16 disablespawn
$spawn_allies17 enablespawn
$spawn_allies18 enablespawn
$spawn_allies19 enablespawn
$spawn_allies20 enablespawn
$spawn_allies21 enablespawn
$spawn_allies22 enablespawn
$spawn_allies23 enablespawn
$spawn_allies24 enablespawn
$spawn_allies25 enablespawn
$spawn_allies26 enablespawn
$spawn_allies27 enablespawn
$spawn_allies28 enablespawn
$spawn_allies29 enablespawn
$spawn_allies30 enablespawn
$spawn_allies31 enablespawn
$spawn_allies32 enablespawn
end
///**---------------------------------------
//***---------"Bangalore"-------------------
//***---------------------------------------
shingle_setup:
thread shingle_here_start
thread shingle_there_start
end
shingle_here_start:
$bangalore_trigger_here waittill trigger
local.player = parm.other
if (local.player.dmteam != axis)
{
goto shingle_here
}
end
shingle_here:
$bangalore_here playsound plantbomb1
$bangalore_here remove
$bangalore_nopulse_here show
wait 8
$bangalore_explosion_here1 anim start
$bangalore_explosion_here2 anim start
radiusdamage $bangalore_explosion_here2.origin 640 384
$bangalore_nopulse_here remove
$barbwire_clip_here remove
//$barbwire_collision_here remove
$barbwire_here remove
end
shingle_there_start:
$bangalore_trigger_there waittill trigger
local.player = parm.other
if (local.player.dmteam != axis)
{
goto shingle_there
}
end
shingle_there:
$bangalore_there playsound plantbomb1
$bangalore_there remove
$bangalore_nopulse_there show
wait 8
$bangalore_explosion_there1 anim start
$bangalore_explosion_there2 anim start
radiusdamage $bangalore_explosion_there2.origin 640 384
$bangalore_nopulse_there remove
$barbwire_clip_there remove
//$barbwire_collision_there remove
$barbwire_there remove
end
//*******DAM**********
//********************
dam_operate:
//-----TRIGGER---------
$dam_trigger triggerable
$dam_trigger waittill trigger
$dam_trigger nottriggerable
//-----SWITCH-----------
$dam_switch playsound track_switch1
$dam_switch anim move
//$dam_switch waittill animdone
//$dam_switch anim turnoff
//-----DAM GATE----------
$dam_gate playsound elevator_run
$dam_gate moveup 100
$dam_gate time 7
$dam_gate waitmove
//-----WODA---------
$woda movedown 54
$woda time 8
$woda waitmove
end
//--------DETONATOR----------
detonator:
$most_trigger triggerable
$most_trigger waittill trigger
$most_trigger nottriggerable
exec global/exploder.scr::explode 3
radiusdamage $most_epic 350 600
$detonator1 playsound track_switch2
$detonator1 movedown 10
$detonator1 waitmove
wait 2
$detonator1 moveup 10
$detonator1 waitmove
$most_trigger remove
end
//----beczki----
//beczki:
//$beczki_trigger triggerable
//$beczki_trigger waittill trigger
//$beczki_trigger nottriggerable
//iprintlnbold "duuuuupa"
//exec global/exploder.scr::explode 4
//adiusdamage $beczki_epic 500 1000
//$beczki_trigger remove
/**************************************
* WHERE DOES THE 'end' BELOW BELONG? *
**************************************/
end
//-----winda off--------
winda_off:
thread winda1_off
thread winda2_off
thread winda3_off
//thread winda4_off
thread winda5_off
thread winda6_off
thread winda7_off
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
winda1_off:
$winda1_off_trigger triggerable
$winda1_off_trigger waittill trigger
$winda1_off_trigger nottriggerable
$winda1_off_switch playsound m6l2b_generator_off
wait 2
goto winda_off
end
winda2_off:
$winda2_off_trigger triggerable
$winda2_off_trigger waittill trigger
$winda2_off_trigger nottriggerable
$winda2_off_switch playsound m6l2b_generator_off
wait 2
goto winda_off
end
winda3_off:
$winda3_off_trigger triggerable
$winda3_off_trigger waittill trigger
$winda3_off_trigger nottriggerable
$winda3_off_switch playsound m6l2b_generator_off
wait 2
goto winda_off
end
//winda4_off:
//$winda4_off_trigger triggerable
//$winda4_off_trigger waittill trigger
//$winda4_off_trigger nottriggerable
//$winda4_off_switch playsound m6l2b_generator_off
//wait 2
//goto winda_off
//end
winda5_off:
$winda5_off_trigger triggerable
$winda5_off_trigger waittill trigger
$winda5_off_trigger nottriggerable
$winda1_off_switch playsound m6l2b_generator_off
wait 2
goto winda_off
end
winda6_off:
$winda6_off_trigger triggerable
$winda6_off_trigger waittill trigger
$winda6_off_trigger nottriggerable
$winda2_off_switch playsound m6l2b_generator_off
wait 2
goto winda_off
end
winda7_off:
$winda7_off_trigger triggerable
$winda7_off_trigger waittill trigger
$winda7_off_trigger nottriggerable
$winda3_off_switch playsound m6l2b_generator_off
wait 2
goto winda_off
end
//----------OPERA DOOR-------------
door_prep:
thread left
thread right
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
left:
$left_door moveto $leftdoor_right
$left_door time 3
local.elepos = 0
goto door_standby
end
right:
$right_door moveto $rightdoor_left
$right_door time 3
local.elepos = 0
goto door_standby
end
door_standby:
$door_trigger triggerable
$door_trigger waittill trigger
$door_trigger nottriggerable
if (local.elepos == 0)
{
goto door_open
}
else
{
if (local.elepos == 1)
{
goto door_close
}
}
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
door_open:
$door_switch playsound alarm_switch
$door_switch anim turn
$door_switch waittill animdone
$door_switch anim on
thread left1
thread right1
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
left1:
$left_door moveto $leftdoor_left
$left_door waitmove
local.elepos = 1
goto door_standby
end
right1:
$right_door moveto $rightdoor_right
$right_door playsound door_vault_roll_open
$right_door waitmove
local.elepos = 1
goto door_standby
end
//$left_door waitmove
//$right_door waitmove
door_close:
$door_switch playsound alarm_switch
$door_switch anim turn
$door_switch waittill animdone
$door_switch anim on
thread left2
thread right2
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
left2:
$left_door moveto $leftdoor_right
$left_door waitmove
local.elepos = 0
goto door_standby
end
right2:
$right_door moveto $rightdoor_left
$right_door playsound door_vault_roll_close
$right_door waitmove
local.elepos = 0
goto door_standby
end
//*************
//***WINDA 1***
//*************
elevator1_preparation:
//********* BIND ***************
$elevator1_light light 40 40 40 250
$elevator1_lamp bind $elevator1_cabin
$elevator1_light bind $elevator1_cabin
$elevator1_switch_int bind $elevator1_cabin
$elevator1_switch_int anim off
//*********** Cage ***************
$elevator1_door_upleft moveto $elevator1_way_upleft_open
$elevator1_door_upleft waitmove
$elevator1_door_upright moveto $elevator1_way_upright_open
$elevator1_door_upright waitmove
$elevator1_cabin moveto $elevator1_waypoint_up
$elevator1_cabin waitmove
$elevator1_cabin time 3
local.elepos = 0
goto elevator1_standby
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
elevator1_standby:
$elevator1_trigger triggerable
$elevator1_trigger waittill trigger
$elevator1_trigger nottriggerable
if (local.elepos == 0)
{
goto elevator1_move_down
}
else
{
if (local.elepos == 1)
{
goto elevator1_move_up
}
}
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
//************ LIFT MOVE down ************
elevator1_move_down:
//-----INT SWITCH----------
$elevator1_switch_int playsound alarm_switch
$elevator1_switch_int anim turn
//$lift_inswitch waittill animdone
$elevator1_switch_int anim on
//-----EXT SWITCH----------
$elevator1_switch_ext playsound alarm_switch
$elevator1_switch_ext anim turn
//$lift_inswitch waittill animdone
$elevator1_switch_ext anim on
//------WROTA--------------
thread elevator1_door1
thread elevator1_door2
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
elevator1_door1:
$elevator1_door_upright playsound elevator_gate
$elevator1_door_upright moveto $elevator1_way_upright_close
$elevator1_door_upright waitmove
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
elevator1_door2:
$elevator1_door_upleft moveto $elevator1_way_upleft_close
$elevator1_door_upleft waitmove
//-----KABINA------------
$elevator1_cabin moveto $elevator1_waypoint_down
$elevator1_cabin playsound elevator_run
$elevator1_cabin waitmove
//------SWICZE OFF------
$elevator1_switch_int anim off
$elevator1_switch_ext anim off
//------WROTA----------
thread elevator1_door3
thread elevator1_door4
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
elevator1_door3:
$elevator1_door_downright playsound elevator_gate
$elevator1_door_downright moveto $elevator1_way_downright_open
$elevator1_door_downright waitmove
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
elevator1_door4:
$elevator1_door_downleft moveto $elevator1_way_downleft_open
$elevator1_door_downleft waitmove
local.elepos = 1
goto elevator1_standby
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
//*********** LIFT MOVE UP ************
elevator1_move_up:
//-----INT SWITCH----------
$elevator1_switch_int playsound alarm_switch
$elevator1_switch_int anim turn
//$lift_inswitch waittill animdone
$elevator1_switch_int anim on
//-----EXT SWITCH----------
$elevator1_switch_ext playsound alarm_switch
$elevator1_switch_ext anim turn
//$lift_inswitch waittill animdone
$elevator1_switch_ext anim on
//------WROTA--------------
thread elevator1_door5
thread elevator1_door6
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
elevator1_door5:
$elevator1_door_downright playsound elevator_gate
$elevator1_door_downright moveto $elevator1_way_downright_close
$elevator1_door_downright waitmove
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
elevator1_door6:
$elevator1_door_downleft moveto $elevator1_way_downleft_close
$elevator1_door_downleft waitmove
//-------KABINA-----------------
$elevator1_cabin moveto $elevator1_waypoint_up
$elevator1_cabin playsound elevator_run
$elevator1_cabin waitmove
//------SWICZE OFF------
$elevator1_switch_int anim off
$elevator1_switch_ext anim off
//-------WROTA-----------
thread elevator1_door7
thread elevator1_door8
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
elevator1_door7:
$elevator1_door_upright playsound elevator_gate
$elevator1_door_upright moveto $elevator1_way_upright_open
$elevator1_door_upright waitmove
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
elevator1_door8:
$elevator1_door_upleft moveto $elevator1_way_upleft_open
$elevator1_door_upleft waitmove
local.elepos = 0
goto elevator1_standby
end
//-------------------
// WINDA 2
//-------------------
elevator2_preparation:
//********* BIND ***************
$elevator2_light light 40 40 40 120
$elevator2_lamp bind $elevator2_cabin
$elevator2_light bind $elevator2_cabin
$elevator2_switch_int bind $elevator2_cabin
$elevator2_switch_int anim off
//*********** Cage ***************
$elevator2_door_upleft moveto $elevator2_way_upleft_open
$elevator2_door_upleft waitmove
$elevator2_door_upright moveto $elevator2_way_upright_open
$elevator2_door_upright waitmove
$elevator2_cabin moveto $elevator2_waypoint_up
$elevator2_cabin waitmove
$elevator2_cabin time 4
local.elepos = 0
goto elevator2_standby
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
elevator2_standby:
$elevator2_trigger triggerable
$elevator2_trigger waittill trigger
$elevator2_trigger nottriggerable
if (local.elepos == 0)
{
goto elevator2_move_down
}
else
{
if (local.elepos == 1)
{
goto elevator2_move_up
}
}
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
//************ LIFT MOVE down ************
elevator2_move_down:
//-----INT SWITCH----------
$elevator2_switch_int playsound alarm_switch
$elevator2_switch_int anim turn
//$lift_inswitch waittill animdone
$elevator2_switch_int anim on
//-----EXT SWITCH----------
$elevator2_switch_ext playsound alarm_switch
$elevator2_switch_ext anim turn
//$lift_inswitch waittill animdone
$elevator2_switch_ext anim on
//------WROTA--------------
thread elevator2_door1
thread elevator2_door2
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
elevator2_door1:
$elevator2_door_upright playsound elevator_gate
$elevator2_door_upright moveto $elevator2_way_upright_close
$elevator2_door_upright waitmove
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
elevator2_door2:
$elevator2_door_upleft moveto $elevator2_way_upleft_close
$elevator2_door_upleft waitmove
//-----KABINA------------
$elevator2_cabin moveto $elevator2_waypoint_down
$elevator2_cabin playsound elevator_run
$elevator2_cabin waitmove
//------SWICZE OFF------
$elevator2_switch_int anim off
$elevator2_switch_ext anim off
//------WROTA----------
thread elevator2_door3
thread elevator2_door4
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
elevator2_door3:
$elevator2_door_downright playsound elevator_gate
$elevator2_door_downright moveto
$elevator2_way_downright_open
$elevator2_door_downright waitmove
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
elevator2_door4:
$elevator2_door_downleft moveto $elevator2_way_downleft_open
$elevator2_door_downleft waitmove
local.elepos = 1
goto elevator2_standby
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
//*********** LIFT MOVE UP ************
elevator2_move_up:
//-----INT SWITCH----------
$elevator2_switch_int playsound alarm_switch
$elevator2_switch_int anim turn
//$lift_inswitch waittill animdone
$elevator2_switch_int anim on
//-----EXT SWITCH----------
$elevator2_switch_ext playsound alarm_switch
$elevator2_switch_ext anim turn
//$lift_inswitch waittill animdone
$elevator2_switch_ext anim on
//------WROTA--------------
thread elevator2_door5
thread elevator2_door6
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
elevator2_door5:
$elevator2_door_downright playsound elevator_gate
$elevator2_door_downright moveto
$elevator2_way_downright_close
$elevator2_door_downright waitmove
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
elevator2_door6:
$elevator2_door_downleft moveto $elevator2_way_downleft_close
$elevator2_door_downleft waitmove
//-------KABINA-----------------
$elevator2_cabin moveto $elevator2_waypoint_up
$elevator2_cabin playsound elevator_run
$elevator2_cabin waitmove
//------SWICZE OFF------
$elevator2_switch_int anim off
$elevator2_switch_ext anim off
//-------WROTA-----------
thread elevator2_door7
thread elevator2_door8
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
elevator2_door7:
$elevator2_door_upright playsound elevator_gate
$elevator2_door_upright moveto $elevator2_way_upright_open
$elevator2_door_upright waitmove
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
elevator2_door8:
$elevator2_door_upleft moveto $elevator2_way_upleft_open
$elevator2_door_upleft waitmove
local.elepos = 0
goto elevator2_standby
end
//-------------------
// WINDA 3
//-------------------
elevator3_preparation:
//********* BIND ***************
$elevator3_light light 40 40 40 120
$elevator3_lamp bind $elevator3_cabin
$elevator3_light bind $elevator3_cabin
$elevator3_switch_int bind $elevator3_cabin
$elevator3_switch_int anim off
//*********** Cage ***************
$elevator3_door_upleft moveto $elevator3_way_upleft_open
$elevator3_door_upleft waitmove
$elevator3_door_upright moveto $elevator3_way_upright_open
$elevator3_door_upright waitmove
$elevator3_cabin moveto $elevator3_waypoint_up
$elevator3_cabin waitmove
$elevator3_cabin time 4
local.elepos = 0
goto elevator3_standby
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
elevator3_standby:
$elevator3_trigger triggerable
$elevator3_trigger waittill trigger
$elevator3_trigger nottriggerable
if (local.elepos == 0)
{
goto elevator3_move_down
}
else
{
if (local.elepos == 1)
{
goto elevator3_move_up
}
}
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
//************ LIFT MOVE down ************
elevator3_move_down:
//-----INT SWITCH----------
$elevator3_switch_int playsound alarm_switch
$elevator3_switch_int anim turn
//$lift_inswitch waittill animdone
$elevator3_switch_int anim on
//-----EXT SWITCH----------
$elevator3_switch_ext playsound alarm_switch
$elevator3_switch_ext anim turn
//$lift_inswitch waittill animdone
$elevator3_switch_ext anim on
//------WROTA--------------
thread elevator3_door1
thread elevator3_door2
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
elevator3_door1:
$elevator3_door_upright playsound elevator_gate
$elevator3_door_upright moveto $elevator3_way_upright_close
$elevator3_door_upright waitmove
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
elevator3_door2:
$elevator3_door_upleft moveto $elevator3_way_upleft_close
$elevator3_door_upleft waitmove
//-----KABINA------------
$elevator3_cabin moveto $elevator3_waypoint_down
$elevator3_cabin playsound elevator_run
$elevator3_cabin waitmove
//------SWICZE OFF------
$elevator3_switch_int anim off
$elevator3_switch_ext anim off
//------WROTA----------
thread elevator3_door3
thread elevator3_door4
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
elevator3_door3:
$elevator3_door_downright playsound elevator_gate
$elevator3_door_downright moveto
$elevator3_way_downright_open
$elevator3_door_downright waitmove
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
elevator3_door4:
$elevator3_door_downleft moveto $elevator3_way_downleft_open
$elevator3_door_downleft waitmove
local.elepos = 1
goto elevator3_standby
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
//*********** LIFT MOVE UP ************
elevator3_move_up:
//-----INT SWITCH----------
$elevator3_switch_int playsound alarm_switch
$elevator3_switch_int anim turn
//$lift_inswitch waittill animdone
$elevator3_switch_int anim on
//-----EXT SWITCH----------
$elevator3_switch_ext playsound alarm_switch
$elevator3_switch_ext anim turn
//$lift_inswitch waittill animdone
$elevator3_switch_ext anim on
//------WROTA--------------
thread elevator3_door5
thread elevator3_door6
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
elevator3_door5:
$elevator3_door_downright playsound elevator_gate
$elevator3_door_downright moveto
$elevator3_way_downright_close
$elevator3_door_downright waitmove
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
elevator3_door6:
$elevator3_door_downleft moveto $elevator3_way_downleft_close
$elevator3_door_downleft waitmove
//-------KABINA-----------------
$elevator3_cabin moveto $elevator3_waypoint_up
$elevator3_cabin playsound elevator_run
$elevator3_cabin waitmove
//------SWICZE OFF------
$elevator3_switch_int anim off
$elevator3_switch_ext anim off
//-------WROTA-----------
thread elevator3_door7
thread elevator3_door8
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
elevator3_door7:
$elevator3_door_upright playsound elevator_gate
$elevator3_door_upright moveto $elevator3_way_upright_open
$elevator3_door_upright waitmove
// EEEEEEEEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddd
elevator3_door8:
$elevator3_door_upleft moveto $elevator3_way_upleft_open
$elevator3_door_upleft waitmove
local.elepos = 0
goto elevator3_standby
end
Posted: Wed Jan 21, 2004 12:39 am
by small_sumo
You sure are one of the good guys Bjarne BZR. Nice work very tidy scripting. Our man draska is in good hands at .map wouldnt you say.
Hurah for us

Posted: Wed Jan 21, 2004 2:23 am
by Balr14
Say, Bjarne, how are you at CoD scripting?

Posted: Wed Jan 21, 2004 4:03 am
by omniscient
haha, jesus christ bjarne, how much coffe did that take.
Posted: Wed Jan 21, 2004 11:22 am
by Bjarne BZR
Balr14 wrote:Say, Bjarne, how are you at CoD scripting?

I've never done it... but until you prove me wrong: I'll say I'm very good at it
omniscient wrote:haha, jesus christ bjarne, how much coffe did that take.
None. The question should be: How much coffe did Draska consume to make the original script? Considering that he actually got it to work despite the evil combination of goto and missing ends.

I'm very impressed by the complex stuff Draska produced.
Posted: Wed Jan 21, 2004 1:52 pm
by small_sumo
I have to aggree draska is switched on with gameplay, good ideas and level editing in general. I hope to see him stick around.

Posted: Sat Jan 24, 2004 7:01 pm
by Draska
To all of you who want to test a brand new opera house script (redone
by Bjarne -Thanks a lot!!!): here comes map script and precache script;
********The_Opera_House.scr ********
Code: Select all
// THE OPERA
// ARCHITECTURE: Draska
// SCRIPTING: Bjarne Gr?nnevik
// TEXTURES: Draska
main:
level waittill prespawn
thread define_level_constants
exec global/DMprecache.scr
exec global/ambient.scr obj_team4
exec global/door_locked.scr::lock
thread setup_sound_aliases
thread setup_initial_spawns
thread global/exploder.scr::main
level waittill spawn
thread dam_operate
thread detonator
thread door_prep
thread elevator1_preparation
thread elevator2_preparation
thread elevator3_preparation
level waittill roundstart
$house_explode thread global/obj_dm.scr::bomb_thinker
$depot2_boom thread global/obj_dm.scr::bomb_thinker
$house_explode thread axis_win_timer
thread allies_win_bomb $house_explode $depot2_boom
thread bomb1_exploded $house_explode
thread bomb2_exploded $depot2_boom
thread shingle_setup
end
//*************
//***WINDA 1***
//*************
elevator1_preparation:
//********* BIND ***************
$elevator1_light light 40 40 40 250
$elevator1_lamp bind $elevator1_cabin
$elevator1_light bind $elevator1_cabin
$elevator1_switch_int bind $elevator1_cabin
$elevator1_switch_int anim off
$winda5_off_trigger.origin = $winda5_off_trigger.origin + ( 0.0 0.0 592.0 )
$winda5_off_trigger bind $elevator1_cabin
//*********** Cage ***************
thread elevator1_move_up
thread elevator1_standby
thread elevator1_call_up_standby
thread elevator1_call_down_standby
iprintln "elevator1 prepared"
end
elevator1_standby:
$winda5_off_trigger triggerable
while(true) {
$winda5_off_trigger waittill trigger
iprintln "elevator1 internal triggered"
if($elevator1_cabin.state == level.STATE_DOWN) {
waitthread elevator1_move_up
} else {
if($elevator1_cabin.state == level.STATE_UP) {
waitthread elevator1_move_down
} else {
// Elevator is moving ignore the triggering
}
}
waitframe
}
end
elevator1_call_up_standby:
$elevator1_trigger triggerable
while(true) {
$elevator1_trigger waittill trigger
iprintln "elevator1 upper triggered"
if($elevator1_cabin.state == level.STATE_DOWN) {
waitthread elevator1_move_up
} else {
$elevator1_trigger playsound m6l2b_generator_off
}
waitframe
}
end
elevator1_call_down_standby:
$winda1_off_trigger triggerable
while(true) {
$winda1_off_trigger waittill trigger
iprintln "elevator1 lower triggered"
if($elevator1_cabin.state == level.STATE_UP) {
waitthread elevator1_move_down
} else {
$winda1_off_trigger playsound m6l2b_generator_off
}
waitframe
}
end
elevator1_move_down:
//-----INT SWITCH----------
$elevator1_switch_int playsound alarm_switch
$elevator1_switch_int anim turn
//-----EXT SWITCH----------
$elevator1_switch_ext playsound alarm_switch
$elevator1_switch_ext anim turn
wait 1
$elevator1_switch_int anim on
$elevator1_switch_ext anim on
//------WROTA--------------
$elevator1_door_upright playsound elevator_gate
$elevator1_door_upright moveto $elevator1_way_upright_close
$elevator1_door_upright move
$elevator1_door_upleft moveto $elevator1_way_upleft_close
$elevator1_door_upleft waitmove
wait 1
//-----KABINA------------
$elevator1_cabin time 4
$elevator1_cabin moveto $elevator1_waypoint_down
$elevator1_cabin playsound elevator_run
$elevator1_cabin waitmove
wait 1
//------SWICZE OFF------
$elevator1_switch_int anim off
$elevator1_switch_ext anim off
wait 1
$elevator1_door_downright playsound elevator_gate
$elevator1_door_downright moveto $elevator1_way_downright_open
$elevator1_door_downright move
$elevator1_door_downleft moveto $elevator1_way_downleft_open
$elevator1_door_downleft waitmove
$elevator1_cabin.state = level.STATE_DOWN
end
elevator1_move_up:
//-----INT SWITCH----------
$elevator1_switch_int playsound alarm_switch
$elevator1_switch_int anim turn
//-----EXT SWITCH----------
$elevator1_switch_ext playsound alarm_switch
$elevator1_switch_ext anim turn
wait 1
$elevator1_switch_int anim on
$elevator1_switch_ext anim on
wait 1
//------WROTA--------------
$elevator1_door_downright playsound elevator_gate
$elevator1_door_downright moveto $elevator1_way_downright_close
$elevator1_door_downright move
$elevator1_door_downleft moveto $elevator1_way_downleft_close
$elevator1_door_downleft waitmove
wait 1
//-------KABINA-----------------
$elevator1_cabin time 4
$elevator1_cabin moveto $elevator1_waypoint_up
$elevator1_cabin playsound elevator_run
$elevator1_cabin waitmove
//------SWICZE OFF------
$elevator1_switch_int anim off
$elevator1_switch_ext anim off
wait 1
//-----WROTA OPEN-------
$elevator1_door_upright playsound elevator_gate
$elevator1_door_upright moveto $elevator1_way_upright_open
$elevator1_door_upright move
$elevator1_door_upleft moveto $elevator1_way_upleft_open
$elevator1_door_upleft waitmove
$elevator1_cabin.state = level.STATE_UP
end
//*************
//***WINDA 2***
//*************
elevator2_preparation:
//********* BIND ***************
$elevator2_light light 40 40 40 250
$elevator2_lamp bind $elevator2_cabin
$elevator2_light bind $elevator2_cabin
$elevator2_switch_int bind $elevator2_cabin
$elevator2_switch_int anim off
$winda6_off_trigger bind $elevator2_cabin
//*********** Cage ***************
thread elevator2_move_up
thread elevator2_standby
thread elevator2_call_up_standby
thread elevator2_call_down_standby
iprintln "elevator2 prepared"
end
elevator2_standby:
$winda6_off_trigger triggerable
while(true) {
$winda6_off_trigger waittill trigger
iprintln "elevator2 internal triggered"
if($elevator2_cabin.state == level.STATE_DOWN) {
waitthread elevator2_move_up
} else {
if($elevator2_cabin.state == level.STATE_UP) {
waitthread elevator2_move_down
} else {
// Elevator is moving ignore the triggering
}
}
waitframe
}
end
elevator2_call_up_standby:
$elevator2_trigger triggerable
while(true) {
$elevator2_trigger waittill trigger
iprintln "elevator2 upper triggered"
if($elevator2_cabin.state == level.STATE_DOWN) {
waitthread elevator2_move_up
} else {
$elevator2_trigger playsound m6l2b_generator_off
}
waitframe
}
end
elevator2_call_down_standby:
$winda2_off_trigger triggerable
while(true) {
$winda2_off_trigger waittill trigger
iprintln "elevator2 lower triggered"
if($elevator2_cabin.state == level.STATE_UP) {
waitthread elevator2_move_down
} else {
$winda2_off_trigger playsound m6l2b_generator_off
}
waitframe
}
end
elevator2_move_down:
//-----INT SWITCH----------
$elevator2_switch_int playsound alarm_switch
$elevator2_switch_int anim turn
//-----EXT SWITCH----------
$elevator2_switch_ext playsound alarm_switch
$elevator2_switch_ext anim turn
wait 1
$elevator2_switch_int anim on
$elevator2_switch_ext anim on
//------WROTA--------------
$elevator2_door_upright playsound elevator_gate
$elevator2_door_upright moveto $elevator2_way_upright_close
$elevator2_door_upright move
$elevator2_door_upleft moveto $elevator2_way_upleft_close
$elevator2_door_upleft waitmove
wait 1
//-----KABINA------------
$elevator2_cabin time 4
$elevator2_cabin moveto $elevator2_waypoint_down
$elevator2_cabin playsound elevator_run
$elevator2_cabin waitmove
wait 1
//------SWICZE OFF------
$elevator2_switch_int anim off
$elevator2_switch_ext anim off
wait 1
$elevator2_door_downright playsound elevator_gate
$elevator2_door_downright moveto $elevator2_way_downright_open
$elevator2_door_downright move
$elevator2_door_downleft moveto $elevator2_way_downleft_open
$elevator2_door_downleft waitmove
$elevator2_cabin.state = level.STATE_DOWN
end
elevator2_move_up:
//-----INT SWITCH----------
$elevator2_switch_int playsound alarm_switch
$elevator2_switch_int anim turn
//-----EXT SWITCH----------
$elevator2_switch_ext playsound alarm_switch
$elevator2_switch_ext anim turn
wait 1
$elevator2_switch_int anim on
$elevator2_switch_ext anim on
wait 1
//------WROTA--------------
$elevator2_door_downright playsound elevator_gate
$elevator2_door_downright moveto $elevator2_way_downright_close
$elevator2_door_downright move
$elevator2_door_downleft moveto $elevator2_way_downleft_close
$elevator2_door_downleft waitmove
wait 1
//-------KABINA-----------------
$elevator2_cabin time 4
$elevator2_cabin moveto $elevator2_waypoint_up
$elevator2_cabin playsound elevator_run
$elevator2_cabin waitmove
//------SWICZE OFF------
$elevator2_switch_int anim off
$elevator2_switch_ext anim off
wait 1
//-----WROTA OPEN-------
$elevator2_door_upright playsound elevator_gate
$elevator2_door_upright moveto $elevator2_way_upright_open
$elevator2_door_upright move
$elevator2_door_upleft moveto $elevator2_way_upleft_open
$elevator2_door_upleft waitmove
$elevator2_cabin.state = level.STATE_UP
end
//*************
//***WINDA 3***
//*************
elevator3_preparation:
//********* BIND ***************
$elevator3_light light 40 40 40 250
$elevator3_lamp bind $elevator3_cabin
$elevator3_light bind $elevator3_cabin
$elevator3_switch_int bind $elevator3_cabin
$elevator3_switch_int anim off
$winda7_off_trigger bind $elevator3_cabin
//*********** Cage ***************
thread elevator3_move_up
thread elevator3_standby
thread elevator3_call_up_standby
thread elevator3_call_down_standby
iprintln "elevator3 prepared"
end
elevator3_standby:
$winda7_off_trigger triggerable
while(true) {
$winda7_off_trigger waittill trigger
iprintln "elevator3 internal triggered"
if($elevator3_cabin.state == level.STATE_DOWN) {
waitthread elevator3_move_up
} else {
if($elevator3_cabin.state == level.STATE_UP) {
waitthread elevator3_move_down
} else {
// Elevator is moving ignore the triggering
}
}
waitframe
}
end
elevator3_call_up_standby:
$elevator3_trigger triggerable
while(true) {
$elevator3_trigger waittill trigger
iprintln "elevator3 upper triggered"
if($elevator3_cabin.state == level.STATE_DOWN) {
waitthread elevator3_move_up
} else {
$elevator3_trigger playsound m6l2b_generator_off
}
waitframe
}
end
elevator3_call_down_standby:
$winda3_off_trigger triggerable
while(true) {
$winda3_off_trigger waittill trigger
iprintln "elevator3 lower triggered"
if($elevator3_cabin.state == level.STATE_UP) {
waitthread elevator3_move_down
} else {
$winda3_off_trigger playsound m6l2b_generator_off
}
waitframe
}
end
elevator3_move_down:
//-----INT SWITCH----------
$elevator3_switch_int playsound alarm_switch
$elevator3_switch_int anim turn
//-----EXT SWITCH----------
$elevator3_switch_ext playsound alarm_switch
$elevator3_switch_ext anim turn
wait 1
$elevator3_switch_int anim on
$elevator3_switch_ext anim on
//------WROTA--------------
$elevator3_door_upright playsound elevator_gate
$elevator3_door_upright moveto $elevator3_way_upright_close
$elevator3_door_upright move
$elevator3_door_upleft moveto $elevator3_way_upleft_close
$elevator3_door_upleft waitmove
wait 1
//-----KABINA------------
$elevator3_cabin time 4
$elevator3_cabin moveto $elevator3_waypoint_down
$elevator3_cabin playsound elevator_run
$elevator3_cabin waitmove
wait 1
//------SWICZE OFF------
$elevator3_switch_int anim off
$elevator3_switch_ext anim off
wait 1
$elevator3_door_downright playsound elevator_gate
$elevator3_door_downright moveto $elevator3_way_downright_open
$elevator3_door_downright move
$elevator3_door_downleft moveto $elevator3_way_downleft_open
$elevator3_door_downleft waitmove
$elevator3_cabin.state = level.STATE_DOWN
end
elevator3_move_up:
//-----INT SWITCH----------
$elevator3_switch_int playsound alarm_switch
$elevator3_switch_int anim turn
//-----EXT SWITCH----------
$elevator3_switch_ext playsound alarm_switch
$elevator3_switch_ext anim turn
wait 1
$elevator3_switch_int anim on
$elevator3_switch_ext anim on
wait 1
//------WROTA--------------
$elevator3_door_downright playsound elevator_gate
$elevator3_door_downright moveto $elevator3_way_downright_close
$elevator3_door_downright move
$elevator3_door_downleft moveto $elevator3_way_downleft_close
$elevator3_door_downleft waitmove
wait 1
//-------KABINA-----------------
$elevator3_cabin time 4
$elevator3_cabin moveto $elevator3_waypoint_up
$elevator3_cabin playsound elevator_run
$elevator3_cabin waitmove
//------SWICZE OFF------
$elevator3_switch_int anim off
$elevator3_switch_ext anim off
wait 1
//-----WROTA OPEN-------
$elevator3_door_upright playsound elevator_gate
$elevator3_door_upright moveto $elevator3_way_upright_open
$elevator3_door_upright move
$elevator3_door_upleft moveto $elevator3_way_upleft_open
$elevator3_door_upleft waitmove
$elevator3_cabin.state = level.STATE_UP
end
// Axis Victory
axis_win_timer:
level waittill axiswin
end
// Allies Victory
allies_win_bomb local.bomb1 local.bomb2:
while (local.bomb1.exploded != 1)
waitframe
while (local.bomb2.exploded != 1)
waitframe
teamwin allies
end
//*** --------------------------------------------
//*** "Depot One Boom"
//*** --------------------------------------------
bomb1_exploded local.bomb1:
while (local.bomb1.exploded != 1)
wait .1
iprintlnbold "Allies have destroyed Western Depot!"
end
//*** --------------------------------------------
//*** "Depot Two Boom"
//*** --------------------------------------------
bomb2_exploded local.bomb2:
while (local.bomb2.exploded != 1)
wait .1
iprintlnbold "Allies have destroyed Northern Depot!"
thread switch_to_forward_spawns
end
//***---------------------------------------
//***---------"Bangalore"-------------------
//***---------------------------------------
shingle_setup:
thread shingle_here_start
thread shingle_there_start
end
shingle_here_start:
$bangalore_trigger_here waittill trigger
while (parm.other.dmteam != allies) {
$bangalore_trigger_here waittill trigger
}
$bangalore_here playsound plantbomb1
$bangalore_here remove
$bangalore_nopulse_here show
wait 8
$bangalore_explosion_here1 anim start
$bangalore_explosion_here2 anim start
radiusdamage $bangalore_explosion_here2.origin 640 384
$bangalore_nopulse_here remove
$barbwire_clip_here remove
$barbwire_here remove
end
shingle_there_start:
$bangalore_trigger_there waittill trigger
while (parm.other.dmteam != allies) {
$bangalore_trigger_there waittill trigger
}
$bangalore_there playsound plantbomb1
$bangalore_there remove
$bangalore_nopulse_there show
wait 8
$bangalore_explosion_there1 anim start
$bangalore_explosion_there2 anim start
radiusdamage $bangalore_explosion_there2.origin 640 384
$bangalore_nopulse_there remove
$barbwire_clip_there remove
$barbwire_there remove
end
//--------DETONATOR----------
detonator:
$most_trigger triggerable
$most_trigger waittill trigger
$most_trigger nottriggerable
$detonator1 playsound track_switch2
$detonator1 movedown 10
$detonator1 waitmove
$most_trigger remove
exec global/exploder.scr::explode 3
radiusdamage $most_epic 350 600
end
dam_operate:
//-----TRIGGER---------
$dam_trigger triggerable
$dam_trigger waittill trigger
//-----SWITCH-----------
$dam_switch playsound track_switch1
$dam_switch anim move
//-----DAM GATE----------
$dam_gate playsound elevator_run
$dam_gate moveup 100
$dam_gate time 7
$dam_gate move
//-----WATER---------
$woda movedown 54
$woda time 8
$woda move
end
door_prep:
$left_door time 3
$right_door time 3
thread door_close
thread door_standby
end
door_standby:
while(true) {
$door_trigger waittill trigger
if(level.opera_door_state == level.STATE_CLOSE) {
waitthread door_open
} else {
if(level.opera_door_state == level.STATE_OPEN) {
waitthread door_close
} else {
// Door is moving ignore the triggering
}
}
waitframe
}
end
door_open:
level.opera_door_state = level.STATE_MOVING
iprintln "...door opening"
$door_switch playsound alarm_switch
$door_switch anim turn
wait 1
$door_switch anim on
$left_door moveto $leftdoor_left
$left_door move
$right_door moveto $rightdoor_right
$right_door playsound door_vault_roll_open
$right_door waitmove
level.opera_door_state = level.STATE_OPEN
end
door_close:
level.opera_door_state = level.STATE_MOVING
$door_switch playsound alarm_switch
$door_switch anim turn
wait 1
$door_switch anim on
$left_door moveto $leftdoor_right
$left_door move
$right_door moveto $rightdoor_left
$right_door playsound door_vault_roll_close
$right_door waitmove
level.opera_door_state = level.STATE_CLOSE
end
//************
// * UTILITIES *
//**********************************************
define_level_constants:
level.STATE_OPEN = 1
level.STATE_CLOSE = 0
level.STATE_MOVING = -1
level.STATE_UP = 1
level.STATE_DOWN = 0
level.script = maps/obj/The_Opera_House.scr
level.bomb_damage = 400
level.bomb_explosion_radius = 640
level.defusing_team = "axis"
level.planting_team = "allies"
level.targets_to_destroy = 2
level.dmrespawning = 1
level.dmroundlimit = 20
level.clockside = axis
setcvar "g_obj_alliedtext1" "Destroy German"
setcvar "g_obj_alliedtext2" " ammo depots "
setcvar "g_obj_alliedtext3" " "
setcvar "g_obj_axistext1" "Defend ammo depots"
setcvar "g_obj_axistext2" " "
setcvar "g_obj_axistext3" " "
setcvar "g_scoreboardpic" "opera_score"
end
setup_sound_aliases:
local.master = spawn ScriptMaster
//local.master aliascache soundalias wavfile soundparms numbers channel loaded maps "mapname"
local.master aliascache elevator_run sound/mechanics/Mec_ElevatorRun_01.wav soundparms 1.5 0.0 1.0 0.0 800 3000 auto loaded maps "obj dm"
local.master aliascache elevator_gate sound/mechanics/Mec_ElevatorGate_03.wav soundparms 1.5 0.0 1.0 0.0 300 3000 auto loaded maps "obj dm"
local.master aliascache arty_exp_water1 sound/weapons/explo/exp_water_01.wav soundparms 1.0 0.2 0.8 0.4 1000 8000 weapon loaded maps "obj dm"
local.master aliascache arty_exp_water2 sound/weapons/explo/exp_water_02.wav soundparms 1.0 0.2 0.8 0.4 1000 8000 weapon loaded maps "obj dm"
local.master aliascache arty_exp_water3 sound/weapons/explo/exp_water_03.wav soundparms 1.0 0.2 0.8 0.4 1000 8000 weapon loaded maps "obj dm"
local.master aliascache track_switch2 sound/mechanics/M1_LeverPull.wav soundparms 1.2 0.0 1.0 0.0 320 2200 auto loaded maps "obj dm"
local.master aliascache fence_roll_open sound/mechanics/Fence_Open.wav soundparms 1.2 0.0 1.1 0.0 160 1600 item loaded maps "obj dm"
local.master aliascache door_vault_roll_open sound/mechanics/m6l3a_SlidingDoors_Open.wav soundparms 1.0 0.0 1.0 0.0 160 1600 item loaded maps "obj dm"
local.master aliascache door_vault_roll_close sound/mechanics/m6l3a_SlidingDoors_Close.wav soundparms 1.0 0.0 1.0 0.0 160 1600 item loaded maps "obj dm"
local.master aliascache track_switch1 sound/mechanics/M4_TrackLever.wav soundparms 1.2 0.0 1.2 0.0 320 2200 auto loaded maps "obj dm"
local.master aliascache track_switching sound/mechanics/M4_TrainTrackSlide.wav soundparms 1.2 0.0 1.2 0.0 320 2200 auto loaded maps "obj dm"
local.master aliascache m6l2b_generator_off sound/mechanics/Mec_GeneratorOff_01.wav soundparms 1.5 0.0 1.0 0.0 160 6000 item loaded maps "obj dm"
local.master aliascache stonecrash01 sound/weapons/explo/Explo_StoneMed1.wav soundparms 0.6 0.4 1.0 0.4 2000 8000 auto loaded maps "obj dm"
local.master aliascache stonecrash02 sound/weapons/explo/Explo_StoneMed2.wav soundparms 0.6 0.4 1.0 0.4 2000 8000 auto loaded maps "obj dm"
local.master aliascache stonecrash03 sound/weapons/explo/Explo_StoneMed1.wav soundparms 0.6 0.4 1.0 0.4 2000 8000 auto loaded maps "obj dm"
local.master aliascache stonesmall01 sound/mechanics/Obj_BreakStoneSml_01.wav soundparms 0.6 0.4 1.0 0.4 1000 8000 auto loaded maps "obj dm"
local.master aliascache stonesmall02 sound/mechanics/Obj_BreakStoneSml_02.wav soundparms 0.6 0.4 1.0 0.4 1000 8000 auto loaded maps "obj dm"
local.master aliascache stonesmall03 sound/mechanics/Obj_BreakStoneSml_03.wav soundparms 0.6 0.4 1.0 0.4 1000 8000 auto loaded maps "obj dm"
local.master aliascache stonesmall04 sound/mechanics/Obj_BreakStoneSml_04.wav soundparms 0.6 0.4 1.0 0.4 1000 8000 auto loaded maps "obj dm"
local.master aliascache stonesmall05 sound/mechanics/Obj_BreakStoneSml_01.wav soundparms 0.6 0.4 1.0 0.4 1000 8000 auto loaded maps "obj dm"
local.master aliascache explode_tank1 sound/weapons/explo/Explo_MetalMed1.wav soundparms 0.9 0.2 0.8 0.2 1500 9000 weapon loaded maps "obj dm"
local.master aliascache explode_tank2 sound/weapons/explo/Explo_MetalMed2.wav soundparms 0.9 0.2 0.8 0.2 1500 9000 weapon loaded maps "obj dm"
local.master aliascache explode_tank3 sound/weapons/explo/Explo_MetalMed3.wav soundparms 0.9 0.2 0.8 0.2 1500 9000 weapon loaded maps "obj dm"
local.master aliascache explode_tank4 sound/weapons/explo/Explo_MetalMed4.wav soundparms 0.9 0.2 0.8 0.2 1500 9000 weapon loaded maps "obj dm"
// local.master remove // edit: omit this line
end
setup_initial_spawns:
$spawn_allies17 disablespawn
$spawn_allies18 disablespawn
$spawn_allies19 disablespawn
$spawn_allies20 disablespawn
$spawn_allies21 disablespawn
$spawn_allies22 disablespawn
$spawn_allies23 disablespawn
$spawn_allies24 disablespawn
$spawn_allies25 disablespawn
$spawn_allies26 disablespawn
$spawn_allies27 disablespawn
$spawn_allies28 disablespawn
$spawn_allies29 disablespawn
$spawn_allies30 disablespawn
$spawn_allies31 disablespawn
$spawn_allies32 disablespawn
end
switch_to_forward_spawns:
$spawn_allies1 disablespawn
$spawn_allies2 disablespawn
$spawn_allies3 disablespawn
$spawn_allies4 disablespawn
$spawn_allies5 disablespawn
$spawn_allies6 disablespawn
$spawn_allies7 disablespawn
$spawn_allies8 disablespawn
$spawn_allies9 disablespawn
$spawn_allies10 disablespawn
$spawn_allies11 disablespawn
$spawn_allies12 disablespawn
$spawn_allies13 disablespawn
$spawn_allies14 disablespawn
$spawn_allies15 disablespawn
$spawn_allies16 disablespawn
$spawn_allies17 enablespawn
$spawn_allies18 enablespawn
$spawn_allies19 enablespawn
$spawn_allies20 enablespawn
$spawn_allies21 enablespawn
$spawn_allies22 enablespawn
$spawn_allies23 enablespawn
$spawn_allies24 enablespawn
$spawn_allies25 enablespawn
$spawn_allies26 enablespawn
$spawn_allies27 enablespawn
$spawn_allies28 enablespawn
$spawn_allies29 enablespawn
$spawn_allies30 enablespawn
$spawn_allies31 enablespawn
$spawn_allies32 enablespawn
end.
*********The_Opera_House_precache.scr****************
Code: Select all
cache models/animate/electrical_switch_nopulse.tik
cache models/emitters/explosion_bombwall.tik
cache models/emitters/explosion_bombdirt.tik
cache models/animate/fx_mortar_dirt.tik
cache models/emitters/explosion_tank.tik
cache models/animate/fx_mortar_water.tik
cache models/animate/bangalore_pulsating_ghosting.tik
cache models/animate/bangalore.tik
cache models/animate/fx_mortar_higgins.tik
cache models/animate/trainswitch.tik
cache models/emitters/explosion_bridge.tik
cache models/statweapons/mg42_gun.tik
cache models/static/corona_reg.tik
cache models/fx/dummy.tik
cache models/lights/ceilinglamp1.tik
cache models/animate/barbwire_long.tik
cache models/items/pulse_explosive.tik
cache models/vehicles/opeltruck_d.tik
cache models/fx/bh_paper_lite.tik
cache models/fx/bh_paper_hard.tik
cache models/fx/bh_wood_lite.tik
cache models/fx/bh_wood_hard.tik
cache models/fx/bh_metal_lite.tik
cache models/fx/bh_metal_hard.tik
cache models/fx/bh_stone_lite.tik
cache models/fx/bh_stone_hard.tik
cache models/fx/bh_dirt_lite.tik
cache models/fx/bh_dirt_hard.tik
cache models/fx/bh_grass_lite.tik
cache models/fx/bh_grass_hard.tik
cache models/fx/bh_mud_lite.tik
cache models/fx/bh_mud_hard.tik
cache models/fx/bh_water_lite.tik
cache models/fx/bh_water_hard.tik
cache models/fx/bh_glass_lite.tik
cache models/fx/bh_glass_hard.tik
cache models/fx/bh_sand_lite.tik
cache models/fx/bh_sand_hard.tik
cache models/fx/bh_foliage_lite.tik
cache models/fx/bh_foliage_hard.tik
cache models/fx/bh_snow_lite.tik
cache models/fx/bh_snow_hard.tik
cache models/fx/bh_carpet_lite.tik
cache models/fx/bh_carpet_hard.tik
cache models/fx/bh_human_uniform_lite.tik
cache models/fx/bh_human_uniform_hard.tik
cache models/fx/water_trail_bubble.tik
cache models/fx/grenexp_base.tik
cache models/fx/bazookaexp_base.tik
cache models/fx/grenexp_paper.tik
cache models/fx/grenexp_wood.tik
cache models/fx/grenexp_metal.tik
cache models/fx/grenexp_stone.tik
cache models/fx/grenexp_dirt.tik
cache models/fx/grenexp_grass.tik
cache models/fx/grenexp_mud.tik
cache models/fx/grenexp_water.tik
cache models/fx/grenexp_gravel.tik
cache models/fx/grenexp_sand.tik
cache models/fx/grenexp_foliage.tik
cache models/fx/grenexp_snow.tik
cache models/fx/grenexp_carpet.tik
cache models/fx/water_ripple_still.tik
cache models/fx/water_ripple_moving.tik
cache models/fx/barrel_oil_leak_big.tik
cache models/fx/barrel_oil_leak_medium.tik
cache models/fx/barrel_oil_leak_small.tik
cache models/fx/barrel_oil_leak_splat.tik
cache models/fx/barrel_water_leak_big.tik
cache models/fx/barrel_water_leak_medium.tik
cache models/fx/barrel_water_leak_small.tik
cache models/fx/barrel_water_leak_splat.tik
cache models/fx/fs_light_dust.tik
cache models/fx/fs_heavy_dust.tik
cache models/fx/fs_dirt.tik
cache models/fx/fs_grass.tik
cache models/fx/fs_mud.tik
cache models/fx/fs_puddle.tik
cache models/fx/fs_sand.tik
cache models/fx/fs_snow.tik
cache models/items/binoculars.tik
cache models/items/dm_50_healthbox.tik
cache models/items/explosive.tik
Thx
Posted: Sun Jan 25, 2004 1:08 pm
by SlasherZ
this could keep my interest in mohaa
Posted: Wed Jan 28, 2004 9:58 pm
by Jack Ruby
WOW, just saw the screenies, WOW
Absolutely superb work, good job.
Posted: Thu Jan 29, 2004 1:40 am
by small_sumo
SlasherZ wrote:this could keep my interest in mohaa
We only got started with moh aye. Wait till ya all see my next project, I say mine, but really its a compilation of half the guys who come here. We got miles to go with moh yet man.
