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
My finger is on the delete button. Help! LOL