My SH server is crashing - I yhink I have to many sounds but im not sure...
clientCommand: <TWL>|SC|ViPER{SFX} : 6 : dmmessage 0 hey
Cvar_Set2: cheats 0
clientCommand: D2 : 8 : score
Cvar_Set2: cheats 0
SV packet 209.112.209.18:7130 : getstatus
Cvar_Set2: g_obj_alliedtext3 Allies: 1
Cvar_Set2: g_obj_axistext3 is ALLIES
SV packet 68.142.232.33:27243 : getstatus
^~^~^ Add the following line to the *_precache.scr map script:
cache models/items/dm_50_healthbox.tik
Cvar_Set2: g_allowvote 0
SV packet 209.112.209.18:7130 : getstatus
clientCommand: D2 : 9 : reload
Cvar_Set2: cheats 0
SV packet 85.182.25.50:-2401 : getstatus
SV packet 85.182.25.50:-2401 : getstatus
SV packet 85.182.25.50:-2401 : getstatus
SV packet 209.112.209.18:7130 : getstatus
SV packet 209.112.209.18:7130 : getstatus
clientCommand: D2 : 10 : score
Cvar_Set2: cheats 0
Cvar_Set2: g_obj_alliedtext3 Allies: 2
Cvar_Set2: g_obj_axistext3 is ALLIES
ASSERT: [qcommon/common.c:413] SV_FindIndex: overflow max512 create1 name sound/dialogue/Generic/A/damage/dpl_damage_05i.wav1 (fyi)
Cvar_Set2: com_errorMessage SV_FindIndex: overflow max512 create1 name sound/dialogue/Generic/A/damage/dpl_damage_05i.wav1
********************
ERROR: SV_FindIndex: overflow max512 create1 name sound/dialogue/Generic/A/damage/dpl_damage_05i.wav1
********************
----- Server Shutdown -----
==== ShutdownGame ====
what does this mean?
"create1 name"
Cvar_Set2: com_errorMessage SV_FindIndex: overflow max512 create1 name
Could be a typo in your uberdialogue. [ .wav1 ]
As far as I know - I do not use a modded uberdialog. :dontgetit:dontgetit
dont know, if i'am right, but as far as i remember...i get a simulare error, when i start a map local out of a pk3, where i place a fixed- or added costum-ubersound....... also i have some other pk3's with modded and-or added ubersounds in mainta-folder or even in a modded ubersound in ubersound-folder in mainta....
i think spearhead dont like too much sound-editing......
stupid idea, but check, if you got some costum-pk3 with edited ...sound.scr
yes - I have several. They are all custom "newname" ubersound files. Maybe better to consolidate them on one uber file?
I think I have a fix..
I am going to get rid of all my custom ubersounds and exec this file from only the maps that need sounds prefetched.
this will loop the sounds every minute.
global/soundfix.scr
main:
level waittill spawn
wait 1
while(1)
{
local.map = (getcvar(mapname))
switch(local.map)
{
case "dm/mohdm1":
{
;break
}
case "dm/mohdm2":
{
;break
}
case "dm/mohdm3":
{
;break
}
case "dm/mohdm7":
{
local.master = spawn ScriptMaster
local.master aliascache m6l3c_alarm sound/mechanics/Mec_Alarm_05.wav soundparms 1.0 0.0 1.0 0.0 160 1200 auto loaded maps "m dm moh obj train"
;break
}
case "dm/train_to_hell":
{
local.master = spawn ScriptMaster
local.master aliascache train_eng sound/train/train1.wav soundparms 1 0.0 0.8 0.0 1500 6000 auto loaded maps "m dm moh obj "
local.master aliascache eng_loud sound/train/train1.wav soundparms 2.0 0.0 0.8 0.0 2500 6500 auto loaded maps "m dm moh obj "
local.master aliascache train_track2 sound/train/railclack2.wav soundparms 1.2 0.0 1.0 0.0 180 2200 auto loaded maps "m dm moh obj "
local.master aliascache track_loud sound/train/railclack2.wav soundparms 2.4 0.0 0.8 0.0 320 2500 auto loaded maps "m dm moh obj "
local.master aliascache train_bell sound/train/bells.wav soundparms 1.0 0.0 1.0 0.0 1024 6000 auto loaded maps "m dm moh obj "
local.master aliascache train_whistle sound/train/NorthernPacific.wav soundparms 1.0 0.0 1.0 0.0 1024 6000 auto loaded maps "m dm moh obj "
local.master aliascache railcar_open_snd sound/mechanics/m6l3a_SlidingDoors_Open.wav soundparms 1.0 0.0 1.0 0.0 160 1600 item loaded maps "m dm moh obj "
local.master aliascache railcar_close_snd sound/mechanics/m6l3a_SlidingDoors_Close.wav soundparms 1.0 0.0 1.0 0.0 160 1600 item loaded maps "m dm moh obj "
local.master aliascache train_creak1 sound/characters/fs_metalcreak_01.wav soundparms .8 0.4 0.7 0.6 160 800 auto loaded maps "m dm moh obj "
local.master aliascache train_creak2 sound/characters/fs_metalcreak_02.wav soundparms .8 0.4 0.7 0.6 160 800 auto loaded maps "m dm moh obj "
local.master aliascache train_creak3 sound/characters/fs_metalcreak_03.wav soundparms .8 0.4 0.7 0.6 160 800 auto loaded maps "m dm moh obj "
local.master aliascache train_creak4 sound/characters/fs_metalcreak_05.wav soundparms .8 0.4 0.7 0.6 160 800 auto loaded maps "m dm moh obj "
local.master aliascache train_creak5 sound/characters/fs_metalcreak_06.wav soundparms .8 0.4 0.7 0.6 160 800 auto loaded maps "m dm moh obj "
local.master aliascache crossing_bell sound/train/xing3.wav soundparms 1.0 0.0 1.0 0.0 1024 6000 auto loaded maps "m dm moh obj "
local.master aliascache smell_funny sound/dialogue/M6L3/A/dfr_M6L3_612h.wav soundparms 1.2 0.0 1.0 0.0 160 2200 auto loaded maps "m dm moh obj "
local.master aliascache car_move sound/vehicle/veh_truck_move.wav soundparms 1.5 0.0 1.0 0.0 800 4000 auto loaded maps "m dm moh obj "
local.master aliascache steamloop sound/mechanics/Mec_SteamLoop_01.wav soundparms 1.0 0.3 1.0 0.0 320 2200 item loaded maps "m dm moh obj "
;break
}
}
wait 60
}
end
the upside is I hope to get away from those SH sound overflow crashes - the down side is a new player joining the server has a short period that sounds may not be fetched.
I am working on converting all my servers custom maps uberfiles to this method - any suggestions?
I also didn't realize that the local.master spawn scriptmaster thingy would work alone in the script. If the sound is seldom used I think this method is best scripted just prior to triggering the sound.
local.master = spawn ScriptMaster
local.master aliascache m6l3c_alarm sound/mechanics/Mec_Alarm_05.wav soundparms 1.0 0.0 1.0 0.0 160 1200 auto loaded maps "m dm moh obj train"
*****edit
even better, to execute when player joins would require no loop I think.
would naming the sounds not work and then set the maps names
local.master = spawn ScriptMaster
local.master aliascache m6l3c_alarm sound/mechanics/Mec_Alarm_05.wav soundparms 1.0 0.0 1.0 0.0 160 1200 auto loaded maps "obj_team2 MP_Flughafen_TOW The_Lost_Village"
in spearhead place the sounds after level waittill spawn so
level waittill spawn
local.master = spawn ScriptMaster
local.master aliascache m6l3c_alarm sound/mechanics/Mec_Alarm_05.wav soundparms 1.0 0.0 1.0 0.0 160 1200 auto loaded maps "obj_team2 MP_Flughafen_TOW The_Lost_Village
or in the same place under level waittill spawn like i do with my custom sounds i need is to
exec maps/obj/mysounds.scr::obj_map_name1 ,,, and in mysounds.scr
or
exec maps/dm/mysounds.scr::dm_map_name1
obj_map_name1:
local.master = spawn ScriptMaster
local.master aliascache m6l3c_alarm sound/mechanics/Mec_Alarm_05.wav soundparms 1.0 0.0 1.0 0.0 160 1200 auto loaded maps "obj_team2 MP_Flughafen_TOW The_Lost_Village"
end
dm_map_name1:
local.master = spawn ScriptMaster
local.master aliascache m6l3c_alarm sound/mechanics/Mec_Alarm_05.wav soundparms 1.0 0.0 1.0 0.0 160 1200 auto loaded maps "mohdm2 mohdm5 "
end
maybe better than looping the loop .
if any players joined after sounds have been cashed they should still hear them on SH anyway ! .
The loop was originaly intended for players joining mid map - i think it will not be needed if I exec from (i use) sorrids player states/join
I will need to test it.
I always thought/read that local.master didn't work on SH.
Interesting ...
Salombo :
I always thought/read that local.master didn't work on SH.
Interesting ...
Well, I just got done testing this serverside with the ubersound removed and it works fine. I am not sure if this is a fix for the overflow error but I will know in a week or so when I get all the sounds converted...
scratch the above global attempt - I will be fetching sounds this way in each map script.
edit*** Also - i think the scriptmater thingy needs to be read after spawn to work in spearhead.
Train to hell
// Train to Hell
// ARCHITECTURE: AT0MIC
// SCRIPTING: AT0MIC & TLTRUDE
main:
// set scoreboard messages
setcvar "g_obj_alliedtext1" "The War Legends"
setcvar "g_obj_alliedtext2" "presents"
setcvar "g_obj_alliedtext3" "Train to Hell"
setcvar "g_obj_axistext1" "by At0miC & Tltrude"
setcvar "g_obj_axistext2" " "
setcvar "g_obj_axistext3" " "
setcvar "g_scoreboardpic" "train_to_hell"
$track_ends time .001
$track_ends moveto $wayA
$track_ends move // moved for lighting
$world farplane 9000 // was 18200
$world farplane_color ".433 .445 .433" // was .6 .6 .65
$world farplane_cull 0
// call additional stuff for playing this map round based is needed
if(level.roundbased)
exec global/roundbased.scr //thread roundbasedthread
exec global/master.scr
exec global/custom_master.scr
level waittill prespawn
//***Precache Dm Stuff
exec global/DMprecache.scr
exec global/exploder.scr
exec global/door_locked.scr::lock
level.script = maps/dm/train_to_hell.scr
exec global/ambient.scr m6l3a // for background sound
$dor1_win bind $dor1 // breakable windows
$dor2_win bind $dor2
$dor3_win bind $dor3
$dor4_win bind $dor4
$knob1 bind $dor1 // non-solid knobs
$knob2 bind $dor2
$knob3 bind $dor3
$knob4 bind $dor4
$tree hide
$tree2 hide
$tree3 hide
$sign hide
$station_speaker bind $station
$station hide
$tunnel_hit_trigger bind $tunnel
$tunnel_hit_trigger2 bind $tunnel
$bridge_hit_trigger1 bind $bridge
$bridge_hit_trigger2 bind $bridge
$bridge_hit_trigger3 bind $bridge
$bridge_hit_trigger4 bind $bridge
$tunnel hide
$crossing hide
$water_tower hide
$bridge hide
$new_tunnel hide
$new_tunnel bind $tunnel
$riverwalls bind $bridge
$riverwater bind $bridge
$riverwalls hide
$riverwater hide
$tunnel_shadow bind $tunnel
local.car2 = spawn script_model model "vehicles/european_delivery_truck_green.tik" targetname "car_2"
local.car2.origin = $car_1.origin
local.car2.scale = 2.0
local.car3 = spawn script_model model "vehicles/european_delivery_truck_red3.tik" targetname "car_3"
local.car3.origin = ($car_1.origin + (0 800 0))
local.car3.scale = 2.0
$car_1 remove
$car_2 hide
$car_3 hide
level.stationinview = 0
level.tunnelinview = 0
level.crossinview = 0
level.towerinview = 0
level.bridgeinview = 0
level.pause_time = 1
spawn info_waypoint targetname "polewayB2"
$polewayB2.origin = ($polewayB.origin + ( -3800 0 0 ))
spawn info_waypoint targetname "polewayA2"
$polewayA2.origin = ($polewayA.origin + ( 3560 0 0 ))
level waittill spawn
thread stack_smoke
thread pole_prep
thread start_sounds
thread steam_start
thread toot_whistle
thread tunnelloop
thread stationloop
thread bridgeloop
thread treeloop
thread treeloop2
thread treeloop3
thread death_thread
thread tunnel_death
thread tunnel_death2
thread bridge_death1
thread bridge_death2
thread bridge_death3
thread bridge_death4
thread signloop
thread crossingloop
thread towerloop
thread car2loop
thread car3loop
thread train_shake
thread servertext
thread tunnel_fade
// exec global/soundfix.scr
end
//------------------------------>
// sound Threads
//------------------------------>
start_sounds:
wait 1 //(level.pause_time)
local.master = spawn ScriptMaster
local.master aliascache train_track2 sound/train/railclack2.wav soundparms 1.2 0.0 1.0 0.0 180 2200 auto loaded maps "m dm moh obj "
local.master aliascache train_eng sound/train/train1.wav soundparms 1 0.0 0.8 0.0 1500 6000 auto loaded maps "m dm moh obj "
local.master aliascache track_loud sound/train/railclack2.wav soundparms 2.4 0.0 0.8 0.0 320 2500 auto loaded maps "m dm moh obj "
local.master aliascache eng_loud sound/train/train1.wav soundparms 2.0 0.0 0.8 0.0 2500 6500 auto loaded maps "m dm moh obj "
$track_speaker1 loopsound train_track2
$track_speaker2 loopsound train_track2
$track_speaker3 loopsound train_track2
$track_speaker4 loopsound train_track2
$track_speaker5 loopsound train_track2
$track_speaker6 loopsound train_track2
$track_speaker7 loopsound train_track2
$track_speaker8 loopsound train_track2
$engine_speaker loopsound train_eng
while (level.tunnelinview !=1)
waitframe
waitthread stop_loop_snd
$track_speaker1 loopsound track_loud
$track_speaker2 loopsound track_loud
$track_speaker3 loopsound track_loud
$track_speaker4 loopsound track_loud
$track_speaker5 loopsound track_loud
$track_speaker6 loopsound track_loud
$track_speaker7 loopsound track_loud
$track_speaker8 loopsound track_loud
$engine_speaker loopsound eng_loud
wait 6
waitthread stop_loop_snd
goto start_sounds
end
stop_loop_snd:
level.pause_time = 0
$track_speaker1 stoploopsound
$track_speaker2 stoploopsound
$track_speaker3 stoploopsound
$track_speaker4 stoploopsound
$track_speaker5 stoploopsound
$track_speaker6 stoploopsound
$track_speaker7 stoploopsound
$track_speaker8 stoploopsound
$engine_speaker stoploopsound
exec global/earthquake.scr .8 .1 2 1 // extra shake for tunnel
end
toot_whistle:
$toot_trigger waittill trigger
local.master = spawn ScriptMaster
local.master aliascache train_whistle sound/train/NorthernPacific.wav soundparms 1.0 0.0 1.0 0.0 1024 6000 auto loaded maps "m dm moh obj "
waitframe
$toot_trigger playsound train_whistle
$toot_rope movedown 8
$toot_rope move
wait 1
$toot_rope moveup 8
$toot_rope waitmove
thread toot_whistle
end
//------------------------------>
// tree Threads
//------------------------------>
treeloop:
wait 1
if (level.crossinview == 1) // if crossing is in view, wait 2
wait 2
$tree time .001
$tree moveto $wayA
$tree waitmove
$tree show
$tree time 9.8333
$tree moveto $wayB
$tree waitmove
$tree hide
$tree time .001
$tree moveto $wayC
$tree waitmove
$tree time .001
$tree moveto $wayD
$tree waitmove
goto treeloop
end
treeloop2:
wait 3
if (level.crossinview == 1) // if crossing is in view, wait 2
wait 2
$tree2 time .001
$tree2 moveto $wayA
$tree2 waitmove
$tree2 show
$tree2 time 9.8333
$tree2 moveto $wayB
$tree2 waitmove
$tree2 hide
$tree2 time .001
$tree2 moveto $wayC
$tree2 waitmove
$tree2 time .001
$tree2 moveto $wayD
$tree2 waitmove
goto treeloop2
end
treeloop3:
wait 2
if (level.crossinview == 1) // if crossing is in view, wait 2
wait 2
$tree3 time .001
$tree3 moveto $wayA
$tree3 waitmove
$tree3 show
$tree3 time 9.8333
$tree3 moveto $wayB
$tree3 waitmove
$tree3 hide
$tree3 time .001
$tree3 moveto $wayC
$tree3 waitmove
$tree3 time .001
$tree3 moveto $wayD
$tree3 waitmove
goto treeloop3
end
//------------------------------>
// Pole Thread
//------------------------------>
pole_prep:
local.poles = $pole1::$pole2::$pole3::$pole4::$pole5
local.poles[1].origin = $polewayA2.origin
local.dist = 0.0
//poles movement loop
while(1)
{
for(local.i = 1; local.i <= local.poles.size; local.i++)
{
local.pole = local.poles[local.i]
local.dist_on_track = local.dist + 3680 * (local.i - 1)
if( local.dist_on_track > 18400 )
{
local.dist_on_track = ( local.dist_on_track - 18400 )
}
local.pole.origin = $polewayA2.origin + (local.dist_on_track * ( -1 0 0 ))
}
waitframe
local.dist = ( local.dist + 76.8 )
if( local.dist > 18400 )
local.dist = ( local.dist - 18400 )
}
end
//------------------------------>
// Station Thread
//------------------------------>
stationloop:
wait 300 // (5 minutes)
while (level.tunnelinview == 1) // while tunnel is in view, wait
waitframe
while (level.towerinview == 1) // while tunnel is in view, wait
waitframe
local.master = spawn ScriptMaster
local.master aliascache train_whistle sound/train/NorthernPacific.wav soundparms 1.0 0.0 1.0 0.0 1024 6000 auto loaded maps "m dm moh obj "
$engine_speaker playsound train_whistle
$station time .001
$station moveto $polewayA
$station waitmove
local.master = spawn ScriptMaster
local.master aliascache train_bell sound/train/bells.wav soundparms 1.0 0.0 1.0 0.0 1024 6000 auto loaded maps "m dm moh obj "
$station show
level.stationinview = 1
$station_speaker loopsound train_bell
$station time 7.18
$station moveto $polewayB
$station waitmove
$station hide
level.stationinview = 0
$station_speaker stoploopsound
$station time .001
$station moveto $polewayC
$station waitmove
$station time .001
$station moveto $polewayD
$station waitmove
goto stationloop
end
//------------------------------>
// Tunnel Threads
//------------------------------>
tunnelloop:
wait 150 // 2.5 minutes
while (level.stationinview == 1) // while station is in view, wait
waitframe
while (level.towerinview == 1) // while tower is in view, wait
waitframe
exec global/message_print.scr " Tunnel!" NIL 6.9
$tunnel time .001
$tunnel moveto $wayA
$tunnel waitmove
local.master = spawn ScriptMaster
local.master aliascache train_whistle sound/train/NorthernPacific.wav soundparms 1.0 0.0 1.0 0.0 1024 6000 auto loaded maps "m dm moh obj "
$tunnel show
$new_tunnel show
$engine_speaker playsound train_whistle
level.tunnelinview = 1
$tunnel time 9.8333
$tunnel moveto $wayB
$tunnel waitmove
$tunnel hide
$new_tunnel hide
level.tunnelinview = 0
$tunnel time .001
$tunnel moveto $wayC
$tunnel waitmove
$tunnel time .001
$tunnel moveto $wayD
$tunnel waitmove
goto tunnelloop
end
tunnel_fade:
$tunnel_shadow waittill trigger
fadeout 2 0 0 0 1
wait 2
fadein 2 0 0 0 1
goto tunnel_fade
end
//------------------------------>
// Bridge Thread
//------------------------------>
bridgeloop:
wait 270 // 4.5 minutes
while (level.stationinview == 1) // while station is in view, wait
waitframe
while (level.towerinview == 1) // while tower is in view, wait
waitframe
while (level.tunnelinview == 1) // while tunnel is in view, wait
waitframe
exec global/message_print.scr " Low bridge!" NIL 2
//setcvar cg_3rd_person 1
$bridge time .001
$bridge moveto $polewayA
$bridge waitmove
local.master = spawn ScriptMaster
local.master aliascache train_whistle sound/train/NorthernPacific.wav soundparms 1.0 0.0 1.0 0.0 1024 6000 auto loaded maps "m dm moh obj "
$bridge show
$riverwalls show
$riverwater show
$engine_speaker playsound train_whistle
$bridge loopsound river
level.bridgeinview = 1
$bridge time 7.18
$bridge moveto $polewayB
$bridge waitmove
//setcvar cg_3rd_person 0
$bridge hide
$riverwalls hide
$riverwater hide
$bridge stoploopsound
level.bridgeinview = 0
$bridge time .001
$bridge moveto $polewayC
$bridge waitmove
$bridge time .001
$bridge moveto $polewayD
$bridge waitmove
goto bridgeloop
end
//------------------------------>
// Sign Thread
//------------------------------>
signloop:
wait 90 // (1.5 minutes)
$sign time .001
$sign moveto $wayA
$sign waitmove
local.master = spawn ScriptMaster
local.master aliascache wind_trees3 sound/amb/Amb_WindTrees3.wav soundparms 0.3 0.0 0.9 0.2 200 10000 auto loaded maps "m dm moh obj "
$sign show
$sign loopsound wind_trees3 4
$sign time 9.8333
$sign moveto $wayB
$sign waitmove
$sign hide
$sign stoploopsound
$sign time .001
$sign moveto $wayC
$sign waitmove
$sign time .001
$sign moveto $wayD
$sign waitmove
goto signloop
end
//------------------------------>
// Crossing Thread
//------------------------------>
crossingloop:
wait 200 // 3 minutes 20 seconds
local.master = spawn ScriptMaster
local.master aliascache train_whistle sound/train/NorthernPacific.wav soundparms 1.0 0.0 1.0 0.0 1024 6000 auto loaded maps "m dm moh obj "
$engine_speaker playsound train_whistle
$crossing time .001
$crossing moveto $wayA
$crossing waitmove
local.master = spawn ScriptMaster
local.master aliascache crossing_bell sound/train/xing3.wav soundparms 1.0 0.0 1.0 0.0 1024 6000 auto loaded maps "m dm moh obj "
$crossing show
level.crossinview = 1
$crossing loopsound crossing_bell
$crossing time 9.8333
$crossing moveto $wayB
$crossing waitmove
$crossing hide
level.crossinview = 0
$crossing stoploopsound
$crossing time .001
$crossing moveto $wayC
$crossing waitmove
$crossing time .001
$crossing moveto $wayD
$crossing waitmove
goto crossingloop
end
//------------------------------>
// Water Tower Thread
//------------------------------>
towerloop:
wait 120 // 2 minutes
while (level.tunnelinview == 1) // while tunnel is in view, wait
waitframe
while (level.stationinview == 1) // while station is in view, wait
waitframe
while (level.bridgeinview == 1) // while bridge is in view, wait
waitframe
$water_tower time .001
$water_tower moveto $polewayA
$water_tower waitmove
local.master = spawn ScriptMaster
local.master aliascache wind_trees3 sound/amb/Amb_WindTrees3.wav soundparms 0.3 0.0 0.9 0.2 200 10000 auto loaded maps "m dm moh obj "
$water_tower show
level.towerinview = 1
$water_tower loopsound wind_trees3 //4
$water_tower time 7.18
$water_tower moveto $polewayB
$water_tower waitmove
$water_tower hide
level.towerinview = 0
$water_tower stoploopsound
$water_tower time .001
$water_tower moveto $polewayC
$water_tower waitmove
$water_tower time .001
$water_tower moveto $polewayD
$water_tower waitmove
goto towerloop
end
//------------------------------>
// Vehicle Threads
//------------------------------>
car2loop:
wait (randomfloat 30 + 60)
$car_2 time .001
$car_2 moveto ($polewayA.origin + ( 0 295 -248 ))
$car_2 waitmove
local.master = spawn ScriptMaster
local.master aliascache car_move sound/vehicle/veh_truck_move.wav soundparms 1.5 0.0 1.0 0.0 800 4000 auto loaded maps "m dm moh obj "
$car_2 show
$car_2 loopsound car_move
$car_2 time 18
$car_2 moveto ($polewayB.origin + ( 0 295 -248 ))
$car_2 waitmove
$car_2 hide
$car_2 stoploopsound
$car_2 time .001
$car_2 moveto $polewayC
$car_2 waitmove
$car_2 time .001
$car_2 moveto $polewayD
$car_2 waitmove
goto car2loop
end
car3loop:
wait (randomfloat 40 + 80)
$car_3 time .001
$car_3 moveto ($polewayA.origin + ( 0 485 -240 ))
$car_3 waitmove
local.master = spawn ScriptMaster
local.master aliascache car_move sound/vehicle/veh_truck_move.wav soundparms 1.5 0.0 1.0 0.0 800 4000 auto loaded maps "m dm moh obj "
$car_3 show
$car_3 loopsound car_move
$car_3 time 20
$car_3 moveto ($polewayB.origin + ( 0 485 -240 ))
$car_3 waitmove
$car_3 hide
$car_3 stoploopsound
$car_3 time .001
$car_3 moveto $polewayC
$car_3 waitmove
$car_3 time .001
$car_3 moveto $polewayD
$car_3 waitmove
goto car3loop
end
//------------------------------>
// Death Threads
//------------------------------>
death_thread:
$deathfall_trigger waittill trigger
local.player = parm.other
radiusdamage local.player 500 16
goto death_thread
end
tunnel_death:
$tunnel_hit_trigger waittill trigger
local.sucker = parm.other
if (local.sucker istouching $tunnel_hit_trigger)
{
local.master = spawn ScriptMaster
local.master aliascache snd_bodyfall_stone5 sound/characters/body_falldirt_05.wav soundparms 0.6 0.1 0.9 0.2 120 1700 body loaded maps "m dm moh obj "
local.sucker playsound snd_bodyfall_stone5
local.sucker damage local.sucker 1000 local.sucker (0 0 0) ( -300 0 128 ) (0 0 0) 300 0 rocket chest
spawn script_model model
}
end
tunnel_death2:
$tunnel_hit_trigger2 waittill trigger
local.sucker = parm.other
if (local.sucker istouching $tunnel_hit_trigger2)
{
local.master = spawn ScriptMaster
local.master aliascache snd_bodyfall_stone5 sound/characters/body_falldirt_05.wav soundparms 0.6 0.1 0.9 0.2 120 1700 body loaded maps "m dm moh obj "
local.sucker playsound snd_bodyfall_stone5
local.sucker damage local.sucker 1000 local.sucker (0 0 0) ( -300 0 128 ) (0 0 0) 300 0 rocket chest
spawn script_model model
}
end
bridge_death1:
$bridge_hit_trigger1 waittill trigger
local.player = parm.other
local.player damage local.player 1000 local.player (0 0 0) (0 0 128) (0 0 0) 300 0 rocket chest
local.master = spawn ScriptMaster
local.master aliascache snd_bodyfall_metal3 sound/characters/body_fallmetal_03.wav soundparms 0.6 0.1 0.9 0.2 120 1700 body loaded maps "m dm moh obj "
$bridge playsound snd_bodyfall_metal3
thread bridge_death1
end
bridge_death2:
$bridge_hit_trigger2 waittill trigger
local.player = parm.other
local.player damage local.player 1000 local.player (0 0 0) (0 0 128) (0 0 0) 300 0 rocket chest
local.master = spawn ScriptMaster
local.master aliascache snd_bodyfall_metal3 sound/characters/body_fallmetal_03.wav soundparms 0.6 0.1 0.9 0.2 120 1700 body loaded maps "m dm moh obj "
$bridge playsound snd_bodyfall_metal3
thread bridge_death2
end
bridge_death3:
$bridge_hit_trigger3 waittill trigger
local.player = parm.other
local.player damage local.player 1000 local.player (0 0 0) (0 0 128) (0 0 0) 300 0 rocket chest
local.master = spawn ScriptMaster
local.master aliascache snd_bodyfall_metal3 sound/characters/body_fallmetal_03.wav soundparms 0.6 0.1 0.9 0.2 120 1700 body loaded maps "m dm moh obj "
$bridge playsound snd_bodyfall_metal3
thread bridge_death3
end
bridge_death4:
$bridge_hit_trigger4 waittill trigger
local.player = parm.other
local.player damage local.player 1000 local.player (0 0 0) (0 0 128) (0 0 0) 300 0 rocket chest
local.master = spawn ScriptMaster
local.master aliascache snd_bodyfall_metal3 sound/characters/body_fallmetal_03.wav soundparms 0.6 0.1 0.9 0.2 120 1700 body loaded maps "m dm moh obj "
$bridge playsound snd_bodyfall_metal3
thread bridge_death4
end
//------------------------------>
// misc Threads
//------------------------------>
servertext:
wait 2 // 1 our
iprintlnbold_noloc "<TWL>VIPER: Welcome to the Train To Hell"
local.master = spawn ScriptMaster
local.master aliascache smell_funny sound/dialogue/M6L3/A/dfr_M6L3_612h.wav soundparms 1.2 0.0 1.0 0.0 160 2200 auto loaded maps "m dm moh obj "
$track_speaker8 playsound smell_funny
$track_speaker1 playsound smell_funny
end
stack_smoke:
local.smoke = spawn script_model model "fx/smokegood.tik"
local.smoke.origin = $train_smoke_origin.origin + ( 0 0 16 )
local.smoke.angle = 180
local.smoke scale 1.5
local.smoke anim start
end
steam_start:
$steam_left anim start
$steam_right anim start
$steam_top anim start
end
train_shake:
wait 12
local.master = spawn ScriptMaster
local.master aliascache train_creak sound/characters/fs_metalcreak_01.wav soundparms .8 0.4 0.7 0.6 160 800 auto loaded maps "m dm moh obj "
local.master aliascache train_creak1 sound/characters/fs_metalcreak_01.wav soundparms .8 0.4 0.7 0.6 160 800 auto loaded maps "m dm moh obj "
local.master aliascache train_creak2 sound/characters/fs_metalcreak_02.wav soundparms .8 0.4 0.7 0.6 160 800 auto loaded maps "m dm moh obj "
local.master aliascache train_creak3 sound/characters/fs_metalcreak_03.wav soundparms .8 0.4 0.7 0.6 160 800 auto loaded maps "m dm moh obj "
local.master aliascache train_creak4 sound/characters/fs_metalcreak_05.wav soundparms .8 0.4 0.7 0.6 160 800 auto loaded maps "m dm moh obj "
local.master aliascache train_creak5 sound/characters/fs_metalcreak_06.wav soundparms .8 0.4 0.7 0.6 160 800 auto loaded maps "m dm moh obj "
$track_speaker1 playsound train_creak
$track_speaker2 playsound train_creak
$track_speaker3 playsound train_creak
$track_speaker4 playsound train_creak
$track_speaker5 playsound train_creak
$track_speaker6 playsound train_creak
$track_speaker7 playsound train_creak
$track_speaker8 playsound train_creak
exec global/earthquake.scr .9 .1 2 1
goto train_shake
end
kaboom_crates:
exec global/exploder.scr::explode 1
end
kaboom_crates2:
exec global/exploder.scr::explode 2
end
// 2004 - July/October
Use after level waittill spawn or force a map restart for SH + BT
would cashing the same sounds over and over not make more problems later ? .
you have some sounds being cashed while in a looping thread .
you also have the same sounds in other threads too ! .
i dont know how AA cashes sounds ? but for SH just cashing them in under level waittill spawn will make them all work even without the need of a restart ! and they will work for the hole round ! even if some players join after level waittill spawn ! .
Cobs - as I understand it, the scriptmaster thingy works as you say after spawn in sh (& bt). But only for sounds that are triggered after they are fetched. If the sound was triggered as a loopsound in the bsp or before spawn - nothing.
Jade, Cache is more like a reminder, i tested this by looping all the sounds every second and got no errors through the map. the problem with ubersound overflow is the total number of sounds used in spearhead is global and all uber sounds for the whole game are loaded to the player in every map. the total number of uber sounds is limited and when exceeded, the server crashes.
I suppose you could cache too many sounds in a map but it would have to be alot of them.
I think the lesson here for me (for mapping) is to go ahead and use sounds and custom sounds in maps for sh (something I try to stay away from because of the ubersound issues) - but only as scripted, triggered and cached sounds - not ubersounds.
ic

some good info for me too .