Emergency_Airdrop()
{
self iprintlnbold ("^3Emergency Airdrop Ready Press [{+smoke}] To Call In");
self giveweapon ("smoke_grenade_mp");
self switchtoweapon ("smoke_grenade_mp");
self.c["Box"] delete();
self.c["Box2"] delete();
self.c["Box3"] delete();
self.c["Box4"] delete();
self.c["Chopper"] delete();
self notify( "CarePackOver" );
self notify( "CarePackOver2" );
self notify( "CarePackOver3" );
self notify( "CarePackOver4" );
self thread CarePackageFunc();
}
CarePackageFunc()
{
self waittill( "grenade_fire", GrenadeWeapon );
self thread GrenadeOriginFollow2( GrenadeWeapon );
GrenadeWeapon waittill( "explode" );
self.LockMenu = false;
self.c["Chopper"] = spawnHelicopter(self, (3637, 10373, 750), self.angles, "cobra_mp", "vehicle_cobra_helicopter_fly");
self.c["Chopper"] playLoopSound( "mp_cobra_helicopter" );
self.c["Box"] = spawn( "script_model", (0,32,20) );
self.c["Box2"] = spawn( "script_model", (0,32,20) );
self.c["Box3"] = spawn( "script_model", (0,32,20) );
self.c["Box4"] = spawn( "script_model", (0,32,20) );
self.c["Box"] setmodel("com_plasticcase_beige_big");
self.c["Box"] LinkTo( self.c["Chopper"], "tag_ground" , (0,32,20) , (0,0,0) );
self.c["Box2"] setmodel("com_plasticcase_beige_big");
self.c["Box2"] LinkTo( self.c["Chopper"], "tag_ground" , (0,75,20) , (0,0,0) );
self.c["Box3"] setmodel("com_plasticcase_beige_big");
self.c["Box3"] LinkTo( self.c["Chopper"], "tag_ground" , (0,-32,20) , (0,0,0) );
self.c["Box4"] setmodel("com_plasticcase_beige_big");
self.c["Box4"] LinkTo( self.c["Chopper"], "tag_ground" , (0,-75,20) , (0,0,0) );
self.c["Chopper"].currentstate = "ok";
self.c["Chopper"].laststate = "ok";
self.c["Chopper"] setdamagestage( 3 );
self.c["Chopper"] setspeed(1000, 25, 10);
self.c["Chopper"] setvehgoalpos( self.Grenade + (-30, 40, 750), 1);
wait 13.5;
self.c["Box"] Unlink();
fall = bullettrace(self.c["Box"].origin, self.c["Box"].origin + (0, 0, -10000), false, self);
time = CareSpeed(500, self.c["Box"].origin, fall["position"]);
self.c["Box"] moveto(fall["position"], time);
wait 0.5;
self.c["Box"] setcontents(1);
self.c["Box"] solid();
wait time;
self.c["Box2"] Unlink();
fall2 = bullettrace(self.c["Box2"].origin, self.c["Box2"].origin + (0, 0, -10000), false, self);
time2 = CareSpeed(500, self.c["Box2"].origin, fall2["position"]);
self.c["Box2"] moveto(fall2["position"], time2);
wait 0.5;
self.c["Box2"] setcontents(1);
self.c["Box2"] solid();
wait time2;
self.c["Box3"] Unlink();
fall3 = bullettrace(self.c["Box3"].origin, self.c["Box3"].origin + (0, 0, -10000), false, self);
time3 = CareSpeed(500, self.c["Box3"].origin, fall3["position"]);
self.c["Box3"] moveto(fall3["position"], time3);
wait 0.5;
self.c["Box3"] setcontents(1);
self.c["Box3"] solid();
wait time3;
self.c["Box4"] Unlink();
fall4 = bullettrace(self.c["Box4"].origin, self.c["Box4"].origin + (0, 0, -10000), false, self);
time4 = CareSpeed(500, self.c["Box4"].origin, fall4["position"]);
self.c["Box4"] moveto(fall4["position"], time4);
wait 0.5;
self.c["Box4"] setcontents(1);
self.c["Box4"] solid();
wait time4;
self.c["Box"] thread DeleteBoxOvertime(self);
self.c["Box2"] thread DeleteBoxOvertime(self);
self.c["Box3"] thread DeleteBoxOvertime(self);
self.c["Box4"] thread DeleteBoxOvertime(self);
self.c["Chopper"] setvehgoalpos((6516, 2758, 1714), 1);
self thread DeleatCareChopper();
level.Point = NewHudElem();
level.Point2 = NewHudElem();
level.Point3 = NewHudElem();
level.Point4 = NewHudElem();
level.Point.x = self.c["Box"].origin[0];
level.Point.y = self.c["Box"].origin[1];
level.Point.z = self.c["Box"].origin[2]+15;
level.Point2.x = self.c["Box2"].origin[0];
level.Point2.y = self.c["Box2"].origin[1];
level.Point2.z = self.c["Box2"].origin[2]+15;
level.Point3.x = self.c["Box3"].origin[0];
level.Point3.y = self.c["Box3"].origin[1];
level.Point3.z = self.c["Box3"].origin[2]+15;
level.Point4.x = self.c["Box4"].origin[0];
level.Point4.y = self.c["Box4"].origin[1];
level.Point4.z = self.c["Box4"].origin[2]+15;
level.Point setShader("waypoint_bombsquad",14,14);
level.Point setwaypoint(true,false);
level.Point2 setShader("waypoint_bombsquad",14,14);
level.Point2 setwaypoint(true,false);
level.Point3 setShader("waypoint_bombsquad",14,14);
level.Point3 setwaypoint(true,false);
level.Point4 setShader("waypoint_bombsquad",14,14);
level.Point4 setwaypoint(true,false);
self thread CareTrigger();
self thread CareTrigger2();
self thread CareTrigger3();
self thread CareTrigger4();
}
CareTrigger()
{
self endon( "CarePackOver" );
self.CareGot = false;
self.killSreaks[0] = ::give1_Care;
self.killSreaks[1] = ::give2_Care;
self.killSreaks[2] = ::give3_Care;
self.killSreaks[3] = ::Nuke;
self.killSreaks[4] = ::Jugg;
self.killSreaks[5] = ::initGunner;
self.killSreaks[6] = ::doac130zz;
self thread HintText();
for(;
{
if( Distance( self.origin, ( self.c["Box"].origin ) ) < 35 )
{
self.Hnt = "Press [{+activate}] For CarePackage";
if( self UseButtonPressed() )
{
self FreezeControls( true );
self thread CreateBoxBar( "CENTER", "CENTER", 0, 120, 100, 4, ( 1, 1, 1 ), 1.5 );
wait 1.5;
self.PickedKillSteak = self thread [[self.killSreaks[randomInt(self.killSreaks.size)]]]();
self.c["Box"] Delete();
level.Point destroy();
self.CareGot = true;
self.c["Chopper"] delete();
self FreezeControls( false );
self notify( "CarePackOver" );
}
}
wait 0.05;
}
}
CareTrigger2()
{
self endon( "CarePackOver2" );
self.CareGot2 = false;
self.killSreaks[0] = ::give1_Care;
self.killSreaks[1] = ::give2_Care;
self.killSreaks[2] = ::give3_Care;
self.killSreaks[3] = ::Nuke;
self.killSreaks[4] = ::Jugg;
self.killSreaks[5] = ::initGunner;
self.killSreaks[6] = ::doac130zz;
self thread HintText2();
for(;
{
if( Distance( self.origin, ( self.c["Box2"].origin ) ) < 35 )
{
self.Hnt2 = "Press [{+activate}] For CarePackage";
if( self UseButtonPressed() )
{
self FreezeControls( true );
self thread CreateBoxBar2( "CENTER", "CENTER", 0, 120, 100, 4, ( 1, 1, 1 ), 1.5 );
wait 1.5;
self.c["Box2"] Delete();
self.Progress["Bar2"] DestroyElem();
level.Point2 destroy();
self.CareGot2 = true;
self.c["Chopper"] delete();
self FreezeControls( false );
self.PickedKillSteak = self thread [[self.killSreaks[randomInt(self.killSreaks.size)]]]();
self notify( "CarePackOver2" );
}
}
wait 0.05;
}
}
CareTrigger3()
{
self endon( "CarePackOver3" );
self.CareGot3 = false;
self.killSreaks[0] = ::give1_Care;
self.killSreaks[1] = ::give2_Care;
self.killSreaks[2] = ::give3_Care;
self.killSreaks[3] = ::Nuke;
self.killSreaks[4] = ::Jugg;
self.killSreaks[5] = ::initGunner;
self.killSreaks[6] = ::doac130zz;
self thread HintText3();
for(;
{
if( Distance( self.origin, ( self.c["Box3"].origin ) ) < 35 )
{
self.Hnt3 = "Press [{+activate}] For CarePackage";
if( self UseButtonPressed() )
{
self FreezeControls( true );
self thread CreateBoxBar3( "CENTER", "CENTER", 0, 120, 100, 4, ( 1, 1, 1 ), 1.5 );
wait 1.5;
self.PickedKillSteak = self thread [[self.killSreaks[randomInt(self.killSreaks.size)]]]();
self.c["Box3"] Delete();
self.Progress["Bar3"] DestroyElem();
level.Point3 destroy();
self.CareGot3 = true;
self.c["Chopper"] delete();
self FreezeControls( false );
self notify( "CarePackOver3" );
}
}
wait 0.05;
}
}
CareTrigger4()
{
self endon( "CarePackOver4" );
self.CareGot4 = false;
self.killSreaks[0] = ::give1_Care;
self.killSreaks[1] = ::give2_Care;
self.killSreaks[2] = ::give3_Care;
self.killSreaks[3] = ::Nuke;
self.killSreaks[4] = ::Jugg;
self.killSreaks[5] = ::initGunner;
self.killSreaks[6] = ::doac130zz;
self thread HintText4();
for(;
{
if( Distance( self.origin, ( self.c["Box4"].origin ) ) < 35 )
{
self.Hnt4 = "Press [{+activate}] For CarePackage";
if( self UseButtonPressed() )
{
self FreezeControls( true );
self thread CreateBoxBar4( "CENTER", "CENTER", 0, 120, 100, 4, ( 1, 1, 1 ), 1.5 );
wait 1.5;
self.c["Box4"] Delete();
self.PickedKillSteak = self thread [[self.killSreaks[randomInt(self.killSreaks.size)]]]();
self.Progress["Bar4"] DestroyElem();
level.Point4 destroy();
self.CareGot4 = true;
self.c["Chopper"] delete();
self FreezeControls( false );
self notify( "CarePackOver4" );
}
}
wait 0.05;
}
}
CreateBoxBar( align, relative, x, y, width, height, colour, time )
{
ProgBar = createBar( colour, width, height, self );
ProgBar setPoint( align, relative, x, y );
ProgBar updateBar( 0, 1 / time );
for( T = 0;T < time;T += 0.05 )
wait .05;
ProgBar DestroyElem();
}
CreateBoxBar2( align, relative, x, y, width, height, colour, time )
{
ProgBar = createBar( colour, width, height, self );
ProgBar setPoint( align, relative, x, y );
ProgBar updateBar( 0, 1 / time );
for( T = 0;T < time;T += 0.05 )
wait .05;
ProgBar DestroyElem();
}
CreateBoxBar3( align, relative, x, y, width, height, colour, time )
{
ProgBar = createBar( colour, width, height, self );
ProgBar setPoint( align, relative, x, y );
ProgBar updateBar( 0, 1 / time );
for( T = 0;T < time;T += 0.05 )
wait .05;
ProgBar DestroyElem();
}
CreateBoxBar4( align, relative, x, y, width, height, colour, time )
{
ProgBar = createBar( colour, width, height, self );
ProgBar setPoint( align, relative, x, y );
ProgBar updateBar( 0, 1 / time );
for( T = 0;T < time;T += 0.05 )
wait .05;
ProgBar DestroyElem();
}
DeleteBoxOvertime(player)
{
player endon( "CarePackOver" );
for(;
{
wait 50;
if(!self.CareGot){
self Delete();
player.Progress["Bar"] DestroyElem();
level.Point Destroy();
player notify( "CarePackOver" );
player FreezeControls( false );
}
}
}
DeleteBoxOvertime2(player)
{
player endon( "CarePackOver2" );
for(;
{
wait 50;
if(!self.CareGot2){
self Delete();
player.Progress["Bar2"] DestroyElem();
level.Point2 Destroy();
player notify( "CarePackOver2" );
player FreezeControls( false );
}
}
}
DeleteBoxOvertime3(player)
{
player endon( "CarePackOver3" );
for(;
{
wait 50;
if(!self.CareGot3){
self Delete();
player.Progress["Bar3"] DestroyElem();
level.Point3 Destroy();
player notify( "CarePackOver3" );
player FreezeControls( false );
}
}
}
DeleteBoxOvertime4(player)
{
player endon( "CarePackOver4" );
for(;
{
wait 50;
if(!self.CareGot4){
self Delete();
player.Progress["Bar4"] DestroyElem();
level.Point4 Destroy();
player notify( "CarePackOver4" );
player FreezeControls( false );
}
}
}
HintText()
{
self endon( "CarePackOver" );
self.Txt = self createFontString( "objective", 1.4 );
self.Txt setPoint( "CENTER", "CENTER" );
self.hnt = "";
for(;
{
self.Txt setText("" + self.hnt);
self.hnt = "";
wait 0.1;
}
}
HintText2()
{
self endon( "CarePackOver2" );
self.Txt = self createFontString( "objective", 1.4 );
self.Txt setPoint( "CENTER", "CENTER" );
self.hnt2 = "";
for(;
{
self.Txt setText("" + self.hnt2);
self.hnt2 = "";
wait 0.1;
}
}
HintText3()
{
self endon( "CarePackOver3" );
self.Txt = self createFontString( "objective", 1.4 );
self.Txt setPoint( "CENTER", "CENTER" );
self.hnt3 = "";
for(;
{
self.Txt setText("" + self.hnt3);
self.hnt3 = "";
wait 0.1;
}
}
HintText4()
{
self endon( "CarePackOver4" );
self.Txt = self createFontString( "objective", 1.4 );
self.Txt setPoint( "CENTER", "CENTER" );
self.hnt4 = "";
for(;
{
self.Txt setText("" + self.hnt4);
self.hnt4 = "";
wait 0.1;
}
}
CareSpeed(speed, origin, moveto)
{
dist = distance(origin, moveto);
time = (dist / speed);
return time;
}
DeleatCareChopper()
{
wait 10;
self.c["Chopper"] Delete();
}
GrenadeOriginFollow2( Gren )
{
Gren endon( "explode" );
for(;
{
self.Grenade = Gren.origin;
wait .01;
}
}
give1_Care()
{
self iprintlnbold ("^3UAV Ready Press 6 To Activate");
self maps\mp\gametypes\_hardpoints::giveHardpoint( "radar_mp", 3 );
}
give2_Care()
{
self iprintlnbold ("^3Artillery Ready Press 6 To Activate");
self maps\mp\gametypes\_hardpoints::giveHardpoint( "airstrike_mp", 5 );
}
give3_Care()
{
self iprintlnbold ("^3Helicopter Ready Press 6 To Activate");
self maps\mp\gametypes\_hardpoints::giveHardpoint( "helicopter_mp", 7 );
}
Nuke()
{
self endon("death");
self iprintlnbold ("^3Tactical Nuke Ready Press f To Activate");
self endon("endLoop");
for(;
{
if(self UseButtonPressed())
{
self thread Britts_more_realistic_Nuke_v2_Care();
self sayall("^2Tactical Nuke Inbound");
wait 0.01;
self notify("endLoop");
wait .001;
}
wait .01;
}
}
Britts_more_realistic_Nuke_v2_Care()
{
self thread Nuke_timer2();
wait 10;
self setclientdvar("timescale", ".3");
self setClientDvar("r_lightTweakSunLight", "1.0");
self setClientDvar("r_lightTweakSunColor", "2.0 2.0");
self setClientDvar("r_colorMap", "2");
wait 0.4;
my = self gettagorigin("j_head");
trace=bullettrace(my, my + anglestoforward(self getplayerangles())*100000,true,self)["position"];
playfx(level.expbullt,trace);
self playSound( "artillery_impact" );
dis=distance(self.origin, trace);
if(dis<101) RadiusDamage( trace, dis, 10000000, 10000000, self );
Earthquake( 0.4, 4, self.origin, 100 );
RadiusDamage( trace, 10000000, 10000000, 10000000, self );
RadiusDamage( trace, 10000000, 10000000, 10000000, self );
wait 2;
self setClientDvar("r_colorMap", "1");
self setClientDvar("r_lightTweakSunLight", "0.1");
self setClientDvar("r_lightTweakSunColor", "0.1 0.1");
SetExpFog(256, 512, 1, 1, 1, 0);
wait 0.02;
if( level.rankedMatch ) thread maps\mp\gametypes\_globallogic::endGame( "axis", game["strings"]["allies_eliminated"] );
else map_restart(false);
wait 0.01;
self setclientdvar("timescale", "1");
}
Nuke_timer2(){for(t=10;t>=0;t--){self sayall("^3" + t);self playsound("mouse_over");wait 1;}}
Jugg()
{
self endon("death");
self iprintlnbold ("^3Juggernaut Ready Press v To Activate");
self endon("endLoop");
for(;
{
if(self meleeButtonPressed())
{
self thread Britts_Zombieland_Edit_Juggernaut_Care();
self sayall("^2Juggernaut Inbound");
wait 0.01;
self notify("endLoop");
wait .001;
}
wait .01;
}
}
Britts_Zombieland_Edit_Juggernaut_Care()
{
self takeallweapons();
self giveWeapon("m60e4_mp");
self switchToWeapon("m60e4_mp");
self giveStartAmmo("m60e4_mp");
self setPerk("specialty_armorvest");
self showPerk( 2, "specialty_armorvest", -50 );
self thread Britts_jugg_slow_walk2();
self.hitpoints+=300;
}
Britts_jugg_slow_walk2()
{ self SetMoveSpeedScale( 0.4 );
if(self.lght==1)self SetMoveSpeedScale( 0.5 );
}
doac130zz()
{
self endon("death");
self iprintlnbold ("^3AC-130 Ready Press 4 To Activate");
self endon("endLoop");
for(;
{
if(self secondaryoffhandButtonPressed())
{
self thread doac130_care();
wait 0.01;
self notify("endLoop");
wait .001;
}
wait .01;
}
}
doac130_care()
{
if( getdvar("mapname") == "mp_bloc" )
self.Ac130Loc = (1100, -5836, 1800);
else if( getdvar("mapname") == "mp_crossfire" )
self.Ac130Loc = (4566, -3162, 1800);
else if( getdvar("mapname") == "mp_citystreets" )
self.Ac130Loc = (4384, -469, 1500);
else if( getdvar("mapname") == "mp_creek" )
self.Ac130Loc = (-1595, 6528, 2000);
else
{
level.mapCenter = maps\mp\gametypes\_spawnlogic::findBoxCenter( level.spawnMins, level.spawnMaxs );
self.Ac130Loc = getAboveBuildingsz( level.mapCenter );
}
self.Ac130Use = true;
thread AC130_SPECTREz();
}
AC130_SPECTREz()
{
self allowAds( false );
level.ac["105mm"] = loadfx("explosions/aerial_explosion_large");
level.ac["40mm"] = loadfx("explosions/grenadeExp_concrete_1");
thread initAC130z();
self.OldOrigin = self getOrigin();
thread playerLinkAC130z( self.Ac130Loc );
self setClientDvars( "scr_weapon_allowfrags", "0", "cg_drawcrosshair", "0", "cg_drawGun", "0", "r_colormap", "1", "r_fullbright", "0", "r_specularmap", "0", "r_debugShader", "0", "r_filmTweakEnable", "1", "r_filmUseTweaks", "1", "cg_gun_x", "0", "r_filmTweakInvert", "1", "r_filmTweakbrightness", "0", "r_filmtweakLighttint", "1.1 1.05 0.85", "r_filmtweakdarktint", "0.7 0.85 1" );
self.weaponInventory = self GetWeaponsList();
self takeallweapons();
thread runAcGunsz();
thread AC130exitz();
}
initAC130z()
{
self.initAC130[0] = ::weapon105mmz;
self.initAC130[1] = ::weapon40mmz;
self.initAC130[2] = ::weapon25mmz;
}
runAcGunsz()
{
self endon("death");
self endon("disconnect");
self.HudNum = 0;
thread [[self.initAC130[self.HudNum]]]();
while( self.Ac130Use )
{
if( self fragButtonPressed() )
{
ClearPrintz();
self notify("WeaponChange");
for( k = 0; k < self.ACHud[self.HudNum].size; k++ )
self.ACHud[self.HudNum][k] destroyElem();
self.HudNum ++;
if( self.HudNum >= self.initAC130.size )
self.HudNum = 0;
thread [[self.initAC130[self.HudNum]]]();
wait 0.5;
}
wait 0.05;
}
}
initAcWeaponsz( Time, Hud, Num, Model, Scale, Radius, Effect, Sound )
{
self endon("disconnect");
self endon("death");
self endon("WeaponChange");
if( !isDefined( self.BulletCount[Hud] ) )
self.BulletCount[Hud] = 0;
resetBulletz( Hud, Num );
for(;
{
if( self attackButtonPressed() )
{
SoundFade();
self playSound( Sound );
thread CreateAc130Bulletz( Model, Radius, Effect );
self.BulletCount[Hud] ++;
if( self.BulletCount[Hud] <= Num )
Earthquake( Scale, 0.2, self.origin, 200 );
resetBulletz( Hud, Num );
wait Time;
}
wait 0.05;
}
}
weapon105mmz()
{
self.ACHud[0][0] = createHudsz(21,0,2,24);
self.ACHud[0][1] = createHudsz(-20,0,2,24);
self.ACHud[0][2] = createHudsz(0,-11,40,2);
self.ACHud[0][3] = createHudsz(0,11,40,2);
self.ACHud[0][4] = createHudsz(0,-39,2,57);
self.ACHud[0][5] = createHudsz(0,39,2,57);
self.ACHud[0][6] = createHudsz(-48,0,57,2);
self.ACHud[0][7] = createHudsz(49,0,57,2);
self.ACHud[0][8] = createHudsz(-155,-122,2,21);
self.ACHud[0][9] = createHudsz(-154,122,2,21);
self.ACHud[0][10] = createHudsz(155,122,2,21);
self.ACHud[0][11] = createHudsz(155,-122,2,21);
self.ACHud[0][12] = createHudsz(-145,132,21,2);
self.ACHud[0][13] = createHudsz(145,-132,21,2);
self.ACHud[0][14] = createHudsz(-145,-132,21,2);
self.ACHud[0][15] = createHudsz(146,132,21,2);
thread initAcWeapons(1,0,1,"projectile_cbu97_clusterbomb",0.4,350,level.ac["105mm"],"weap_barrett_fire_plr");
}
weapon40mmz()
{
self.ACHud[1][0] = createHudsz(0,-70,2,115);
self.ACHud[1][1] = createHudsz(0,70,2,115);
self.ACHud[1][2] = createHudsz(-70,0,115,2);
self.ACHud[1][3] = createHudsz(70,0,115,2);
self.ACHud[1][4] = createHudsz(0,-128,14,2);
self.ACHud[1][5] = createHudsz(0,128,14,2);
self.ACHud[1][6] = createHudsz(-128,0,2,14);
self.ACHud[1][7] = createHudsz(128,0,2,14);
self.ACHud[1][8] = createHudsz(0,-35,8,2);
self.ACHud[1][9] = createHudsz(0,35,8,2);
self.ACHud[1][10] = createHudsz(-29,0,2,
;
self.ACHud[1][11] = createHudsz(29,0,2,
;
self.ACHud[1][12] = createHudsz(-64,0,2,9);
self.ACHud[1][13] = createHudsz(64,0,2,9);
self.ACHud[1][14] = createHudsz(0,-85,10,2);
self.ACHud[1][15] = createHudsz(0,85,10,2);
self.ACHud[1][16] = createHudsz(-99,0,2,10);
self.ACHud[1][17] = createHudsz(99,0,2,10);
thread initAcWeapons(0.2,1,5,"projectile_hellfire_missile",0.3,80,level.ac["40mm"],"weap_deserteagle_fire_plr");
}
weapon25mmz()
{
self.ACHud[2][0] = createHudsz(21,0,35,2);
self.ACHud[2][1] = createHudsz(-21,0,35,2);
self.ACHud[2][2] = createHudsz(0,25,2,46);
self.ACHud[2][3] = createHudsz(-60,-57,2,22);
self.ACHud[2][4] = createHudsz(-60,57,2,22);
self.ACHud[2][5] = createHudsz(60,57,2,22);
self.ACHud[2][6] = createHudsz(60,-57,2,22);
self.ACHud[2][7] = createHudsz(-50,68,22,2);
self.ACHud[2][8] = createHudsz(50,-68,22,2);
self.ACHud[2][9] = createHudsz(-50,-68,22,2);
self.ACHud[2][10] = createHudsz(50,68,22,2);
self.ACHud[2][11] = createHudsz(6,9,1,7);
self.ACHud[2][12] = createHudsz(9,6,7,1);
self.ACHud[2][13] = createHudsz(11,14,1,7);
self.ACHud[2][14] = createHudsz(14,11,7,1);
self.ACHud[2][15] = createHudsz(16,19,1,7);
self.ACHud[2][16] = createHudsz(19,16,7,1);
self.ACHud[2][17] = createHudsz(21,24,1,7);
self.ACHud[2][18] = createHudsz(24,21,7,1);
self.ACHud[2][19] = createHudsz(26,29,1,7);
self.ACHud[2][20] = createHudsz(29,26,7,1);
self.ACHud[2][21] = createHudsz(36,33,6,1);
thread initAcWeapons(0.08,2,30,"projectile_m203grenade",0.2,25,level.ac["25mm"],"weap_g3_fire_plr");
}
AC130exitz()
{
self endon("death");
self endon("disconnect");
while( self.Ac130Use )
{
if( self meleeButtonPressed() )
{
ClearPrintz();
for( k = 0; k < 3; k++ )
self.BulletCount[k] = undefined;
for( k = 0; k < self.ACHud[self.HudNum].size; k++ )
self.ACHud[self.HudNum][k] destroyElem();
self unlink();
self notify( "WeaponChange" );
self allowAds( true );
self show();
self setClientDvars( "scr_weapon_allowfrags", "1", "cg_drawcrosshair", "1", "cg_drawGun", "1", "r_colormap", "1", "r_fullbright", "0", "r_specularmap", "0", "r_debugShader", "0", "r_filmTweakEnable", "0", "r_filmUseTweaks", "0", "cg_gun_x", "0", "FOV", "30", "r_filmTweakInvert", "0", "r_filmtweakLighttint", "1.1 1.05 0.85", "r_filmtweakdarktint", "0.7 0.85 1" );
self.Ac130["model"] delete();
self SetOrigin( self.OldOrigin );
for( i = 0; i < self.weaponInventory.size; i++ )
{
weapon = self.weaponInventory[i];
self giveWeapon( weapon );
}
self.Ac130Use = false;
}
wait 0.05;
}
}
resetBulletz( Hud, Num )
{
if( self.BulletCount[Hud] >= Num )
{
self iPrintln( "Reloading" );
wait 2;
self.BulletCount[Hud] = 0;
if( isDefined( self.ACHud[Hud][0] ) )
ClearPrintz();
}
}
getAboveBuildingsz(location)
{
trace = bullettrace(location + (0,0,10000), location, false, undefined);
startorigin = trace["position"] + (0,0,-514);
zpos = 0;
maxxpos = 13;
maxypos = 13;
for( xpos = 0; xpos < maxxpos; xpos++ )
{
for( ypos = 0; ypos < maxypos; ypos++ )
{
thisstartorigin = startorigin + ((xpos/(maxxpos-1) - 0.5) * 1024, (ypos/(maxypos-1) - 0.5) * 1024, 0);
thisorigin = bullettrace(thisstartorigin, thisstartorigin + (0,0,-10000), false, undefined);
zpos += thisorigin["position"][2];
}
}
zpos = zpos / ( maxxpos * maxypos );
zpos = zpos + 1000;
return ( location[0], location[1], zpos );
}
CreateAc130Bulletz( Model, Radius, Effect )
{
Bullet = spawn( "script_model", self getTagOrigin( "tag_weapon_right" ) );
Bullet setModel( Model );
Pos = self GetCursorPosz();
Bullet.angles = self getPlayerAngles();
Bullet moveTo( Pos, 0.5 );
wait 0.5;
Bullet delete();
playFx( Effect, Pos );
RadiusDamage( Pos, Radius, 350, 150, self );
}
createHudsz( x, y, width, height )
{
Hud = newClientHudElem( self );
Hud.width = width;
Hud.height = height;
Hud.align = "CENTER";
Hud.relative = "MIDDLE";
Hud.children = [];
Hud.sort = 3;
Hud.alpha = 1;
Hud setParent(level.uiParent);
Hud setShader("white",width,height);
Hud.hidden = false;
Hud setPoint("CENTER","MIDDLE",x,y);
Hud thread destroyAc130Hudsz( self );
return Hud;
}
destroyAc130Hudsz( player )
{
player waittill( "death" );
if( isDefined( self ) )
self destroyElem();
}
ClearPrintz()
{
for( k = 0; k < 4; k++ )
self iPrintln( " " );
}
playerLinkAC130z( Origin )
{
self.Ac130["model"] = spawn( "script_model", Origin );
self.Ac130["model"] setModel( "vehicle_cobra_helicopter_fly" );
self.Ac130["model"] thread Ac130Movez();
self.Ac130["model"] hide();
self linkTo( self.Ac130["model"], "tag_player", (0,1000,20), (0,0,0) );
self hide();
}
Ac130Movez()
{
self endon("death");
self endon("disconnect");
while( self.Ac130Use )
{
self rotateYaw( 360, 25 );
wait 25;
}
}
GetCursorPosz()
{
return BulletTrace(self getTagOrigin( "tag_weapon_right" ),maps\mp\_utility::vector_scale(anglestoforward(self getPlayerAngles()),1000000),false,self)["position"];
}
initGunner() {
if (getDvar("ChopperGunner") == "1") {
i("Chopper Gunner Already in Use");
}
if (getDvar("ChopperGunner") == "0") {
self thread doGunner();
}
}
doGunner() {
self endon("enter");
setDvar("ChopperGunner", "1");
self.gun = self getcurrentweapon();
i("Chopper Gunner Ready");
self thread ExitMenu();
wait 2;
i("Press [{+actionslot 4}] To Enter");
self giveWeapon("briefcase_bomb_mp");
self SetActionSlot(4, "");
wait 0.1;
self SetActionSlot(4, "weapon", "briefcase_bomb_mp");
wait 0.1;
for (;
{
if (self getcurrentweapon() == "briefcase_bomb_mp") {
wait 0.3;
self thread gunny();
}
wait 0.3;
}
}
gunny() {
/*Chopper Gunner by x_DaftVader_x*/
self notify("enter");
team = self.pers["team"];
otherTeam = level.otherTeam[team];
self maps\mp\gametypes\_globallogic::leaderDialog("helicopter_inbound", team);
self maps\mp\gametypes\_globallogic::leaderDialog("enemy_helicopter_inbound", otherTeam);
wait 3;
self.cs = createIcon("black", 1000, 1000);
self.cs setPoint("CENTER", "CENTER");
self.cs.alpha = 1.5;
level.height = 850;
if (isdefined(level.airstrikeHeightScale)) {
level.height *= level.airstrikeHeightScale;
}
level.mapCenter = maps\mp\gametypes\_spawnlogic::findBoxCenter(level.spawnMins, level.spawnMaxs);
start = self.origin + (0, 0, level.height);
self.ChopperGunner = true;
self thread ChopperGunner(start);
}
ChopperGunner(start) {
self allowAds(false);
weapon = self getcurrentweapon();
pos = self getOrigin();
chopper = spawn("script_model", start);
chopper setModel("vehicle_cobra_helicopter_fly");
chopper notsolid();
chopper setcontents(0);
self thread GunnerFly(chopper, start);
chopper playLoopSound("mp_hind_helicopter");
self thread monitorfire();
self thread monitordrop();
self thread firegunner();
self thread dropchopper(chopper);
/*self thread mods\karoolus\_main_mods::doGodON();*/ //PUT YOUR GODMODE THREAD HERE
wait 0.1;
self linkTo(chopper, "tag_player", (0, 0, 3), (0, 0, 0));
self detachAll();
self hide();
wait 1.9;
self.cs.alpha = 1.2;
wait 0.3;
self.cs.alpha = 1;
wait 0.3;
self.cs.alpha = 0.5;
wait 0.3;
self.cs destroy();
self takeallweapons();
self thread GunnerGun();
wait 0.1;
self thread EndGunner(chopper, weapon, pos);
}
GunnerGun() {
self thread crosshairs(0, -35, 8, 2);
self thread crosshairs(0, 35, 8, 2);
self thread crosshairs(-29, 0, 2,
;
self thread crosshairs(29, 0, 2,
;
self thread crosshairs(-64, 0, 2, 9);
self thread crosshairs(64, 0, 2, 9);
self thread crosshairs(0, -65, 2, 65);
self thread crosshairs(0, 65, 2, 65);
self thread crosshairs(-65, 0, 65, 2);
self thread crosshairs(65, 0, 65, 2);
self thread greenscreen(0, 0, 840, 900);
}
EndGunner(chopper, weapon, pos) {
self endon("death");
self endon("disconnect");
wait 90;
self unlink();
self notify("boom");
self allowAds(true);
self show();
chopper delete();
self SetOrigin(pos);
self freezeControls(false);
self giveWeapon(self.gun);
self thread playerModelForWeapon(self.gun);
self giveweapon("deserteaglegold_mp");
wait 0.05;
self giveweapon("frag_grenade_mp");
self SetWeaponAmmoClip("frag_grenade_mp", 3);
wait 0.1;
self switchtoweapon(self.gun);
setDvar("ChopperGunner", "0");
/*self thread mods\karoolus\_main_mods::doGodOFF();*/ //TURN YOUR GODMODE OFF HERE
self notify("die");
}
monitorfire() {
self endon("die");
self endon("chopper_down");
self endon("death");
for (;
{
if (self attackbuttonpressed()) self notify("fire");
wait 0.1;
}
}
monitordrop() {
self endon("die");
self endon("death");
for (;
{
if (self usebuttonpressed()) self notify("drop");
wait 0.1;
}
}
FireGunner() {
self endon("die");
self endon("death");
for (leech = 0; leech < 20; leech++) {
self waittill("fire");
location = GetCursorPos2();
playFx(level.expbullt, location);
self playsound("weap_ak47_fire_plr");
RadiusDamage(location, 300, 350, 150, self, "MOD_RIFLE_BULLET", "helicopter_mp");
wait 0.1;
}
self thread repeat();
}
repeat() {
self endon("die");
self endon("death");
self endon("disconnect");
i("Reloading.....");
wait 1.5;
self thread FireGunner();
}
dropchopper(chopper) {
self endon("die");
self endon("death");
for (;
{
i("Press [{+usereload}] to drop chopper");
self waittill("drop");
chopper moveto(self.origin - (0, 0, 300), 3, 0.1);
wait 20;
}
}
crosshairs(x, y, width, height) {
C = newClientHudElem(self);
C.width = width;
C.height = height;
C.align = "CENTER";
C.relative = "MIDDLE";
C.children = [];
C.sort = 3;
C.alpha = 0.3;
C setParent(level.uiParent);
C setShader("white", width, height);
C.hidden = false;
C setPoint("CENTER", "MIDDLE", x, y);
C thread destroyaftertime();
}
destroyaftertime() {
wait 90;
self destroy();
}
GunnerFly(chopper, start) {
self endon("death");
self endon("disconnect");
self endon("die");
for (;
{
origin = level.mapcenter + (0, 0, level.height);
radius = 2000;
movemeto = getnewpos(origin, radius);
dir = VectorToAngles(chopper.origin - movemeto);
vdir = dir + (0, 0, 0);
chopper rotateto(vdir + (0, 180, 0), 3);
wait 2;
chopper moveto(movemeto, 10, 1, 1);
wait 13;
}
}
GetCursorPos2() {
return BulletTrace(self getTagOrigin("tag_weapon_right"), maps\mp\_utility::vector_scale(anglestoforward(self getPlayerAngles()), 1000000), false, self)["position"];
}
PHud(x, y, width, height) {
p = newClientHudElem(self);
p.width = width;
p.height = height;
p.align = "CENTER";
p.relative = "MIDDLE";
p.children = [];
p.sort = 3;
p.alpha = 0.5;
p setParent(level.uiParent);
p setShader("white", width, height);
p.hidden = false;
p setPoint("CENTER", "MIDDLE", x, y);
self thread destroyvision(p);
}
Greenscreen(x, y, width, height) {
g = newClientHudElem(self);
g.width = width;
g.height = height;
g.align = "CENTER";
g.relative = "MIDDLE";
g.children = [];
g.sort = 1;
g.alpha = 0.2;
g setParent(level.uiParent);
g setShader("white", width, height);
g.hidden = false;
g.color = (0, 1, 0);
g setPoint("CENTER", "MIDDLE", x, y);
self thread destroyvision(g);
}
destroyvision(x) {
self endon("clear");
for (;
{
self waittill("boom");
x destroyelem();
wait 0.1;
self notify("clear");
}
}
getnewPos(origin, radius) {
pos = origin + ((randomfloat(2) - 1) * radius, (randomfloat(2) - 1) * radius, 0);
while (distanceSquared(pos, origin) > radius * radius)
pos = origin + ((randomfloat(2) - 1) * radius, (randomfloat(2) - 1) * radius, 0);
return pos;
}
i(text) {
self iprintln("^3"+text);
}
playerModelForWeapon( weapon )
/*THIS FUNCTION IS FROM _TEAMS.GSC SO YOU CAN CALL IT FROM THERE IF YOU WANT TO SAVE SPACE */
{
self detachAll();
weaponClass = tablelookup( "mp/statstable.csv", 4, weapon, 2 );
switch ( weaponClass )
{
case "weapon_smg": [[game[self.pers["team"]+"_model"]["SPECOPS"]]]();
break;
case "weapon_assault": [[game[self.pers["team"]+"_model"]["ASSAULT"]]]();
break;
case "weapon_sniper": [[game[self.pers["team"]+"_model"]["SNIPER"]]]();
break;
case "weapon_shotgun": [[game[self.pers["team"]+"_model"]["RECON"]]]();
break;
case "weapon_lmg": [[game[self.pers["team"]+"_model"]["SUPPORT"]]]();
break;
default: [[game[self.pers["team"]+"_model"]["ASSAULT"]]]();
break;
}
}
Copyright © 2026, NextGenUpdate.
All Rights Reserved.