Custom audio scripting is crashing our server. **sigh**

Post your scripting questions / solutions here

Moderator: Moderators

Post Reply
User avatar
diego
Captain
Posts: 245
Joined: Sun Dec 21, 2003 10:47 pm

Custom audio scripting is crashing our server. **sigh**

Post by diego »

Hey guys. I've been trying to work this out for a couple of months now. I'm at my wits end and just about to remove all my fun and goofy sounds from my map just to keep it working.

I have a lot of music in this one that players can activate. So, I've been trying to limit how many can be played at once. But no matter what I do, the stupid thing keeps crashing. Most of the sounds are started by a trigger-use. But a couple are trigger-multiple's that you just run through. I think those are the main ones causing my problems. But the alarm stuff in there is kind of touchy too since it doesn't want to work all the time.

If anyone can help me resolve this I'd be gratefull. Here is the whole nasty noob written script:

Code: Select all

//BK Town
// ARCHITECTURE: =[BK]=theOmega, =[BK]=Don Diego
//  	Some prefabs from Wacko (metal stairs, air ducts, modified printing press)
// SCRIPTING: =[BK]=theOmega, =[BK]=Don Diego
//		Trap door scripting taken from TlTrude's door tutorial.
// CUSTOM TEXTURES: =[BK]=Don Diego, Transparent and reflect shader help by Wacko.
// LIGHTING:  =[BK]=Don Diego
//
/////////////////////////////////////////////////
//MAIN SETUP AND SCORE///////////////////////////
/////////////////////////////////////////////////
main:
	local.master = spawn ScriptMaster

	local.master aliascache Bugsy sound/bktown/BUGS1.mp3 soundparms 1.0 1.0 1.0 0.0 100 300 auto loaded maps "obj dm"
	local.master aliascache Flush sound/bktown/flush.mp3 soundparms 4.0 1.0 1.0 0.0 300 500 auto loaded maps "obj dm"
	local.master aliascache Alarm sound/bktown/Alarm.mp3 soundparms 1.0 1.0 1.0 0.0 3000 8000 "dialogue" loaded maps "obj dm"
	local.master aliascache stonedoor sound/bktown/stonedoor.mp3 soundparms 3.0 1.0 1.0 0.0 200 400 auto loaded maps "obj dm"

	local.master aliascache snore sound/bktown/snore.mp3 soundparms 2.0 1.0 1.0 0.0 200 500 "dialogue_secondary" loaded maps "obj dm"
	local.master aliascache Fire sound/bktown/fireplace.mp3 soundparms 1.0 1.0 1.0 0.0 100 300 auto loaded maps "obj dm"
	local.master aliascache Fire2 sound/bktown/fireplace.mp3 soundparms 1.0 1.0 1.0 0.0 100 300 auto loaded maps "obj dm"
	local.master aliascache Fire3 sound/bktown/fireplace.mp3 soundparms 1.5.0 1.0 1.0 0.0 200 400 auto loaded maps "obj dm"
	local.master aliascache Press sound/bktown/Press.mp3 soundparms 0.35 1.0 1.0 0.0 100 300 auto loaded maps "obj dm"
	local.master aliascache Boiler sound/bktown/BoilerRoom.mp3 soundparms 1.2 1.0 1.0 0.0 500 1000 "local" loaded maps "obj dm"
 	local.master aliascache Laugh sound/bktown/Laugh.mp3 soundparms 1.0 1.0 1.0 0.0 200 500 "voice" maps "obj dm"

	local.master aliascache piano sound/bktown/pianoman.mp3 soundparms 1.0 1.0 1.0 0.0 300 1000 "voice" loaded maps "obj dm"
	local.master aliascache Omega1 sound/bktown/Omega1.mp3 soundparms 2.0 1.0 1.0 0.0 200 475 "voice" loaded maps "obj dm"
	local.master aliascache Omega2 sound/bktown/Omega2.mp3 soundparms 3.0 1.0 1.0 0.0 200 475 "voice" loaded maps "obj dm"
	local.master aliascache NtGrl1 sound/bktown/NiteGirl.mp3 soundparms 1.0 1.0 1.0 0.0 200 1000 "voice" loaded maps "obj dm"

	local.master aliascache Slix_1 sound/bktown/Slix_1.mp3 soundparms 1.0 1.0 1.0 0.0 200 500 "voice" loaded maps "obj dm"
	local.master aliascache Slix_2 sound/bktown/Slix_2.mp3 soundparms 1.0 1.0 1.0 0.0 200 500 "voice" loaded maps "obj dm"
	local.master aliascache Slix_3 sound/bktown/Slix_3.mp3 soundparms 1.0 1.0 1.0 0.0 200 500 "voice" loaded maps "obj dm"
	local.master aliascache Slix_4 sound/bktown/Slix_4.mp3 soundparms 1.0 1.0 1.0 0.0 200 500 "voice" loaded maps "obj dm"
	local.master aliascache Slix_5 sound/bktown/Slix_5.mp3 soundparms 1.0 1.0 1.0 0.0 200 500 "voice" loaded maps "obj dm"
	local.master aliascache Slix_6 sound/bktown/Slix_6.mp3 soundparms 1.0 1.0 1.0 0.0 200 500 "voice" loaded maps "obj dm"
	local.master aliascache Slix_7 sound/bktown/Slix_7.mp3 soundparms 1.0 1.0 1.0 0.0 200 500 "voice" loaded maps "obj dm"

	local.master aliascache Beavis_1 sound/bktown/Beavis_01.mp3 soundparms 1.0 1.0 1.0 0.0 200 500 auto loaded maps "obj dm"
	local.master aliascache Beavis_2 sound/bktown/Beavis_02.mp3 soundparms 1.0 1.0 1.0 0.0 200 500 auto loaded maps "obj dm"
	local.master aliascache Beavis_3 sound/bktown/Beavis_03.mp3 soundparms 1.0 1.0 1.0 0.0 200 500 auto loaded maps "obj dm"
	local.master aliascache Beavis_4 sound/bktown/Beavis_04.mp3 soundparms 1.0 1.0 1.0 0.0 200 500 auto loaded maps "obj dm"
	local.master aliascache Beavis_5 sound/bktown/Beavis_05.mp3 soundparms 1.0 1.0 1.0 0.0 200 500 auto loaded maps "obj dm"

	local.master aliascache Blaster_1 sound/bktown/Blaster_01.mp3 soundparms 2.0 1.0 1.0 0.0 500 1000 auto loaded maps "obj dm"
	local.master aliascache Blaster_2 sound/bktown/Blaster_02.mp3 soundparms 2.0 1.0 1.0 0.0 500 1000 auto loaded maps "obj dm"
	local.master aliascache Blaster_3 sound/bktown/Blaster_03.mp3 soundparms 2.0 1.0 1.0 0.0 500 1000 auto loaded maps "obj dm"
	local.master aliascache Blaster_4 sound/bktown/Blaster_04.mp3 soundparms 2.0 1.0 1.0 0.0 500 1000 auto loaded maps "obj dm"
	local.master aliascache Blaster_5 sound/bktown/Blaster_05.mp3 soundparms 2.0 1.0 1.0 0.0 500 1000 auto loaded maps "obj dm"



	level waittill prespawn

	exec global/DMprecache.scr
	exec scripts/bktown_precache.scr
	exec global/door_locked.scr::lock
	exec global/ambient.scr mohdm3

	//$trap_door movedown 64  // door moved up for lighting edges
	$trap_door move
	$CoffinB move

	thread trap_door_mover
	thread CoffinB_mover



	level.script=maps/dm/BK_town.scr

	setcvar "g_scoreboardpic" "score"

	level waittill spawn
	level.pianoplaying = 0
	level.musicplaying = 0

	// set scoreboard messages
	setcvar "g_obj_alliedtext1" "BK Town"
	setcvar "g_obj_alliedtext2" ""
	setcvar "g_obj_alliedtext3" "created by:"
	setcvar "g_obj_axistext1" " ""
	setcvar "g_obj_axistext2" "=[BK]=theOmega"
	setcvar "g_obj_axistext3" "=[BK]=DonDiego"

	wait 1

	$speaker_Nightgirl loopsound Laugh
	$speaker_Omega loopsound Omega1
	$speaker_ELfire loopsound Fire
	$speaker_NGfire loopsound Fire2
	$speaker_Durafire loopsound Fire3
	$speaker_Snore loopsound snore
	$speaker_Press loopsound Press
	$speaker_Blaster3 loopsound Boiler


end

//////////////////////////////////////////////////
// Coffin Door A//////////////////////////////////
//////////////////////////////////////////////////


trap_door_mover:

$trap_door_trigger waittill trigger
$trap_door time 2
$trap_door playsound stonedoor
$trap_door rotateZup -90
$trap_door waitmove
$trap_door playsound door_wood_open_stop
wait 10
$trap_door playsound stonedoor
$trap_door rotateZdown -90
$trap_door waitmove
$trap_door playsound door_wood_close_stop

goto trap_door_mover

end
//////////////////////////////////////////////////

//////////////////////////////////////////////////
// Coffin Door B//////////////////////////////////////
//////////////////////////////////////////////////

CoffinB_mover:
$CoffinB_trigger waittill trigger
$CoffinB time 2
$CoffinB playsound stonedoor
$CoffinB rotateZup 90
$CoffinB waitmove
$CoffinB playsound door_wood_open_stop
wait 20
$CoffinB playsound stonedoor
$CoffinB rotateZdown 90
$CoffinB waitmove
$CoffinB playsound door_wood_close_stop

goto CoffinB_mover

end
//////////////////////////////////////////////////


//////////////////////////////////////////////////
//ANIMATED DOOR SWITCHES//////////////////////////
//////////////////////////////////////////////////
//kennyLadder/////////////////////////////////////
//////////////////////////////////////////////////
kennyLadderthread:
$kennyLadder_trigger waittill trigger
$kennyLadderswitch anim turn
$kennyLadderswitch anim waittill animdone
$kennyLadderswitch anim on
$kennyLadderswitch anim waittill animdone
wait .5
$kennyLadderswitch anim off
end
//////////////////////////////////////////////////
//MadDog's Room///////////////////////////////////
//////////////////////////////////////////////////
maddogthread:
$maddogswitch anim turn
$maddogswitch anim waittill animdone
$maddogswitch anim on
$maddogswitch anim waittill animdone
wait .5
$maddogswitch anim off
end
//////////////////////////////////////////////////
//Allied Armoury//////////////////////////////////
//////////////////////////////////////////////////

//Allied Armoury Exterior Switch
armourythread:
$armouryswitch anim turn
$armouryswitch anim waittill animdone
$armouryswitch anim on
$armouryswitch anim waittill animdone
wait .5
$armouryswitch anim off
end

//Allied Armoury Interior Switch
armouryIntthread:
$armouryIntswitch anim turn
$armouryIntswitch anim waittill animdone
$armouryIntswitch anim on
$armouryIntswitch anim waittill animdone
wait .5
$armouryIntswitch anim off
end
//////////////////////////////////////////////////
//Fireplace///////////////////////////////////////
//////////////////////////////////////////////////
fireplacethread:
$fireplaceswitch anim turn
$fireplaceswitch anim waittill animdone
$fireplaceswitch anim on
$fireplaceswitch anim waittill animdone
wait .5
$fireplaceswitch anim off
end
//////////////////////////////////////////////////
//Ambush//////////////////////////////////////////
//////////////////////////////////////////////////
ambushthread:
$ambushswitch anim turn
$ambushswitch anim waittill animdone
$ambushswitch anim on
$ambushswitch anim waittill animdone
wait .5
$ambushswitch anim off
end
//////////////////////////////////////////////////

//////////////////////////////////////////////////
//SOUND SCRIPTS///////////////////////////////////
//////////////////////////////////////////////////

//////////////////////////////////////////////////
//Sound script for Kenny's Room///////////////////
//////////////////////////////////////////////////
alarmthread:
	iprintlnbold "WARNING! SECURITY SYSTEM ACTIVATED!"
	level.pianoplaying = 1
		level.musicplaying = 1
//Kill sound in Nightgirl's room while alarm is playing//
		$speaker_Nightgirl stopsound 4
			$speaker_Nightgirl stoploopsound
					$NightgirlOrgan nottriggerable
//Kill sound in Omega's room while alarm is playing//
		$speaker_Omega stopsound 4
			$speaker_Omega stoploopsound
					$OmegaRadio nottriggerable
		$speaker_Maddog stopsound 4
			$MaddogPiano nottriggerable
//Kill sound in Disco while alarm is playing//
		$speaker_Slix1 stopsound 4
		$speaker_Slix2 stopsound 4
		$speaker_Slix3 stopsound 4
		$speaker_Slix4 stopsound 4
			$DiscoTrigger nottriggerable
	$speaker_Alarm playsound Alarm
	wait 16
//Resume normal sounds/////////////////////////
		level.pianoplaying = 0
		level.musicplaying = 0
		$AlarmTestOn triggerable
		$OmegaRadio triggerable
		$MaddogPiano triggerable
		$DiscoTrigger triggerable
		$NightgirlOrgan triggerable
		$speaker_Nightgirl loopsound Laugh
		$speaker_Omega loopsound Omega1
end


//////////////////////////////////////////////////
//Sound script for Maddog's Room//////////////////
//////////////////////////////////////////////////
thread.Maddog:
if (level.pianoplaying == 0)
{
	level.pianoplaying = 1
	$MaddogPiano nottriggerable
	$speaker_Maddog playsound piano
	iprintlnbold "Report to your room Maddog!"
	wait 43
	level.pianoplaying = 0
	$MaddogPiano triggerable
}
end
/////////////////////////////////////////////////
//Sound script for Omega's Room//////////////////
/////////////////////////////////////////////////
thread.Omega:
if (level.musicplaying == 0)
{
	level.musicplaying = 1
	$OmegaRadio nottriggerable
	$speaker_Omega stoploopsound
	$speaker_Omega playsound Omega2
	wait 60
	level.musicplaying = 0
	$speaker_Omega loopsound Omega1
	$OmegaRadio triggerable
}
end
/////////////////////////////////////////////////
//Sound script for NightGirl's Room//////////////
/////////////////////////////////////////////////
thread.Nightgirl:
if (level.pianoplaying == 0)
{
	level.pianoplaying = 1
	$NightgirlOrgan nottriggerable
	$speaker_Nightgirl stoploopsound
	$speaker_Nightgirl playsound NtGrl1
	wait 36
	level.pianoplaying = 0
	$speaker_Nightgirl loopsound Laugh
	$NightgirlOrgan triggerable
}
end

thread.Toilet:
	$speaker_Toilet playsound Flush
	wait 10
end


/////////////////////////////////////////////////
//Sound script for Bunny's Room//////////////////
/////////////////////////////////////////////////
thread.Bunny:
	$speaker_Bunny playsound Bugsy
	wait 2
end


/////////////////////////////////////////////////
//Sound script for Cornstalker's Room////////////
/////////////////////////////////////////////////
BeavisMainThread:
	$BeavisTaunt nottriggerable
	thread ("Beavis_" + (randomint(5) + 1))

end
////////////////////////////////////////////////
Beavis_1:
	$speaker_Cornstalker playsound Beavis_1
	wait 3
	$BeavisTaunt triggerable
end
////////////////////////////////////////////////
Beavis_2:
	$speaker_Cornstalker playsound Beavis_2
	wait 3
	$BeavisTaunt triggerable
end
////////////////////////////////////////////////
Beavis_3:
	$speaker_Cornstalker playsound Beavis_3
	wait 17
	$BeavisTaunt triggerable
end
////////////////////////////////////////////////
Beavis_4:
	$speaker_Cornstalker playsound Beavis_4
	wait 9
	$BeavisTaunt triggerable
end
////////////////////////////////////////////////
Beavis_5:
	$speaker_Cornstalker playsound Beavis_5
	wait 3
	$BeavisTaunt triggerable
end
/////////////////////////////////////////////////
//Sound script for Master Blaster's Room/////////
/////////////////////////////////////////////////
blasterAthread:
	$BlasterTrigger nottriggerable
	thread ("Blaster_" + (randomint(5) + 1))
end
////////////////////////////////////////////////
Blaster_1:
	$speaker_Blaster1 playsound Blaster_1
	$speaker_Blaster2 playsound Blaster_1
	wait 8
	$BlasterTrigger triggerable
end
////////////////////////////////////////////////
Blaster_2:
	$speaker_Blaster1 playsound Blaster_2
	$speaker_Blaster2 playsound Blaster_2
	wait 8
	$BlasterTrigger triggerable
end
////////////////////////////////////////////////
Blaster_3:
	$speaker_Blaster1 playsound Blaster_3
	$speaker_Blaster2 playsound Blaster_3
	wait 22
	$BlasterTrigger triggerable
end
////////////////////////////////////////////////
Blaster_4:
	$speaker_Blaster1 playsound Blaster_4
	$speaker_Blaster2 playsound Blaster_4
	wait 4
	$BlasterTrigger triggerable
end
////////////////////////////////////////////////
Blaster_5:
	$speaker_Blaster1 playsound Blaster_5
	$speaker_Blaster2 playsound Blaster_5
	wait 6
	$BlasterTrigger triggerable
end
////////////////////////////////////////////////




/////////////////////////////////////////////////
//Sound script for Slix's Room//////////////////
/////////////////////////////////////////////////
slixthread:
if (level.musicplaying == 0)
{
	level.musicplaying = 1
	$DiscoTrigger nottriggerable
	thread ("Slix_" + (randomint(7) + 1))
}
end

////////////////////////////////////////////////
Slix_1:
	iprintlnbold "Disco Fever!"
	$speaker_Slix1 playsound Slix_1
	$speaker_Slix2 playsound Slix_1
	$speaker_Slix3 playsound Slix_1
	$speaker_Slix4 playsound Slix_1
	wait 28
	level.musicplaying = 0
	$DiscoTrigger triggerable
end
////////////////////////////////////////////////
Slix_2:
	iprintlnbold "Disco Fever!"
	$speaker_Slix1 playsound Slix_2
	$speaker_Slix2 playsound Slix_2
	$speaker_Slix3 playsound Slix_2
	$speaker_Slix4 playsound Slix_2
	wait 52
	level.musicplaying = 0
	$DiscoTrigger triggerable
end
////////////////////////////////////////////////
Slix_3:
	iprintlnbold "Disco Fever!"
	$speaker_Slix1 playsound Slix_3
	$speaker_Slix2 playsound Slix_3
	$speaker_Slix3 playsound Slix_3
	$speaker_Slix4 playsound Slix_3
	wait 62
	level.musicplaying = 0
	$DiscoTrigger triggerable
end
////////////////////////////////////////////////
Slix_4:
	iprintlnbold "Disco Fever!"
	$speaker_Slix1 playsound Slix_4
	$speaker_Slix2 playsound Slix_4
	$speaker_Slix3 playsound Slix_4
	$speaker_Slix4 playsound Slix_4
	wait 20
	level.musicplaying = 0
	$DiscoTrigger triggerable
end
////////////////////////////////////////////////
Slix_5:
	iprintlnbold "Disco Fever!"
	$speaker_Slix1 playsound Slix_5
	$speaker_Slix2 playsound Slix_5
	$speaker_Slix3 playsound Slix_5
	$speaker_Slix4 playsound Slix_5
	wait 112
	level.musicplaying = 0
	$DiscoTrigger triggerable
end
////////////////////////////////////////////////
Slix_6:
	iprintlnbold "Disco Fever!"
	$speaker_Slix1 playsound Slix_6
	$speaker_Slix2 playsound Slix_6
	$speaker_Slix3 playsound Slix_6
	$speaker_Slix4 playsound Slix_6
	wait 75
	level.musicplaying = 0
	$DiscoTrigger triggerable
end
////////////////////////////////////////////////
Slix_7:
	iprintlnbold "Slix is horny for Tom Selleck... AGAIN!"
	$speaker_Slix1 playsound Slix_7
	$speaker_Slix2 playsound Slix_7
	$speaker_Slix3 playsound Slix_7
	$speaker_Slix4 playsound Slix_7
	wait 25
	level.musicplaying = 0
	$DiscoTrigger triggerable
end


//////////////////////////////////////////////////

//////////////////////////////////////////////////
//DAMAGE SCRIPTS//////////////////////////////////
//////////////////////////////////////////////////
//Acid Pool in MasterBlaster's Room///////////////
//////////////////////////////////////////////////
Acidthread:
$Acid volumedamage 2
end
//////////////////////////////////////////////////
//Acid Pool in Kenny's Room///////////////////////
//////////////////////////////////////////////////
ShottyAcidthread:
$Acid2 volumedamage 2
end
//////////////////////////////////////////////////
//Fire in Duraflame's Room////////////////////////
//////////////////////////////////////////////////
FireAthread:
$FireA volumedamage 2
end
//////////////////////////////////////////////////
//Spikes in Hitokiri's Room////////////////////////
//////////////////////////////////////////////////
spikethread:
$Spike volumedamage 5
end
//////////////////////////////////////////////////

//Alarm Sound Tester//////////////////////////////
thread.AlarmTestOn:
$AlarmTestOn nottriggerable
	iprintlnbold "TESTING SECURITY SYSTEM!"
		level.pianoplaying = 1
		level.musicplaying = 1
//Kill sound in Nightgirl's room while alarm is playing//
		$speaker_Nightgirl stopsound 4
			$speaker_Nightgirl stoploopsound
					$NightgirlOrgan nottriggerable
//Kill sound in Omega's room while alarm is playing//
		$speaker_Omega stopsound 4
			$speaker_Omega stoploopsound
					$OmegaRadio nottriggerable
		$speaker_Maddog stopsound 4
			$MaddogPiano nottriggerable
//Kill sound in Disco while alarm is playing//
		$speaker_Slix1 stopsound 4
		$speaker_Slix2 stopsound 4
		$speaker_Slix3 stopsound 4
		$speaker_Slix4 stopsound 4
			$DiscoTrigger nottriggerable
	$speaker_Alarm loopsound Alarm

end

//Alarm Tester Resume Normal//////////////////////

thread.AlarmTestOff:
	iprintlnbold "SECURITY SYSTEM TEST COMPLETE!"

			$speaker_Alarm stoploopsound
//
		level.pianoplaying = 0
		level.musicplaying = 0
		$AlarmTestOn triggerable
		$OmegaRadio triggerable
		$MaddogPiano triggerable
		$DiscoTrigger triggerable
		$NightgirlOrgan triggerable
		$speaker_Nightgirl loopsound Laugh
		$speaker_Omega loopsound Omega1
end
That last script is a temporary addon to allow me to check to see if the alarm kills the music when it sounds. But the actual alarm only runs once, it doesn't loop.


My finger is on the delete button. Help! LOL
Diego
Post Reply