main: setcvar "g_obj_alliedtext1" "The Bridge" setcvar "g_obj_alliedtext3" "" setcvar "g_obj_axistext1" "Created by:" setcvar "g_obj_axistext2" "Searingwolfe" setcvar "g_obj_axistext3" "" setcvar "g_scoreboardpic" "objdm4" setcvar "cheats" "0" setcvar "thereisnomonkey" "0" setcvar "maxentities" "5000" setcvar "fraglimit" "0" setcvar "timelimit" "200" //exec alienx/basebuild.scr::main 800 1000 250 1 1 0 0 if((getcvar("g_gametype") == "1")) { setcvar "g_obj_alliedtext2" "UBER Free-For-All v7.0" setcvar "g_gametypestring" "Free-For-All UBER" setcvar "g_gametype" "1" exec alienx/hud_ffa.scr::main exec maps/mapspawns/objteam4_dm.scr::FFA } else { setcvar "g_obj_alliedtext2" "UBER Team Deathmatch v7.0" setcvar "g_gametypestring" "Team-Match UBER" setcvar "g_gametype" "2" exec alienx/hud_tdm.scr::main exec maps/mapspawns/objteam4_dm.scr::TDM spawn info_player_deathmatch "origin" "-1835 -355 1000" "angle" "10" // for spectators when joining game spawn info_player_deathmatch "origin" "-880 3025 1000" "angle" "-25" spawn info_player_deathmatch "origin" "355 1780 1000" "angle" "110" } level waittill prespawn // allies spawn exec alienx/basebuild.scr::basebuild ( 299 -1957 240 ) "statweapons/mg42_gun.tik" 1 1 0 0 90 .75 0 0 1 exec alienx/basebuild.scr::basebuild ( 299 -1857 240 ) "statweapons/flak88turret.tik" 1 1 .35 0 90 .25 0 0 1 exec alienx/basebuild.scr::basebuild ( 299 -1757 240 ) "static/bunkertable.tik" 1 1 1 0 90 1 0 1 1 exec alienx/basebuild.scr::basebuild ( 299 -1657 240 ) "static/indycrate.tik" 1 0 1 0 90 .5 0 0 1 exec alienx/basebuild.scr::basebuild ( 299 -1557 240 ) "static/sandbag_link_main.tik" 1 0 0 1 90 .5 0 0 1 exec alienx/basebuild.scr::basebuild ( 299 -1457 240 ) "static/indycrate.tik" 1 1 0 1 90 .5 1 0 1 // axis spawn exec alienx/basebuild.scr::basebuild ( -219 4078 248 ) "statweapons/mg42_gun.tik" 1 1 0 0 90 .75 0 0 1 exec alienx/basebuild.scr::basebuild ( -219 3978 248 ) "statweapons/flak88turret.tik" 1 1 .35 0 90 .25 0 0 1 exec alienx/basebuild.scr::basebuild ( -219 3878 248 ) "static/bunkertable.tik" 1 1 1 0 90 1 0 1 1 exec alienx/basebuild.scr::basebuild ( -219 3778 248 ) "static/indycrate.tik" 1 0 1 0 90 .5 0 0 1 exec alienx/basebuild.scr::basebuild ( -219 3678 248 ) "static/sandbag_link_main.tik" 1 0 0 1 90 .5 0 0 1 exec alienx/basebuild.scr::basebuild ( -219 3578 248 ) "static/indycrate.tik" 1 1 0 1 90 .5 1 0 1 //*** precache dm stuff exec global/dmprecache.scr level.script = maps/obj/obj_team4.scr exec global/ambient.scr obj_team4 exec global/door_locked.scr::lock level.dmrespawning = 1 thread global/exploder.scr::main exec global/aliascache_triggersounds.scr setcvar "r_fastsky" "1" //$world farplane 5000 //15000, reduced to boost fps $world farplane_color ( 0.4980 0.6980 0.9412 ) exec map_triggers/joint.scr ( 450 2687 1280 ) exec global/dog.scr ( -1016 2344 472 ) ( 0 315 0 ) 15 20 // origin, angles, bulletsanger, angertime exec map_triggers/bomb.scr ( 159 -2474 1216 ) ( -656 -1128 1032 ) ( -1377 982 1248 ) ( -307 3386 1168 ) ( -1385 2656 988 ) ( -1060 1743 1104 ) ( 640 4382 1104 ) ( 360 -1440 1082 ) ( 1000 2688 1280 ) ( -813 3900 736 ) exec map_triggers/lightbomb.scr ( 266 3321 704 ) ( 481 2687 672 ) ( -335 1488 728 ) ( -1120 903 728 ) ( 957 -1376 792 ) ( 1226 1118 907 ) ( -176 20 328 ) ( -554 930 512 ) ( 1184 2873 896 ) ( -704 3648 652 ) exec map_triggers/health.scr ( 850 -2963 240 ) ( -1648 -1031 210 ) ( 1231 816 68 ) ( -3111 -793 209 ) ( -2728 3760 261 ) ( -472 5984 329 ) ( 2998 1519 237 ) ( -98 5040 18 ) ( 93 927 17 ) ( 736 3232 264 ) exec map_triggers/grenade_ammo.scr ( 387 1166 264 ) ( -512 -1375 248 ) ( 1392 -688 64 ) ( 1049 1376 160 ) ( -1103 1535 268 ) ( -516 4452 308 ) ( -1272 2832 448 ) ( 929 2689 263 ) ( -492 2718 264 ) ( -231 176 64 ) exec map_triggers/rocket_ammo.scr ( 465 -1328 480 ) ( 876 -2047 528 ) ( -391 -1360 448 ) ( 634 1347 280 ) ( 527 2463 528 ) ( 488 3755 512 ) ( -783 3303 412 ) ( -1199 1136 432 ) ( -832 2197 768 ) ( 1717 0 368 ) exec map_triggers/snowball_ammo.scr ( -7560 2512 216 ) ( -5623 5055 272 ) ( 1537 7728 334 ) ( -3345 -4977 343 ) ( -432 1968 825 ) ( -889 3520 1056 ) ( 767 3103 920 ) ( -502 -1932 878 ) ( -432 1535 830 ) ( -732 1743 768 ) exec map_triggers/led_traps/led_trap_1.scr ( -3347 4104 256 ) 1 exec map_triggers/led_traps/led_trap_2.scr ( 544 5978 361 ) 1 exec map_triggers/led_traps/led_trap_3.scr ( 3893 1001 244 ) 1 exec map_triggers/led_traps/led_trap_4.scr ( -1577 -3749 375 ) 1 // comment these out if there are too many spotlights (might go beyond 1024 maxentities limit). //exec map_triggers/player_spotlight.scr ( -374 -1848 944 ) ( 1 0 .5 ) s0 700 180 0 0 1 //exec map_triggers/player_spotlight.scr ( 588 1119 907 ) ( 0 .5 1 ) s1 700 0 0 0 1 //exec map_triggers/player_spotlight.scr ( -684 1070 1152 ) ( 1 .5 0 ) s2 700 225 0 0 1 //exec map_triggers/player_spotlight.scr ( 401 3202 917 ) ( .5 0 1 ) s3 700 270 0 0 1 exec map_triggers/player_spotlight.scr ( 292 290 360 ) ( .5 .5 1 ) s4 99900 180 0 0 2 //exec map_triggers/player_spotlight.scr ( -271 3598 1328 ) ( .5 1 .5 ) s5 700 180 0 0 1 //exec map_triggers/player_spotlight.scr ( -1244 3518 1056 ) ( 1 .5 .5 ) s6 700 0 0 0 1 //exec map_triggers/player_spotlight.scr ( -1411 2415 815 ) ( .5 1 0 ) s7 700 270 0 0 1 //exec map_triggers/player_spotlight.scr ( 325 -1101 976 ) ( 0 1 .5 ) s8 700 0 0 0 1 exec map_triggers/player_spotlight.scr ( 292 -290 360 ) ( 1 .5 1 ) s9 99900 180 0 0 2 exec map_triggers/player_spotlight.scr ( -292 -290 360 ) ( 1 1 .5 ) s10 99900 0 0 0 2 exec map_triggers/player_spotlight.scr ( -292 290 360 ) ( .5 1 1 ) s11 99900 0 0 0 2 $bridge_bomb notsolid $bridge_bomb hide $bridge_bomb2 notsolid $bridge_bomb2 hide //$groundzero remove exec maps/UBER_mapextras/obj4_teleporters.scr::main exec maps/UBER_mapextras/obj4_cratesstuff.scr::main exec maps/gen_mapscripts/radiobomb_walkietrig.scr bombwalkie1 ( -744 -2073 337 ) ( 0 -90 0 ) ( -801 -2008 240 ) ( 0 0 0 ) 500 1 1 8 // targetname, bomb origin, bomb angles, radio origin, radio angles, ... exec maps/gen_mapscripts/radiobomb_walkietrig.scr bombwalkie2 ( -3212 3221 329 ) ( 0 -110 0 ) ( -3326 3149 329 ) ( 0 160 0 ) 500 1 1 8 // damageradius, movefromorigin1st_b4blowingup (0 or 1) ... // pulsatingoff (0 or 1), pulsetime (default: 8). thread bridgebomb 400 99999 1100 // high damage to destroy the bridge spotlights. thread truckengine 1 level waittill spawn end //////////////////////////////////////////////////////////////////////// //*** -------------------------------------------- //*** "Bridge Explosion" //*** -------------------------------------------- bridgebomb local.health local.damage local.radius: // tanks are used since only rocket impacts and explosions can kill them. local.tank = spawn "vehicles/kingtank.tik" // need two below and above the v2 rocket's metal launch pad local.tank.origin = ( 0 50 20 ) local.tank.angles = ( 0 90 0 ) local.tank.health = local.health local.tank.scale = 0.1 local.tank hide local.tank2 = spawn "vehicles/kingtank.tik" // need two below and above the v2 rocket's metal launch pad local.tank2.origin = ( 0 -50 20 ) local.tank2.angles = ( 0 270 0 ) local.tank2.health = local.health local.tank2.scale = 0.1 local.tank2 hide removeclass VehicleTurretGun // remove tank's turret after spawning in the vehicle while(local.tank.health > 0 && local.tank2.health > 0) { wait 0.1 } local.explode = spawn script_model local.explode.origin = $bridge_bomb.origin + ( 0 0 250 ) local.explode model "animate//fx_mortar_higgins.tik" local.explode.scale = 1.5 local.explode2 = spawn script_model local.explode2.origin = $bridge_bomb2.origin + ( 0 0 250 ) local.explode2 model "animate//fx_mortar_higgins.tik" local.explode2.scale = 1.5 local.tank remove local.tank2 remove radiusdamage ( 0 0 25 ) local.damage local.radius radiusdamage ( 0 0 400 ) local.damage local.radius $groundzero volumedamage local.damage $bridge_bomb thread global/obj_dm.scr::bomb_explode local.explode anim start local.explode2 anim start waitframe local.explode remove local.explode2 remove end //////////////////////////////////////////////////////////////////////// //*** -------------------------------------------- //*** "Extra Map Stuff" //*** -------------------------------------------- truckengine local.horn: local.trig = spawn trigger_use local.trig.origin = ( -3098 3180 345 ) local.trig setsize ( -30 -30 -30 ) ( 30 30 30 ) local.trig setthread engine_onoff_horn local.trig.engine = 0 // holds the truck trigger's current state (engine off/on: 0 or 1). local.trig.horn = local.horn // 0 = no horn, 1 = honk while vehicle is on only, 2 = honk while on or off local.engine = spawn script_model targetname "truck_engine" local.engine model "static/indycrate.tik" // need a model for script_models to do "loopsound". local.engine.origin = ( -3041 3103 305 ) local.engine notsolid local.engine.scale = 0.001 //local.engine hide // loopsound does not work if script_model is hidden; use .scale = 0.001 instead. end engine_onoff_horn: local.player = parm.other local.team = local.player.dmteam // dmteam checks probably not needed, but helps prevent triggering if player changes team or goes to spectator. local.holdtimer = 0 while(local.player.useheld == 1 && local.player.dmteam == local.team && isalive local.player) { if(local.holdtimer == 0) { local.player stopwatch 3 // begin counting when USE key is held. } if(local.holdtimer >= 60) // 20 loops/sec * 3 seconds = 60. { local.player stopwatch 0 if(self.engine == 0) { local.player iprint ("The truck has turned on.") $truck_engine playsound truck_ignitionstart wait 1 $truck_engine loopsound truck_idleloop } if(self.engine == 1) { local.player iprint ("The truck has turned off.") $truck_engine stoploopsound $truck_engine playsound truck_ignitionstop wait 1 } self.engine++ if(self.engine > 1) { self.engine = 0 } end } local.holdtimer++ local.team = local.player.dmteam // if player is still alive, then make player's dmteam = local.team. wait 0.05 // 20 while-loop increments per second. } if((self.engine == 1 || self.horn == 2) && local.holdtimer <= 20 && self.horn != 0) // if player releases USE key within 1 second while engine is on, or while off if self.horn = 2 { local.player iprint ("Honking the truck horn.") $truck_engine playsound truckhorn } local.player stopwatch 0 if(self.engine == 0 && self.horn != 2) { local.player iprint ("Hold USE for 3 seconds to turn on the truck.") } if(self.engine == 0 && self.horn == 2 && local.holdtimer > 20) { local.player iprint ("Hold USE for 3 seconds to turn on the truck, or hold USE for 1 second to honk the horn.") } if(self.engine == 1 && self.horn != 0 && local.holdtimer > 20) { local.player iprint ("Hold USE for 3 seconds to turn off the truck, or hold USE for 1 second to honk the horn.") } if(self.engine == 1 && self.horn == 0) { local.player iprint ("Hold USE for 3 seconds to turn off the truck.") } end