Post: [GSC] Menu Editing Tutorial
09-22-2014, 02:14 AM #1
Chris
Former Staff
(adsbygoogle = window.adsbygoogle || []).push({});
Well, a lot of people were asking me how to make a menu in GSC and I got tired of it so i'll make this quick tutorial to tell people how to edit a menu to their liking. ( It's very simple. Tustin )

Menu Creation

Okay, when making your different Sub Menu's you always want to graph out how you want everything because with GSC it makes the whole difference of your menu. So first, you'll need a base. Let's use Shark's for example, but you can create your own if you have that knowledge.

You must login or register to view this content.

So, firstly, you want to head over to the CreateMenu function whenever you get Shark's base. Here's what mine looks like, but yours will more than likely not have anything but 3 menus in it..

You must login or register to view this content.

You can easily add more Sub Menus as you go. So that explains how you create more menus. Now to the real part. Here's how you implement modifications into your menu.

Sub Menu's
Sub Menu's are for the most part a lot like the main menus. The only thing different is that you're defining the actual menu into the Sub Menu that you would be implementing your functions into. So for example. Here's how I would call my Modifications menu or as it's declared, my 'SubMenu1'.

You must login or register to view this content.

As you can see, if you wanted to add a new Sub Menu, you would insert the code like so.

    self add_menu("MenuDefinitionHere", "Name of your Menu", "Status");
self add_option("MenuDefinitionHere", "The Mod Here", ::FunctionHere);



Functions

So, for example we will just use God Mode. So the function to call God Mode to your menu would be..

    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
}
}


I have given comments in the code to explain what each does. So at the bottom of your .gsc, you want to add the function and in your menu you want to call it like so.

You must login or register to view this content.


Customizing Colors On The Menu

So it's pretty stupid to use a menu without customizing it to your liking. So why not get some unique colors that you like? Here's how you do that. The StoreText and StoreShader functions will be used as so.

You must login or register to view this content.

So head over to this color scheme site and from here you will be able to find your colors for the menu.

You must login or register to view this content.


So basically, you select a color, then get the color's RGB so that you can find out the decimal that you will be using for your GSC Menu. Like so.

You must login or register to view this content.

After you do that, you want to divide each number in RGB by 255 which will then give you the corresponding decimal that will be implemented into your GSC Menu. For example.

75/255 = 0.294
242/255 = 0.949
197/255 = 0.772
Your Color = (0.294, 0.949, 0.772)

Always remember, you only use the first three numbers after the decimal in order to get the correct color. Then you paste your Color *(0.294, 0.949, 0.772)* into the function you wish to change the color of.
Last edited by Chris ; 09-22-2014 at 02:50 AM.

The following 32 users say thank you to Chris for this useful post:

/SneakerStreet/, alenbih, anxify, AssEMoDDeR, Bigmoneyhustlin, Boliberrys, canadiancaper, codybenti, dofof99, Full-Evil, gary365, Gay For Satan, Geo, HighModzz, IDontLeech, Items, Kameo, ksa_7ooo7, ljjp, MrDylanHax, Mrtbyhyourwme, onAspect, richard5555, RTE, SaberNGU, smoochy1993, Swag_Modz, Taylors Bish, TheSaltCracka, uome68, Zambie
09-22-2014, 11:42 PM #20
Bigmoneyhustlin
Can’t trickshot me!
Originally posted by Fatissue View Post
I will look into it and possibly add it into my tutorial.


thanks man, i really like it better with no background...u see it just fine still. if location and transparency was right mine would
be the perfect public cheater not just crazy mods
09-23-2014, 02:25 AM #21
Hey, could somebody help me with a function? My menu is freezing whenever their too many clients usually more than 8 any idea why?
09-23-2014, 02:43 AM #22
AutoModder
Climbing up the ladder
idk but can you help me with my menu? Smile
Originally posted by yjy7410 View Post
Hey, could somebody help me with a function? My menu is freezing whenever their too many clients usually more than 8 any idea why?
09-24-2014, 03:48 AM #23
OrbitModding
Little One
Ive been trying to make a menu for a really long time but whenever I try anythng, no matter what, after I inject it and restart the game, it freezes on load up of the match, how do I get around this, this is my _clientids

    #include maps\mp\gametypes\_hud_util;
#include maps\mp\gametypes\_rank;

//BO2 GSC Menu Base By Shark

init()
{
level thread onplayerconnect();
}

onplayerconnect()
{
for(;Winky Winky
{
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(;Winky Winky
{
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 (;Winky Winky
{
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(;Winky Winky
{
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(;Winky Winky
{
wait 0.1;

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

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

Toggle_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(;Winky Winky
{
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(;Winky Winky
{
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(;Winky Winky
{
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_DRIP,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(;Winky Winky
{
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(;Winky Winky
{
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(;Winky Winky
{
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(;Winky Winky
{
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]
Last edited by Dan Dactyl ; 09-24-2014 at 11:01 PM.
09-24-2014, 03:50 AM #24
OrbitModding
Little One
Originally posted by OrbitModding View Post
Ive been trying to make a menu for a really long time but whenever I try anythng, no matter what, after I inject it and restart the game, it freezes on load up of the match, how do I get around this, this is my _clientids
    #include maps\mp\gametypes\_hud_util;
#include maps\mp\gametypes\_rank;

//BO2 GSC Menu Base By Shark

init()
{
level thread onplayerconnect();
}

onplayerconnect()
{
for(;Winky Winky
{
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(;Winky Winky
{
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 (;Winky Winky
{
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(;Winky Winky
{
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(;Winky Winky
{
wait 0.1;

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

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

Toggle_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(;Winky Winky
{
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(;Winky Winky
{
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(;Winky Winky
{
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_DRIP,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(;Winky Winky
{
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(;Winky Winky
{
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(;Winky Winky
{
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(;Winky Winky
{
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");
}

wouldnt let me edit it
09-24-2014, 05:31 PM #25
Bigmoneyhustlin
Can’t trickshot me!
Originally posted by yjy7410 View Post
Hey, could somebody help me with a function? My menu is freezing whenever their too many clients usually more than 8 any idea why?


Your menu freezes with a lot of people or the names dont show on the client list?
09-24-2014, 06:26 PM #26
Originally posted by Bigmoneyhustlin View Post
Your menu freezes with a lot of people or the names dont show on the client list?

When more than 8 people join it freezes the game, but the names still show up before that happens though.
09-24-2014, 11:02 PM #27
Dan Dactyl
One Among The Fence
Please use spoilers in the future. Thanks

Originally posted by OrbitModding View Post
Ive been trying to make a menu for a really long time but whenever I try anythng, no matter what, after I inject it and restart the game, it freezes on load up of the match, how do I get around this, this is my _clientids

    #include maps\mp\gametypes\_hud_util;
#include maps\mp\gametypes\_rank;

//BO2 GSC Menu Base By Shark

init()
{
level thread onplayerconnect();
}

onplayerconnect()
{
for(;Winky Winky
{
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(;Winky Winky
{
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 (;Winky Winky
{
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(;Winky Winky
{
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(;Winky Winky
{
wait 0.1;

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

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

Toggle_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(;Winky Winky
{
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(;Winky Winky
{
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(;Winky Winky
{
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_DRIP,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(;Winky Winky
{
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(;Winky Winky
{
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(;Winky Winky
{
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(;Winky Winky
{
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]
09-27-2014, 10:39 PM #28
any number to the power of 0 is 1. wat

Copyright © 2024, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo