well - if this is a free q3 engine.... that sounds really good. Unfortanately i use a mac..... so unless someone with the source code- assuming if its a free engine with open source available- hm.... Me and colonel sanders should try to port it. My dad has really good knowledge of C++,Visual Basic,Python etc.... time to get the code warrior cds And is this the Scorpio Midget engine we are talking about?
I have posted a topic in Off Topic forum about some of what we will be doing. The topic is "It's Mayhem!".
While on the topic of busy servers i would like to say that i have modded my dedicated server and its packed most of the time. Its a Spearhead server and i have modded all the maps as much as possible the server name is **********Modded Maps No Rockets No Shotguns********** The ip address if anyone is interested is 217.161.41.26.
As far as this rain script, dont listen to whatever these other guys are saying, Please finish working with this script, especially for mohdm6 and the bridge...one big strip of rain down the street and a couple more for the lil extra roads. Dont sound to hard and doesnt have to be perfect. And like someone else said, Ive been seeing alot done that everyone says isnt possible more often, I just cant stand when people get upset about it. I mean, its people like you who will keep MOHAA alive. Also IMO, MOHAA isnt gonna die until everyone thinks its dying and another thing, 2 words: Modern Warfare!!! :beerbang:
ok here is what ive done MAIN LEVEL SCRIPT: ################################ // buzzbomb_raiders // ARCHITECTURE: Havoc // SCRIPTING: Havoc // Aditional Scripting: AlienWorkShop/Minister (Same Person) main: // set scoreboard messages setcvar "g_obj_alliedtext1" "EDITED BY" setcvar "g_obj_alliedtext2" "[NaBS]Lcpl.Minister" setcvar "g_obj_alliedtext3" "----------------" setcvar "g_obj_axistext1" "Version" setcvar "g_obj_axistext2" "" setcvar "g_obj_axistext3" "0.3" setcvar "g_scoreboardpic" "buzzbomb" level waitTill prespawn //*** Precache Dm Stuff exec global/DMprecache.scr level.script = maps/dm/buzzbomb_raiders.scr exec global/ambient.scr buzzbomb_raiders $world farplane_color "0.332 0.333 0.339" level.fogplane = 4000 $world farplane level.fogplane level waittill spawn //$world farclipoverride -1 //Error Causes mohaa to stop reading from script file //exec the rain exec maps/dm/rain.scr exec global/weather.scr //exec Player Information exec maps/dm/player.scr // Execute Teleporter Scripts exec maps/dm/T1.scr exec maps/dm/T2.scr exec maps/dm/T3.scr // Auto Messages exec maps/dm/automessages.scr //exec Mg42 script //exec maps/dm/objects.scr //exec maps/dm/sandbags.scr //exec giant/mini scripts exec maps/dm/giant.scr exec maps/dm/mini.scr //exec ammo script exec maps/dm/ammo.scr exec maps/dm/ammo2.scr end ############################## RAIN SCRIPT ############################## thread rain rain: spawn script_model "targetname" "weatherF" "classname" "func_rain" "origin" "( 1 1 1 )" "angle" "0" $weatherF setsize ( -6000 -6000 -1000) ( 6000 6000 6000) $weatherF notsolid $weatherF show $weatherF playsound sound/amb/rain_ext_01.wav //setcvar cg_rain_density 13 spawn script_model "targetname" "weatherR" "classname" "func_rain" "origin" "( 1 1 1 )" "angle" "0" $weatherR setsize ( -6000 -6000 -1000) ( 6000 6000 6000) $weatherR notsolid $weatherR show spawn script_model "targetname" "weatherW" "classname" "func_rain" "origin" "( 1 1 1 )" "angle" "0" $weatherW setsize ( -6000 -6000 -1000) ( 6000 6000 6000) $weatherW notsolid $weatherW show $weatherW playsound wind_weak spawn script_model "targetname" "weatherI" "classname" "func_rain" "origin" "( 1 1 1 )" "angle" "0" $weatherI setsize ( -6000 -6000 -1000) ( 6000 6000 6000) $weatherI notsolid $weatherI show $weatherI playsound rain_ext_01 end WEATHER FILE THAT I HAVE: NOT THE IN THE SAME FILE- this is global/weather.scr main: // local.weatherroof local.weatherwindow local.weatherin local.weatherout local.weatherflash local.weathertreewind // if (getcvar(superfps) == "1") // end level.rain_width = "0.4" level.rain_min_dist = 512 setcvar "cg_density" "10" level.startedrainsound1 = 1 level.startedrainsound2 = 1 level.farplane = $world.farplane level.farplane_color = $world.farplane_color $world farplane level.farplane $world farplane_color level.farplane_color //level.weatherFs = 100 if ($weatherF == NULL) level.weatherFs = 1 else level.weatherFs = $weatherF.size if (level.weatherFs > 0) level.weatherF = exec global/makearray.scr $weatherF if ($weatherR == NULL) level.weatherRs = 1 else level.weatherRs = $weatherR.size if (level.weatherRs > 0) { level.weatherR = exec global/makearray.scr $weatherR level.weatherR model "fx/dummy.tik" } if ($weatherI == NULL) level.weatherIs = 1 else level.weatherIs = $weatherI.size if (level.weatherIs > 0) level.weatherI = exec global/makearray.scr $weatherI if ($weatherW == NULL) level.weatherWs = 1 else level.weatherWs = $weatherW.size if (level.weatherWs > 0) { level.weatherW = exec global/makearray.scr $weatherW level.weatherW model "fx/dummy.tik" } if ($wind == NULL) level.winds = 1 else level.winds = $wind.size if (level.winds > 0) level.wind = exec global/makearray.scr $wind //level waittill spawn //end level.gametype = int( getcvar( g_gametype ) ) level.rain = 15.0 if( level.gametype == 0 ) { spawn script_model "targetname" "playersound" $playersound thread playersoundorg $playersound model "fx/dummy.tik" $playersound notsolid spawn script_model "targetname" "playersound2" $playersound2 thread playersoundorg $playersound2 model "fx/dummy.tik" $playersound2 notsolid spawn script_model "targetname" "playersound3" $playersound3 thread playersoundorg $playersound3 model "fx/dummy.tik" $playersound3 notsolid } thread unflash wait 1 setcvar "r_fastsky" "0.5" $world farplane level.farplane if (level.windtime == NIL) level.windtime = 15 if (level.shuttertime == NIL) level.shuttertime = 0.8 if (level.rainvolume == NIL) level.rainvolume = 50 if (level.raindensity == NIL) level.raindensity = 14 if (level.thundertime == NIL) level.thundertime = 20 thread thunder if (game.medic != NIL) thread medicchanger else thread weatherchanger thread treemovement for (local.i=1;local.i<level.interiors+1;local.i++) level.interior[local.i] thread rainin for (local.i=1;local.i<level.exteriors+1;local.i++) level.exterior[local.i] thread rainout level.raindest = 1.0 thread weatherpattern local.raintime = level.time rainvar: if (level.rain < level.raindest) { thread weatherloop level.rain = level.rain + 0.1 } else if (level.rain > level.raindest) { thread weatherloop level.rain = level.rain - 0.1 } else if (level.time > local.raintime) { thread weatherloop local.raintime = level.time + 2 } wait 0.1 goto rainvar end weatherpattern: if (level.weatherpattern == 0) { local.windtime = 15 local.shuttertime = 0.8 local.rainvolume = 14 local.raindensity = 20 local.thundertime = 20 } else if (level.weatherpattern == 1) { local.windtime = 15 local.shuttertime = 0.1 local.rainvolume = 14 local.raindensity = 0.8 local.thundertime = 8 } else if (level.weatherpattern == 2) { local.windtime = 30 local.shuttertime = 0.2 local.rainvolume = 15 local.raindensity = 15 local.thundertime = 6 } else if (level.weatherpattern == 3) { local.windtime = 4 local.shuttertime = 0.13 local.rainvolume = 17 local.raindensity = 24 local.thundertime = 4 } // local.trans = 0.15 local.trans = 0.07 level.windtime = (local.windtime * local.trans + (level.windtime * (1 - local.trans))) level.shuttertime = (local.shuttertime * local.trans + (level.shuttertime * (1 - local.trans))) level.raindensity = (local.raindensity * local.trans + (level.raindensity * (1 - local.trans))) level.rainvolume = (local.rainvolume * local.trans + (level.rainvolume * (1 - local.trans))) level.thundertime = (local.thundertime * local.trans + (level.thundertime * (1 - local.trans))) //println ("Current wind:" + level.windtime + " current shutter:" + level.shuttertime + " current raindensity:" + level.raindensity + " current rainvolume:" + level.rainvolume + " current thundertime:" + level.thundertime) if ((level.raindensity > 0.4) && (level.rainvolume < 0.1)) level.rainvolume = 0.1 wait 1 goto weatherpattern end weatherchanger: level.weatherpattern = 0 wait 4 w: level.weatherpattern = 1 wait 10 level.weatherpattern = 2 wait 15 level.weatherpattern = 3 wait 60 level.weatherpattern = 2 wait 15 level.weatherpattern = 1 wait 60 // level.weatherpattern = 0 // wait 60 goto w end // 77 medicchanger: level.weatherpattern = 0 wait 5 w2: level.weatherpattern = 1 wait 10 level.weatherpattern = 2 wait 15 level.weatherpattern = 3 wait 20 level.weatherpattern = 2 wait 5 level.weatherpattern = 0 wait 15 // level.weatherpattern = 0 // wait 60 goto w2 end thunder: wait (level.thundertime + randomint( (level.thundertime * 1.5) )) local.num = (randomint (3) + 1) if (local.num == 1) { thread flash wait 0.2 thread unflash wait 1 thread flash wait 0.1 thread unflash wait 0.1 thread flash wait 0.1 thread unflash wait (1 + (randomfloat(2))) } else if (local.num == 2) { thread flash wait 0.1 thread unflash wait 0.1 thread flash wait 0.1 thread unflash wait 1 thread flash wait 0.2 thread unflash wait (1 + (randomfloat(2))) } else if (local.num == 3) { thread flash wait 0.1 thread unflash wait 0.1 thread flash wait 0.2 thread unflash wait 0.5 thread flash wait 0.1 thread unflash wait (1 + (randomfloat(2))) } if (game.medic == NIL) $player playsound thunder goto thunder end flash: setcvar "r_fastsky" "1" $world farplane_color (0.9 0.9 0.9) for (local.i=1;local.i<level.weatherFs+1;local.i++) level.weatherF[local.i] show end unflash: setcvar "r_fastsky" "0" $world farplane_color level.farplane_color for (local.i=1;local.i<level.weatherFs+1;local.i++) level.weatherF[local.i] hide end weatherloop: weatherlooper: if (level.raindensity < 0) level.rain_density = 1 else if (level.raindensity < 1) level.rain_density = level.raindensity * 10 else if (level.raindensity < 10) level.rain_density = level.raindensity else level.rain_density = 1.003 level.rain_density = level.raindensity // WTF Mackey? if (level.raindensity < 5) local.raindensity = 50 else local.raindensity = (50 + ((level.raindensity - 5) * 8)) level.rain_slant = local.raindensity local.rainvolume = level.rainvolume - 0.3 local.rainvolume = local.rainvolume - level.rain /* if (level.startedrainsound1 == 0) { level.startedrainsound1 = 1 $playersound thread replaysound } */ if ( level.gametype == 0 ) { if (local.rainvolume > 0) $playersound loopsound rain_ext (local.rainvolume + 0.2) "levelwide" else $playersound loopsound rain_ext 0 } /* if (level.startedrainsound2 == 0) { level.startedrainsound2 = 1 $playersound2 thread replaysound2 } */ if (level.rainvolume > 0.4) local.rainvolume = (0.4 - (level.rainvolume - 0.4)) else local.rainvolume = level.rainvolume local.rainvolume = local.rainvolume - level.rain if ( level.gametype == 0 ) { if (local.rainvolume < 0.0) $playersound2 loopsound rain_puddle 0 else $playersound2 loopsound rain_puddle (local.rainvolume + 0.2) "levelwide" } local.rainvolume = level.rainvolume - (1.0 - level.rain) if ( level.gametype == 0 ) { if (local.rainvolume < 0.0) $playersound3 loopsound rain_int 0 else $playersound3 loopsound rain_int (local.rainvolume + 0.2) "levelwide" } for (local.i=1;local.i<level.weatherRs+1;local.i++) { if (level.rainvolume < 0) level.weatherR[local.i] stoploopsound else { level.weatherR[local.i] loopsound rain_roof (level.rainvolume + 0.2) // "levelwide" // println ("rainroof at " + ((level.rainvolume + 0.2) / 2.5)) } } for (local.i=1;local.i<level.weatherWs+1;local.i++) { if (level.rainvolume < 0) level.weatherW[local.i] stoploopsound else level.weatherW[local.i] loopsound rain_window (level.rainvolume + 0.2) // "levelwide" } /* for (local.i=1;local.i<level.winds+1;local.i++) { if (level.rainvolume < 0) level.wind[local.i] stoploopsound else if (level.rainvolume > 0.5) level.wind[local.i] loopsound "sound/environment/wind_weak.wav" (level.rainvolume + 0.2) 192 else level.wind[local.i] loopsound "sound/environment/wind_strong.wav" level.rainvolume 192 } */ end treemovement: local.num = (level.raindensity + 1.5) / 2.5 setcvar "r_static_shadermultiplier1" local.num wait 1 goto treemovement end playersoundorg: self.origin = $player.origin // self glue $player end rainin: self waittill trigger level.raindest = 1.0 wait 0.1 goto rainin end rainout: self waittill trigger level.raindest = 0.0 wait 0.1 goto rainout end replaysound: wait 35.5 $playersound stopsound 5 local.rainvolume = level.rainvolume - 0.3 local.rainvolume = local.rainvolume - level.rain if (local.rainvolume > 0) $playersound loopsound rain_ext (local.rainvolume + 0.2) "levelwide" else $playersound loopsound rain_ext 0 goto replaysound end replaysound2: wait 14 $playersound2 stopsound 5 if (level.rainvolume > 0.4) local.rainvolume = (0.4 - (level.rainvolume - 0.4)) else local.rainvolume = level.rainvolume local.rainvolume = local.rainvolume - level.rain if (local.rainvolume < 0.0) $playersound2 loopsound rain_puddle 0 else $playersound2 loopsound rain_puddle (local.rainvolume + 0.2) "levelwide" goto replaysound2 end ############################## and it dont rain.. .what am i doin wrong?
hehe.. i got the script wrong, Here is my new script: I only HEAR rain, i dont see it... Thunder works tho // buzzbomb_raiders // ARCHITECTURE: Havoc // SCRIPTING: Havoc // Aditional Scripting: AlienWorkShop/Minister (Same Person) main: // set scoreboard messages setcvar "g_obj_alliedtext1" "EDITED BY" setcvar "g_obj_alliedtext2" "[NaBS]Lcpl.Minister" setcvar "g_obj_alliedtext3" "----------------" setcvar "g_obj_axistext1" "Version" setcvar "g_obj_axistext2" "" setcvar "g_obj_axistext3" "0.3" setcvar "g_scoreboardpic" "buzzbomb" level waitTill prespawn exec maps/dm/wealther_buzzbomb.scr thread rain //*** Precache Dm Stuff exec global/DMprecache.scr level.script = maps/dm/buzzbomb_raiders.scr exec global/ambient.scr buzzbomb_raiders $world farplane_color "0.332 0.333 0.339" level.fogplane = 4000 $world farplane level.fogplane level waittill spawn $world farclipoverride -1 //exec Player Information exec maps/dm/player.scr // Execute Teleporter Scripts exec maps/dm/T1.scr exec maps/dm/T2.scr exec maps/dm/T3.scr // Auto Messages exec maps/dm/automessages.scr //exec Mg42 script //exec maps/dm/objects.scr //exec maps/dm/sandbags.scr //exec giant/mini scripts exec maps/dm/giant.scr exec maps/dm/mini.scr //exec ammo script exec maps/dm/ammo.scr exec maps/dm/ammo2.scr end rain: spawn script_model "targetname" "weatherF" "classname" "func_rain" "origin" "( 1 1 1 )" "angle" "0" $weatherF setsize ( -6000 -6000 -1000) ( 6000 6000 6000) $weatherF notsolid $weatherF show $weatherF playsound sound/amb/rain_ext_01.wav //setcvar cg_rain_density 13 spawn script_model "targetname" "weatherR" "classname" "func_rain" "origin" "( 1 1 1 )" "angle" "0" $weatherR setsize ( -6000 -6000 -1000) ( 6000 6000 6000) $weatherR notsolid $weatherR show spawn script_model "targetname" "weatherW" "classname" "func_rain" "origin" "( 1 1 1 )" "angle" "0" $weatherW setsize ( -6000 -6000 -1000) ( 6000 6000 6000) $weatherW notsolid $weatherW show $weatherW playsound wind_weak spawn script_model "targetname" "weatherI" "classname" "func_rain" "origin" "( 1 1 1 )" "angle" "0" $weatherI setsize ( -6000 -6000 -1000) ( 6000 6000 6000) $weatherI notsolid $weatherI show $weatherI playsound rain_ext_01 end ##################### ERROR HERE: ##################### $world farclipoverride -1 stops the console from loading the script, PLEASE HELP ME! EDIT::: IT SAID UNKNOWN COMMAND farclipoverride ahh im goin crazy!
farclipoverride only works in SH maps i think- so if u take that out that should work.... dunno. and u have to exec global/weather.scr after u spawn ur weather "bloks"
But how to change properties of the rain? ---> setcvar cg_rain_density 13 <--- doesnt work:shake: for example: you wanna snow:zzohyah:,,, but setcvar cg_rain_speed 44 doesnt work:wierdshai I cant fix this:doh:,,, tried differrent ways,,, but im a noob:bigrin:
sorry, i have one more question Is it possible to set the exact coords for the func_rain ??? When i walk through the map the rain follows me:uuuuuaaa: I set the origin where i want it,,, but,, the rain moves,,, And i dont like rain in buildings,,, except with a small rain-blok over my head But it looks funny I fixed the prob with weather.scr,,, you dont need to change them if you want snow,,,,, could be done by adding the code in red into the rain-thread Code: rain: [color=red]level.rain_speed = "12"[/color] [color=red]level.rain_length = "2"[/color] [color=red]level.rain_width = "1"[/color] [color=red]level.rain_min_dist = "1300"[/color] [color=red]level.rain_numshaders = 12[/color] [color=red]level.rain_shader = "textures/snow0"[/color] spawn script_model "targetname" "weatherF" "classname" "func_rain" "origin" "( 1 1 1 )" "angle" "0" $weatherF setsize ( -6000 -6000 -1000) ( 6000 6000 6000) $weatherF notsolid $weatherF show spawn script_model "targetname" "weatherR" "classname" "func_rain" "origin" "( 1 1 1 )" "angle" "0" $weatherR setsize ( -6000 -6000 -1000) ( 6000 6000 6000) $weatherR notsolid $weatherR show spawn script_model "targetname" "weatherW" "classname" "func_rain" "origin" "( 1 1 1 )" "angle" "0" $weatherW setsize ( -6000 -6000 -1000) ( 6000 6000 6000) $weatherW notsolid $weatherW show spawn script_model "targetname" "weatherI" "classname" "func_rain" "origin" "( 1 1 1 )" "angle" "0" $weatherI setsize ( -6000 -6000 -1000) ( 6000 6000 6000) $weatherI notsolid $weatherI show end
not sure about the first one... But rain in buildings, That is possible to get rid off What u gotta do it make lots of brushes (Lots of work with diffrent coords) around the building, and name them correctly (dont ask lol) There isnt a pica code that can just make rain not go into buildings, as mohaa dont know where they are, mohaa just knows there is a floor, walls and roof brushes, so thats impossible But its just easyer to get rain inside buildings than trying to make it so that rain aint inside, who cares if its rainin in side... its the effect that counts.. not the detail
Hello: I don't know if the guestion about getting the rain sounds to work was answered? But i used the script above to add rain into the map MOHDM4 aka Crossroads...works like a charm...:beerbang: ...i got the rain sounds to work... heres my what i did...as you can see i threw in 2 //'s to stop the original exec global/ambient and made one right below it with exec global/ambient mp_gewitter_dm...since Gewitter has a good rainy sound to it... and this is the script i used for the rain just like above...much appreciated OSPREY...rain inside is odd...but the idea is awesome!! mad props buddy Last guestion...Has anyone figured out how to make it NOT rain inside buildings? Id be willing to do it myself if only i could get some hints or ideas!!
someone on AIM told me a long time ago they were able to change the setsizes and coordinates to fit just outside the buildings and didnt go in the buildings and they got rid of indoor rain that way. but i was too lazy to mess with it. hope that helped some ~ospery
I did notice that when i loaded the script onto my server i can hear the rain/thunder but i cant see the rain now!! BUt when i start my own game and look the rain is there...please dont say this is clientside!!! Any ideas, maybe i typed sumthing wrong here...Heres my script: