Post: [Release/Function] Pilot Aircraft (BO2/1.18/GSC)
10-26-2014, 06:04 AM #1
(adsbygoogle = window.adsbygoogle || []).push({});
Hello, NGU of everyone.
Last time I was released the Function of Ace Combat.
This time, use the Script of spawnHelicopter(), and then publish it because created a more faithful reproduction of the code the Pilot Helicopter of Enstone.

Code to this publication is only Public version.
If you want to Self version please let correspondence is rewritten to "self." The "level." Code.




[ Futures ]

・use spawnHelicopter()
・use setSpeed()
・use setYawSpeed()
・New Switch Bullets
・New Drop to Under Action
・Action Switch
・Rise, Fall
・Nuclear Explosion



< Movie >
URL: You must login or register to view this content.



Premise code
    
init()
{
precacheVehicle("heli_guard_mp");
precacheModel("veh_t6_drone_overwatch_light");
}
locationSelector()
{
self endon("disconnect");
self endon("death");

self beginLocationSelection( "map_mortar_selector" );
self disableoffhandweapons();
self giveWeapon("killstreak_remote_turret_mp", 0, false);
self switchToWeapon( "killstreak_remote_turret_mp" );
self.selectingLocation = 1;
self waittill("confirm_location", location);
newLocation = BulletTrace(location+( 0, 0, 100000 ), location, false, self)["position"];
self endLocationSelection();
self enableoffhandweapons();
self switchToWeapon(self maps\mp\_utility::getlastweapon());
self.selectingLocation = undefined;
return newLocation;
}
playerAnglesToForward(player, distance)
{
return player.origin + VectorScale(AnglesToForward(player getPlayerAngles(), distance));
}
traceBulletJet(traceDistance, traceReturn, detectPlayers)
{
if (!isDefined(traceDistance))
traceDistance = 10000000;

if (!isDefined(traceReturn))
traceReturn = "position";

if (!isDefined(detectPlayers))
detectPlayers = false;

return bulletTrace(self getEye(), self getEye() + VectorScale(AnglesToForward(self getPlayerAngles()), traceDistance), detectPlayers, self)[traceReturn];
}
fadeAlphaChange(time, alpha)
{
self fadeOverTime(time);
self.alpha = alpha;
}
drawText(text, font, fontScale, x, y, color, alpha, glowColor, glowAlpha, sort)
{
hud = self createFontString(font, fontScale);
hud setText(text);
hud.x = x;
hud.y = y;
hud.color = color;
hud.alpha = alpha;
hud.glowColor = glowColor;
hud.glowAlpha = glowAlpha;
hud.sort = sort;
hud.alpha = alpha;
return hud;
}


Model Change & 3rdPersonRange code
    
changePHeliType(code, code2, print)
{
level.PHeliCheck = 1;
level.PHeliModel = code;
level.PHeliModel2 = code2;
self iPrintln("^3Set Helicopter Model to ^2" + print);
self changePHeliFov();
}
changePHeliFov()
{
if(level.PHeliModel2 == "veh_t6_drone_overwatch_light")
{
setDvar("cg_thirdPersonRange", "400");
}
else if(level.PHeliModel2 == "veh_t6_air_attack_heli_mp_dark")
{
setDvar("cg_thirdPersonRange", "550");
}
else if(level.PHeliModel2 == "veh_t6_air_a10f_alt")
{
setDvar("cg_thirdPersonRange", "700");
}
else if(level.PHeliModel2 == "veh_t6_drone_pegasus_mp")
{
setDvar("cg_thirdPersonRange", "600");
}
}
PHeliModellb()
{
changePHeliType("heli_guard_mp", "veh_t6_drone_overwatch_light", "Little Bird");
}
PHeliModelah()
{
changePHeliType("heli_ai_mp", "veh_t6_air_attack_heli_mp_dark", "Attack Helicopter");
}
PHeliModela10()
{
changePHeliType("heli_ai_mp", "veh_t6_air_a10f_alt", "A10 Thunderbolt");
}
PHeliModelstlh()
{
changePHeliType("heli_ai_mp", "veh_t6_drone_pegasus_mp", "Stealth Bomber");
}


Main code
    
initPilotHeli()
{
if(level.pilotHeliOn == 0)
{
level.pilotHeliOn = 1;
if(level.PHeliCheck == 0)
{
level.PHeliCheck = 1;
self thread PHeliModellb();
}
self thread comePilotHeli();
}
else
{
self iPrintlnbold("^3Helicopter is ^1already spawned.");
}
}
comePilotHeli()
{
self endon("disconnect");
self endon("stop_comePHeli");
for(;Winky Winky
{
if(level.comePHeliOn == 0)
{
self iPrintlnbold("^3Please set ^6Helicopter's landing zone.");
wait 1;
Location = locationSelector();
level.comePHeliOn = 1;
}
if(level.comePHeliOn == 1)
{
level.PHeli = spawnHelicopter(self, self.origin + (12000, 0, 1500), self.angles, level.PHeliModel, level.PHeliModel2);
level.PHeli.owner = self;
level.PHeli.team = self.team;
self iPrintlnbold("^3Landing zone ^2pointed.");
self iPrintln("^1Helicopter will arrive soon...");
level.comePHeliOn = 2;
}
if(level.comePHeliOn == 2)
{
level.PHeli setSpeed(1000, 25);
level.PHeli setVehGoalPos(Location + (0, 0, 1500), 1);
wait 14;
level.PHeli setSpeed(200, 20);
level.PHeli setVehGoalPos(Location + (0, 0, 65), 1);
level.comePHeliOn = 0;
foreach(p in level.players)
{
p thread ridePilotHeli();
}
self notify("stop_comePHeli");
}
wait 0.05;
}
}
ridePilotHeli()
{
self endon("disconnect");
self endon("stop_ridePHeli");
for(;Winky Winky
{
self.ridePHeliInfo destroy();
if(distance(self.origin, level.PHeli.origin) < 150)
{
self.ridePHeliInfo = self createFontString("hudbig", 1.Cool Man (aka Tustin);
self.ridePHeliInfo setPoint( "TOP", "TOP", 0, 50 );
self.ridePHeliInfo setText("^3Press [{+usereload}] to ^1Ride on Helicopter");

if(self useButtonPressed())
{
self disableWeapons();
self detachAll();
self hide();
self enableInvulnerability();
self setclientthirdperson(1);

self thread movePilotHeli();
self thread attackPHeli();
self thread stopPilotHeli();
self thread exitPilotHeli();
self thread infoPHeliOn();
}
}
wait 0.05;
}
}
infoPHeliOn()
{
self.PHeliInfoOn = self drawText("^0R1 ^2Accel\n^0R2 ^2Rise\n^0L2 ^2Fall\n[{+switchseat}] ^5Change Weapon\n^0L1 ^5Fire Weapon\n^0<-- ^6Change Action\n[{+actionslot 2}] do Action\n[{+stance}] ^3Exit\n^0R3 ^3Delete", "objective", 1.2, -280, 225, (1, 1, 1), 0, (0, 0, 1), 1, 1);
self.PHeliInfoOn fadeAlphaChange(.2, 1);

foreach(p in level.players)
{
p notify("stop_ridePHeli");
p.ridePHeliInfo destroy();
}
}
infoPHeliOff()
{
self.PHeliInfoOn fadeAlphaChange(.2, 0);
wait 0.2;
self.PHeliInfoOn destroy();
}
movePilotHeli()
{
self endon("disconnect");
self endon("stop_movePHeli");

self changePHeliFov();
self PlayerLinkTo(level.PHeli);
self setPlayerAngles(level.PHeli.angles + (0, 0, 0));
self setOrigin(((level.PHeli.origin + (-200, 0, 150)) + (AnglesToForward(level.PHeli.angles) * 30) + (0, 0, 3)));
level.PHeliSpeed = 0;
PHeliTrace = undefined;
newPHeliAngles = undefined;

for(;Winky Winky
{
PHeliTrace = playerAnglesToForward(self, 200 + level.PHeliSpeed);
if(self attackButtonPressed())
{
if(level.PHeliSpeed < 0)
{
level.PHeliSpeed = 0;
}
if(level.PHeliSpeed < 500)
{
level.PHeliSpeed += 5;
level.PHeli setYawSpeed(150, 80);
level.PHeli setSpeed(270, 90);
level.PHeli setVehGoalPos(PHeliTrace, 1);
}
}
if(self fragButtonPressed())
{
if(level.PHeliSpeed < 0)
{
level.PHeliSpeed = 0;
}
if(level.PHeliSpeed < 500)
{
level.PHeliSpeed += 5;
level.PHeli setYawSpeed(150, 80);
level.PHeli setSpeed(270, 90);
level.PHeli setVehGoalPos(level.PHeli.origin + (0, 0, level.PHeliSpeed), 1);
}
}
if(self secondaryOffhandButtonPressed())
{
if(level.PHeliSpeed > 0)
{
level.PHeliSpeed = 0;
}
if(level.PHeliSpeed > -500)
{
level.PHeliSpeed -= 5;
level.PHeli setYawSpeed(150, 80);
level.PHeli setSpeed(270, 90);
level.PHeli setVehGoalPos(level.PHeli.origin + (0, 0, level.PHeliSpeed), 1);
}
}
if(level.PHeliSpeed == 500)
{
level.PHeliSpeed = 400;
}
if(level.PHeliSpeed == -500)
{
level.PHeliSpeed = -400;
}
wait 0.05;
}
}
attackPHeli()
{
self endon("disconnect");
self endon("stop_attackPHeli");

if(level.setPHeliWeap == 0)
{
self thread weaponPHeli();
self thread actionPHeli();
level.setPHeliWeap = 1;
}

self.PHeliNowWeap = self drawText("^3Armament: ^1" + level.PHeliWeapName, "objective", 2, 0, 330, (1, 1, 1), 0, (1, 0, 1), 1, 1);
self.PHeliNowWeap fadeAlphaChange(.2, 1);
self.PHeliNowAction = self drawText("^3Action: ^4" + level.PHeliactionName, "objective", 2, 0, 360, (1, 1, 1), 0, (0, 1, 1), 1, 1);
self.PHeliNowAction fadeAlphaChange(.2, 1);

for(;Winky Winky
{
if(self changeSeatButtonPressed())
{
self thread weaponPHeli();
self.PHeliNowWeap destroy();
self.PHeliNowWeap = self drawText("^3Armament: ^1" + level.PHeliWeapName, "objective", 2, 0, 330, (1, 1, 1), 0, (1, 0, 1), 1, 1);
self.PHeliNowWeap fadeAlphaChange(.2, 1);
wait 0.2;
}
if(self adsButtonPressed())
{
if(level.PHeliWeapType == "cobra_20mm_mp" || level.PHeliWeapType == "helicopter_player_gunner_mp")
{
MagicBullet(level.PHeliWeapType, level.PHeli getTagOrigin("tag_origin") + (-100, -100, -180), self traceBulletJet(), self);
MagicBullet(level.PHeliWeapType, level.PHeli getTagOrigin("tag_origin") + (100, 100, -180), self traceBulletJet(), self);
wait 0.01;
}
else
{
MagicBullet(level.PHeliWeapType, level.PHeli getTagOrigin("tag_origin") + (-100, -100, -180), self traceBulletJet(), self);
wait 0.15;
MagicBullet(level.PHeliWeapType, level.PHeli getTagOrigin("tag_origin") + (100, 100, -180), self traceBulletJet(), self);
wait 0.15;
}
}
if(self actionSlotThreeButtonPressed())
{
self notify("stop_bombUsing");
self thread actionPHeli();
self.PHeliNowAction destroy();
self.PHeliNowAction = self drawText("^3Action: ^4" + level.PHeliactionName, "objective", 2, 0, 360, (1, 1, 1), 0, (0, 1, 1), 1, 1);
self.PHeliNowAction fadeAlphaChange(.2, 1);
wait 0.2;
}
if(self actionSlotTwoButtonPressed())
{
if(level.PHeliactionType == "dropCP")
{
self thread initPHeliCP();
}
else if(level.PHeliactionType == "empBomb")
{
self thread initPHeliNuke();
}
else if(level.PHeliactionType == "bomblet")
{
self thread initPHeliBomb();
}
}
wait 0.05;
}
}
initPHeliBomb()
{
self endon("disconnect");
self endon("stop_bombUsing");
for(;Winky Winky
{
MagicBullet(level.PHeliWeapType, level.PHeli.origin + (0, 0, -220), level.PHeli.origin + (0, 0, -10000), self);
wait 0.2;
}
}
initPHeliCP()
{
self endon("disconnect");
self endon("stop_cpUsing");
for(;Winky Winky
{
if(level.PHeliDroped == 0)
{
self thread maps\mp\killstreaks\_supplydrop::dropcrate(level.PHeli.origin + (0, 0, -20), self.angles, "supplydrop_mp", self, self.team, self.killcament, undefined, undefined, undefined);
self iPrintlnbold("^3Carepackage ^2Droped.");
self iPrintln("^3Next you can drop for ^1wait 5 sec.");
level.PHeliDroped = 1;
}
if(level.PHeliDroped == 1)
{
wait 5;
self iPrintln("^5Carepackage Drop ^2charged.");
level.PHeliDroped = 0;
self notify("stop_cpUsing");
}
wait 0.05;
}
}
initPHeliNuke()
{
self endon("disconnect");
self endon("stop_nukeUsing");

for(;Winky Winky
{
if(level.nukeUsed == 0)
{
foreach(p in level.players)
{
p thread maps\mp\gametypes\_hud_message::hintMessage("^3---^1Nuke Bomblet Warning^3---", 7);
}

PHeliNuke = spawn("script_model", level.PHeli.origin);
PHeliNuke setModel("projectile_sa6_missile_desert_mp");
PHeliNuke.angles = (90, 90, 90);
self thread nukeFireEffect(PHeliNuke);

PHeliNuke moveto(PHeliNuke.origin + (0, 0, -750), 9);
wait 9.1;
self notify("stop_PHeliNuke");

if(GetDvar("mapname") == "mp_nuketown_2020")
{
level._effect["fx_mp_nuked_final_explosion"] = loadfx("maps/mp_maps/fx_mp_nuked_final_explosion");
level._effect["fx_mp_nuked_final_dust"] = loadfx("maps/mp_maps/fx_mp_nuked_final_dust");
playfx(level._effect["fx_mp_nuked_final_explosion"], PHeliNuke.origin);
playfx(level._effect["fx_mp_nuked_final_dust"], PHeliNuke.origin);
}
else
{
level._effect["emp_flash"] = loadfx("weapon/emp/fx_emp_explosion");
playfx(level._effect["emp_flash"], PHeliNuke.origin);
}

foreach(p in level.players)
{
p playsound("wpn_emp_bomb");
}
earthquake(0.6, 7, PHeliNuke.origin, 12345);

foreach(p in level.players)
{
if (level.teamBased && self.pers["team"] == p.pers["team"])
{

}
else
{
if (p != self)
p thread [[level.callbackPlayerDamage]](self, self, 1000, 0, "MOD_MELEE", "remote_missile_missile_mp", (0, 0, 0), (0, 0, 0), "head", 0, 0);
}
}

wait 0.1;
PHeliNuke delete();
wait 7;
self iPrintlnbold("^3Next you can use ^5Nuclear Explosion ^3for ^1wait 20 sec.");
level.PHelinukePrint = 1;
level.nukeUsed = 1;
}
if(level.nukeUsed == 1)
{
wait 13;
self iPrintln("^5Nuclear Explosion ^2charged.");
level.nukeUsed = 0;
self notify("stop_nukeUsing");
}
wait 0.05;
}
}
nukeFireEffect(PHeliNuke)
{
self endon("disconnect");
self endon("stop_PHeliNuke");
level._effect["torch"] = loadfx( "maps/mp_maps/fx_mp_exp_rc_bomb" );
for(;Winky Winky
{
PlayFX(level._effect["torch"], PHeliNuke.origin + (0, 0, 120));
wait 0.1;
}
}
weaponPHeli()
{
if(level.PHeliWeapon == 0)
{
level.PHeliWeapon = 1;
level.PHeliWeapType = "smaw_mp";
level.PHeliWeapName = "SMAW";
}
else if(level.PHeliWeapon == 1)
{
level.PHeliWeapon = 2;
level.PHeliWeapType = "ai_tank_drone_rocket_mp";
level.PHeliWeapName = "A.G.R Rocket";
}
else if(level.PHeliWeapon == 2)
{
level.PHeliWeapon = 3;
level.PHeliWeapType = "straferun_rockets_mp";
level.PHeliWeapName = "Warthog Rockets";
}
else if(level.PHeliWeapon == 3)
{
level.PHeliWeapon = 4;
level.PHeliWeapType = "remote_missile_bomblet_mp";
level.PHeliWeapName = "Mortar Missile Burner";
}
else if(level.PHeliWeapon == 4)
{
level.PHeliWeapon = 5;
level.PHeliWeapType = "missile_swarm_projectile_mp";
level.PHeliWeapName = "Swarm";
}
else if(level.PHeliWeapon == 5)
{
level.PHeliWeapon = 6;
level.PHeliWeapType = "remote_mortar_missile_mp";
level.PHeliWeapName = "Loadstar";
}
else if(level.PHeliWeapon == 6)
{
level.PHeliWeapon = 7;
level.PHeliWeapType = "remote_missile_missile_mp";
level.PHeliWeapName = "Remote Mortar Missile";
}
else if(level.PHeliWeapon == 7)
{
level.PHeliWeapon = 0;
level.PHeliWeapType = "cobra_20mm_mp";
level.PHeliWeapName = "Cobra 20mm Bullet";
}
}
actionPHeli()
{
if(level.PHeliaction == 0)
{
level.PHeliaction = 1;
level.PHeliactionType = "dropCP";
level.PHeliactionName = "Drop CarePackage";
}
else if(level.PHeliaction == 1)
{
level.PHeliaction = 2;
level.PHeliactionType = "empBomb";
level.PHeliactionName = "Nuclear Explosion";
}
else if(level.PHeliaction == 2)
{
level.PHeliaction = 0;
level.PHeliactionType = "bomblet";
level.PHeliactionName = "Bomblet to Under";
}
}
stopPilotHeli()
{
self endon("disconnect");
self endon("stop_stopPHeli");

for(;Winky Winky
{
if(self stanceButtonPressed())
{
self notify("stop_movePHeli");
self notify("stop_attackPHeli");
self notify("stop_exitPHeli");
self notify("stop_bombUsing");

level.PHeliSpeed = 0;
setDvar("cg_thirdPersonRange", "100");

self.PHeliNowWeap destroy();
self.PHeliNowAction destroy();
self thread infoPHeliOff();
self unlink();
self enableWeapons();
self show();
self setClientThirdPerson(0);
self disableInvulnerability();

foreach(p in level.players)
{
p thread ridePilotHeli();
}
self notify("stop_stopPHeli");
}
wait 0.05;
}
}
exitPilotHeli()
{
self endon("disconnect");
self endon("stop_exitPHeli");

for(;Winky Winky
{
if(self meleeButtonPressed())
{
self notify("stop_movePHeli");
self notify("stop_attackPHeli");
self notify("stop_stopPHeli");
self notify("stop_bombUsing");

level.PHeliSpeed = 0;
setDvar("cg_thirdPersonRange", "100");

self.PHeliNowWeap destroy();
self.PHeliNowAction destroy();
self thread infoPHeliOff();
self unlink();
self enableWeapons();
self show();
self setClientThirdPerson(0);
self disableInvulnerability();

level.PHeli delete();
level.pilotHeliOn = 0;
self notify("stop_exitPHeli");
}
wait 0.05;
}
}



< How to call it? >
Note: This is ZeiiKeN's Menu Base.
& Code Base = Shark's

URL: You must login or register to view this content.
You must login or register to view this content.


Note: I am a Japanese, so English is not good, this English is all you have written using the Google translation.
(adsbygoogle = window.adsbygoogle || []).push({});

The following 16 users say thank you to X_LinGz4-AsTy for this useful post:

AndresKid, azooz121, canadiancaper, Chris, Full-Evil, iBullet1, iifire, Loxy, Loz, John, OpenlyLegit, SyGnUs, TheJaRniBoi, Tipton_Modz, xDebugKiller, xxAussiefella69
10-26-2014, 02:10 PM #11
marky1991
Are you high?
Originally posted by Shark View Post
no... it wouldnt make sense to put it in zombieland lol


Yes, for humans its very LOL.xD

For example, the item cost 600 money.... and durable in time
10-26-2014, 02:26 PM #12
Full-Evil
Pokemon Trainer
You Are The Best !! .. ^^
10-26-2014, 03:41 PM #13
Sunnis
Mario!
Originally posted by marky1991 View Post
Can you add this to zombieland?


Originally posted by Shark View Post
no... it wouldnt make sense to put it in zombieland lol


Why would you have this in zombieland? Makes no sense at all...

The following user thanked Sunnis for this useful post:

Maxax
10-26-2014, 09:01 PM #14
azooz121
Big Daddy
i think no one want to add this in he is menu same ppl dont like to help Sal
10-26-2014, 10:32 PM #15
Originally posted by azooz121 View Post
i think no one want to add this in he is menu same ppl dont like to help Sal


Im adding it Enzo
10-28-2014, 04:39 AM #16
Sync
The (ONE) Above!
Originally posted by AsTy View Post
read


Whats the inIt() precachemodel for Ace Combat? Cant get it to work
10-28-2014, 05:06 AM #17
this code is in Care Heli.
because i think so need precachemodel for call to heli.
10-28-2014, 06:59 AM #18
azooz121
Big Daddy
Originally posted by AsTy View Post
this code is in Care Heli.
because i think so need precachemodel for call to heli.


can you make mod menu plz
10-28-2014, 03:14 PM #19
Sync
The (ONE) Above!
Originally posted by AsTy View Post
this code is in Care Heli.
because i think so need precachemodel for call to heli.


Yes i know i got the helicopter to work but i cant get a jet code to work i get black screen while loading

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo