spearhead sound issues

Started by twl_viper, March 20, 2008, 04:42:38 PM

Previous topic - Next topic

twl_viper

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

Salombo

Could be a typo in your uberdialogue. [ .wav1 ]
_______________________
Start Search Here B)

twl_viper

As far as I know - I do not use a modded uberdialog. :dontgetit:dontgetit

cubus

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

twl_viper

yes - I have several. They are all custom "newname" ubersound files. Maybe better to consolidate them on one uber file?

twl_viper

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.

JADE

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 ! .
im back for a while but not to stay so if you need anything fixed just ask away.

twl_viper

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.

Salombo

I always thought/read that local.master didn't work on SH.

   Interesting ...
_______________________
Start Search Here B)

twl_viper

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
   

Cobra {sfx}

Use after level waittill spawn or force a map restart for SH + BT
Sleep? What is that?

JADE

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 ! .
im back for a while but not to stay so if you need anything fixed just ask away.

twl_viper

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.

JADE

ic ;) some good info for me too .
im back for a while but not to stay so if you need anything fixed just ask away.