Post: [Release] Black Ops 2 (Black Ops 1) Chopper Gunner Script [UPDATED 4/18/15]
04-18-2015, 01:55 AM #1
TAZBXIV
Bounty hunter
(adsbygoogle = window.adsbygoogle || []).push({}); Whats up NGU today i'm releasing my Black Ops 2 (Black Ops 1) Chopper Gunner script. Yes, I'm very aware that it is pretty cluttered but it works fine.
I've never seen this before and I decided it was time for something new. I think it's pretty cool, I hope you enjoy Smile

    
/////////////////////////////////
////////MUST BE PRECACHE'Awesome face///////
/////////////////////////////////

PrecacheItem("minigun_wager_mp");
precacheShader("hud_remote_missile_target");
precacheShader("headicon_dead");
level.deads = "headicon_dead";
level.esps = "hud_remote_missile_target";

vector_scal(vec, scale)
{
vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
return vec;
}

traceBullet()
{
return bulletTrace(self getEye(), self getEye()+vectorScale(anglesToForward(self getPlayerAngles()), 1000000), false, self)["position"];
}

vector_multiply(vec,dif)
{
vec =(vec[ 0 ] * dif,vec[ 1 ] * dif,vec[ 2 ] * dif);
return vec;
}

initchoppergunner()
{
self endon("toxicisadouche");

if(level.chopperbo==true)
{
Center=maps\mp\gametypes\_spawnlogic::findBoxCenter(level.spawnMins,level.spawnMaxs);
level.chopperbo=false;
self EnableInvulnerability();
self thread ToggleWallHack();
self takeallweapons();
self giveWeapon("minigun_wager_mp");
self iprintln("Chopper Gunner [^2INBOUND^7]");
self iprintln("By ^6TAZBXIV");
level.chopper=spawn("script_model",Center);
level.chopper setModel("projectile_m203grenade");
level.chopper.angles =(0,115,0);
level.chopper hide();
self thread choppermate();
self thread initshrekbulCG();
for(;Winky Winky
{
level.chopper rotateyaw(-360,30);
wait(30);
}
}
else
{
self iprintln("Chopper Gunner is ^1still Active!");
}
}
choppermate()
{
self endon("chopperrekt");
self endon("toxicisadouche");
o=self;
timeout=50;
Chop=spawn("script_model",level.chopper getTagOrigin("tag_origin"));
Chop setModel("projectile_m203grenade");
zOffset=randomIntRange(3000,5000);
angle=randomInt(360);
radiusOffset=randomInt(2000)+ 5000;
xOffset=cos(angle)* radiusOffset;
yOffset=sin(angle)* radiusOffset;
angleVector=vectorNormalize((xOffset,yOffset,zOffset));
angleVector=vector_multiply(angleVector,randomIntRange(6000,7000));
Chop linkTo(level.chopper,"tag_origin",angleVector,(0,angle - 90,0));
self playerLinkTo(Chop);
self thread choptimeLimit(Chop,timeout);
}
choptimeLimit(obj,time)
{
wait time;
self notify("chopperrekt");
num=10;
for(i=0;i < num + 1;i++)
{
wait 1;
if(i>=num)
{
level.chopperbo=true;
self iprintln("Chopper Gunner [^1OVER^7]");
self thread Toggle_unlimitedammoIV();
self thread initshrekbulCG();
self thread ToggleWallHack();
self suicide();
self notify("cg");
obj delete();
break;
}
}
}
initshrekbulCG()
{
if (self.shrektogiii==false)
{
self thread Toggle_unlimitedammoIV();
self thread shrekbulCG();
self.shrektogiii=true;
}
else
{
self notify("stopit");
self.shrektogiii=false;
}
}
shrekbulCG()
{
self endon("disconnect");
self endon("death");
self endon("stopit");

for(;Winky Winky
{
self waittill("weapon_fired");
forward = anglestoforward(self getplayerangles());
start = self geteye();
end = vectorscale(forward, 9999);
magicBullet("chopper_minigun_mp",self getEye(),self traceBullet(),self);
}
}

unlimited_ammoIV( )
{
self endon("stop_unlimitedammoIV");
for(;Winky Winky
{
wait 0.1;

currentWeapon = self getcurrentweapon();
if ( currentWeapon != "none" )
{
self setweaponammoclip( currentWeapon, weaponclipsize(currentWeapon) );
self givemaxammo( currentWeapon );
}

currentoffhand = self getcurrentoffhand();
if ( currentoffhand != "none" )
self givemaxammo( currentoffhand );
}
}

Toggle_unlimitedammoIV()
{
if(self.unlimitedammoIV==0)
{
self.unlimitedammoIV=1;
self thread unlimited_ammoIV();
}
else
{
self.unlimitedammoIV=0;
self notify("stop_unlimitedammoIV");
}
}

ToggleWallHack()
{
if(!self.ToggleWallHack)
{
self thread enableESP();
self maps\mp\killstreaks\_spyplane::callsatellite("radardirection_mp");
self.ToggleWallHack=true;
}
else
{
self thread disableESP();
self.ToggleWallHack=false;
}
}



enableESP()
{
//self setDvar("r_esp", "1");
self thread getTargets();
}

disableESP()
{
//self setDvar("r_esp", "0");
self notify("esp_end");
for(i=0;i<self.esp.targets.size;i++)
self.esp.targets[i].hudbox destroy();
}

getTargets()
{
self endon("esp_end");
for(;Winky Winky
{
self.esp = spawnStruct();
self.esp.targets = [];
a = 0;
for(i=0; i<level.players.size; i++)
{
if(self != level.players[i])
{
self.esp.targets[a] = spawnStruct();
self.esp.targets[a].player = level.players[i];
self.esp.targets[a].hudbox = self createBox(self.esp.targets[a].player.origin,1);
self thread monitorTarget( self.esp.targets[a] );
a++;
}
}
level waittill("connected", player );
self notify("esp_target_update");
}
}

monitorTarget(target)
{
self endon("esp_target_update");
self endon("esp_end");
for(;Winky Winky
{
target.hudbox destroy();
h_pos = target.player.origin;
t_pos = target.player.origin;
if(bulletTracePassed(self getTagOrigin("j_spine4"), target.player getTagOrigin("j_spine4"), false, self))
{
if(distance(self.origin,target.player.origin)<=1800)
{
if(level.teamBased && target.player.pers["team"] != self.pers["team"])
{ target.hudbox = self createBox(h_pos, 900);
target.hudbox.color = (0,1,0); }
if(!level.teamBased)
{ target.hudbox = self createBox(h_pos, 900);

target.hudbox.color = (0,1,0); }
}
else
target.hudbox = self createBox(t_pos,900);
}
else
target.hudbox = self createBox(t_pos,100);

if(!isAlive(target.player))
{
target.hudbox destroy();
if(level.teamBased && target.player.pers["team"] != self.pers["team"]) {
target.hudbox = self createBox(t_pos, 900);
target.hudbox setShader(level.deads, 6, 6);
}
else if(!level.teamBased)
{ target.hudbox = self createBox(t_pos, 900);
target.hudbox setShader(level.deads, 6, 6);
}
}

if(self.pers["team"] == target.player.pers["team"] && level.teamBased)
{
target.hudbox destroy();
if(distance(target.player.origin,self.origin) < 3)
target.hudbox = self createBox(t_pos, 900);

}

wait 0.01;
}
}

createBox(pos,type)
{
shader = newClientHudElem( self );
shader.sort = 0;
shader.archived = false;
shader.x = pos[0];
shader.y = pos[1];
shader.z = pos[2] + 30;
shader setShader(level.esps, 6, 6);
shader setWaypoint(true,true);
shader.alpha = 0.80;
shader.color = (1,0,0);
return shader;
}


called by 'initchoppergunner'
Video

Credits

Exelo - ESP/Wallhack
calmdownyourmad - Helping me understand flight paths.
Jake625 - 360 degree Flight Path.

If I left out anyone I sincerely apologize.

Bugs

If you use it before anyone is spawned in you may run into ESP/wallhack issues.

Changelog

1.0 - Release
1.1 - Fixed an issue where it couldn't be used more than once.

I have tested this on a fresh menu base (sharks base) it works 100% as of 4/18/15.
I apologize for the inconvenience of issues. It's fixed now Smile
[/size]

If their is any problems with this script please, let me know I will fix it.
Have A Nice Day Smile
(adsbygoogle = window.adsbygoogle || []).push({});

The following 6 users say thank you to TAZBXIV for this useful post:

/SneakerStreet/, HiddenHour, HighModzz, koekiemonstarr2, ksa_7ooo7, Vondy Supreme
04-18-2015, 11:53 AM #11
FRINZ
I’m too L33T
lol kool lil thing sumthing new for ppl who wanna see how it looks c:


-SAVEFTW/HATEZ
04-18-2015, 02:44 PM #12
TAZBXIV
Bounty hunter
Originally posted by FRlNZ View Post
lol kool lil thing sumthing new for ppl who wanna see how it looks c:


-SAVEFTW/HATEZ


you have to have the minigun precache in the init my bad i completely forgot. :(
i updated it immediately i apologize.
04-18-2015, 03:14 PM #13
FRINZ
I’m too L33T
all ucci
04-18-2015, 04:48 PM #14
ksa_7ooo7
Maggbot timeout!
Nice thanks Smile
04-18-2015, 07:16 PM #15
Vondy Supreme
< ^ > < ^ >
Really nice <3 thanks

The following user thanked Vondy Supreme for this useful post:

TAZBXIV
04-19-2015, 09:05 PM #16
That paradox menu that you have looks pretty cool and has a ton of nice functions just by the look of the Fun menu. Where do I get it? or is it only Private?
04-19-2015, 09:06 PM #17
TAZBXIV
Bounty hunter
Originally posted by xLoGHDx View Post
That paradox menu that you have looks pretty cool and has a ton of nice functions just by the look of the Fun menu. Where do I get it? or is it only Private?


It's private. I would release it but you know theirs already tons of menus and people would just complain :/ but thanks for the feedback on the menu Smile

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo