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

:idea:

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

Code: Select all

$spawn_allies_back disablespawn
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

:D

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

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? :lol:
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. :D 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 :shock:

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.

:)

;)