main() { ambientPlay("ddocks"); setCullFog (0, 2600, .32, .36, .40, 0); maps\mp\_load::main(); maps\mp\_noprone::main(); maps\mp\_watermortars::wmortar(); maps\mp\_landmortars::lmortar(); maps\mp\Viaduct_r2_fx::main(); level._effect["gasboom"] = loadfx ("fx/explosions/fueltank_ned.efx"); level thread gascan(); level thread mortars(); level thread planes(); level thread spots(); level thread sounds(); game["allies"] = "american"; game["axis"] = "german"; game["american_soldiertype"] = "airborne"; game["american_soldiervariation"] = "normal"; game["german_soldiertype"] = "fallschirmjagergrey"; game["german_soldiervariation"] = "normal"; game["attackers"] = "allies"; game["defenders"] = "axis"; game["layoutimage"] = "Viaduct_r2"; if (getcvar("g_gametype") == "hq") //spawn radio 1 radio = spawn ("script_model", (0,0,0)); radio.origin = (2157, -209, 161); radio.angles = (0, 312, 0); radio.targetname = "hqradio"; //spawn radio 2 radio = spawn ("script_model", (0,0,0)); radio.origin = (-615, -809, 56); radio.angles = (0, 268, 0); radio.targetname = "hqradio"; //spawn radio 3 radio = spawn ("script_model", (0,0,0)); radio.origin = (3183, 235, 160); radio.angles = (0, 100, 0); radio.targetname = "hqradio"; //spawn radio 4 radio = spawn ("script_model", (0,0,0)); radio.origin = (1297, 1770, 128); radio.angles = (0, 232, 0); radio.targetname = "hqradio"; //spawn radio 5 radio = spawn ("script_model", (0,0,0)); radio.origin = (1047, -1101, 200); radio.angles = (0, 246, 0); radio.targetname = "hqradio"; //spawn radio 6 radio = spawn ("script_model", (0,0,0)); radio.origin = (-686, 802, 32); radio.angles = (0, 332, 0); radio.targetname = "hqradio"; //spawn radio 7 radio = spawn ("script_model", (0,0,0)); radio.origin = (3549, 1422, 144); radio.angles = (0, 208, 0); radio.targetname = "hqradio"; //spawn radio 8 radio = spawn ("script_model", (0,0,0)); radio.origin = (484, -1265, 96); radio.angles = (0, 260, 0); radio.targetname = "hqradio"; //spawn radio 9 radio = spawn ("script_model", (0,0,0)); radio.origin = (1644, 1628, 304); radio.angles = (0, 310, 0); radio.targetname = "hqradio"; } mortars() { level._effect["mortar_explosion"][0] = loadfx ("fx/impacts/newimps/dirthit_mortar2day.efx"); level._effect["mortar_explosion"][1] = loadfx ("fx/impacts/newimps/minefield.efx"); mortar = getentarray ("mortar","targetname"); while (1) { wait (3 + randomfloat(3)); GoodPosition = false; while (!GoodPosition) { rand = randomint(mortar.size); GoodPosition = true; players = getentarray("player", "classname"); for(i = 0; i < players.size; i++) { if (distance(mortar[rand].origin,players[i].origin) < 200) { GoodPosition = false; break; } } } mortar[rand] playsound("mortar_incoming"); wait 2; origin = mortar[rand] getorigin(); playfx (level._effect["mortar_explosion"][randomint(2)], origin); mortar[rand] playsound("mortar_explosion"); //if (distance(mortar[rand].origin,players[i].origin) < 50) //{ origin = mortar[rand] getorigin(); range = 300; maxdamage = 2000; mindamage = 50; radiusDamage(origin, 300, 2000, 50); //} } } planes() { level.PlaneSpeed = 3; stuka1 = getent ("stuka1","targetname"); stuka2 = getent ("stuka2","targetname"); stukasound = getent ("stuka_sound","targetname"); stukasound2 = getent ("stuka_sound2","targetname"); temp = getent (stuka1.target,"targetname"); stuka1.dest = temp.origin; stuka1.start = stuka1.origin; stuka1 hide(); temp = getent (stuka2.target,"targetname"); stuka2.dest = temp.origin; stuka2.start = stuka2.origin; stuka2 hide(); wait 320; while (1) { stukasound thread stukasound("dstuka2"); stuka1 thread plane_flyby("dstuka1"); wait 1; stuka2 thread plane_flyby("dstuka1"); stukasound2 thread stukasound("dstuka2"); wait 320; } } plane_flyby(sound) { if (isdefined (sound)) self playSound (sound); wait 15; self show(); self moveto(self.dest, level.PlaneSpeed, 0.1, 0.1); wait level.PlaneSpeed; self hide(); self.origin = self.start; } stukasound(sound) { wait 1; self playsound (sound); } spots() { spot1 = getent ("spot1","targetname"); spot2 = getent ("spot2","targetname"); wait 10; spot1 thread spotlight1(); wait 20; spot2 thread spotlight2(); } spotlight1() { while (1) { self rotateYaw(80,2); wait 4; self rotatePitch(-35,1); wait 2; self rotateYaw(-80,2); wait 3; self rotatePitch(25,1); wait 6; self rotatePitch(10,1); wait 4; } } spotlight2() { while (1) { self rotateYaw(-80,3); wait 5; self rotateYaw(80,6); wait 10; self rotatePitch(-20,1); wait 2; self rotateYaw(-60,3); wait 5; self rotateYaw(60,6); wait 7; self rotatePitch(20,1); wait 6; } } sounds() { radio1 = getent("radio1","targetname"); radio3 = getent("radio3","targetname"); bombers = getent("bomber","targetname"); wait 2; radio1 thread play1(); radio3 thread play3(); bombers thread play4(); } play1() { self playloopsound ("rad"); } play3() { self playloopsound ("recordingz"); } play4() { while (1) { wait (160); self playsound ("fog"); wait (30); } } //Exploding Gascan Script, created by [D]delica. //Feel free to use this, just gimme credit :) gascan() { triggers = getentarray ("gascan_trig","targetname"); for (t=0;t