print

Post your scripting questions / solutions here

Moderator: Moderators

Post Reply
User avatar
tltrude
Chuck Norris
Posts: 4774
Joined: Sun Jul 07, 2002 4:03 am
Location: Oklahoma, USA
Contact:

print

Post by tltrude »

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
Tom Trude,

Image
jv_map
Site Admin
Posts: 6521
Joined: Tue Sep 03, 2002 2:53 pm
Location: The Netherlands
Contact:

Post by jv_map »

No I don't think that's possible :(

while(1)
iprintln (local.master)
wait .1
end

would simply crash with an infinite loop.

while(1)
{
iprintln (local.master)
wait .1
}
end

would print 'type: listener' all the time.
Image
User avatar
tltrude
Chuck Norris
Posts: 4774
Joined: Sun Jul 07, 2002 4:03 am
Location: Oklahoma, USA
Contact:

local.master2

Post by tltrude »

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
Tom Trude,

Image
jv_map
Site Admin
Posts: 6521
Joined: Tue Sep 03, 2002 2:53 pm
Location: The Netherlands
Contact:

Post by jv_map »

It's not bad to spawn more ScriptMasters, as long as you don't go over the top ;). Mohaa is due to not like over 100 scriptmasters :)
Image
Post Reply