Is there a way to print the sound alias, or sound file name, that a player is hearing at any one moment (on the screen)? Could I use:
while(1)
iprintln (local.master)
wait .1
end
Moderator: Moderators
local.master2
You said before that it is a bad idea to spawn a second ScriptMaster, but you never said why! It seems to work ok for me.
Code: Select all
// MP_AMBIENT2
// ARCHITECTURE: TOM TRUDE, WACKO
// SCRIPTING: TOM TRUDE, WACKO
main:
// set scoreboard messages
setcvar "g_obj_alliedtext1" "Multplayer"
setcvar "g_obj_alliedtext2" "ambient"
setcvar "g_obj_alliedtext3" "sound test"
setcvar "g_obj_axistext1" ""
setcvar "g_obj_axistext2" ""
setcvar "g_obj_axistext3" ""
setcvar "g_scoreboardpic" ""
local.master = spawn ScriptMaster
local.master aliascache outside_snd sound/amb_stereo/Amb_M4_CountryExt_02.mp3 soundparms 1.0 0.0 1.0 0.0 5000 5000 "local" loaded maps "dm moh obj train"
local.master aliascache bridge_snd sound/mechanics/m6l3a_SlidingDoors_Close.wav soundparms 1.0 0.0 1.0 0.0 160 1600 item loaded maps "dm moh obj train"
local.master aliascache river_snd sound/amb/Amb_River.wav soundparms 0.25 0.0 1.0 0.0 1024 1250 auto loaded maps "dm moh obj train"
local.master aliascache fire_snd sound/amb/Amb_FirePlace.wav soundparms 0.5 0.0 1.0 0.0 128 256 auto loaded maps "dm moh obj train"
local.master2 = spawn ScriptMaster
local.master2 aliascache inside_snd sound/amb_stereo/Amb_M4_CountryInt_02.mp3 soundparms 1.0 0.0 1.0 0.0 128 350 "local" loaded maps "dm moh obj train"
local.master2 aliascache radio_snd sound/music/mus_berlin.mp3 soundparms 1.0 0.0 1.0 0.0 128 350 "local" loaded maps "dm moh obj train"
local.master2 aliascache mystery_snd sound/music/AOEII_Realms.mp3 soundparms 1.0 0.0 1.0 0.0 128 350 "local" loaded maps "dm moh obj train"
level waittill prespawn
//*** Precache Dm Stuff
exec global/DMprecache.scr
exec global/door_locked.scr::lock
level.script = maps/dm/mp_ambient2.scr
// exec global/ambient.scr mohdm1
thread start_sounds
thread swing_ladder_prep
thread bridge_prep
thread station_hose
thread lobby
thread music_room
$electric_sign rotateY 22.5
level waittill spawn
end
//------------------------------------------------>
//sound thread
//------------------------------------------------>
start_sounds:
wait 1
$outside_speaker1 loopsound outside_snd
$outside_speaker2 loopsound river_snd
$outside_speaker3 loopsound river_snd
$outside_speaker4 loopsound river_snd
$inside_speaker0 loopsound inside_snd
$inside_fire loopsound fire_snd
$inside_speaker1 loopsound inside_snd
$inside_speaker2 loopsound inside_snd
$inside_speaker3 loopsound inside_snd
$inside_speaker4 loopsound inside_snd
end
lobby:
$firstfloor_trigger waittill trigger
$inside_speaker1 stoploopsound
$inside_speaker1 loopsound radio_snd
$firstfloor_trigger waittill trigger
$inside_speaker1 stoploopsound
$inside_speaker1 loopsound inside_snd
goto lobby
end
music_room:
$thirdfloor_trigger waittill trigger
$inside_speaker3 stoploopsound
$inside_speaker3 loopsound mystery_snd
$thirdfloor_trigger waittill trigger
$inside_speaker3 stoploopsound
$inside_speaker3 loopsound inside_snd
goto music_room
end
//------------------------------------------------>
// swing ladder threads
//------------------------------------------------>
swing_ladder_prep:
$swingdown_ladder rotateZup 55
$swingdown_ladder move
$swingdown_ladder time 1.5
end
swing_ladder:
$swingdown_ladder_trigger nottriggerable
$swingdown_ladder playsound gate_iron_close
$swingdown_ladder rotateZup -55
$swingdown_ladder waitmove
wait 15
$swingdown_ladder playsound gate_iron_close
$swingdown_ladder rotateZup 55
$swingdown_ladder waitmove
$swingdown_ladder_trigger triggerable
end
//----------------------------------------------------------->
// bridge thread
//----------------------------------------------------------->
bridge_prep:
$bridge time 2.9
goto bridge_mover
end
bridge_mover:
$bridge_trigger waittill trigger
$bridge playsound bridge_snd
$bridge rotateXup -45
$bridge waitmove
wait 10
$bridge playsound bridge_snd
$bridge rotateXdown -45
$bridge waitmove
goto bridge_mover
end
//----------------------------------------------------------->
// gas station bell
//----------------------------------------------------------->
station_hose:
$hose_trigger waittill trigger
$hose_speaker playsound snd_ping
wait .5
goto station_hose
end
//----------------------------------------------------------->
// explode objects
//----------------------------------------------------------->
boomT:
$Tboom anim start
local.sucker = parm.other
if (local.sucker istouching $te_kill_trigger)
{
local.sucker damage local.sucker 120 local.sucker (0 0 0) (0 0 0) (0 0 0) 1 2 9 0
volumedamage $te_kill_trigger 250
}
waitexec global/earthquake.scr .3 1 0 0
waitexec global/earthquake.scr .3 .75 0 0
waitexec global/earthquake.scr 1.25 .3 0 0
$Tboom_clip remove
end
boomS:
$Sboom anim start
local.sucker = parm.other
if (local.sucker istouching $es_kill_trigger)
{
local.sucker damage local.sucker 120 local.sucker (0 0 0) (0 0 0) (0 0 0) 1 2 9 0
volumedamage $es_kill_trigger 250
}
waitexec global/earthquake.scr .3 1 0 0
waitexec global/earthquake.scr .3 .75 0 0
waitexec global/earthquake.scr 1.25 .3 0 0
$Sboom_clip remove
end
pump1:
$pump1_exp anim start
$pump1_fire anim start
$pump1_clip remove
radiusdamage $pump1_exp 120 256
waitexec global/earthquake.scr .3 1 0 0
waitexec global/earthquake.scr .3 .75 0 0
waitexec global/earthquake.scr 1.25 .3 0 0
wait 6
$pump1_fire anim stop
wait 5
$pump1_fire remove
end
pump2:
$pump2_exp anim start
$pump2_fire anim start
$pump2_clip remove
radiusdamage $pump2_exp 120 256
waitexec global/earthquake.scr .3 1 0 0
waitexec global/earthquake.scr .3 .75 0 0
waitexec global/earthquake.scr 1.25 .3 0 0
wait 6
$pump2_fire anim stop
wait 5
$pump2_fire remove
end
bar1_boom:
$bar1_exp anim start
exec global/model.scr $bar1_exp.origin
local.sucker = parm.other
if (local.sucker istouching $bar_kill_trigger)
{
local.sucker damage local.sucker 120 local.sucker (0 0 0) (0 0 0) (0 0 0) 1 2 6 0
volumedamage $bar_kill_trigger 250
}
$bar1_clip remove
end
bar2_boom:
$bar2_exp anim start
exec global/model.scr $bar2_exp.origin
local.sucker = parm.other
if (local.sucker istouching $bar_kill_trigger)
{
local.sucker damage local.sucker 120 local.sucker (0 0 0) (0 0 0) (0 0 0) 1 2 6 0
volumedamage $bar_kill_trigger 250
}
$bar2_clip remove
end

