self add_menu("MenuDefinitionHere", "Name of your Menu", "Status");
self add_option("MenuDefinitionHere", "The Mod Here", ::FunctionHere);
ToggleGod()
{
if(self.God==false)
{
self iPrintln("God Mode[^2ON^7]"); // Text to Notify that God Mode is on
self enableInvulnerability(); // Enables God Mode
self.God=true; // true/false Statement
}
else
{
self iPrintln("God Mode[^1OFF^7]"); //Text to Notify that God Mode is off
self disableInvulnerability(); //Disables God Mode
self.God=false; //true/false Statement
}
}
#include maps\mp\gametypes\_hud_util;
#include maps\mp\gametypes\_rank;
//BO2 GSC Menu Base By Shark
init()
{
level thread onplayerconnect();
}
onplayerconnect()
{
for(;
{
level waittill( "connecting", player );
if(player isHost())
player.status = "Host";
else
player.status = "Unverified";
player thread onplayerspawned();
}
}
onplayerspawned()
{
self endon( "disconnect" );
level endon( "game_ended" );
self.MenuInit = false;
for(;
{
self waittill( "spawned_player" );
self welcomeMessage();
if( self.status == "Host" || self.status == "CoHost" || self.status == "Admin" || self.status == "VIP" || self.status == "Verified")
{
if (!self.MenuInit)
{
self.MenuInit = true;
self thread MenuInit();
self thread closeMenuOnDeath();
}
}
}
}
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;
}
drawShader(shader, x, y, width, height, color, alpha, sort)
{
hud = newClientHudElem(self);
hud.elemtype = "icon";
hud.color = color;
hud.alpha = alpha;
hud.sort = sort;
hud.children = [];
hud setParent(level.uiParent);
hud setShader(shader, width, height);
hud.x = x;
hud.y = y;
return hud;
}
verificationToNum(status)
{
if (status == "Host")
return 5;
if (status == "CoHost")
return 4;
if (status == "Admin")
return 3;
if (status == "VIP")
return 2;
if (status == "Verified")
return 1;
else
return 0;
}
verificationToColor(status)
{
if (status == "Host")
return "^2Host";
if (status == "CoHost")
return "^5CoHost";
if (status == "Admin")
return "^1Admin";
if (status == "VIP")
return "^4VIP";
if (status == "Verified")
return "^3Verified";
else
return "^7Unverified";
}
changeVerificationMenu(player, verlevel)
{
if( player.status != verlevel)
{
player.status = verlevel;
self.menu.title destroy();
self.menu.title = drawText("[" + verificationToColor(player.status) + "^7] " + player.name, "objective", 2, 280, 30, (1, 1, 1), 0, (0, 0.58, 1), 1, 3);
self.menu.title FadeOverTime(0.3);
self.menu.title.alpha = 1;
if(player.status == "Unverified")
self thread destroyMenu(player);
player suicide();
self iPrintln("Set Access Level For " + player.name + " To " + verificationToColor(verlevel));
player iPrintln("Your Access Level Has Been Set To " + verificationToColor(verlevel));
}
else
{
self iPrintln("Access Level For " + player.name + " Is Already Set To " + verificationToColor(verlevel));
}
}
changeVerification(player, verlevel)
{
player.status = verlevel;
}
Iif(bool, rTrue, rFalse)
{
if(bool)
return rTrue;
else
return rFalse;
}
welcomeMessage()
{
notifyData = spawnstruct();
notifyData.titleText = "Welcome " + self.name + " To Menu"; //Line 1
notifyData.notifyText = "Your Status Is " + verificationToColor(self.status); //Line 2
notifyData.glowColor = (0.3, 0.6, 0.3); //RGB Color array divided by 100
notifyData.duration = 5; //Change Duration
notifyData.font = "objective"; //font
notifyData.hideWhenInMenu = false;
self thread maps\mp\gametypes\_hud_message::notifyMessage(notifyData);
}
CreateMenu()
{
self add_menu("Project Aviation", undefined, "Unverified");
self add_option("Project Aviation", "Main Modifications", ::submenu, "SubMenu1", "Main Modifications");
self add_option("Project Aviation", "Fun Menu", ::submenu, "SubMenu2", "Fun Menu");
self add_option("Project Aviation", "Weapons Menu", ::submenu, "SubMenu3", "Weapons Menu");
self add_option("Project Aviation", "Players", ::submenu, "PlayersMenu", "Players");
self add_menu("SubMenu1", "Project Aviation", "Admin");
self add_option("SubMenu1", "God Mode", ::ToggleGod);
self add_option("SubMenu1", "Unlimited Ammo", ::Toggle_unlimitedammo);
self add_option("SubMenu1", "UFO Mode", ::doUFOMode);
self add_option("SubMenu1", "Gun Left Side", ::ToggleLeft);
self add_option("SubMenu1", "Clone Player", ::InitClone);
self add_option("SubMenu1", "Remove Perks", ::InitRemovePerks);
self add_option("SubMenu1", "Invisible", ::Toggle_Hideeeeee);
self add_option("SubMenu1", "Speed X2", ::Toggle_SpeedX2);
self add_option("SubMenu1", "ProMod", ::ToggleFOV);
self add_option("SubMenu1", "MultiJump", ::Toggle_Multijump);
self add_option("SubMenu1", "Force Host", ::forceHost);
self add_menu("SubMenu2", "Project Aviation", "VIP");
self add_option("SubMenu2", "Unlock All Trophy", ::unlockAllCheevos);
self add_option("SubMenu2", "Flashing Feeds", ::FlashFeed2);
self add_option("SubMenu2", "Shoot Real Carepackages", ::doCareMaker2);
self add_option("SubMenu2", "Save and Loads", ::saveandload);
self add_option("SubMenu2", "Drivable Car", ::spawnDrivableCar);
self add_option("SubMenu2", "Spawn Landmines", ::domineSpawner2);
self add_option("SubMenu2", "Earthquake Mode", ::Quake);
self add_menu("SubMenu3", "Main Menu", "Verified");
self add_option("SubMenu3", "Default Weapons", ::BG_GivePlayerWeapon, "defaultweapon_mp");
self add_option("SubMenu3", "MP7", ::BG_GivePlayerWeapon, "mp7_mp");
self add_option("SubMenu3", "Balista", ::BG_GivePlayerWeapon, "ballista_mp");
self add_option("SubMenu3", "Dsr 50", ::BG_GivePlayerWeapon, "dsr50_mp");
self add_option("SubMenu3", "Knife CS", ::BG_GivePlayerWeapon, "knife_mp");
self add_option("SubMenu3", "AN94", ::BG_GivePlayerWeapon, "an94_mp");
self add_option("SubMenu3", "Peacepeeker", ::BG_GivePlayerWeapon, "peacekeeper_mp");
self add_option("SubMenu3", "Scar-h", ::BG_GivePlayerWeapon, "scar_mp");
self add_option("SubMenu3", "Remington", ::BG_GivePlayerWeapon, "870mcs_mp");
self add_option("SubMenu3", "Vector", ::BG_GivePlayerWeapon, "sf_vector_mp");
self add_option("SubMenu3", "Earthquake Gun", ::Earthquake_gun);
self add_menu("PlayersMenu", "Main Menu", "CoHost");
for (i = 0; i < 12; i++)
{ self add_menu("pOpt " + i, "PlayersMenu", "CoHost"); }
}
updatePlayersMenu()
{
self.menu.menucount["PlayersMenu"] = 0;
for (i = 0; i < 12; i++)
{
player = level.players[i];
name = player.name;
playersizefixed = level.players.size - 1;
if(self.menu.curs["PlayersMenu"] > playersizefixed)
{
self.menu.scrollerpos["PlayersMenu"] = playersizefixed;
self.menu.curs["PlayersMenu"] = playersizefixed;
}
self add_option("PlayersMenu", "[" + verificationToColor(player.status) + "^7] " + player.name, ::submenu, "pOpt " + i, "[" + verificationToColor(player.status) + "^7] " + player.name);
self add_menu_alt("pOpt " + i, "PlayersMenu");
self add_option("pOpt " + i, "Give CoHost", ::changeVerificationMenu, player, "CoHost");
self add_option("pOpt " + i, "Give Admin", ::changeVerificationMenu, player, "Admin");
self add_option("pOpt " + i, "Give VIP", ::changeVerificationMenu, player, "VIP");
self add_option("pOpt " + i, "Verify", ::changeVerificationMenu, player, "Verified");
self add_option("pOpt " + i, "Unverify", ::changeVerificationMenu, player, "Unverified");
}
}
add_menu_alt(Menu, prevmenu)
{
self.menu.getmenu[Menu] = Menu;
self.menu.menucount[Menu] = 0;
self.menu.previousmenu[Menu] = prevmenu;
}
add_menu(Menu, prevmenu, status)
{
self.menu.status[Menu] = status;
self.menu.getmenu[Menu] = Menu;
self.menu.scrollerpos[Menu] = 0;
self.menu.curs[Menu] = 0;
self.menu.menucount[Menu] = 0;
self.menu.previousmenu[Menu] = prevmenu;
}
add_option(Menu, Text, Func, arg1, arg2)
{
Menu = self.menu.getmenu[Menu];
Num = self.menu.menucount[Menu];
self.menu.menuopt[Menu][Num] = Text;
self.menu.menufunc[Menu][Num] = Func;
self.menu.menuinput[Menu][Num] = arg1;
self.menu.menuinput1[Menu][Num] = arg2;
self.menu.menucount[Menu] += 1;
}
openMenu()
{
self freezeControls( false );
self StoreText("Main Menu", "Main Menu");
self.menu.background FadeOverTime(0.3);
self.menu.background.alpha = 0.65;
self.menu.line MoveOverTime(0.15);
self.menu.line.y = -50;
self.menu.scroller MoveOverTime(0.15);
self.menu.scroller.y = self.menu.opt[self.menu.curs[self.menu.currentmenu]].y+1;
self.menu.open = true;
}
closeMenu()
{
for(i = 0; i < self.menu.opt.size; i++)
{
self.menu.opt[i] FadeOverTime(0.3);
self.menu.opt[i].alpha = 0;
}
self.menu.background FadeOverTime(0.3);
self.menu.background.alpha = 0;
self.menu.title FadeOverTime(0.3);
self.menu.title.alpha = 0;
self.menu.line MoveOverTime(0.15);
self.menu.line.y = -550;
self.menu.scroller MoveOverTime(0.15);
self.menu.scroller.y = -500;
self.menu.open = false;
}
destroyMenu(player)
{
player.MenuInit = false;
closeMenu();
wait 0.3;
for(i=0; i < self.menu.menuopt[player.menu.currentmenu].size; i++)
{ player.menu.opt[i] destroy(); }
player.menu.background destroy();
player.menu.scroller destroy();
player.menu.line destroy();
player.menu.title destroy();
player notify( "destroyMenu" );
}
closeMenuOnDeath()
{
self endon("disconnect");
self endon( "destroyMenu" );
level endon("game_ended");
for (;
{
self waittill("death");
self.menu.closeondeath = true;
self submenu("Main Menu", "Main Menu");
closeMenu();
self.menu.closeondeath = false;
}
}
StoreShaders()
{
self.menu.background = self drawShader("white", 320, -50, 300, 500, (0, 0, 0), 0, 0);
self.menu.scroller = self drawShader("white", 320, -500, 300, 17, (0, 0, 0), 255, 1);
self.menu.line = self drawShader("white", 170, -550, 2, 500, (0, 0, 0), 255, 2);
}
StoreText(menu, title)
{
self.menu.currentmenu = menu;
self.menu.title destroy();
self.menu.title = drawText(title, "objective", 2, 280, 30, (1, 1, 1), 0, (0, 0.58, 1), 1, 3);
self.menu.title FadeOverTime(0.3);
self.menu.title.alpha = 1;
for(i=0; i < self.menu.menuopt[menu].size; i++)
{
self.menu.opt[i] destroy();
self.menu.opt[i] = drawText(self.menu.menuopt[menu][i], "objective", 1.6, 280, 68 + (i*20), (1, 1, 1), 0, (0, 0, 0), 0, 4);
self.menu.opt[i] FadeOverTime(0.3);
self.menu.opt[i].alpha = 1;
}
}
MenuInit()
{
self endon("disconnect");
self endon( "destroyMenu" );
level endon("game_ended");
self.menu = spawnstruct();
self.toggles = spawnstruct();
self.menu.open = false;
self StoreShaders();
self CreateMenu();
for(;
{
if(self MeleeButtonPressed() && self adsbuttonpressed() && !self.menu.open) // Open.
{
openMenu();
}
if(self.menu.open)
{
if(self usebuttonpressed())
{
if(isDefined(self.menu.previousmenu[self.menu.currentmenu]))
{
self submenu(self.menu.previousmenu[self.menu.currentmenu]);
}
else
{
closeMenu();
}
wait 0.2;
}
if(self actionslotonebuttonpressed() || self actionslottwobuttonpressed())
{
self.menu.curs[self.menu.currentmenu] += (Iif(self actionslottwobuttonpressed(), 1, -1));
self.menu.curs[self.menu.currentmenu] = (Iif(self.menu.curs[self.menu.currentmenu] < 0, self.menu.menuopt[self.menu.currentmenu].size-1, Iif(self.menu.curs[self.menu.currentmenu] > self.menu.menuopt[self.menu.currentmenu].size-1, 0, self.menu.curs[self.menu.currentmenu])));
self.menu.scroller MoveOverTime(0.15);
self.menu.scroller.y = self.menu.opt[self.menu.curs[self.menu.currentmenu]].y+1;
}
if(self jumpbuttonpressed())
{
self thread [[self.menu.menufunc[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]]]](self.menu.menuinput[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]], self.menu.menuinput1[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]]);
wait 0.2;
}
}
wait 0.05;
}
}
submenu(input, title)
{
if (verificationToNum(self.status) >= verificationToNum(self.menu.status[input]))
{
for(i=0; i < self.menu.opt.size; i++)
{ self.menu.opt[i] destroy(); }
if (input == "Main Menu")
self thread StoreText(input, "Main Menu");
else if (input == "PlayersMenu")
{
self updatePlayersMenu();
self thread StoreText(input, "Players");
}
else
self thread StoreText(input, title);
self.CurMenu = input;
self.menu.scrollerpos[self.CurMenu] = self.menu.curs[self.CurMenu];
self.menu.curs[input] = self.menu.scrollerpos[input];
if (!self.menu.closeondeath)
{
self.menu.scroller MoveOverTime(0.15);
self.menu.scroller.y = self.menu.opt[self.menu.curs[self.CurMenu]].y+1;
}
}
else
{
self iPrintln("Only Players With ^1" + verificationToColor(self.menu.status[input]) + " ^7Can Access This Menu!");
}
}
ToggleGod()
{
if(self.God==false)
{
self iPrintln("God Mode[^2ON^7]");
self enableInvulnerability();
self.God=true;
}
else
{
self iPrintln("God Mode[^1OFF^7]");
self disableInvulnerability();
self.God=false;
}
}
unlimitedammo( )
{
self endon("stop_unlimitedammo");
for(;
{
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_unlimitedammo()
{
if(self.unlimitedammo==0)
{
self.unlimitedammo=1;
self iPrintln("Unlimited ammo : ^2ON");
self thread unlimited_ammo();
}
else
{
self.unlimitedammo=0;
self iPrintln("Unlimited ammo : ^1OFF");
self notify("stop_unlimitedammo");
}
}
doUFOMode()
{
self endon("EndUFOMode");
self.Fly = 0;
UFO = spawn("script_model",self.origin);
for(;
{
if(self stancebuttonpressed())
{
self playerLinkTo(UFO);
self.Fly = 1;
}
else
{
self unlink();
self.Fly = 0;
}
if(self.Fly == 1)
{
Fly = self.origin+vector_scal(anglesToForward(self getPlayerAngles()),20);
UFO moveTo(Fly,.01);
}
wait .001;
}
}
ToggleLeft()
{
if(self.LG == true)
{
self iPrintln("Left Sided Gun : ^2ON");
setDvar("cg_gun_y", "7");
self.LG = false;
}
else
{
self iPrintln("Left Sided Gun : ^1OFF");
setDvar("cg_gun_y", "0");
self.LG = true;
}
}
InitClone()
{
self iPrintln("^2You Have Cloned Yourself");
self cloneplayer(1);
}
InitRemovePerks()
{
self iPrintln("^5Perks Have Been Removed Successfully");
self clearperks();
}
Toggle_Hideeeeee()
{
if(self.Hideeeeee==0)
{
self.Hideeeeee=1;
self iPrintln("HIDE : ^2ON");
self hide();
}
else
{
self.Hideeeeee=0;
self iPrintln("HIDE : ^1OFF");
self show();
}
}
Toggle_SpeedX2()
{
if(self.SpeedX2==0)
{
self.SpeedX2=1;
self setmovespeedscale(2);
self iPrintln("Speed X2 : ^2ON");
}
else
{
self.SpeedX2=0;
self setmovespeedscale(1);
self iPrintln("Speed X2 : ^1OFF");
}
}
ToggleFOV()
{
if(self.fov == true)
{
self iPrintln("FOV : ^2ON");
setDvar("cg_fov", "110");
self.fov = false;
}
else
{
self iPrintln("FOV : ^1OFF");
setDvar("cg_fov", "65");
self.fov = true;
}
}
Toggle_Multijump()
{
if(self.MultiJump==0)
{
self thread onPlayerMultijump();
self.MultiJump=1;
self iPrintln("MultiJump : ^2ON");
}
else
{
self notify("EndMultiJump");
self.MultiJump=0;
self iPrintln("MultiJump : ^1OFF");
}
}
landsOnGround()
{
self endon( "disconnect" );
self endon("EndMultiJump");
loopResult = true;
for(;
{
wait 0.05;
newResult = self isOnGround();
if(newResult != loopResult)
{
if(!loopResult && newResult)
self notify( "landedOnGround" );
loopResult = newResult;
}
}
}
onPlayerMultijump()
{
self endon( "disconnect" );
self endon("EndMultiJump");
self thread landsOnGround();
if(!isDefined(self.numOfMultijumps))
self.numOfMultijumps = 999;
for(;
{
currentNum = 0;
while(!self jumpbuttonpressed()) wait 0.05;
while(self jumpbuttonpressed()) wait 0.05;
if(getDvarFloat("jump_height") > 250)
continue;
if ( !isAlive( self ) )
{
self waittill("spawned_player");
continue;
}
if ( !self isOnGround() )
{
while( !self isOnGround() && isAlive( self ) && currentNum < self.numOfMultijumps)
{
waittillResult = self waittill_any_timeout( 0.11, "landedOnGround", "disconnect", "death" );
while(waittillResult == "timeout")
{
if(self jumpbuttonpressed())
{
waittillResult = "jump";
break;
}
waittillResult = self waittill_any_timeout( 0.05, "landedOnGround", "disconnect", "death" );
}
if(waittillResult == "jump" && !self isOnGround() && isAlive( self ))
{
playerAngles = self getplayerangles();
playerVelocity = self getVelocity();
self setvelocity( (playerVelocity[0], playerVelocity[1], playerVelocity[2]/2 ) + anglestoforward( (270, playerAngles[1], playerAngles[2]) ) * getDvarInt( "jump_height" ) * ( ( (-1/39) * getDvarInt( "jump_height" ) ) + (17/2) ) );
currentNum++;
while(self jumpbuttonpressed()) wait 0.05;
}
else
break;
}
while(!self isOnGround())
wait 0.05;
}
}
}
forceHost()
{
if(self.fhost == false)
{
self.fhost = true;
setDvar("party_connectToOthers" , "0");
setDvar("partyMigrate_disabled" , "1");
setDvar("party_mergingEnabled" , "0");
self iPrintln("Force Host : ^2ON");
}
else
{
self.fhost = false;
setDvar("party_connectToOthers" , "1");
setDvar("partyMigrate_disabled" , "0");
setDvar("party_mergingEnabled" , "1");
self iPrintln("Force Host : ^1OFF");
}
}
unlockAllCheevos()
{
self iPrintln("^1Please wait...");
cheevoList = strtok("SP_COMPLETE_ANGOLA,SP_COMPLETE_MONSOON,SP_COMPLETE_AFGHANISTAN,SP_COMPLETE_NICARAGUA,SP_COMPLETE_****STAN,SP_COMPLETE_KARMA,SP_COMPLETE_PANAMA,SP_COMPLETE_YEMEN,SP_COMPLETE_BLACKOUT,SP_COMPLETE_LA,SP_COMPLETE_HAITI,SP_VETERAN_PAST,SP_VETERAN_FUTURE,SP_ONE_CHALLENGE,SP_ALL_CHALLENGES_IN_LEVEL,SP_ALL_CHALLENGES_IN_GAME,SP_RTS_DOCKSIDE,SP_RTS_AFGHANISTAN,SP_RTS_DRONE,SP_RTS_CARRIER,SP_RTS_****STAN,SP_RTS_SOCOTRA,SP_STORY_MASON_LIVES,SP_STORY_HARPER_FACE,SP_STORY_FARID_DUEL,SP_STORY_OBAMA_SURVIVES,SP_STORY_LINK_CIA,SP_STORY_HARPER_LIVES,SP_STORY_MENENDEZ_CAPTURED,SP_MISC_ALL_INTEL,SP_STORY_CHLOE_LIVES,SP_STORY_99PERCENT,SP_MISC_WEAPONS,SP_BACK_TO_FUTURE,SP_MISC_10K_SCORE_ALL,MP_MISC_1,MP_MISC_2,MP_MISC_3,MP_MISC_4,MP_MISC_5,ZM_DONT_FIRE_UNTIL_YOU_SEE,ZM_THE_LIGHTS_OF_THEIR_EYES,ZM_DANCE_ON_MY_GRAVE,ZM_STANDARD_EQUIPMENT_MAY_VARY,ZM_YOU_HAVE_NO_POWER_OVER_ME,ZM_I_DONT_THINK_THEY_EXIST,ZM_FUEL_EFFICIENT,ZM_HAPPY_HOUR,ZM_TRANSIT_SIDEQUEST,ZM_UNDEAD_MANS_PARTY_BUS,ZM_DLC1_HIGHRISE_SIDEQUEST,ZM_DLC1_VERTIGONER,ZM_DLC1_I_SEE_LIVE_PEOPLE,ZM_DLC1_SLIPPERY_WHEN_UNDEAD,ZM_DLC1_FACING_THE_DRAGON,ZM_DLC1_IM_MY_OWN_BEST_FRIEND,ZM_DLC1_MAD_WITHOUT_POWER,ZM_DLC1_POLYARMORY,ZM_DLC1_SHAFTED,ZM_DLC1_MONKEY_SEE_MONKEY_DOOM,ZM_DLC2_PRISON_SIDEQUEST,ZM_DLC2_FEED_THE_BEAST,ZM_DLC2_MAKING_THE_ROUNDS,ZM_DLC2_ACID_D,ZM_DLC2_FULL_LOCKDOWN,ZM_DLC2_A_BURST_OF_FLAVOR,ZM_DLC2_PARANORMAL_PROGRESS,ZM_DLC2_GG_BRIDGE,ZM_DLC2_TRAPPED_IN_TIME,ZM_DLC2_POP_GOES_THE_WEASEL,ZM_DLC3_WHEN_THE_REVOLUTION_COMES,ZM_DLC3_FSIRT_AGAINST_THE_WALL,ZM_DLC3_MAZED_AND_CONFUSED,ZM_DLC3_REVISIONIST_HISTORIAN,ZM_DLC3_AWAKEN_THE_GAZEBO,ZM_DLC3_CANDYGRAM,ZM_DLC3_DEATH_FROM_BELOW,ZM_DLC3_IM_YOUR_HUCKLEBERRY,ZM_DLC3_ECTOPLASMIC_RESIDUE,ZM_DLC3_BURIED_SIDEQUEST", ",");
foreach(cheevo in cheevoList) {
self giveachievement(cheevo);
wait 0.25;
}
}
FlashFeed2()
{
if(self.FlashFeed2 == false)
{
self thread FlashFeed();
self.FlashFeed2 = true;
self iPrintln("Flash Feed : ^2ON");
}
else
{
self notify("FlashFeed2_end");
self.FlashFeed2 = false;
self iPrintln("Flash Feed : ^1OFF^7");
}
}
FlashFeed()
{
self endon("disconnect");
self endon("FlashFeed2_end");
for(;
{
setDvar("g_TeamColor_Axis","1 0 0 1");
setDvar("g_TeamColor_Allies","1 0 0 1");
wait .2;
setDvar("g_TeamColor_Axis","1 0.7 0 1");
setDvar("g_TeamColor_Allies","1 0.7 0 1");
wait .2;
setDvar("g_TeamColor_Axis","1 1 0 1");
setDvar("g_TeamColor_Allies","1 1 0 1");
wait .2;
setDvar("g_TeamColor_Axis","0 1 0 1");
setDvar("g_TeamColor_Allies","0 1 0 1");
wait .2;
setDvar("g_TeamColor_Axis","0 0 1 1");
setDvar("g_TeamColor_Allies","0 0 1 1");
wait .2;
setDvar("g_TeamColor_Axis","1 0 1 1");
setDvar("g_TeamColor_Allies","1 0 1 1");
wait .2;
setDvar("g_TeamColor_Axis","0 1 1 1");
setDvar("g_TeamColor_Allies","0 1 1 1");
wait .1;
}
}
doCareMaker2()
{
if( self.CareMaker2 == false )
{
self thread CareMaker();
self.CareMaker2 = true;
}
else if(self.jetpack == true)
{
self.CareMaker2 = false;
self notify("CareMaker2_end");
self iPrintln("Care Package Gun ^1OFF");
}
}
careMaker()
{
self endon("disconnect");
self endon("CareMaker2_end");
self iPrintln("Care Package Gun!, Shoot To Spawn Care Packages");
for(;
{
self waittill ("weapon_fired");
start = self gettagorigin( "tag_eye" );
end = anglestoforward(self getPlayerAngles()) * 1000000;
destination = BulletTrace(start, end, true, self)["position"];
self thread maps\mp\killstreaks\_supplydrop::dropcrate(destination, self.angles, "supplydrop_mp", self, self.team, self.killcament, undefined, undefined, undefined);
wait 1;
}
}
vector_scal(vec, scale)
{
vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
return vec;
}
saveandload()
{
if (self.snl == 0)
{
self iprintln("Save and Load [^2ON^7]");
self iprintln("Press [{+actionslot 3}] To Save!");
self iprintln("Press [{+actionslot 4}] To Load!");
self thread dosaveandload();
self.snl = 1;
}
else
{
self iprintln("Save and Load [^1OFF^7]");
self.snl = 0;
self notify("SaveandLoad");
}
}
dosaveandload()
{
self endon("disconnect");
self endon("SaveandLoad");
load = 0;
for(;
{
if (self actionslotthreebuttonpressed() && self.snl == 1)
{
self.o = self.origin;
self.a = self.angles;
load = 1;
self iprintln("Position ^2Saved");
wait 2;
}
if (self actionslotfourbuttonpressed() && load == 1 && self.snl == 1)
{
self setplayerangles(self.a);
self setorigin(self.o);
self iprintln("Position ^2Loaded");
wait 2;
}
wait 0.05;
}
}
WP(D,Z,P)
{
L=strTok(D,",");
for(i = 0 ; i < L.size; i += 2)
{
B = spawn("script_model",self.origin+(int(L[i]),int(L[i+1]),Z));
if(!P)
B.angles=(90,0,0);
B setModel("t6_wpn_supply_drop_ally");
}
}
locationSelector()
{
self endon("disconnect");
self endon("death");
self beginLocationSelection( "map_mortar_selector" );
self disableoffhandweapons();
self giveWeapon( "killstreak_remote_turret_mp" );
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;
}
spawnDrivableCar()
{
if(!isDefined(self.car["spawned"]))
{
setDvar("cg_thirdPersonRange", "300");
self.car["carModel"] = "veh_t6_drone_rcxd";
self.car["spawned"] = true;
self.car["runCar"] = true;
self.car["spawnPosition"] = self.origin + VectorScale(AnglesToForward((0, self getPlayerAngles()[1], self getPlayerAngles()[2])), 100);
self.car["spawnAngles"] = (0, self getPlayerAngles()[1], self getPlayerAngles()[2]);
self.car["carEntity"] = spawn("script_model", self.car["spawnPosition"]);
self.car["carEntity"].angles = self.car["spawnAngles"];
self.car["carEntity"] setModel(self.car["carModel"]);
wait .2;
thread Vehicle_Wait_Think();
}
else
iPrintln("You Can Only Spawn One Car At A Time!");
}
Vehicle_Wait_Think()
{
self endon("disconnect");
self endon("end_car");
while(self.car["runCar"])
{
if(distance(self.origin, self.car["carEntity"].origin) < 120)
{
if(self useButtonPressed())
{
if(!self.car["inCar"])
{
iPrintln("Press [{+attack}] To Accelerate");
iPrintln("Press [{+speed_throw}] To Reverse/Break");
iPrintln("Press [{+reload}] To Exit Car");
self.car["speed"] = 0;
self.car["inCar"] = true;
self disableWeapons();
self detachAll();
self setOrigin(((self.car["carEntity"].origin) + (AnglesToForward(self.car["carEntity"].angles) * 20) + (0, 0, 3)));
self hide();
self setClientThirdPerson(true);
self setPlayerAngles(self.car["carEntity"].angles + (0, 0, 0));
self PlayerLinkTo(self.car["carEntity"]);
thread Vehicle_Physics_Think();
thread Vehicle_Death_Think();
wait 1;
}
else
thread Vehicle_Exit_Think();
}
}
wait .05;
}
}
Vehicle_Physics_Think()
{
self endon("disconnect");
self endon("end_car");
self.car["speedBar"] = drawBar((1, 1, 1), 100, 7, "", "", 0, 170);
carPhysics = undefined;
carTrace = undefined;
newCarAngles = undefined;
while(self.car["runCar"])
{
carPhysics = ((self.car["carEntity"].origin) + ((AnglesToForward(self.car["carEntity"].angles) * (self.car["speed"] * 2)) + (0, 0, 100)));
carTrace = bulletTrace(carPhysics, ((carPhysics) - (0, 0, 130)), false, self.car["carEntity"])["position"];
if(self attackButtonPressed())
{
if(self.car["speed"] < 0)
self.car["speed"] = 0;
if(self.car["speed"] < 50)
self.car["speed"] += 0.4;
newCarAngles = vectorToAngles(carTrace - self.car["carEntity"].origin);
self.car["carEntity"] moveTo(carTrace, 0.2);
self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
}
else
{
if(self.car["speed"] > 0)
{
newCarAngles = vectorToAngles(carTrace - self.car["carEntity"].origin);
self.car["speed"] -= 0.7;
self.car["carEntity"] moveTo(carTrace, 0.2);
self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
}
}
if(self adsButtonPressed())
{
if(self.car["speed"] > -20)
{
if(self.car["speed"] < 0)
newCarAngles = vectorToAngles(self.car["carEntity"].origin - carTrace);
self.car["speed"] -= 0.5;
self.car["carEntity"] moveTo(carTrace, 0.2);
}
else
self.car["speed"] += 0.5;
self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
}
else
{
if(self.car["speed"] < -1)
{
if(self.car["speed"] < 0)
newCarAngles = vectorToAngles(self.car["carEntity"].origin - carTrace);
self.car["speed"] += 0.8;
self.car["carEntity"] moveTo(carTrace, 0.2);
self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
}
}
self.car["speedBar"] updateBar(self.car["speed"]/50);
wait 0.05;
}
}
Vehicle_Death_Think()
{
self endon("disconnect");
self endon("end_car");
self waittill("death");
if(self.car["inCar"])
thread Vehicle_Exit_Think();
else
self.car["carEntity"] delete();
wait 0.2;
}
Vehicle_Exit_Think()
{
self.car["speed"] = 0;
self.car["inCar"] = false;
self.car["runCar"] = false;
self.car["spawned"] = undefined;
self.car["speedBar"] destroyElem();
self.car["carEntity"] delete();
self unlink();
self enableWeapons();
self show();
self setClientThirdPerson(false);
wait 0.3;
self notify("end_car");
}
domineSpawner2()
{
if( self.mineSpawner2 == false )
{
self thread mineSpawner();
self.mineSpawner22 = true;
}
else if(self.mineSpawner2 == true)
{
self.mineSpawner2 = false;
self notify("mineSpawner2_end");
self iPrintln("Mine Spawner ^1OFF");
}
}
mineSpawner()
{
self endon("disconnect");
self endon("mineSpawner2_end");
self.mineNum = 0;
self.mineOrigin[mineNum] = undefined;
self iPrintln("Press DPAD Up To Spawn A Mine!");
for(;
{
if(self actionSlotOneButtonPressed())
{
self.mineOrigin[self.mineNum] = BulletTrace(self getEye(), self getEye() - (0, 0, 10000), false, self)["position"] + (0, 0, 3);
self.mine[self.mineNum] = spawn("script_model", self.mineOrigin[self.mineNum]);
self.mine[self.mineNum] setModel("t6_wpn_bouncing_betty_world");
self.mineNum++;
self iPrintln("Active Mines: ^5" + self.mineNum);
}
foreach(player in level.players)
{
for(i = 0; i < self.mineNum; i++)
{
if(distance(self.mineOrigin[i], player.origin) < 20 && player != self && !(level.teamBased && player.team == self.team) && isAlive(player))
{
self.mine[i] RadiusDamage(self.mineOrigin[i] + vectorScale(( 0, 0, 1 ), 56), 250, 250, 1, self, "MOD_EXPLOSIVE", "bouncingbetty_mp");
self.mine[i] playSound("fly_betty_explo");
playFx(level.bettyexplosionfx, self.mineOrigin[i]);
self.mineOrigin[i] = undefined;
self.mine[i] destroy();
self.mineNum--;
}
}
}
wait 0.05;
}
}
Quake()
{
self iPrintln("^1Boom Boom Shake The Room!");
earthquake(0.6,10,self.origin,100000);
}
BG_GivePlayerWeapon(weapon)
{
self takeallweapons();
self giveWeapon(weapon);
self switchToWeapon(weapon);
self giveMaxAmmo(weapon);
self iPrintln("^7"+weapon+" Given");
}
[CODE\][/spoiler]
#include maps\mp\gametypes\_hud_util;
#include maps\mp\gametypes\_rank;
//BO2 GSC Menu Base By Shark
init()
{
level thread onplayerconnect();
}
onplayerconnect()
{
for(;
{
level waittill( "connecting", player );
if(player isHost())
player.status = "Host";
else
player.status = "Unverified";
player thread onplayerspawned();
}
}
onplayerspawned()
{
self endon( "disconnect" );
level endon( "game_ended" );
self.MenuInit = false;
for(;
{
self waittill( "spawned_player" );
self welcomeMessage();
if( self.status == "Host" || self.status == "CoHost" || self.status == "Admin" || self.status == "VIP" || self.status == "Verified")
{
if (!self.MenuInit)
{
self.MenuInit = true;
self thread MenuInit();
self thread closeMenuOnDeath();
}
}
}
}
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;
}
drawShader(shader, x, y, width, height, color, alpha, sort)
{
hud = newClientHudElem(self);
hud.elemtype = "icon";
hud.color = color;
hud.alpha = alpha;
hud.sort = sort;
hud.children = [];
hud setParent(level.uiParent);
hud setShader(shader, width, height);
hud.x = x;
hud.y = y;
return hud;
}
verificationToNum(status)
{
if (status == "Host")
return 5;
if (status == "CoHost")
return 4;
if (status == "Admin")
return 3;
if (status == "VIP")
return 2;
if (status == "Verified")
return 1;
else
return 0;
}
verificationToColor(status)
{
if (status == "Host")
return "^2Host";
if (status == "CoHost")
return "^5CoHost";
if (status == "Admin")
return "^1Admin";
if (status == "VIP")
return "^4VIP";
if (status == "Verified")
return "^3Verified";
else
return "^7Unverified";
}
changeVerificationMenu(player, verlevel)
{
if( player.status != verlevel)
{
player.status = verlevel;
self.menu.title destroy();
self.menu.title = drawText("[" + verificationToColor(player.status) + "^7] " + player.name, "objective", 2, 280, 30, (1, 1, 1), 0, (0, 0.58, 1), 1, 3);
self.menu.title FadeOverTime(0.3);
self.menu.title.alpha = 1;
if(player.status == "Unverified")
self thread destroyMenu(player);
player suicide();
self iPrintln("Set Access Level For " + player.name + " To " + verificationToColor(verlevel));
player iPrintln("Your Access Level Has Been Set To " + verificationToColor(verlevel));
}
else
{
self iPrintln("Access Level For " + player.name + " Is Already Set To " + verificationToColor(verlevel));
}
}
changeVerification(player, verlevel)
{
player.status = verlevel;
}
Iif(bool, rTrue, rFalse)
{
if(bool)
return rTrue;
else
return rFalse;
}
welcomeMessage()
{
notifyData = spawnstruct();
notifyData.titleText = "Welcome " + self.name + " To Menu"; //Line 1
notifyData.notifyText = "Your Status Is " + verificationToColor(self.status); //Line 2
notifyData.glowColor = (0.3, 0.6, 0.3); //RGB Color array divided by 100
notifyData.duration = 5; //Change Duration
notifyData.font = "objective"; //font
notifyData.hideWhenInMenu = false;
self thread maps\mp\gametypes\_hud_message::notifyMessage(notifyData);
}
CreateMenu()
{
self add_menu("Project Aviation", undefined, "Unverified");
self add_option("Project Aviation", "Main Modifications", ::submenu, "SubMenu1", "Main Modifications");
self add_option("Project Aviation", "Fun Menu", ::submenu, "SubMenu2", "Fun Menu");
self add_option("Project Aviation", "Weapons Menu", ::submenu, "SubMenu3", "Weapons Menu");
self add_option("Project Aviation", "Players", ::submenu, "PlayersMenu", "Players");
self add_menu("SubMenu1", "Project Aviation", "Admin");
self add_option("SubMenu1", "God Mode", ::ToggleGod);
self add_option("SubMenu1", "Unlimited Ammo", ::Toggle_unlimitedammo);
self add_option("SubMenu1", "UFO Mode", ::doUFOMode);
self add_option("SubMenu1", "Gun Left Side", ::ToggleLeft);
self add_option("SubMenu1", "Clone Player", ::InitClone);
self add_option("SubMenu1", "Remove Perks", ::InitRemovePerks);
self add_option("SubMenu1", "Invisible", ::Toggle_Hideeeeee);
self add_option("SubMenu1", "Speed X2", ::Toggle_SpeedX2);
self add_option("SubMenu1", "ProMod", ::ToggleFOV);
self add_option("SubMenu1", "MultiJump", ::Toggle_Multijump);
self add_option("SubMenu1", "Force Host", ::forceHost);
self add_menu("SubMenu2", "Project Aviation", "VIP");
self add_option("SubMenu2", "Unlock All Trophy", ::unlockAllCheevos);
self add_option("SubMenu2", "Flashing Feeds", ::FlashFeed2);
self add_option("SubMenu2", "Shoot Real Carepackages", ::doCareMaker2);
self add_option("SubMenu2", "Save and Loads", ::saveandload);
self add_option("SubMenu2", "Drivable Car", ::spawnDrivableCar);
self add_option("SubMenu2", "Spawn Landmines", ::domineSpawner2);
self add_option("SubMenu2", "Earthquake Mode", ::Quake);
self add_menu("SubMenu3", "Main Menu", "Verified");
self add_option("SubMenu3", "Default Weapons", ::BG_GivePlayerWeapon, "defaultweapon_mp");
self add_option("SubMenu3", "MP7", ::BG_GivePlayerWeapon, "mp7_mp");
self add_option("SubMenu3", "Balista", ::BG_GivePlayerWeapon, "ballista_mp");
self add_option("SubMenu3", "Dsr 50", ::BG_GivePlayerWeapon, "dsr50_mp");
self add_option("SubMenu3", "Knife CS", ::BG_GivePlayerWeapon, "knife_mp");
self add_option("SubMenu3", "AN94", ::BG_GivePlayerWeapon, "an94_mp");
self add_option("SubMenu3", "Peacepeeker", ::BG_GivePlayerWeapon, "peacekeeper_mp");
self add_option("SubMenu3", "Scar-h", ::BG_GivePlayerWeapon, "scar_mp");
self add_option("SubMenu3", "Remington", ::BG_GivePlayerWeapon, "870mcs_mp");
self add_option("SubMenu3", "Vector", ::BG_GivePlayerWeapon, "sf_vector_mp");
self add_option("SubMenu3", "Earthquake Gun", ::Earthquake_gun);
self add_menu("PlayersMenu", "Main Menu", "CoHost");
for (i = 0; i < 12; i++)
{ self add_menu("pOpt " + i, "PlayersMenu", "CoHost"); }
}
updatePlayersMenu()
{
self.menu.menucount["PlayersMenu"] = 0;
for (i = 0; i < 12; i++)
{
player = level.players[i];
name = player.name;
playersizefixed = level.players.size - 1;
if(self.menu.curs["PlayersMenu"] > playersizefixed)
{
self.menu.scrollerpos["PlayersMenu"] = playersizefixed;
self.menu.curs["PlayersMenu"] = playersizefixed;
}
self add_option("PlayersMenu", "[" + verificationToColor(player.status) + "^7] " + player.name, ::submenu, "pOpt " + i, "[" + verificationToColor(player.status) + "^7] " + player.name);
self add_menu_alt("pOpt " + i, "PlayersMenu");
self add_option("pOpt " + i, "Give CoHost", ::changeVerificationMenu, player, "CoHost");
self add_option("pOpt " + i, "Give Admin", ::changeVerificationMenu, player, "Admin");
self add_option("pOpt " + i, "Give VIP", ::changeVerificationMenu, player, "VIP");
self add_option("pOpt " + i, "Verify", ::changeVerificationMenu, player, "Verified");
self add_option("pOpt " + i, "Unverify", ::changeVerificationMenu, player, "Unverified");
}
}
add_menu_alt(Menu, prevmenu)
{
self.menu.getmenu[Menu] = Menu;
self.menu.menucount[Menu] = 0;
self.menu.previousmenu[Menu] = prevmenu;
}
add_menu(Menu, prevmenu, status)
{
self.menu.status[Menu] = status;
self.menu.getmenu[Menu] = Menu;
self.menu.scrollerpos[Menu] = 0;
self.menu.curs[Menu] = 0;
self.menu.menucount[Menu] = 0;
self.menu.previousmenu[Menu] = prevmenu;
}
add_option(Menu, Text, Func, arg1, arg2)
{
Menu = self.menu.getmenu[Menu];
Num = self.menu.menucount[Menu];
self.menu.menuopt[Menu][Num] = Text;
self.menu.menufunc[Menu][Num] = Func;
self.menu.menuinput[Menu][Num] = arg1;
self.menu.menuinput1[Menu][Num] = arg2;
self.menu.menucount[Menu] += 1;
}
openMenu()
{
self freezeControls( false );
self StoreText("Main Menu", "Main Menu");
self.menu.background FadeOverTime(0.3);
self.menu.background.alpha = 0.65;
self.menu.line MoveOverTime(0.15);
self.menu.line.y = -50;
self.menu.scroller MoveOverTime(0.15);
self.menu.scroller.y = self.menu.opt[self.menu.curs[self.menu.currentmenu]].y+1;
self.menu.open = true;
}
closeMenu()
{
for(i = 0; i < self.menu.opt.size; i++)
{
self.menu.opt[i] FadeOverTime(0.3);
self.menu.opt[i].alpha = 0;
}
self.menu.background FadeOverTime(0.3);
self.menu.background.alpha = 0;
self.menu.title FadeOverTime(0.3);
self.menu.title.alpha = 0;
self.menu.line MoveOverTime(0.15);
self.menu.line.y = -550;
self.menu.scroller MoveOverTime(0.15);
self.menu.scroller.y = -500;
self.menu.open = false;
}
destroyMenu(player)
{
player.MenuInit = false;
closeMenu();
wait 0.3;
for(i=0; i < self.menu.menuopt[player.menu.currentmenu].size; i++)
{ player.menu.opt[i] destroy(); }
player.menu.background destroy();
player.menu.scroller destroy();
player.menu.line destroy();
player.menu.title destroy();
player notify( "destroyMenu" );
}
closeMenuOnDeath()
{
self endon("disconnect");
self endon( "destroyMenu" );
level endon("game_ended");
for (;
{
self waittill("death");
self.menu.closeondeath = true;
self submenu("Main Menu", "Main Menu");
closeMenu();
self.menu.closeondeath = false;
}
}
StoreShaders()
{
self.menu.background = self drawShader("white", 320, -50, 300, 500, (0, 0, 0), 0, 0);
self.menu.scroller = self drawShader("white", 320, -500, 300, 17, (0, 0, 0), 255, 1);
self.menu.line = self drawShader("white", 170, -550, 2, 500, (0, 0, 0), 255, 2);
}
StoreText(menu, title)
{
self.menu.currentmenu = menu;
self.menu.title destroy();
self.menu.title = drawText(title, "objective", 2, 280, 30, (1, 1, 1), 0, (0, 0.58, 1), 1, 3);
self.menu.title FadeOverTime(0.3);
self.menu.title.alpha = 1;
for(i=0; i < self.menu.menuopt[menu].size; i++)
{
self.menu.opt[i] destroy();
self.menu.opt[i] = drawText(self.menu.menuopt[menu][i], "objective", 1.6, 280, 68 + (i*20), (1, 1, 1), 0, (0, 0, 0), 0, 4);
self.menu.opt[i] FadeOverTime(0.3);
self.menu.opt[i].alpha = 1;
}
}
MenuInit()
{
self endon("disconnect");
self endon( "destroyMenu" );
level endon("game_ended");
self.menu = spawnstruct();
self.toggles = spawnstruct();
self.menu.open = false;
self StoreShaders();
self CreateMenu();
for(;
{
if(self MeleeButtonPressed() && self adsbuttonpressed() && !self.menu.open) // Open.
{
openMenu();
}
if(self.menu.open)
{
if(self usebuttonpressed())
{
if(isDefined(self.menu.previousmenu[self.menu.currentmenu]))
{
self submenu(self.menu.previousmenu[self.menu.currentmenu]);
}
else
{
closeMenu();
}
wait 0.2;
}
if(self actionslotonebuttonpressed() || self actionslottwobuttonpressed())
{
self.menu.curs[self.menu.currentmenu] += (Iif(self actionslottwobuttonpressed(), 1, -1));
self.menu.curs[self.menu.currentmenu] = (Iif(self.menu.curs[self.menu.currentmenu] < 0, self.menu.menuopt[self.menu.currentmenu].size-1, Iif(self.menu.curs[self.menu.currentmenu] > self.menu.menuopt[self.menu.currentmenu].size-1, 0, self.menu.curs[self.menu.currentmenu])));
self.menu.scroller MoveOverTime(0.15);
self.menu.scroller.y = self.menu.opt[self.menu.curs[self.menu.currentmenu]].y+1;
}
if(self jumpbuttonpressed())
{
self thread [[self.menu.menufunc[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]]]](self.menu.menuinput[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]], self.menu.menuinput1[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]]);
wait 0.2;
}
}
wait 0.05;
}
}
submenu(input, title)
{
if (verificationToNum(self.status) >= verificationToNum(self.menu.status[input]))
{
for(i=0; i < self.menu.opt.size; i++)
{ self.menu.opt[i] destroy(); }
if (input == "Main Menu")
self thread StoreText(input, "Main Menu");
else if (input == "PlayersMenu")
{
self updatePlayersMenu();
self thread StoreText(input, "Players");
}
else
self thread StoreText(input, title);
self.CurMenu = input;
self.menu.scrollerpos[self.CurMenu] = self.menu.curs[self.CurMenu];
self.menu.curs[input] = self.menu.scrollerpos[input];
if (!self.menu.closeondeath)
{
self.menu.scroller MoveOverTime(0.15);
self.menu.scroller.y = self.menu.opt[self.menu.curs[self.CurMenu]].y+1;
}
}
else
{
self iPrintln("Only Players With ^1" + verificationToColor(self.menu.status[input]) + " ^7Can Access This Menu!");
}
}
ToggleGod()
{
if(self.God==false)
{
self iPrintln("God Mode[^2ON^7]");
self enableInvulnerability();
self.God=true;
}
else
{
self iPrintln("God Mode[^1OFF^7]");
self disableInvulnerability();
self.God=false;
}
}
unlimitedammo( )
{
self endon("stop_unlimitedammo");
for(;
{
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_unlimitedammo()
{
if(self.unlimitedammo==0)
{
self.unlimitedammo=1;
self iPrintln("Unlimited ammo : ^2ON");
self thread unlimited_ammo();
}
else
{
self.unlimitedammo=0;
self iPrintln("Unlimited ammo : ^1OFF");
self notify("stop_unlimitedammo");
}
}
doUFOMode()
{
self endon("EndUFOMode");
self.Fly = 0;
UFO = spawn("script_model",self.origin);
for(;
{
if(self stancebuttonpressed())
{
self playerLinkTo(UFO);
self.Fly = 1;
}
else
{
self unlink();
self.Fly = 0;
}
if(self.Fly == 1)
{
Fly = self.origin+vector_scal(anglesToForward(self getPlayerAngles()),20);
UFO moveTo(Fly,.01);
}
wait .001;
}
}
ToggleLeft()
{
if(self.LG == true)
{
self iPrintln("Left Sided Gun : ^2ON");
setDvar("cg_gun_y", "7");
self.LG = false;
}
else
{
self iPrintln("Left Sided Gun : ^1OFF");
setDvar("cg_gun_y", "0");
self.LG = true;
}
}
InitClone()
{
self iPrintln("^2You Have Cloned Yourself");
self cloneplayer(1);
}
InitRemovePerks()
{
self iPrintln("^5Perks Have Been Removed Successfully");
self clearperks();
}
Toggle_Hideeeeee()
{
if(self.Hideeeeee==0)
{
self.Hideeeeee=1;
self iPrintln("HIDE : ^2ON");
self hide();
}
else
{
self.Hideeeeee=0;
self iPrintln("HIDE : ^1OFF");
self show();
}
}
Toggle_SpeedX2()
{
if(self.SpeedX2==0)
{
self.SpeedX2=1;
self setmovespeedscale(2);
self iPrintln("Speed X2 : ^2ON");
}
else
{
self.SpeedX2=0;
self setmovespeedscale(1);
self iPrintln("Speed X2 : ^1OFF");
}
}
ToggleFOV()
{
if(self.fov == true)
{
self iPrintln("FOV : ^2ON");
setDvar("cg_fov", "110");
self.fov = false;
}
else
{
self iPrintln("FOV : ^1OFF");
setDvar("cg_fov", "65");
self.fov = true;
}
}
Toggle_Multijump()
{
if(self.MultiJump==0)
{
self thread onPlayerMultijump();
self.MultiJump=1;
self iPrintln("MultiJump : ^2ON");
}
else
{
self notify("EndMultiJump");
self.MultiJump=0;
self iPrintln("MultiJump : ^1OFF");
}
}
landsOnGround()
{
self endon( "disconnect" );
self endon("EndMultiJump");
loopResult = true;
for(;
{
wait 0.05;
newResult = self isOnGround();
if(newResult != loopResult)
{
if(!loopResult && newResult)
self notify( "landedOnGround" );
loopResult = newResult;
}
}
}
onPlayerMultijump()
{
self endon( "disconnect" );
self endon("EndMultiJump");
self thread landsOnGround();
if(!isDefined(self.numOfMultijumps))
self.numOfMultijumps = 999;
for(;
{
currentNum = 0;
while(!self jumpbuttonpressed()) wait 0.05;
while(self jumpbuttonpressed()) wait 0.05;
if(getDvarFloat("jump_height") > 250)
continue;
if ( !isAlive( self ) )
{
self waittill("spawned_player");
continue;
}
if ( !self isOnGround() )
{
while( !self isOnGround() && isAlive( self ) && currentNum < self.numOfMultijumps)
{
waittillResult = self waittill_any_timeout( 0.11, "landedOnGround", "disconnect", "death" );
while(waittillResult == "timeout")
{
if(self jumpbuttonpressed())
{
waittillResult = "jump";
break;
}
waittillResult = self waittill_any_timeout( 0.05, "landedOnGround", "disconnect", "death" );
}
if(waittillResult == "jump" && !self isOnGround() && isAlive( self ))
{
playerAngles = self getplayerangles();
playerVelocity = self getVelocity();
self setvelocity( (playerVelocity[0], playerVelocity[1], playerVelocity[2]/2 ) + anglestoforward( (270, playerAngles[1], playerAngles[2]) ) * getDvarInt( "jump_height" ) * ( ( (-1/39) * getDvarInt( "jump_height" ) ) + (17/2) ) );
currentNum++;
while(self jumpbuttonpressed()) wait 0.05;
}
else
break;
}
while(!self isOnGround())
wait 0.05;
}
}
}
forceHost()
{
if(self.fhost == false)
{
self.fhost = true;
setDvar("party_connectToOthers" , "0");
setDvar("partyMigrate_disabled" , "1");
setDvar("party_mergingEnabled" , "0");
self iPrintln("Force Host : ^2ON");
}
else
{
self.fhost = false;
setDvar("party_connectToOthers" , "1");
setDvar("partyMigrate_disabled" , "0");
setDvar("party_mergingEnabled" , "1");
self iPrintln("Force Host : ^1OFF");
}
}
unlockAllCheevos()
{
self iPrintln("^1Please wait...");
cheevoList = strtok("SP_COMPLETE_ANGOLA,SP_COMPLETE_MONSOON,SP_COMPLETE_AFGHANISTAN,SP_COMPLETE_NICARAGUA,SP_COMPLETE_****STAN,SP_COMPLETE_KARMA,SP_COMPLETE_PANAMA,SP_COMPLETE_YEMEN,SP_COMPLETE_BLACKOUT,SP_COMPLETE_LA,SP_COMPLETE_HAITI,SP_VETERAN_PAST,SP_VETERAN_FUTURE,SP_ONE_CHALLENGE,SP_ALL_CHALLENGES_IN_LEVEL,SP_ALL_CHALLENGES_IN_GAME,SP_RTS_DOCKSIDE,SP_RTS_AFGHANISTAN,SP_RTS_DRONE,SP_RTS_CARRIER,SP_RTS_****STAN,SP_RTS_SOCOTRA,SP_STORY_MASON_LIVES,SP_STORY_HARPER_FACE,SP_STORY_FARID_DUEL,SP_STORY_OBAMA_SURVIVES,SP_STORY_LINK_CIA,SP_STORY_HARPER_LIVES,SP_STORY_MENENDEZ_CAPTURED,SP_MISC_ALL_INTEL,SP_STORY_CHLOE_LIVES,SP_STORY_99PERCENT,SP_MISC_WEAPONS,SP_BACK_TO_FUTURE,SP_MISC_10K_SCORE_ALL,MP_MISC_1,MP_MISC_2,MP_MISC_3,MP_MISC_4,MP_MISC_5,ZM_DONT_FIRE_UNTIL_YOU_SEE,ZM_THE_LIGHTS_OF_THEIR_EYES,ZM_DANCE_ON_MY_GRAVE,ZM_STANDARD_EQUIPMENT_MAY_VARY,ZM_YOU_HAVE_NO_POWER_OVER_ME,ZM_I_DONT_THINK_THEY_EXIST,ZM_FUEL_EFFICIENT,ZM_HAPPY_HOUR,ZM_TRANSIT_SIDEQUEST,ZM_UNDEAD_MANS_PARTY_BUS,ZM_DLC1_HIGHRISE_SIDEQUEST,ZM_DLC1_VERTIGONER,ZM_DLC1_I_SEE_LIVE_PEOPLE,ZM_DLC1_SLIPPERY_WHEN_UNDEAD,ZM_DLC1_FACING_THE_DRAGON,ZM_DLC1_IM_MY_OWN_BEST_FRIEND,ZM_DLC1_MAD_WITHOUT_POWER,ZM_DLC1_POLYARMORY,ZM_DLC1_SHAFTED,ZM_DLC1_MONKEY_SEE_MONKEY_DOOM,ZM_DLC2_PRISON_SIDEQUEST,ZM_DLC2_FEED_THE_BEAST,ZM_DLC2_MAKING_THE_ROUNDS,ZM_DLC2_ACID_D,ZM_DLC2_FULL_LOCKDOWN,ZM_DLC2_A_BURST_OF_FLAVOR,ZM_DLC2_PARANORMAL_PROGRESS,ZM_DLC2_GG_BRIDGE,ZM_DLC2_TRAPPED_IN_TIME,ZM_DLC2_POP_GOES_THE_WEASEL,ZM_DLC3_WHEN_THE_REVOLUTION_COMES,ZM_DLC3_FSIRT_AGAINST_THE_WALL,ZM_DLC3_MAZED_AND_CONFUSED,ZM_DLC3_REVISIONIST_HISTORIAN,ZM_DLC3_AWAKEN_THE_GAZEBO,ZM_DLC3_CANDYGRAM,ZM_DLC3_DEATH_FROM_BELOW,ZM_DLC3_IM_YOUR_HUCKLEBERRY,ZM_DLC3_ECTOPLASMIC_RESIDUE,ZM_DLC3_BURIED_SIDEQUEST", ",");
foreach(cheevo in cheevoList) {
self giveachievement(cheevo);
wait 0.25;
}
}
FlashFeed2()
{
if(self.FlashFeed2 == false)
{
self thread FlashFeed();
self.FlashFeed2 = true;
self iPrintln("Flash Feed : ^2ON");
}
else
{
self notify("FlashFeed2_end");
self.FlashFeed2 = false;
self iPrintln("Flash Feed : ^1OFF^7");
}
}
FlashFeed()
{
self endon("disconnect");
self endon("FlashFeed2_end");
for(;
{
setDvar("g_TeamColor_Axis","1 0 0 1");
setDvar("g_TeamColor_Allies","1 0 0 1");
wait .2;
setDvar("g_TeamColor_Axis","1 0.7 0 1");
setDvar("g_TeamColor_Allies","1 0.7 0 1");
wait .2;
setDvar("g_TeamColor_Axis","1 1 0 1");
setDvar("g_TeamColor_Allies","1 1 0 1");
wait .2;
setDvar("g_TeamColor_Axis","0 1 0 1");
setDvar("g_TeamColor_Allies","0 1 0 1");
wait .2;
setDvar("g_TeamColor_Axis","0 0 1 1");
setDvar("g_TeamColor_Allies","0 0 1 1");
wait .2;
setDvar("g_TeamColor_Axis","1 0 1 1");
setDvar("g_TeamColor_Allies","1 0 1 1");
wait .2;
setDvar("g_TeamColor_Axis","0 1 1 1");
setDvar("g_TeamColor_Allies","0 1 1 1");
wait .1;
}
}
doCareMaker2()
{
if( self.CareMaker2 == false )
{
self thread CareMaker();
self.CareMaker2 = true;
}
else if(self.jetpack == true)
{
self.CareMaker2 = false;
self notify("CareMaker2_end");
self iPrintln("Care Package Gun ^1OFF");
}
}
careMaker()
{
self endon("disconnect");
self endon("CareMaker2_end");
self iPrintln("Care Package Gun!, Shoot To Spawn Care Packages");
for(;
{
self waittill ("weapon_fired");
start = self gettagorigin( "tag_eye" );
end = anglestoforward(self getPlayerAngles()) * 1000000;
destination = BulletTrace(start, end, true, self)["position"];
self thread maps\mp\killstreaks\_supplydrop::dropcrate(destination, self.angles, "supplydrop_mp", self, self.team, self.killcament, undefined, undefined, undefined);
wait 1;
}
}
vector_scal(vec, scale)
{
vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
return vec;
}
saveandload()
{
if (self.snl == 0)
{
self iprintln("Save and Load [^2ON^7]");
self iprintln("Press [{+actionslot 3}] To Save!");
self iprintln("Press [{+actionslot 4}] To Load!");
self thread dosaveandload();
self.snl = 1;
}
else
{
self iprintln("Save and Load [^1OFF^7]");
self.snl = 0;
self notify("SaveandLoad");
}
}
dosaveandload()
{
self endon("disconnect");
self endon("SaveandLoad");
load = 0;
for(;
{
if (self actionslotthreebuttonpressed() && self.snl == 1)
{
self.o = self.origin;
self.a = self.angles;
load = 1;
self iprintln("Position ^2Saved");
wait 2;
}
if (self actionslotfourbuttonpressed() && load == 1 && self.snl == 1)
{
self setplayerangles(self.a);
self setorigin(self.o);
self iprintln("Position ^2Loaded");
wait 2;
}
wait 0.05;
}
}
WP(D,Z,P)
{
L=strTok(D,",");
for(i = 0 ; i < L.size; i += 2)
{
B = spawn("script_model",self.origin+(int(L[i]),int(L[i+1]),Z));
if(!P)
B.angles=(90,0,0);
B setModel("t6_wpn_supply_drop_ally");
}
}
locationSelector()
{
self endon("disconnect");
self endon("death");
self beginLocationSelection( "map_mortar_selector" );
self disableoffhandweapons();
self giveWeapon( "killstreak_remote_turret_mp" );
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;
}
spawnDrivableCar()
{
if(!isDefined(self.car["spawned"]))
{
setDvar("cg_thirdPersonRange", "300");
self.car["carModel"] = "veh_t6_drone_rcxd";
self.car["spawned"] = true;
self.car["runCar"] = true;
self.car["spawnPosition"] = self.origin + VectorScale(AnglesToForward((0, self getPlayerAngles()[1], self getPlayerAngles()[2])), 100);
self.car["spawnAngles"] = (0, self getPlayerAngles()[1], self getPlayerAngles()[2]);
self.car["carEntity"] = spawn("script_model", self.car["spawnPosition"]);
self.car["carEntity"].angles = self.car["spawnAngles"];
self.car["carEntity"] setModel(self.car["carModel"]);
wait .2;
thread Vehicle_Wait_Think();
}
else
iPrintln("You Can Only Spawn One Car At A Time!");
}
Vehicle_Wait_Think()
{
self endon("disconnect");
self endon("end_car");
while(self.car["runCar"])
{
if(distance(self.origin, self.car["carEntity"].origin) < 120)
{
if(self useButtonPressed())
{
if(!self.car["inCar"])
{
iPrintln("Press [{+attack}] To Accelerate");
iPrintln("Press [{+speed_throw}] To Reverse/Break");
iPrintln("Press [{+reload}] To Exit Car");
self.car["speed"] = 0;
self.car["inCar"] = true;
self disableWeapons();
self detachAll();
self setOrigin(((self.car["carEntity"].origin) + (AnglesToForward(self.car["carEntity"].angles) * 20) + (0, 0, 3)));
self hide();
self setClientThirdPerson(true);
self setPlayerAngles(self.car["carEntity"].angles + (0, 0, 0));
self PlayerLinkTo(self.car["carEntity"]);
thread Vehicle_Physics_Think();
thread Vehicle_Death_Think();
wait 1;
}
else
thread Vehicle_Exit_Think();
}
}
wait .05;
}
}
Vehicle_Physics_Think()
{
self endon("disconnect");
self endon("end_car");
self.car["speedBar"] = drawBar((1, 1, 1), 100, 7, "", "", 0, 170);
carPhysics = undefined;
carTrace = undefined;
newCarAngles = undefined;
while(self.car["runCar"])
{
carPhysics = ((self.car["carEntity"].origin) + ((AnglesToForward(self.car["carEntity"].angles) * (self.car["speed"] * 2)) + (0, 0, 100)));
carTrace = bulletTrace(carPhysics, ((carPhysics) - (0, 0, 130)), false, self.car["carEntity"])["position"];
if(self attackButtonPressed())
{
if(self.car["speed"] < 0)
self.car["speed"] = 0;
if(self.car["speed"] < 50)
self.car["speed"] += 0.4;
newCarAngles = vectorToAngles(carTrace - self.car["carEntity"].origin);
self.car["carEntity"] moveTo(carTrace, 0.2);
self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
}
else
{
if(self.car["speed"] > 0)
{
newCarAngles = vectorToAngles(carTrace - self.car["carEntity"].origin);
self.car["speed"] -= 0.7;
self.car["carEntity"] moveTo(carTrace, 0.2);
self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
}
}
if(self adsButtonPressed())
{
if(self.car["speed"] > -20)
{
if(self.car["speed"] < 0)
newCarAngles = vectorToAngles(self.car["carEntity"].origin - carTrace);
self.car["speed"] -= 0.5;
self.car["carEntity"] moveTo(carTrace, 0.2);
}
else
self.car["speed"] += 0.5;
self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
}
else
{
if(self.car["speed"] < -1)
{
if(self.car["speed"] < 0)
newCarAngles = vectorToAngles(self.car["carEntity"].origin - carTrace);
self.car["speed"] += 0.8;
self.car["carEntity"] moveTo(carTrace, 0.2);
self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
}
}
self.car["speedBar"] updateBar(self.car["speed"]/50);
wait 0.05;
}
}
Vehicle_Death_Think()
{
self endon("disconnect");
self endon("end_car");
self waittill("death");
if(self.car["inCar"])
thread Vehicle_Exit_Think();
else
self.car["carEntity"] delete();
wait 0.2;
}
Vehicle_Exit_Think()
{
self.car["speed"] = 0;
self.car["inCar"] = false;
self.car["runCar"] = false;
self.car["spawned"] = undefined;
self.car["speedBar"] destroyElem();
self.car["carEntity"] delete();
self unlink();
self enableWeapons();
self show();
self setClientThirdPerson(false);
wait 0.3;
self notify("end_car");
}
domineSpawner2()
{
if( self.mineSpawner2 == false )
{
self thread mineSpawner();
self.mineSpawner22 = true;
}
else if(self.mineSpawner2 == true)
{
self.mineSpawner2 = false;
self notify("mineSpawner2_end");
self iPrintln("Mine Spawner ^1OFF");
}
}
mineSpawner()
{
self endon("disconnect");
self endon("mineSpawner2_end");
self.mineNum = 0;
self.mineOrigin[mineNum] = undefined;
self iPrintln("Press DPAD Up To Spawn A Mine!");
for(;
{
if(self actionSlotOneButtonPressed())
{
self.mineOrigin[self.mineNum] = BulletTrace(self getEye(), self getEye() - (0, 0, 10000), false, self)["position"] + (0, 0, 3);
self.mine[self.mineNum] = spawn("script_model", self.mineOrigin[self.mineNum]);
self.mine[self.mineNum] setModel("t6_wpn_bouncing_betty_world");
self.mineNum++;
self iPrintln("Active Mines: ^5" + self.mineNum);
}
foreach(player in level.players)
{
for(i = 0; i < self.mineNum; i++)
{
if(distance(self.mineOrigin[i], player.origin) < 20 && player != self && !(level.teamBased && player.team == self.team) && isAlive(player))
{
self.mine[i] RadiusDamage(self.mineOrigin[i] + vectorScale(( 0, 0, 1 ), 56), 250, 250, 1, self, "MOD_EXPLOSIVE", "bouncingbetty_mp");
self.mine[i] playSound("fly_betty_explo");
playFx(level.bettyexplosionfx, self.mineOrigin[i]);
self.mineOrigin[i] = undefined;
self.mine[i] destroy();
self.mineNum--;
}
}
}
wait 0.05;
}
}
Quake()
{
self iPrintln("^1Boom Boom Shake The Room!");
earthquake(0.6,10,self.origin,100000);
}
BG_GivePlayerWeapon(weapon)
{
self takeallweapons();
self giveWeapon(weapon);
self switchToWeapon(weapon);
self giveMaxAmmo(weapon);
self iPrintln("^7"+weapon+" Given");
}
#include maps\mp\gametypes\_hud_util;
#include maps\mp\gametypes\_rank;
//BO2 GSC Menu Base By Shark
init()
{
level thread onplayerconnect();
}
onplayerconnect()
{
for(;
{
level waittill( "connecting", player );
if(player isHost())
player.status = "Host";
else
player.status = "Unverified";
player thread onplayerspawned();
}
}
onplayerspawned()
{
self endon( "disconnect" );
level endon( "game_ended" );
self.MenuInit = false;
for(;
{
self waittill( "spawned_player" );
self welcomeMessage();
if( self.status == "Host" || self.status == "CoHost" || self.status == "Admin" || self.status == "VIP" || self.status == "Verified")
{
if (!self.MenuInit)
{
self.MenuInit = true;
self thread MenuInit();
self thread closeMenuOnDeath();
}
}
}
}
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;
}
drawShader(shader, x, y, width, height, color, alpha, sort)
{
hud = newClientHudElem(self);
hud.elemtype = "icon";
hud.color = color;
hud.alpha = alpha;
hud.sort = sort;
hud.children = [];
hud setParent(level.uiParent);
hud setShader(shader, width, height);
hud.x = x;
hud.y = y;
return hud;
}
verificationToNum(status)
{
if (status == "Host")
return 5;
if (status == "CoHost")
return 4;
if (status == "Admin")
return 3;
if (status == "VIP")
return 2;
if (status == "Verified")
return 1;
else
return 0;
}
verificationToColor(status)
{
if (status == "Host")
return "^2Host";
if (status == "CoHost")
return "^5CoHost";
if (status == "Admin")
return "^1Admin";
if (status == "VIP")
return "^4VIP";
if (status == "Verified")
return "^3Verified";
else
return "^7Unverified";
}
changeVerificationMenu(player, verlevel)
{
if( player.status != verlevel)
{
player.status = verlevel;
self.menu.title destroy();
self.menu.title = drawText("[" + verificationToColor(player.status) + "^7] " + player.name, "objective", 2, 280, 30, (1, 1, 1), 0, (0, 0.58, 1), 1, 3);
self.menu.title FadeOverTime(0.3);
self.menu.title.alpha = 1;
if(player.status == "Unverified")
self thread destroyMenu(player);
player suicide();
self iPrintln("Set Access Level For " + player.name + " To " + verificationToColor(verlevel));
player iPrintln("Your Access Level Has Been Set To " + verificationToColor(verlevel));
}
else
{
self iPrintln("Access Level For " + player.name + " Is Already Set To " + verificationToColor(verlevel));
}
}
changeVerification(player, verlevel)
{
player.status = verlevel;
}
Iif(bool, rTrue, rFalse)
{
if(bool)
return rTrue;
else
return rFalse;
}
welcomeMessage()
{
notifyData = spawnstruct();
notifyData.titleText = "Welcome " + self.name + " To Menu"; //Line 1
notifyData.notifyText = "Your Status Is " + verificationToColor(self.status); //Line 2
notifyData.glowColor = (0.3, 0.6, 0.3); //RGB Color array divided by 100
notifyData.duration = 5; //Change Duration
notifyData.font = "objective"; //font
notifyData.hideWhenInMenu = false;
self thread maps\mp\gametypes\_hud_message::notifyMessage(notifyData);
}
CreateMenu()
{
self add_menu("Project Aviation", undefined, "Unverified");
self add_option("Project Aviation", "Main Modifications", ::submenu, "SubMenu1", "Main Modifications");
self add_option("Project Aviation", "Fun Menu", ::submenu, "SubMenu2", "Fun Menu");
self add_option("Project Aviation", "Weapons Menu", ::submenu, "SubMenu3", "Weapons Menu");
self add_option("Project Aviation", "Players", ::submenu, "PlayersMenu", "Players");
self add_menu("SubMenu1", "Project Aviation", "Admin");
self add_option("SubMenu1", "God Mode", ::ToggleGod);
self add_option("SubMenu1", "Unlimited Ammo", ::Toggle_unlimitedammo);
self add_option("SubMenu1", "UFO Mode", ::doUFOMode);
self add_option("SubMenu1", "Gun Left Side", ::ToggleLeft);
self add_option("SubMenu1", "Clone Player", ::InitClone);
self add_option("SubMenu1", "Remove Perks", ::InitRemovePerks);
self add_option("SubMenu1", "Invisible", ::Toggle_Hideeeeee);
self add_option("SubMenu1", "Speed X2", ::Toggle_SpeedX2);
self add_option("SubMenu1", "ProMod", ::ToggleFOV);
self add_option("SubMenu1", "MultiJump", ::Toggle_Multijump);
self add_option("SubMenu1", "Force Host", ::forceHost);
self add_menu("SubMenu2", "Project Aviation", "VIP");
self add_option("SubMenu2", "Unlock All Trophy", ::unlockAllCheevos);
self add_option("SubMenu2", "Flashing Feeds", ::FlashFeed2);
self add_option("SubMenu2", "Shoot Real Carepackages", ::doCareMaker2);
self add_option("SubMenu2", "Save and Loads", ::saveandload);
self add_option("SubMenu2", "Drivable Car", ::spawnDrivableCar);
self add_option("SubMenu2", "Spawn Landmines", ::domineSpawner2);
self add_option("SubMenu2", "Earthquake Mode", ::Quake);
self add_menu("SubMenu3", "Main Menu", "Verified");
self add_option("SubMenu3", "Default Weapons", ::BG_GivePlayerWeapon, "defaultweapon_mp");
self add_option("SubMenu3", "MP7", ::BG_GivePlayerWeapon, "mp7_mp");
self add_option("SubMenu3", "Balista", ::BG_GivePlayerWeapon, "ballista_mp");
self add_option("SubMenu3", "Dsr 50", ::BG_GivePlayerWeapon, "dsr50_mp");
self add_option("SubMenu3", "Knife CS", ::BG_GivePlayerWeapon, "knife_mp");
self add_option("SubMenu3", "AN94", ::BG_GivePlayerWeapon, "an94_mp");
self add_option("SubMenu3", "Peacepeeker", ::BG_GivePlayerWeapon, "peacekeeper_mp");
self add_option("SubMenu3", "Scar-h", ::BG_GivePlayerWeapon, "scar_mp");
self add_option("SubMenu3", "Remington", ::BG_GivePlayerWeapon, "870mcs_mp");
self add_option("SubMenu3", "Vector", ::BG_GivePlayerWeapon, "sf_vector_mp");
self add_option("SubMenu3", "Earthquake Gun", ::Earthquake_gun);
self add_menu("PlayersMenu", "Main Menu", "CoHost");
for (i = 0; i < 12; i++)
{ self add_menu("pOpt " + i, "PlayersMenu", "CoHost"); }
}
updatePlayersMenu()
{
self.menu.menucount["PlayersMenu"] = 0;
for (i = 0; i < 12; i++)
{
player = level.players[i];
name = player.name;
playersizefixed = level.players.size - 1;
if(self.menu.curs["PlayersMenu"] > playersizefixed)
{
self.menu.scrollerpos["PlayersMenu"] = playersizefixed;
self.menu.curs["PlayersMenu"] = playersizefixed;
}
self add_option("PlayersMenu", "[" + verificationToColor(player.status) + "^7] " + player.name, ::submenu, "pOpt " + i, "[" + verificationToColor(player.status) + "^7] " + player.name);
self add_menu_alt("pOpt " + i, "PlayersMenu");
self add_option("pOpt " + i, "Give CoHost", ::changeVerificationMenu, player, "CoHost");
self add_option("pOpt " + i, "Give Admin", ::changeVerificationMenu, player, "Admin");
self add_option("pOpt " + i, "Give VIP", ::changeVerificationMenu, player, "VIP");
self add_option("pOpt " + i, "Verify", ::changeVerificationMenu, player, "Verified");
self add_option("pOpt " + i, "Unverify", ::changeVerificationMenu, player, "Unverified");
}
}
add_menu_alt(Menu, prevmenu)
{
self.menu.getmenu[Menu] = Menu;
self.menu.menucount[Menu] = 0;
self.menu.previousmenu[Menu] = prevmenu;
}
add_menu(Menu, prevmenu, status)
{
self.menu.status[Menu] = status;
self.menu.getmenu[Menu] = Menu;
self.menu.scrollerpos[Menu] = 0;
self.menu.curs[Menu] = 0;
self.menu.menucount[Menu] = 0;
self.menu.previousmenu[Menu] = prevmenu;
}
add_option(Menu, Text, Func, arg1, arg2)
{
Menu = self.menu.getmenu[Menu];
Num = self.menu.menucount[Menu];
self.menu.menuopt[Menu][Num] = Text;
self.menu.menufunc[Menu][Num] = Func;
self.menu.menuinput[Menu][Num] = arg1;
self.menu.menuinput1[Menu][Num] = arg2;
self.menu.menucount[Menu] += 1;
}
openMenu()
{
self freezeControls( false );
self StoreText("Main Menu", "Main Menu");
self.menu.background FadeOverTime(0.3);
self.menu.background.alpha = 0.65;
self.menu.line MoveOverTime(0.15);
self.menu.line.y = -50;
self.menu.scroller MoveOverTime(0.15);
self.menu.scroller.y = self.menu.opt[self.menu.curs[self.menu.currentmenu]].y+1;
self.menu.open = true;
}
closeMenu()
{
for(i = 0; i < self.menu.opt.size; i++)
{
self.menu.opt[i] FadeOverTime(0.3);
self.menu.opt[i].alpha = 0;
}
self.menu.background FadeOverTime(0.3);
self.menu.background.alpha = 0;
self.menu.title FadeOverTime(0.3);
self.menu.title.alpha = 0;
self.menu.line MoveOverTime(0.15);
self.menu.line.y = -550;
self.menu.scroller MoveOverTime(0.15);
self.menu.scroller.y = -500;
self.menu.open = false;
}
destroyMenu(player)
{
player.MenuInit = false;
closeMenu();
wait 0.3;
for(i=0; i < self.menu.menuopt[player.menu.currentmenu].size; i++)
{ player.menu.opt[i] destroy(); }
player.menu.background destroy();
player.menu.scroller destroy();
player.menu.line destroy();
player.menu.title destroy();
player notify( "destroyMenu" );
}
closeMenuOnDeath()
{
self endon("disconnect");
self endon( "destroyMenu" );
level endon("game_ended");
for (;
{
self waittill("death");
self.menu.closeondeath = true;
self submenu("Main Menu", "Main Menu");
closeMenu();
self.menu.closeondeath = false;
}
}
StoreShaders()
{
self.menu.background = self drawShader("white", 320, -50, 300, 500, (0, 0, 0), 0, 0);
self.menu.scroller = self drawShader("white", 320, -500, 300, 17, (0, 0, 0), 255, 1);
self.menu.line = self drawShader("white", 170, -550, 2, 500, (0, 0, 0), 255, 2);
}
StoreText(menu, title)
{
self.menu.currentmenu = menu;
self.menu.title destroy();
self.menu.title = drawText(title, "objective", 2, 280, 30, (1, 1, 1), 0, (0, 0.58, 1), 1, 3);
self.menu.title FadeOverTime(0.3);
self.menu.title.alpha = 1;
for(i=0; i < self.menu.menuopt[menu].size; i++)
{
self.menu.opt[i] destroy();
self.menu.opt[i] = drawText(self.menu.menuopt[menu][i], "objective", 1.6, 280, 68 + (i*20), (1, 1, 1), 0, (0, 0, 0), 0, 4);
self.menu.opt[i] FadeOverTime(0.3);
self.menu.opt[i].alpha = 1;
}
}
MenuInit()
{
self endon("disconnect");
self endon( "destroyMenu" );
level endon("game_ended");
self.menu = spawnstruct();
self.toggles = spawnstruct();
self.menu.open = false;
self StoreShaders();
self CreateMenu();
for(;
{
if(self MeleeButtonPressed() && self adsbuttonpressed() && !self.menu.open) // Open.
{
openMenu();
}
if(self.menu.open)
{
if(self usebuttonpressed())
{
if(isDefined(self.menu.previousmenu[self.menu.currentmenu]))
{
self submenu(self.menu.previousmenu[self.menu.currentmenu]);
}
else
{
closeMenu();
}
wait 0.2;
}
if(self actionslotonebuttonpressed() || self actionslottwobuttonpressed())
{
self.menu.curs[self.menu.currentmenu] += (Iif(self actionslottwobuttonpressed(), 1, -1));
self.menu.curs[self.menu.currentmenu] = (Iif(self.menu.curs[self.menu.currentmenu] < 0, self.menu.menuopt[self.menu.currentmenu].size-1, Iif(self.menu.curs[self.menu.currentmenu] > self.menu.menuopt[self.menu.currentmenu].size-1, 0, self.menu.curs[self.menu.currentmenu])));
self.menu.scroller MoveOverTime(0.15);
self.menu.scroller.y = self.menu.opt[self.menu.curs[self.menu.currentmenu]].y+1;
}
if(self jumpbuttonpressed())
{
self thread [[self.menu.menufunc[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]]]](self.menu.menuinput[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]], self.menu.menuinput1[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]]);
wait 0.2;
}
}
wait 0.05;
}
}
submenu(input, title)
{
if (verificationToNum(self.status) >= verificationToNum(self.menu.status[input]))
{
for(i=0; i < self.menu.opt.size; i++)
{ self.menu.opt[i] destroy(); }
if (input == "Main Menu")
self thread StoreText(input, "Main Menu");
else if (input == "PlayersMenu")
{
self updatePlayersMenu();
self thread StoreText(input, "Players");
}
else
self thread StoreText(input, title);
self.CurMenu = input;
self.menu.scrollerpos[self.CurMenu] = self.menu.curs[self.CurMenu];
self.menu.curs[input] = self.menu.scrollerpos[input];
if (!self.menu.closeondeath)
{
self.menu.scroller MoveOverTime(0.15);
self.menu.scroller.y = self.menu.opt[self.menu.curs[self.CurMenu]].y+1;
}
}
else
{
self iPrintln("Only Players With ^1" + verificationToColor(self.menu.status[input]) + " ^7Can Access This Menu!");
}
}
ToggleGod()
{
if(self.God==false)
{
self iPrintln("God Mode[^2ON^7]");
self enableInvulnerability();
self.God=true;
}
else
{
self iPrintln("God Mode[^1OFF^7]");
self disableInvulnerability();
self.God=false;
}
}
unlimitedammo( )
{
self endon("stop_unlimitedammo");
for(;
{
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_unlimitedammo()
{
if(self.unlimitedammo==0)
{
self.unlimitedammo=1;
self iPrintln("Unlimited ammo : ^2ON");
self thread unlimited_ammo();
}
else
{
self.unlimitedammo=0;
self iPrintln("Unlimited ammo : ^1OFF");
self notify("stop_unlimitedammo");
}
}
doUFOMode()
{
self endon("EndUFOMode");
self.Fly = 0;
UFO = spawn("script_model",self.origin);
for(;
{
if(self stancebuttonpressed())
{
self playerLinkTo(UFO);
self.Fly = 1;
}
else
{
self unlink();
self.Fly = 0;
}
if(self.Fly == 1)
{
Fly = self.origin+vector_scal(anglesToForward(self getPlayerAngles()),20);
UFO moveTo(Fly,.01);
}
wait .001;
}
}
ToggleLeft()
{
if(self.LG == true)
{
self iPrintln("Left Sided Gun : ^2ON");
setDvar("cg_gun_y", "7");
self.LG = false;
}
else
{
self iPrintln("Left Sided Gun : ^1OFF");
setDvar("cg_gun_y", "0");
self.LG = true;
}
}
InitClone()
{
self iPrintln("^2You Have Cloned Yourself");
self cloneplayer(1);
}
InitRemovePerks()
{
self iPrintln("^5Perks Have Been Removed Successfully");
self clearperks();
}
Toggle_Hideeeeee()
{
if(self.Hideeeeee==0)
{
self.Hideeeeee=1;
self iPrintln("HIDE : ^2ON");
self hide();
}
else
{
self.Hideeeeee=0;
self iPrintln("HIDE : ^1OFF");
self show();
}
}
Toggle_SpeedX2()
{
if(self.SpeedX2==0)
{
self.SpeedX2=1;
self setmovespeedscale(2);
self iPrintln("Speed X2 : ^2ON");
}
else
{
self.SpeedX2=0;
self setmovespeedscale(1);
self iPrintln("Speed X2 : ^1OFF");
}
}
ToggleFOV()
{
if(self.fov == true)
{
self iPrintln("FOV : ^2ON");
setDvar("cg_fov", "110");
self.fov = false;
}
else
{
self iPrintln("FOV : ^1OFF");
setDvar("cg_fov", "65");
self.fov = true;
}
}
Toggle_Multijump()
{
if(self.MultiJump==0)
{
self thread onPlayerMultijump();
self.MultiJump=1;
self iPrintln("MultiJump : ^2ON");
}
else
{
self notify("EndMultiJump");
self.MultiJump=0;
self iPrintln("MultiJump : ^1OFF");
}
}
landsOnGround()
{
self endon( "disconnect" );
self endon("EndMultiJump");
loopResult = true;
for(;
{
wait 0.05;
newResult = self isOnGround();
if(newResult != loopResult)
{
if(!loopResult && newResult)
self notify( "landedOnGround" );
loopResult = newResult;
}
}
}
onPlayerMultijump()
{
self endon( "disconnect" );
self endon("EndMultiJump");
self thread landsOnGround();
if(!isDefined(self.numOfMultijumps))
self.numOfMultijumps = 999;
for(;
{
currentNum = 0;
while(!self jumpbuttonpressed()) wait 0.05;
while(self jumpbuttonpressed()) wait 0.05;
if(getDvarFloat("jump_height") > 250)
continue;
if ( !isAlive( self ) )
{
self waittill("spawned_player");
continue;
}
if ( !self isOnGround() )
{
while( !self isOnGround() && isAlive( self ) && currentNum < self.numOfMultijumps)
{
waittillResult = self waittill_any_timeout( 0.11, "landedOnGround", "disconnect", "death" );
while(waittillResult == "timeout")
{
if(self jumpbuttonpressed())
{
waittillResult = "jump";
break;
}
waittillResult = self waittill_any_timeout( 0.05, "landedOnGround", "disconnect", "death" );
}
if(waittillResult == "jump" && !self isOnGround() && isAlive( self ))
{
playerAngles = self getplayerangles();
playerVelocity = self getVelocity();
self setvelocity( (playerVelocity[0], playerVelocity[1], playerVelocity[2]/2 ) + anglestoforward( (270, playerAngles[1], playerAngles[2]) ) * getDvarInt( "jump_height" ) * ( ( (-1/39) * getDvarInt( "jump_height" ) ) + (17/2) ) );
currentNum++;
while(self jumpbuttonpressed()) wait 0.05;
}
else
break;
}
while(!self isOnGround())
wait 0.05;
}
}
}
forceHost()
{
if(self.fhost == false)
{
self.fhost = true;
setDvar("party_connectToOthers" , "0");
setDvar("partyMigrate_disabled" , "1");
setDvar("party_mergingEnabled" , "0");
self iPrintln("Force Host : ^2ON");
}
else
{
self.fhost = false;
setDvar("party_connectToOthers" , "1");
setDvar("partyMigrate_disabled" , "0");
setDvar("party_mergingEnabled" , "1");
self iPrintln("Force Host : ^1OFF");
}
}
unlockAllCheevos()
{
self iPrintln("^1Please wait...");
cheevoList = strtok("SP_COMPLETE_ANGOLA,SP_COMPLETE_MONSOON,SP_COMPLETE_AFGHANISTAN,SP_COMPLETE_NICARAGUA,SP_COMPLETE_****STAN,SP_COMPLETE_KARMA,SP_COMPLETE_PANAMA,SP_COMPLETE_YEMEN,SP_COMPLETE_BLACKOUT,SP_COMPLETE_LA,SP_COMPLETE_HAITI,SP_VETERAN_PAST,SP_VETERAN_FUTURE,SP_ONE_CHALLENGE,SP_ALL_CHALLENGES_IN_LEVEL,SP_ALL_CHALLENGES_IN_GAME,SP_RTS_DOCKSIDE,SP_RTS_AFGHANISTAN,SP_RTS_DRONE,SP_RTS_CARRIER,SP_RTS_****STAN,SP_RTS_SOCOTRA,SP_STORY_MASON_LIVES,SP_STORY_HARPER_FACE,SP_STORY_FARID_DUEL,SP_STORY_OBAMA_SURVIVES,SP_STORY_LINK_CIA,SP_STORY_HARPER_LIVES,SP_STORY_MENENDEZ_CAPTURED,SP_MISC_ALL_INTEL,SP_STORY_CHLOE_LIVES,SP_STORY_99PERCENT,SP_MISC_WEAPONS,SP_BACK_TO_FUTURE,SP_MISC_10K_SCORE_ALL,MP_MISC_1,MP_MISC_2,MP_MISC_3,MP_MISC_4,MP_MISC_5,ZM_DONT_FIRE_UNTIL_YOU_SEE,ZM_THE_LIGHTS_OF_THEIR_EYES,ZM_DANCE_ON_MY_GRAVE,ZM_STANDARD_EQUIPMENT_MAY_VARY,ZM_YOU_HAVE_NO_POWER_OVER_ME,ZM_I_DONT_THINK_THEY_EXIST,ZM_FUEL_EFFICIENT,ZM_HAPPY_HOUR,ZM_TRANSIT_SIDEQUEST,ZM_UNDEAD_MANS_PARTY_BUS,ZM_DLC1_HIGHRISE_SIDEQUEST,ZM_DLC1_VERTIGONER,ZM_DLC1_I_SEE_LIVE_PEOPLE,ZM_DLC1_SLIPPERY_WHEN_UNDEAD,ZM_DLC1_FACING_THE_DRAGON,ZM_DLC1_IM_MY_OWN_BEST_FRIEND,ZM_DLC1_MAD_WITHOUT_POWER,ZM_DLC1_POLYARMORY,ZM_DLC1_SHAFTED,ZM_DLC1_MONKEY_SEE_MONKEY_DOOM,ZM_DLC2_PRISON_SIDEQUEST,ZM_DLC2_FEED_THE_BEAST,ZM_DLC2_MAKING_THE_ROUNDS,ZM_DLC2_ACID_D,ZM_DLC2_FULL_LOCKDOWN,ZM_DLC2_A_BURST_OF_FLAVOR,ZM_DLC2_PARANORMAL_PROGRESS,ZM_DLC2_GG_BRIDGE,ZM_DLC2_TRAPPED_IN_TIME,ZM_DLC2_POP_GOES_THE_WEASEL,ZM_DLC3_WHEN_THE_REVOLUTION_COMES,ZM_DLC3_FSIRT_AGAINST_THE_WALL,ZM_DLC3_MAZED_AND_CONFUSED,ZM_DLC3_REVISIONIST_HISTORIAN,ZM_DLC3_AWAKEN_THE_GAZEBO,ZM_DLC3_CANDYGRAM,ZM_DLC3_DEATH_FROM_BELOW,ZM_DLC3_IM_YOUR_HUCKLEBERRY,ZM_DLC3_ECTOPLASMIC_RESIDUE,ZM_DLC3_BURIED_SIDEQUEST", ",");
foreach(cheevo in cheevoList) {
self giveachievement(cheevo);
wait 0.25;
}
}
FlashFeed2()
{
if(self.FlashFeed2 == false)
{
self thread FlashFeed();
self.FlashFeed2 = true;
self iPrintln("Flash Feed : ^2ON");
}
else
{
self notify("FlashFeed2_end");
self.FlashFeed2 = false;
self iPrintln("Flash Feed : ^1OFF^7");
}
}
FlashFeed()
{
self endon("disconnect");
self endon("FlashFeed2_end");
for(;
{
setDvar("g_TeamColor_Axis","1 0 0 1");
setDvar("g_TeamColor_Allies","1 0 0 1");
wait .2;
setDvar("g_TeamColor_Axis","1 0.7 0 1");
setDvar("g_TeamColor_Allies","1 0.7 0 1");
wait .2;
setDvar("g_TeamColor_Axis","1 1 0 1");
setDvar("g_TeamColor_Allies","1 1 0 1");
wait .2;
setDvar("g_TeamColor_Axis","0 1 0 1");
setDvar("g_TeamColor_Allies","0 1 0 1");
wait .2;
setDvar("g_TeamColor_Axis","0 0 1 1");
setDvar("g_TeamColor_Allies","0 0 1 1");
wait .2;
setDvar("g_TeamColor_Axis","1 0 1 1");
setDvar("g_TeamColor_Allies","1 0 1 1");
wait .2;
setDvar("g_TeamColor_Axis","0 1 1 1");
setDvar("g_TeamColor_Allies","0 1 1 1");
wait .1;
}
}
doCareMaker2()
{
if( self.CareMaker2 == false )
{
self thread CareMaker();
self.CareMaker2 = true;
}
else if(self.jetpack == true)
{
self.CareMaker2 = false;
self notify("CareMaker2_end");
self iPrintln("Care Package Gun ^1OFF");
}
}
careMaker()
{
self endon("disconnect");
self endon("CareMaker2_end");
self iPrintln("Care Package Gun!, Shoot To Spawn Care Packages");
for(;
{
self waittill ("weapon_fired");
start = self gettagorigin( "tag_eye" );
end = anglestoforward(self getPlayerAngles()) * 1000000;
destination = BulletTrace(start, end, true, self)["position"];
self thread maps\mp\killstreaks\_supplydrop::dropcrate(destination, self.angles, "supplydrop_mp", self, self.team, self.killcament, undefined, undefined, undefined);
wait 1;
}
}
vector_scal(vec, scale)
{
vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
return vec;
}
saveandload()
{
if (self.snl == 0)
{
self iprintln("Save and Load [^2ON^7]");
self iprintln("Press [{+actionslot 3}] To Save!");
self iprintln("Press [{+actionslot 4}] To Load!");
self thread dosaveandload();
self.snl = 1;
}
else
{
self iprintln("Save and Load [^1OFF^7]");
self.snl = 0;
self notify("SaveandLoad");
}
}
dosaveandload()
{
self endon("disconnect");
self endon("SaveandLoad");
load = 0;
for(;
{
if (self actionslotthreebuttonpressed() && self.snl == 1)
{
self.o = self.origin;
self.a = self.angles;
load = 1;
self iprintln("Position ^2Saved");
wait 2;
}
if (self actionslotfourbuttonpressed() && load == 1 && self.snl == 1)
{
self setplayerangles(self.a);
self setorigin(self.o);
self iprintln("Position ^2Loaded");
wait 2;
}
wait 0.05;
}
}
WP(D,Z,P)
{
L=strTok(D,",");
for(i = 0 ; i < L.size; i += 2)
{
B = spawn("script_model",self.origin+(int(L[i]),int(L[i+1]),Z));
if(!P)
B.angles=(90,0,0);
B setModel("t6_wpn_supply_drop_ally");
}
}
locationSelector()
{
self endon("disconnect");
self endon("death");
self beginLocationSelection( "map_mortar_selector" );
self disableoffhandweapons();
self giveWeapon( "killstreak_remote_turret_mp" );
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;
}
spawnDrivableCar()
{
if(!isDefined(self.car["spawned"]))
{
setDvar("cg_thirdPersonRange", "300");
self.car["carModel"] = "veh_t6_drone_rcxd";
self.car["spawned"] = true;
self.car["runCar"] = true;
self.car["spawnPosition"] = self.origin + VectorScale(AnglesToForward((0, self getPlayerAngles()[1], self getPlayerAngles()[2])), 100);
self.car["spawnAngles"] = (0, self getPlayerAngles()[1], self getPlayerAngles()[2]);
self.car["carEntity"] = spawn("script_model", self.car["spawnPosition"]);
self.car["carEntity"].angles = self.car["spawnAngles"];
self.car["carEntity"] setModel(self.car["carModel"]);
wait .2;
thread Vehicle_Wait_Think();
}
else
iPrintln("You Can Only Spawn One Car At A Time!");
}
Vehicle_Wait_Think()
{
self endon("disconnect");
self endon("end_car");
while(self.car["runCar"])
{
if(distance(self.origin, self.car["carEntity"].origin) < 120)
{
if(self useButtonPressed())
{
if(!self.car["inCar"])
{
iPrintln("Press [{+attack}] To Accelerate");
iPrintln("Press [{+speed_throw}] To Reverse/Break");
iPrintln("Press [{+reload}] To Exit Car");
self.car["speed"] = 0;
self.car["inCar"] = true;
self disableWeapons();
self detachAll();
self setOrigin(((self.car["carEntity"].origin) + (AnglesToForward(self.car["carEntity"].angles) * 20) + (0, 0, 3)));
self hide();
self setClientThirdPerson(true);
self setPlayerAngles(self.car["carEntity"].angles + (0, 0, 0));
self PlayerLinkTo(self.car["carEntity"]);
thread Vehicle_Physics_Think();
thread Vehicle_Death_Think();
wait 1;
}
else
thread Vehicle_Exit_Think();
}
}
wait .05;
}
}
Vehicle_Physics_Think()
{
self endon("disconnect");
self endon("end_car");
self.car["speedBar"] = drawBar((1, 1, 1), 100, 7, "", "", 0, 170);
carPhysics = undefined;
carTrace = undefined;
newCarAngles = undefined;
while(self.car["runCar"])
{
carPhysics = ((self.car["carEntity"].origin) + ((AnglesToForward(self.car["carEntity"].angles) * (self.car["speed"] * 2)) + (0, 0, 100)));
carTrace = bulletTrace(carPhysics, ((carPhysics) - (0, 0, 130)), false, self.car["carEntity"])["position"];
if(self attackButtonPressed())
{
if(self.car["speed"] < 0)
self.car["speed"] = 0;
if(self.car["speed"] < 50)
self.car["speed"] += 0.4;
newCarAngles = vectorToAngles(carTrace - self.car["carEntity"].origin);
self.car["carEntity"] moveTo(carTrace, 0.2);
self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
}
else
{
if(self.car["speed"] > 0)
{
newCarAngles = vectorToAngles(carTrace - self.car["carEntity"].origin);
self.car["speed"] -= 0.7;
self.car["carEntity"] moveTo(carTrace, 0.2);
self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
}
}
if(self adsButtonPressed())
{
if(self.car["speed"] > -20)
{
if(self.car["speed"] < 0)
newCarAngles = vectorToAngles(self.car["carEntity"].origin - carTrace);
self.car["speed"] -= 0.5;
self.car["carEntity"] moveTo(carTrace, 0.2);
}
else
self.car["speed"] += 0.5;
self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
}
else
{
if(self.car["speed"] < -1)
{
if(self.car["speed"] < 0)
newCarAngles = vectorToAngles(self.car["carEntity"].origin - carTrace);
self.car["speed"] += 0.8;
self.car["carEntity"] moveTo(carTrace, 0.2);
self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
}
}
self.car["speedBar"] updateBar(self.car["speed"]/50);
wait 0.05;
}
}
Vehicle_Death_Think()
{
self endon("disconnect");
self endon("end_car");
self waittill("death");
if(self.car["inCar"])
thread Vehicle_Exit_Think();
else
self.car["carEntity"] delete();
wait 0.2;
}
Vehicle_Exit_Think()
{
self.car["speed"] = 0;
self.car["inCar"] = false;
self.car["runCar"] = false;
self.car["spawned"] = undefined;
self.car["speedBar"] destroyElem();
self.car["carEntity"] delete();
self unlink();
self enableWeapons();
self show();
self setClientThirdPerson(false);
wait 0.3;
self notify("end_car");
}
domineSpawner2()
{
if( self.mineSpawner2 == false )
{
self thread mineSpawner();
self.mineSpawner22 = true;
}
else if(self.mineSpawner2 == true)
{
self.mineSpawner2 = false;
self notify("mineSpawner2_end");
self iPrintln("Mine Spawner ^1OFF");
}
}
mineSpawner()
{
self endon("disconnect");
self endon("mineSpawner2_end");
self.mineNum = 0;
self.mineOrigin[mineNum] = undefined;
self iPrintln("Press DPAD Up To Spawn A Mine!");
for(;
{
if(self actionSlotOneButtonPressed())
{
self.mineOrigin[self.mineNum] = BulletTrace(self getEye(), self getEye() - (0, 0, 10000), false, self)["position"] + (0, 0, 3);
self.mine[self.mineNum] = spawn("script_model", self.mineOrigin[self.mineNum]);
self.mine[self.mineNum] setModel("t6_wpn_bouncing_betty_world");
self.mineNum++;
self iPrintln("Active Mines: ^5" + self.mineNum);
}
foreach(player in level.players)
{
for(i = 0; i < self.mineNum; i++)
{
if(distance(self.mineOrigin[i], player.origin) < 20 && player != self && !(level.teamBased && player.team == self.team) && isAlive(player))
{
self.mine[i] RadiusDamage(self.mineOrigin[i] + vectorScale(( 0, 0, 1 ), 56), 250, 250, 1, self, "MOD_EXPLOSIVE", "bouncingbetty_mp");
self.mine[i] playSound("fly_betty_explo");
playFx(level.bettyexplosionfx, self.mineOrigin[i]);
self.mineOrigin[i] = undefined;
self.mine[i] destroy();
self.mineNum--;
}
}
}
wait 0.05;
}
}
Quake()
{
self iPrintln("^1Boom Boom Shake The Room!");
earthquake(0.6,10,self.origin,100000);
}
BG_GivePlayerWeapon(weapon)
{
self takeallweapons();
self giveWeapon(weapon);
self switchToWeapon(weapon);
self giveMaxAmmo(weapon);
self iPrintln("^7"+weapon+" Given");
}
[CODE\][/spoiler][/QUOTE]
Copyright © 2024, NextGenUpdate.
All Rights Reserved.