![]() |
need help editing thefarm.scr
yeah i was just trying to turn respawn off.. and well this file is different then all the rest and i didnt want to go playing wit stuff and screw things up.. all i want to do is turn respawn off.. please help dont know scripting..
i mean i see this line and figured all i had to do was put it to 0 but then i saw alot of other things sayin respawn so i got scared level.respawnon = 0 ?? that it?? // THEFARM // ARCHITECTURE: Duncan // SCRIPTING: Duncan // April 2002 // // Based on the script for 'The Bridge' by POWZER main: println "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~" println " THE FARM ! " println "************************************************* **********" println "THREAD main" setcvar "g_obj_alliedtext1" "4 Objectives:" setcvar "g_obj_alliedtext2" "Tank, Ammo Room" setcvar "g_obj_alliedtext3" "Radio and Antena" setcvar "g_obj_axistext1" "Defend La Campagne" setcvar "g_obj_axistext2" "It's vital to save" setcvar "g_obj_axistext3" "the farm !" setcvar "g_scoreboardpic" "thefarm" // ************************************************** **************************** // ************************************* VARS THAT CONTROL THE GAME ************* // setup default vars level.introsounds = 0 level.introhints = 1 level.attack = "allies" level.bomb_ticktime = 36 level.bomb_fastticktime = 10 level.bomb_armtime = 4 level.bomb_defusetime = 6 level.respawnon = 1 level.maptime = 10 // get server vars for config of the game level.introsounds = getcvar ("g_thefarm_introsounds") if (level.introsounds != "1" && level.introsounds != "0") level.introsounds = "0" level.introhints = getcvar ("g_thefarm_introhints") if (level.introhints != "1" && level.introhints != "0") level.introhints = "1" level.barnladders = getcvar ("g_thefarm_barnladders") if (level.barnladders != "1" && level.barnladders != "0") level.barnladders = "0" level.village = getcvar ("g_thefarm_village") if (level.village != "1" && level.village != "0") level.village = "0" level.showvillagetrees = getcvar ("g_thefarm_villagetrees") if (level.showvillagetrees != "1" && level.showvillagetrees != "0") level.showvillagetrees = "0" level.showhqtrees = getcvar ("g_thefarm_hqtrees") if (level.showhqtrees != "1" && level.showhqtrees != "0") level.showhqtrees = "0" level.respawn = getcvar ("g_thefarm_respawn") level.maptime = getcvar ("g_thefarm_maptime") if (level.respawn != "1" && level.respawn != "0") level.respawn = "1" if (level.maptime != "1" && level.maptime != "2" && level.maptime != "3" && level.maptime != "4" && level.maptime != "5" && level.maptime != "6" && level.maptime != "7" && level.maptime != "8" && level.maptime != "9" && level.maptime != "10") level.maptime = 10 if (level.respawn == "1") level.respawnon = 1 else level.respawnon = 0 // check which bombs are going to be active level.radiobomb = getcvar ("g_thefarm_radiobomb") level.antenabomb = getcvar ("g_thefarm_antenabomb") level.tankbomb = getcvar ("g_thefarm_tankbomb") level.ammobomb = getcvar ("g_thefarm_ammobomb") level.carbomb = getcvar ("g_thefarm_carbomb") level.bikebomb = getcvar ("g_thefarm_bikebomb") level.truckbomb = getcvar ("g_thefarm_truckbomb") if (level.radiobomb!="0" && level.radiobomb != "1") level.radiobomb = 1 if (level.antenabomb!="0" && level.antenabomb != "1") level.antenabomb = 1 if (level.tankbomb!="0" && level.tankbomb!="1") level.tankbomb = 1 if (level.ammobomb!="0" && level.ammobomb!="1") level.ammobomb = 1 if (level.carbomb!="0" && level.carbomb!="1") level.carbomb = 1 if (level.bikebomb!="0" && level.bikebomb!="1") level.bikebomb = 1 if (level.truckbomb!="0" && level.truckbomb!="1") level.truckbomb = 1 // ************************************************** **************************** // ************************************************** **************************** // exec maps/obj/thefarm_spotlight.scr level waittill prespawn println "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~" println " PRESPAWN ! " println "************************************************* **********" level.debug = 1 //*** Precache Dm Stuff exec global/DMprecache.scr println "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~" println " PLANES ! " println "Loading script: airstike bombers" exec maps/obj/thefarm_bomber.scr::main println "************************************************* **********" level.script = maps/obj/thefarm.scr //println "Loading script: weather.scr" //level.farplane = 3500 //level.farplanecolor = (0.333 0.333 0.359) //exec global/weather.scr 3500 (0.333 0.333 0.359) //exec global/shutter.scr // dont know what this is println "Loading script: ambient.scr" exec global/ambient.scr thefarm // turn on the elevator thread elevator_preparation //Setup the elevator println "Loading script: thefarm_exploder" thread maps/obj/thefarm_exploder.scr::main println "Loading script: thefarm_minefield" thread maps/obj/thefarm_minefield.scr::minefield_setup //exec global/door_locked.scr::lock // thread setup_spawnpoints // local.temp = level.spawn light // local.temp.light = 30000 // local.temp.origin = (0 -5000 1000) thread setup_simple_fog 1200 level.targets_to_destroy = 1 local.targets_to_destroy = 0 local.targets_to_destroy2 = 0 level waittill spawn println "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~" println " SPAWN ! " println "************************************************* **********" if (level.attack == "allies") { level.defusing_team = "axis" level.planting_team = "allies" } else { level.defusing_team = "axis" level.planting_team = "allies" } // this is for allies = use bomb_thinker // bombs with number 0 - 19 level.targets_destroyed = 0 // nothing blown up yet local.targetstodestroy = 0 // don't count fun bombs i.e bombs with id 10 or higher // this is for axis = use bomb_thinker2 // bombs with number 20 - 40 level.targets_destroyed2 = 0 // nothing blown up yet local.targetstodestroy2 = 0 // don't count fun bombs i.e bombs with id 30 or higher level.bomb_damage = 300 level.bomb_explosion_radius = 1024 // set the parameters for this round/wave based match level.dmrespawning = level.respawnon // 1 **wave based** or 0 **round based** level.dmroundlimit = level.maptime // round time limit in minutes level.clockside = axis // set to axis, allies, kills, or draw thread ladder_control thread village_control // thread farmradioused // THIS LOT REALLY SHOULD GO AFTER "level waittill roundstart" // turn on the bombs if (level.radiobomb==1) { $radio_bomb thread bomb_thinker 1 // radio local.targetstodestroy=local.targetstodestroy+1 } if (level.antenabomb==1) { $antena_bomb thread bomb_thinker 2 // antena local.targetstodestroy=local.targetstodestroy+1 } if (level.ammobomb==1) { $ammo_bomb thread bomb_thinker 3 // one of these local.targetstodestroy=local.targetstodestroy+1 } //$tank_bomb thread bomb_thinker 4 if (level.tankbomb==1) { $tank_bomb2 thread bomb_thinker 5 local.targetstodestroy=local.targetstodestroy+1 } //$tank_bomb3 thread bomb_thinker 6 if (level.truckbomb==1) $fun_bomb thread bomb_thinker 10 // 3 of these , truck if (level.bikebomb==1) $fun_bomb2 thread bomb_thinker 11 // 3 of these , bike if (level.carbomb==1) $fun_bomb3 thread bomb_thinker 12 // 3 of these , car level.targets_to_destroy = local.targetstodestroy level.targets_to_destroy2 = local.targetstodestroy2 println " @@@@@@@@@@@@ OBJECTIVES @@@@@@@@@@@@@@@@" println ("Allied targets = " + level.targets_to_destroy) println ("Axis targets = " + level.targets_to_destroy2) println " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" // end of THIS LOT $ammo_bomb thread allies_win_bomb $ammo_bomb thread axis_win_timer println " @@@@@@@@@@@@ SERVER VARS @@@@@@@@@@@@@@@@" println " [0 = off, 1 = on]" println ("Intro sounds = " + level.introsounds) println ("Intro Hints = " + level.introhints) println ("Access Allied village = " + level.village) println ("Village surrounded by trees = " + level.showvillagetrees) println ("Allied HQ surrounded by trees = " + level.showhqtrees) println ("Use Barnladders = " + level.barnladders) println ("Respawn = " + level.respawn) println ("Respawnon = " + level.respawnon) println ("Maptime = " + level.maptime + " minutes") println ("Radio Bomb = " + level.radiobomb) println ("Antena Bomb = " + level.antenabomb) println ("Tank Bomb = " + level.tankbomb) println ("Ammo Bomb = " + level.ammobomb) println ("Car Bomb = " + level.carbomb) println ("Bike Bomb = " + level.bikebomb) println ("Truck Bomb = " + level.truckbomb) println " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" // start the airstrikes thread flyby level waittill roundstart println "************************************************* **********" println " ROUNDSTART ! " println "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~" // do the intro speech sounds thread intro_sounds // show the intro hints thread intro_hints // show the current objectives thread showmenu // start the dissipating fog thread thread morning_fog_dissipate 1200 4500 200 0 // thread night_to_day // thread objectives_setup // turn off bomb animation thread bomb_noanimation println "END THREAD main" end intro_hints: println "THREAD: intro_hints" if (level.introhints == 0) { println "END THREAD: intro_hints bypassed" end } //called by BSP local.player = parm.other if (local.player.dmteam == "allies") { thread maps/obj/thefarm_message_print.scr::message "Welcome Allied soldier, complete your mission" NIL 15 thread maps/obj/thefarm_message_print.scr::message "You have 4 objectives:" HINT 3 thread maps/obj/thefarm_message_print.scr::message "1 = Ammo Room" HINT 3 thread maps/obj/thefarm_message_print.scr::message "2 = Tiger Tank" HINT 3 thread maps/obj/thefarm_message_print.scr::message "3 = Communications room" HINT 3 thread maps/obj/thefarm_message_print.scr::message "4 = Radio Antena" HINT 3 } else { thread maps/obj/thefarm_message_print.scr::message "Welcome Axis soldier, defend the farm at all costs" NIL 15 thread maps/obj/thefarm_message_print.scr::message "Protect these items:" HINT 3 thread maps/obj/thefarm_message_print.scr::message "1 = Ammo Room" HINT 3 thread maps/obj/thefarm_message_print.scr::message "2 = Tiger Tank" HINT 3 thread maps/obj/thefarm_message_print.scr::message "3 = Communications room" HINT 3 thread maps/obj/thefarm_message_print.scr::message "4 = Radio Antena" HINT 3 } println "END THREAD: intro_hints" end intro_sounds: println "THREAD: intro_sounds" if (level.introsounds == 0) { println "END THREAD: intro_sounds bypassed" end } //called by BSP local.player = parm.other // prevent the player from trying to move around //$player physics_off //thread freezeplayerview if (local.player.dmteam == "allies") { $player playsound thefarm_allied_intro1 println "seen any rocket" wait 4 $player playsound thefarm_allied_intro2 println "yes we have" wait 3.5 // let him move again //$player physics_on //level.frozen = 0 $player playsound thefarm_allied_intro3 println "what's your name soldier" wait 2 $player playsound thefarm_allied_intro4 println "this is powel" wait 1 $player playsound thefarm_allied_intro5 println "what do weapons look like" wait 2.5 $player playsound thefarm_allied_intro6 println "well sir" wait 7 $player playsound thefarm_allied_intro7 println "never heard anything like em" wait 2 $player playsound thefarm_allied_intro8 println "that'd be great" wait 3 $player playsound thefarm_allied_intro9 println "yes sir" wait 2 $player playsound thefarm_allied_intro10 println "i'm not going anywhere" wait 4 $player playsound thefarm_allied_intro11 println "moving out" } else { thread maps/obj/thefarm_message_print.scr::message "Welcome Axis soldier, defend the farm at all costs" NIL 2 thread maps/obj/thefarm_message_print.scr::message "Protect these items:" HINT 2 thread maps/obj/thefarm_message_print.scr::message "1 = Ammo Room" HINT 2 thread maps/obj/thefarm_message_print.scr::message "2 = Tiger Tank" HINT 2 thread maps/obj/thefarm_message_print.scr::message "3 = Communications room" HINT 2 thread maps/obj/thefarm_message_print.scr::message "4 = Radio Antena" HINT 2 //wait 9.5 // let him move again //$player physics_on //level.frozen = 0 } // let him move again //$player physics_on //level.frozen = 0 println "END THREAD: intro_sounds" end countdown local.time: thread maps/obj/thefarm_message_print.scr::message ("Countdown for " + local.time + " seconds") wait local.time end setup_simple_fog local.density: println ("THREAD: setup_simple_fog = " + local.density) $world farplane local.density // fog thickness, 300 very dense, 2500 mist $world farplane_color (.333 .333 .329) $world farplane_cull "no" //$world suncolor (20 20 20) //$biglight light 300 println "END THREAD: setup_simple_fog" end morning_fog_dissipate local.start local.end local.timespan local.showdebug: println ("THREAD: morning_fog_dissipate = " + local.start + ", to " + local.end + ", over " + local.timespan + " seconds") local.difference = local.end - local.start // 2500 is mild fog, smaller the number denser the fog local.fogtimeunit = local.difference / local.timespan // amount fog increases in 1 second local.fogvalue = local.start // start value local.start_time = level.time $world farplane local.fogvalue $world farplane_color (.333 .333 .329) $world farplane_cull "no" while (local.fogvalue<local.end) { // wait for 1 second while (level.time < (local.start_time + 1) ) { wait .1 } local.start_time = level.time local.fogvalue = local.fogvalue + local.fogtimeunit if (local.showdebug==1) println (" new fog value = " + local.fogvalue) $world farplane local.fogvalue waitframe } println "END THREAD: moring_fog_dissipate" end night_to_day: println "THREAD: night_to_day" if ($thesun == NULL) level.thesun = 0 else level.thesun = $thesun.size println ("Level thesun = " + level.thesun) if (level.thesun < 1) { println " no sun, so terminating early" //println "END THREAD: night_to_day" //end } local.daylight = 30000.0 local.night = 500.0 local.lightdifference = local.daylight - local.night // 70 is daylight, 20 is night local.timespan = 30.0 // seconds local.suntimeunit = local.lightdifference / local.timespan local.lighttimeunit = 30000.0 / local.timespan local.sunvalue = local.night // start at night println (" daylight = " + local.daylight) println (" night = " + local.night) println (" time taken from night to day = " + local.timespan) println (" suntimeunit = " + local.suntimeunit) println (" thesun.light = " + $thesun.light) // println (" level.suncolor = " + level.suncolor ) /* local.suncolor[0] = local.sunvalue local.suncolor[1] = local.sunvalue local.suncolor[2] = local.sunvalue local.suncolor = (local.sunvalue local.sunvalue local.sunvalue) */ local.start_time = level.time $thesun.light = local.sunvalue while (local.sunvalue<local.daylight) { // wait for 1 second while (level.time < (local.start_time + 1) ) { wait .1 } local.start_time = level.time local.sunvalue = local.sunvalue + local.suntimeunit local.lightvalue = local.lightvalue + local.lightimeunit println (" new sun value = " + local.sunvalue) println (" new light value = " + local.lightvalue) $biglight light local.lightvalue // $world suncolor (local.sunvalue local.sunvalue local.sunvalue) // $thesun.light = local.sunvalue //local.suncolor = (local.sunvalue local.sunvalue local.sunvalue) waitframe } println "END THREAD: night_to_day" end //*** -------------------------------------------- //*** "Allies breach permimeter //*** -------------------------------------------- almost_there1: //called by BSP local.player = parm.other println ("Almost there 1 Local player = " + local.player.dmteam) if ( (local.player.dmteam != "allies") || (level.perimeter_breached == 1) ) end iprintlnbold "The Allies have breached the perimeter!" level.perimeter_breached = 1 end //*** -------------------------------------------- //*** "Axis make a counter attack //*** -------------------------------------------- almost_there2: //called by BSP local.player = parm.other println ("Almost there 2 Local player = " + local.player.dmteam) if ( (local.player.dmteam != "axis") || (level.counter_attack == 1) ) end iprintlnbold_noloc "The Axis are making a counter attack!" level.counter_attack = 1 end //*** -------------------------------------------- //*** "Allies Victory" //*** -------------------------------------------- allies_win_bomb: println "THREAD allies_win_bomb" if (level.targets_to_destroy < 1) { level waittill allieswin $player playsound thefarm_allied_win2 // victory is ours thread maps/obj/thefarm_message_print.scr::message "Victory is ours" NIL 2 wait 2 } else { while(level.targets_destroyed < level.targets_to_destroy) waitframe thread maps/obj/thefarm_message_print.scr::message "We've completed our mission" NIL 2 $player playsound thefarm_allied_win1 // we've completed our mission wait 2 $player playsound thefarm_allied_win2 // victory is ours thread maps/obj/thefarm_message_print.scr::message "Victory is ours" NIL 2 wait 2 $player playsound thefarm_allied_win3// see you in berlin thread maps/obj/thefarm_message_print.scr::message "See YOU in Berlin" NIL 2 wait 2 teamwin allies } println "END THREAD allies_win_bomb" end //*** -------------------------------------------- //*** "Axis Victory" //*** -------------------------------------------- axis_win_timer: println "THREAD axis_win_timer" if (level.targets_to_destroy2 < 1) { level waittill axiswin $player playsound thefarm_axis_win1 // victory is ours thread maps/obj/thefarm_message_print.scr::message "Victory is ours" NIL 2 wait 2 } else { while(level.targets_destroyed2 < level.targets_to_destroy2) waitframe $player playsound thefarm_axis_win1 // victory is ours thread maps/obj/thefarm_message_print.scr::message "Victory is ours" NIL 2 wait 2 teamwin axis } println "END THREAD axis_win_timer" end //THIS PORTION OF SCRIPT NOT READY TO IMPLEMENT //objectives_setup: // // waitthread global/objectives.scr::blank_objectives // waitthread global/objectives.scr::add_objectives 1 2 "Allied forces must destroy the radio dish" $dish.origin // wait 2 // waitthread global/objectives.scr::current_objectives 1 //end // // // LOGIC FOR OBJECTIVE BASED DEATHMATCH ENTITIES // // //*********************************************** // BOMB THINKER //*********************************************** //*********************************************** // initialization thread... //*********************************************** bomb_thinker local.triggernum: println "THREAD bomb_thinker" // Steve says planting time = 6 seconds // defusing time = 12 second // tick time = 36 seconds level.bomb_set = 0 level.bomb_set2 = 0 level.bomb_defuse_time = level.bomb_defusetime * 10 //tenths of a second = 6 level.bomb_set_time = level.bomb_armtime * 10 //tenths of a second = 4 level.bomb_tick_time = level.bomb_ticktime //seconds (was 60 seconds, then 30 seconds, now 36) // level.wait_after_explode = 2 //seconds time after target is destroyed before the level ends (no longer used, done in code now) level.bomb_explosion_radius = 1054 //quake units level.bomb_use_distance = 200 //quake units level.bombusefov = 360 level.bomb_damage = 90 level.subtitleX = 100 level.subtitleY = 50 self.exploded = 0 self.exploder_set = local.triggernum self.trigger_name = "trigger" + local.triggernum // self.target.destroyed_model = "explodersmashed" //self.target.collisionent = self.target.target // DUNNO ! // self.target notsolid // make the target non solid self.live = 0 // 0 not live (safe) , 1 live (can expode) //self.target anim start println "----------------------Z-----------------------" println "self = " self println "level.bomb_defusetime " level.bomb_defusetime println "level.bomb_defust_time " level.bomb_defusetime println "level.bomb_armtime " level.bomb_armtime println "level.bomb_set_time " level.bomb_set_time println "level.bomb_ticktime " level.bomb_ticktime println "level.bomb_tick_time " level.bomb_tick_time println "self.trigger_name = " self.trigger_name // the trigger that trigger's the bomb ! println "self.exploded = " self.exploded println "self.exploder_set = " self.exploder_set // the #set no of the models that are part of the objective println "self.target (flak 88 or other) = " self.target // the object that is going to be destroyed (and removed when hit) //println "self.target.destroyed_model = " self.target.destroyed_model // new model that appears after bomb has gone off //println "self.target.target (collision entity) = " self.target.target // DUNNO ! println "self.explosion_fx = " self.explosion_fx // fx that appears if bomb goes off println "self.explosion_sound = " self.explosion_sound // sound made when bomb goes off println "self.killarea = " self.killarea // area where things get killed outright println "----------------------Z-----------------------" thread bomb_waittill_set println "END THREAD bomb_thinker" end //*********************************************** // first thread... controls allies using the trigger //*********************************************** bomb_waittill_set: local.player = parm.other //println ("Almost there 1 Local player = " + local.player.dmteam) println "THREAD bomb_waittill_set" self model items/pulse_explosive.tik println " self.trigger_name = " self.trigger_name if ( $(self.trigger_name) ) println " there is a trigger" else println " there is NOT a trigger, so bomb can't be set" while ( $(self.trigger_name) ) { println (" waittill trigger " + self.trigger_name) self.trigger_name waittill trigger println " triggered" local.player = parm.other //"local.player.dmteam", can be 'spectator', 'freeforall', 'allies' or 'axis' if (local.player.dmteam != level.planting_team) // check if the right team is setting the bomb { thread maps/obj/thefarm_message_print.scr::message "You can't set this bomb" NIL 2 goto bomb_waittill_set // wrong team so go back and start waiting again println " FAILED dmteam check" local.player.dmteam } else println " dmteam check passed OK" // correct team let's get on with it if (self.live == 1) { thread maps/obj/thefarm_message_print.scr::message "Bomb is already set" NIL 2 end } local.counter = 0 // reset counter to start stopwatch // check the following: // player is alive ! , player can see the bomb, player has the use key held down if (Isalive local.player) println " player is alive OK" else println " player is dead FAILED" //if (self cansee local.player level.bombusefov level.bomb_use_distance) // println " bomb can see player OK" //else // println " bomb can't see player FAILED" if (local.player.useheld == 1) println " held key active OK = " local.player.useheld else println " held key inactive FAILED" //while ( (Isalive local.player) && (local.player cansee self level.bombusefov level.bomb_use_distance) && (local.player.useheld == 1) ) while ( (Isalive local.player) && (local.player.useheld == 1) ) { if (local.counter == 0) // if the counter is 0 display the stopwatch local.player stopwatch (level.bomb_set_time * .1) local.counter++ // if ((local.counter % 5) == 0) // locprint level.subtitleX level.subtitleY("set "+ local.counter) wait .1 if (local.counter >= level.bomb_set_time) // check how long use key has been held down { iprintlnbold_noloc("A bomb has been planted!, by " + local.player.dmteam ) if (level.planting_team == "allies") self playsound dfr_objective_o // make a sound else self playsound den_objective_o // make a sound local.player stopwatch (level.bomb_tick_time) self.player_set = local.player thread bomb_waittill_defuse // start thread to look for someone defusing the bomb (unless detonated) thread bomb_waittill_explode // start thread to detonate the bomb after a preset time (unless diffused) self.live = 1 // make the bomb live level.bomb_set ++ println " waiting for bomb to detonate or be defussed" println "END THREAD bomb_waittill_set" end } } if (local.counter > 0) local.player stopwatch 0 // turn off the stopwatch println " trigger used but failed check" //if ! (self cansee local.player level.bombusefov level.bomb_use_distance) // println " failed bomb can see player check" if ! (local.player.useheld == 1) println " failed use key held check" local.player.useheld } println "END THREAD bomb_waittill_set" end //*********************************************** // second thread... controls axis using the trigger //*********************************************** bomb_waittill_defuse: while ( $(self.trigger_name) ) { self.trigger_name waittill trigger local.player = parm.other //"local.player.dmteam", can be 'spectator', 'freeforall', 'allies' or 'axis' if (local.player.dmteam != level.defusing_team) { thread maps/obj/thefarm_message_print.scr::message "You can't diffuse this bomb" NIL 2 println " failed dmteam check" local.player.dmteam goto bomb_waittill_defuse } else println " diffuse dmteam check ok" local.player.dmteam if (self.live == 0) { thread maps/obj/thefarm_message_print.scr::message "Bomb is already disarmed" NIL 2 end } local.counter = 0 //while ( (Isalive local.player) && (local.player cansee self level.bombusefov level.bomb_use_distance) && (local.player.useheld == 1) ) while ( (Isalive local.player) && (local.player.useheld == 1) ) { if (local.counter == 0) local.player stopwatch (level.bomb_defuse_time * .1) local.counter++ // if ((local.counter % 5) == 0) // locprint level.subtitleX level.subtitleY ("defuse "+local.counter) wait .1 if (local.counter >= level.bomb_defuse_time) { iprintlnbold_noloc("A bomb has been defused!, by " + local.player.dmteam ) if (level.defusing_team == "allies") self playsound dfr_diffused_d else self playsound den_diffused_d thread bomb_waittill_set //start first thread again self.live = 0 level.bomb_set -- self.player_set stopwatch 0 end } } if (local.counter > 0) local.player stopwatch 0 } end //*********************************************** // third thread... times the bomb and makes it explode at the right time //*********************************************** bomb_waittill_explode: println "THREAD: bomb_waittill_explode" self model items/explosive.tik self playsound plantbomb self loopsound thefarm_bombtick local.start_time = level.time while (level.time < (local.start_time + level.bomb_tick_time) ) { wait .1 if (self.live != 1) { self stoploopsound println " bomb not live, exiting" println "END THREAD: bomb_waittill_explode" end } if (level.time == (local.start_time + level.bomb_tick_time - level.bomb_fastticktime) ) { self stoploopsound self loopsound thefarm_finalcountdown } if (level.time == (local.start_time + level.bomb_tick_time - level.bomb_defusetime) ) { self stoploopsound self loopsound thefarm_finalcountdownquick } } self stoploopsound self.player_set stopwatch 0 thread bomb_explode println "END THREAD: bomb_waittill_explode" end //*********************************************** // fourth thread... controls the explosion //*********************************************** bomb_explode: println "THREAD: bomb_explode" self.trigger_name remove // remove the trigger so it can't go off again thread jitter_large 0 // do a large screen shake $player playsound "sounds/Multiplayer/a/AMdfr_o_02.wav" // we've completed our objective if (self.exploder_set != NIL) { println (" executing exploder script " + self.exploder_set) exec maps/obj/thefarm_exploder.scr::explode self.exploder_set // execute the exploder routine where #set = exploder_set } else println " bypassing exploder script" if (self.explosion_fx != NIL) { println " executing eplosion fx" self thread spawn_fx self.explosion_fx // show an explosion } else println " bypassing explosion fx" if (self.explosion_sound != NIL) { println " executing explosion sound" self playsound self.explosion_sound // make a noise } else println " bypassing explosion sound" if (self.target != NIL) // the object that's going to be blown up { if (self.target.destroyed_model != NIL) // the new object that will be show after bomb detonates local.damaged = self.target thread spawn_damaged self.target.destroyed_model self.target remove // remove the original object waitframe } radiusdamage self.origin level.bomb_damage level.bomb_explosion_radius // do some damage in the local area if (self.killarea != NIL) self.killarea volumedamage 1000 // kill in this area if (self.exploder_set > 0 && self.exploder_set < 10 ) { if (self.message != NIL) local.message = " have destroyed OBJECTIVE " + self.message + "." else local.message = " have destroyed an OBJECTIVE." } else { if (self.message != NIL) local.message = " have destroyed target " + self.message + "." else local.message = " have destroyed a target." } iprintlnbold_noloc("The " + level.planting_team + local.message ) self hide // remove the bomb self.exploded = 1 // this bomb has exploded // we delay the decrementing of level.bomb_set so that the script has // time to determin the winner before the timelimit gets checked and hit wait 0.5 if (self.exploder_set > 0 && self.exploder_set < 10 ) // don't count fun_bombs level.targets_destroyed ++ level.bomb_set -- thread showmenu println "END THREAD: bomb_explode" end //*********************************************** // BOMB THINKER 2 (planting / defussing teams switched //*********************************************** //*********************************************** // initialization thread... //*********************************************** bomb_thinker2 local.triggernum: println "THREAD bomb_thinker" // Steve says planting time = 6 seconds // defusing time = 12 second // tick time = 36 seconds level.bomb_set2 = 0 level.bomb_defuse_time = level.bomb_defusetime * 10 //tenths of a second = 6 level.bomb_set_time = level.bomb_armtime * 10 //tenths of a second = 4 level.bomb_tick_time = level.bomb_ticktime //seconds (was 60 seconds, then 30 seconds, now 36) // level.wait_after_explode = 2 //seconds time after target is destroyed before the level ends (no longer used, done in code now) level.bomb_explosion_radius = 1054 //quake units level.bomb_use_distance = 200 //quake units level.bombusefov = 360 level.bomb_damage = 90 level.subtitleX = 100 level.subtitleY = 50 self.exploded = 0 self.exploder_set = local.triggernum self.trigger_name = "trigger" + local.triggernum self.target.destroyed_model = "explodersmashed" //self.target.collisionent = self.target.target // DUNNO ! // self.target notsolid // make the target non solid self.live = 0 // 0 not live (safe) , 1 live (can expode) //self.target anim start println "----------------------Z-----------------------" println "self = " self println "level.bomb_defusetime " level.bomb_defusetime println "level.bomb_defust_time " level.bomb_defusetime println "level.bomb_armtime " level.bomb_armtime println "level.bomb_set_time " level.bomb_set_time println "level.bomb_ticktime " level.bomb_ticktime println "level.bomb_tick_time " level.bomb_tick_time println "self.trigger_name = " self.trigger_name // the trigger that trigger's the bomb ! println "self.exploded = " self.exploded println "self.exploder_set = " self.exploder_set // the #set no of the models that are part of the objective println "self.target (flak 88 or other) = " self.target // the object that is going to be destroyed (and removed when hit) //println "self.target.destroyed_model = " self.target.destroyed_model // new model that appears after bomb has gone off //println "self.target.target (collision entity) = " self.target.target // DUNNO ! println "self.explosion_fx = " self.explosion_fx // fx that appears if bomb goes off println "self.explosion_sound = " self.explosion_sound // sound made when bomb goes off println "self.killarea = " self.killarea // area where things get killed outright println "----------------------Z-----------------------" thread bomb_waittill_set2 println "END THREAD bomb_thinker2" end //*********************************************** // first thread... controls allies using the trigger //*********************************************** bomb_waittill_set2: local.player = parm.other //println ("Almost there 1 Local player = " + local.player.dmteam) println "THREAD bomb_waittill_set" self model items/pulse_explosive.tik println " self.trigger_name = " self.trigger_name if ( $(self.trigger_name) ) println " there is a trigger" else println " there is NOT a trigger, so bomb can't be set" while ( $(self.trigger_name) ) { println (" waittill trigger " + self.trigger_name) self.trigger_name waittill trigger println " triggered" local.player = parm.other //"local.player.dmteam", can be 'spectator', 'freeforall', 'allies' or 'axis' if (local.player.dmteam == level.planting_team) // check if the right team is setting the bomb { thread maps/obj/thefarm_message_print.scr::message "You can't set this bomb" NIL 2 goto bomb_waittill_set // wrong team so go back and start waiting again println " FAILED dmteam check" local.player.dmteam } else println " dmteam check passed OK" // correct team let's get on with it if (self.live == 1) { thread maps/obj/thefarm_message_print.scr::message "Bomb is already set" NIL 2 end } local.counter = 0 // reset counter to start stopwatch // check the following: // player is alive ! , player can see the bomb, player has the use key held down if (Isalive local.player) println " player is alive OK" else println " player is dead FAILED" //if (self cansee local.player level.bombusefov level.bomb_use_distance) // println " bomb can see player OK" //else // println " bomb can't see player FAILED" if (local.player.useheld == 1) println " held key active OK = " local.player.useheld else println " held key inactive FAILED" //while ( (Isalive local.player) && (local.player cansee self level.bombusefov level.bomb_use_distance) && (local.player.useheld == 1) ) while ( (Isalive local.player) && (local.player.useheld == 1) ) { if (local.counter == 0) // if the counter is 0 display the stopwatch local.player stopwatch (level.bomb_set_time * .1) local.counter++ // if ((local.counter % 5) == 0) // locprint level.subtitleX level.subtitleY("set "+ local.counter) wait .1 if (local.counter >= level.bomb_set_time) // check how long use key has been held down { iprintlnbold_noloc("A bomb has been planted!, by " + local.player.dmteam ) if (level.planting_team == "allies") self playsound dfr_objective_o // make a sound else self playsound den_objective_o // make a sound local.player stopwatch (level.bomb_tick_time) self.player_set = local.player thread bomb_waittill_defuse2 // start thread to look for someone defusing the bomb (unless detonated) thread bomb_waittill_explode2 // start thread to detonate the bomb after a preset time (unless diffused) self.live = 1 // make the bomb live level.bomb_set2 ++ println " waiting for bomb to detonate or be defussed" println "END THREAD bomb_waittill_set" end } } if (local.counter > 0) local.player stopwatch 0 // turn off the stopwatch println " trigger used but failed check" //if ! (self cansee local.player level.bombusefov level.bomb_use_distance) // println " failed bomb can see player check" if ! (local.player.useheld == 1) println " failed use key held check" local.player.useheld } println "END THREAD bomb_waittill_set2" end //*********************************************** // second thread... controls axis using the trigger //*********************************************** bomb_waittill_defuse2: while ( $(self.trigger_name) ) { self.trigger_name waittill trigger local.player = parm.other //"local.player.dmteam", can be 'spectator', 'freeforall', 'allies' or 'axis' if (local.player.dmteam == level.defusing_team) { thread maps/obj/thefarm_message_print.scr::message "You can't diffuse this bomb" NIL 2 println " failed dmteam check" local.player.dmteam goto bomb_waittill_defuse2 } else println " diffuse dmteam check ok" local.player.dmteam if (self.live == 0) { thread maps/obj/thefarm_message_print.scr::message "Bomb is already disarmed" NIL 2 end } local.counter = 0 //while ( (Isalive local.player) && (local.player cansee self level.bombusefov level.bomb_use_distance) && (local.player.useheld == 1) ) while ( (Isalive local.player) && (local.player.useheld == 1) ) { if (local.counter == 0) local.player stopwatch (level.bomb_defuse_time * .1) local.counter++ // if ((local.counter % 5) == 0) // locprint level.subtitleX level.subtitleY ("defuse "+local.counter) wait .1 if (local.counter >= level.bomb_defuse_time) { iprintlnbold_noloc("A bomb has been defused!, by " + local.player.dmteam ) if (level.defusing_team == "allies") self playsound dfr_diffused_d else self playsound den_diffused_d thread bomb_waittill_set //start first thread again self.live = 0 level.bomb_set2 -- self.player_set stopwatch 0 end } } if (local.counter > 0) local.player stopwatch 0 } end //*********************************************** // third thread... times the bomb and makes it explode at the right time //*********************************************** bomb_waittill_explode2: println "THREAD: bomb_waittill_explode2" self model items/explosive.tik self playsound plantbomb self loopsound thefarm_bombtick local.start_time = level.time while (level.time < (local.start_time + level.bomb_tick_time) ) { wait .1 if (self.live != 1) { self stoploopsound println " bomb not live, exiting" println "END THREAD: bomb_waittill_explode2" end } if (level.time == (local.start_time + level.bomb_tick_time - level.bomb_fastticktime) ) { self stoploopsound self loopsound thefarm_finalcountdown } if (level.time == (local.start_time + level.bomb_tick_time - level.bomb_defusetime) ) { self stoploopsound self loopsound thefarm_finalcountdownquick } } self stoploopsound self.player_set stopwatch 0 thread bomb_explode2 println "END THREAD: bomb_waittill_explode2" end //*********************************************** // fourth thread... controls the explosion //*********************************************** bomb_explode2: println "THREAD: bomb_explode2" self.trigger_name remove // remove the trigger so it can't go off again thread jitter_large 0 // do a large screen shake $player playsound "sounds/Multiplayer/a/AMdfr_o_02.wav" // we've completed our objective if (self.exploder_set != NIL) { println (" executing exploder script " + self.exploder_set) exec maps/obj/thefarm_exploder.scr::explode self.exploder_set // execute the exploder routine where #set = exploder_set } else println " bypassing exploder script" if (self.explosion_fx != NIL) { println " executing eplosion fx" self thread spawn_fx self.explosion_fx // show an explosion } else println " bypassing explosion fx" if (self.explosion_sound != NIL) { println " executing explosion sound" self playsound self.explosion_sound // make a noise } else println " bypassing explosion sound" if (self.target != NIL) // the object that's going to be blown up { if (self.target.destroyed_model != NIL) // the new object that will be show after bomb detonates local.damaged = self.target thread spawn_damaged self.target.destroyed_model self.target remove // remove the original object waitframe } radiusdamage self.origin level.bomb_damage level.bomb_explosion_radius // do some damage in the local area if (self.killarea != NIL) self.killarea volumedamage 1000 // kill in this area if (self.exploder_set > 19 && self.exploder_set < 30 ) // don't count fun_bombs { if (self.message != NIL) local.message = " have destroyed OBJECTIVE " + self.message + "." else local.message = " have destroyed an OBJECTIVE." } else { if (self.message != NIL) local.message = " have destroyed target " + self.message + "." else local.message = " have destroyed a target." } iprintlnbold_noloc("The " + level.defuse_team + local.message ) self hide // remove the bomb self.exploded = 1 // this bomb has exploded // we delay the decrementing of level.bomb_set so that the script has // time to determin the winner before the timelimit gets checked and hit wait 0.5 if (self.exploder_set > 19 && self.exploder_set < 30 ) // don't count fun_bombs level.targets_destroyed2 ++ level.bomb_set2 -- thread showmenu println "END THREAD: bomb_explode2" end //---------------------------------- spawn_fx local.fx: println ("THREAD: spawn_fx " + local.fx) local.temp = spawn script_model model local.fx local.temp.origin = self.origin local.temp anim start //wait 5 //local.temp remove println ("END THREAD: spawn_fx " + local.fx) end spawn_damaged local.model: println ("THREAD: spawn_damaged " + local.model) local.damaged = spawn script_model model local.model local.damaged.origin = self.origin local.damaged.angles = self.angles println ("END THREAD: spawn_damaged " + local.model) end local.damaged //****************************** // jitter large effect // jitter_large [delay] //****************************** jitter_large local.time: println ("THREAD: jitter_large " + local.time) if (local.time) wait local.time waitexec global/earthquake.scr .35 10 0 0 waitexec global/earthquake.scr .23 6 0 0 waitexec global/earthquake.scr 1 1 0 0 waitexec global/earthquake.scr 1.25 .3 0 1 println ("END THREAD: jitter_large " + local.time) end freezeplayerview: println "THREAD: freezeplayerview" continuefreeze: level.frozen = 1 $player.viewangles = (0 0 0) wait 0.01 if (level.frozen == 1) goto continuefreeze println "END THREAD: freezeplayerview" end farmradioused: println "THREAD: radio used" if (level.radio_on == NIL) level.radio_on = 1 if (level.radio_on == 1) { level.radio_on = 0 self stoploopsound } else { level.radio_on = 1 self loopsound thefarm_radioloop } println "END THREAD: radio used" end barnnoise: println "THREAD: barnnoise" self loopsound machiner_loop println "END THREAD: barnnoise" end //-----------------------------------------------------------> // Prepares the elvator by assigning the basic settings to it //-----------------------------------------------------------> elevator_preparation: println "THREAD: elevator_preperation" $elevator moveto $waypoint_down // Moves elevator to waypoint_down. // $elevator_button bind $elevator // Attaches the elevator_button into the elevator, this making it move same time as the elevator. $elevator time 5 // sets the elevator move time, 4 seconds in this case, could also use the command "speed". local.elepos = 0 // Defines the position of the elevator. "0 - lift down" "1 - lift up" Default - lift down goto elevator_standby // standing by and waiting player to activate the trigger //-----------------------------------------------------------> // Elevator is idle, and waiting user to activate the trigger //-----------------------------------------------------------> elevator_standby: println " SUB THREAD: elevator_standby" //$elevator playsound thefarm_elevator_stop if (local.elepos == 0) thread maps/obj/thefarm_message_print.scr::message "Elevator waiting at ground floor" NIL 2 else thread maps/obj/thefarm_message_print.scr::message "Elevator waiting at 1st floor" NIL 2 $elevator_button waittill trigger thread maps/obj/thefarm_message_print.scr::message "Elevator activated" NIL 2 println " elevator triggered" wait 2 // wait 2 seconds if (local.elepos == 0) // If lift state is down, its better get up. { println "elevator down - moving up" //prints this text to console if the developer mode is set. goto lift_move_up // jumps straight to the "lift_move_up" part in the script } else { if (local.elepos == 1) // Or maybe lift state is up, and you need to get down? { println "elevator up - moving down" //prints this text to console if the developer mode is set. goto lift_move_down // jumps straight to the "lift_move_down" part in the script } } goto elevator_standby //-----------------------------------------------------------> lift_move_up: println " SUB THREAD: lift_move_up" thread maps/obj/thefarm_message_print.scr::message "Elevator raising to 1st floor" NIL 2 $elevator moveto $waypoint_up //moves the lift to info_waypoint with targetname waypoint_up //$elevator playsound thefarm_elevator_start $elevator playsound thefarm_elevator_run $elevator waitmove //wait till the elevator has completed the move before doing anything else local.elepos = 1 // it seems the elevator is up now, so we set the local.elepos to 1 goto elevator_standby // Jumps back to the standby part of the script waiting user to activate the trigger //-----------------------------------------------------------> lift_move_down: println " SUB THREAD: lift_move_down" thread maps/obj/thefarm_message_print.scr::message "Elevator dropping to ground floor" NIL 2 $elevator moveto $waypoint_down //moves the lift to info_waypoint with targetname waypoint_down //$elevator playsound thefarm_elevator_start $elevator playsound thefarm_elevator_run $elevator waitmove //wait till the elevator has completed the move before doing anything else local.elepos = 0 // it seems the elevator is down now, so we set the local.elepos to 1 goto elevator_standby // Jumps back to the standby part of the script waiting user to activate the trigger //-----------------------------------------------------------> println "END THREAD: elevator_preperation" end //the end. bomb_noanimation: println "THREAD: bomb_noanimation" if (level.exploders > 0) { println (" Level exploders = " + level.exploders) for (local.i=1;local.i<level.exploders+1;local.i++) { if (local.exploder[local.i] != NIL) { local.exploder[local.i] anim stop // println (" Exploder " + local.i + " has had animation turned off") } // else // println (" WARNING -> Exploder " + local.i + " =NIL, can't have animation turned off") } } else println (" WARNING -> Level exploders = " + level.exploders) println "END THREAD: bomb_noanimation" end setup_spawnpoints: println "THREAD: setup_spawnpoints" if (level.planting_team == "allies") // check if the right team is setting the bomb { // ok spawn the allies at the bottom, and axis at the top thread spawn_alliedplayer 1 -1000 -5400 0 1000 6800 0 thread spawn_axisplayer 1 0 -550 0 1800 -1250 0 } else { // ok spawn the axis at the bottom and the allies at the top thread spawn_axisplayer 1 -1000 -5400 0 1000 6800 0 thread spawn_alliedplayer 1 0 -550 0 1800 -1250 0 } println "END THREAD: setup_spawnpoints" end spawn_alliedplayer local.num local.x1 local.y1 local.z1 local.x2 local.y2 local.z2: println ("THREAD: spawn_alliedplayer(s) " + local.num + "of @ " + local.x1 + "," + local.y1 + "," + local.z1 + "," + local.x2 + "," + local.y2 + "," + local.z2) local.x = local.x1 local.y = local.y1 local.z = local.z1 local.xgap = 128 local.ygap = 128 local.zgap = 128 for (local.i=1;local.i<local.num+1;local.i++) { local.origin = (local.x local.y local.z) local.alliedplayer = spawn info_player_allied local.alliedplayer.origin = self.origin local.alliedplayer.angles = self.angles local.x = local.x + local.xgap if (local.x>local.x2) { local.x=local.x1 local.z=local.z+local.zgap } local.alliedplayer[i] = spawn info_player_allied local.alliedplayer[i].origin = (local.x local.y local.z) if (local.z>local.z2) local.i=local.num+1; } println ("END THREAD: spawn_alliedplayer " + local.num) end local.alliedplayer spawn_axisplayer local.num local.x1 local.y1 local.z1 local.x2 local.y2 local.z2: println ("THREAD: spawn_axisplayer(s) " + local.num + "of @ " + local.x1 + "," + local.y1 + "," + local.z1 + "," + local.x2 + "," + local.y2 + "," + local.z2) local.x = local.x1 local.y = local.y1 local.z = local.z1 local.xgap = 128 local.ygap = 128 local.zgap = 128 for (local.i=1;local.i<local.num+1;local.i++) { local.origin = (local.x local.y local.z) local.axisplayer = spawn info_player_axis local.model local.axisdplayer.origin = local.origin local.axisplayer.angles = (0 90 0) local.x = local.x + local.xgap if (local.x>local.x2) { local.x=local.x1 local.z=local.z+local.zgap } local.alliedplayer[i] = spawn info_player_allied local.alliedplayer[i].origin = (local.x local.y local.z) if (local.z>local.z2) local.i=local.num+1 } println ("END THREAD: spawn_axisplayer " + local.num) end local.axisplayer //************************************************** ********************************** //*** displays text in the center of the screen //*** mainly used for hint text (default), but can be for anything //*** syntax -------------------------------- //*** message <string> [no hint text | non-NIL - will display, NIL - won't display] [time to leave message up, default 5 | 0 - means default] //************************************************** ********************************** objmessage local.string local.hint local.time: println ("Obj message: " + local.string) //*** check to make sure a valid string was passed if (local.string == NIL) { println "^~^~^ A non-valid string was passed for a hint-message!!" goto message_false_end } //*** check to see if they want default time if (local.time == 0 || local.time == NIL) { local.time = 5 } // dont do this, replace immediate //*** check to see if a message is already up, if so, wait till you get the goahead //while (level.objmessage_onscreen == 1) //{ // level.objmessage_waiting = 1 // wait .2 //} //*** set the waiting variables for when another message is waiting level.objmessage_onscreen = 1 level.objmessage_waiting = 0 //*** turn off the indexes incase theres a message up there huddraw_alpha 28 0 huddraw_alpha 29 0 //*** assign huddraw elements huddraw_string 28 "HINT:" huddraw_align 28 center center huddraw_rect 28 -150 50 0 0 //*** format the string local.formatted_string = waitthread global/string_format.scr::str_format local.string 47 huddraw_string 29 local.formatted_string huddraw_align 29 center center huddraw_rect 29 -100 50 0 0 //*** check to see if they want HINT to appear //*** fade the text onto the screen if (local.hint != NIL) { for (local.j = 0 ; local.j <= 1 ; local.j += .2) { huddraw_alpha 28 local.j huddraw_alpha 29 local.j waitframe } } else { for (local.k = 0 ; local.k <= 1 ; local.k += .2) { huddraw_alpha 28 0 huddraw_alpha 29 local.k waitframe } } //*** wait cycle, takes into account if another message is put up, to reset the time for (local.i = 1 ; local.i <= local.time ; local.i ++) { wait 1 //*** check to see if another message is waiting to get on the screen if (level.objmessage_waiting == 1) { goto message_abort } } //*** fade the text off the screen if (local.hint != NIL) { for (local.m = 1 ; local.m >= 0 ; local.m -= .2) { huddraw_alpha 28 local.m huddraw_alpha 29 local.m waitframe } } else { for (local.n = 1 ; local.n >= 0 ; local.n -= .2) { huddraw_alpha 28 0 huddraw_alpha 29 local.n waitframe } } message_abort: level.objmessage_onscreen = 0 end showmenu: if (level.targets_to_destroy>0) { level.objectivesleft = level.targets_to_destroy - level.targets_destroyed if (level.objectivesleft <1) level.objectivesleft = "Targets:None" else level.objectivesleft = ("ALLIED Targets left: " + level.objectivesleft) thread objmessage level.objectivesleft } if (level.targets_to_destroy2 > 0) { level.objectivesleft = level.targets_to_destroy2 - level.targets_destroyed2 if (level.objectivesleft2 <1) level.objectivesleft = "Targets:None" else level.objectivesleft = ("AXIS Targets left: " + level.objectivesleft2) thread objmessage level.objectivesleft } end ladder_control: if (level.barnladders == 0) { $barnladder1 hide $barnladder1 remove $barnladder2 hide $barnladder2 remove } end village_control: // ROAD BLOCK if ($villagestop == NULL) level.villagestops = 0 else level.villagestops = $villagestop.size println ("Level villagestops = " + level.villagestops) if (level.villagestops > 0) { level.villagestop = exec global/makearray.scr $villagestop for (local.i=1;local.i<level.villagestops+1;local.i++) { if (level.village == "1") { level.villagestop[local.i] hide level.villagestop[local.i] remove println ("Removed villagestop " + local.i) } else { level.villagestop[local.i] show level.villagestop[local.i] solid println ("Spawned villagestop " + local.i) } } } // TREES if ($villagetrees == NULL) level.hqtrees = 0 else level.hqtrees = $villagetrees.size println ("Level hqtrees = " + level.hqtrees) if (level.hqtrees > 0) { level.hqtree = exec global/makearray.scr $villagetrees for (local.i=1;local.i<level.hqtrees+1;local.i++) { if (level.showhqtrees == "0") { level.hqtree[local.i] hide level.hqtree[local.i] remove println ("Removed hqtree " + local.i) } else { level.hqtree[local.i] show level.hqtree[local.i] solid println ("Spawned hqtree " + local.i) } } } end solidify: println "THREAD: solidify" level waittill spawn self solid self disconnect_paths println "END THREAD: solidify = " // + self.targetname) end //*********************************************** // fourth thread... controls the explosion //*********************************************** planebomb: println "THREAD: planebomb" thread jitter_large 0 // do a large screen shake self playsound ("stonecrash0" + (randomint(3) + 1)) wait 0.1 self playsound ("stonecrash0" + (randomint(3) + 1)) wait 0.1 self playsound ("stonecrash0" + (randomint(3) + 1)) //local.explosion_fx = //local.explosion_sound = local.bomb_damage = 90 local.bomb_explosion_radius = 500 if (local.explosion_fx != NIL) { println " executing explosion fx" self thread spawn_fx local.explosion_fx // show an explosion } else println " bypassing explosion fx" if (local.explosion_sound != NIL) { println " executing explosion sound" self playsound local.explosion_sound // make a noise } else println " bypassing explosion sound" radiusdamage self.origin local.bomb_damage local.bomb_explosion_radius // do some damage in the local area //if (self.killarea != NIL) // self.killarea volumedamage 1000 // kill in this area self hide // remove the bomb println "END THREAD: planebomb" end flyby: //***random flyby of plane wait 30.0 flybystart: thread maps/obj/thefarm_bomber.scr::bomb 1 1 // thread global/bomber.scr::bomb 6 // thread global/bomber.scr::bomb 7 // thread global/bomber.scr::bomb 8 wait (randomint(60) + 45) goto flybystart // infinate loop end // centerprint |
Darnit, why in the hell did you post all that crap??! I got a better idea. .. how about emailing the author, and asking him/her??!
|
hmm... maybe cause i dont have the author's email
|
ST_Bazooka_Joe
do you answer every post that comes up on the screen...geeez...and on top of that...ive never seen you help anyone...just like to yourself on the screen or what...over 2000 posts....sure would like to the percentage of how many you actually helped somebody as opposed to just the crap i usually see from you..GIVE IT REST UNLESS YOU ACTUALLY HAVE AN ANSWER INSTEAD OF A HALF ASSED GUESS!!!!
|
Re: ST_Bazooka_Joe
Quote:
Do you like to see yourself be a complete moron????? Everyone's opinion counts but your's. Go back to whining about adminalliance . Strik0r i think you might need to back me up with your flame/spam technique you do so well. |
You've never seen me help anyone, maybe cuz you only have 50 posts. Try reading some of my posts, and I gurantee 75% of them are troubleshooting. So get your facts straight before you run your mouth.
|
75%
according you your own math!!!..75% of the time youve tried to help someone...thats leaves roughly just a shade over 500 posts that were basicly nothin but bull shit...of the other 1500 or so that you tried to help..being generous ...cause ive seen your help...lets say..500 times you helped someone...leaving another 1000 posts that were again bullshit...lets see now...1500 bullshit posts....even if all mine were bullshit,,,,i still need 1450 posts just to catch up with you...ROUGHLY....JUST DOIN THE MATH!!!....BUTCHER
|
Good for you. But did your 6 years of elementary school math forget about the "Offtopic B.S." forum as well??? Ahhh. . . Now keep quiet.
|
I have to say that Bazooka Joe has helped me out several times.
|
ME BE QUIET
a guy with over 2200 posts is tellin me to be quiet...OH BROTHER,,YEA OK....if the guy closed his mouth for 5 minutes hed fart his self to death..what a great site this is...lol...BUTCHER
|
No one asked you to stay. If you don't like it here, leave.
For someone who whines about someone with 2200 posts not helping other people, you don't seem to be doing much good yourself. |
hmm.. i see a bunch of replys but nothin about the subject.. interesting
anyone know if all i have to do is change that one line or do i have to change other things as well?? |
All times are GMT -6. The time now is 12:37 AM. |
Powered by vBulletin® Version 3.8.12 by ScriptzBin
Copyright ©2000 - 2025, vBulletin Solutions Inc.
© 1998 - 2007 by Rudedog Productions | All trademarks used are properties of their respective owners. All rights reserved.