Answered [GSC] Connection Interrupted Freezing

Quacked420

Veteran
Messages
58
Reaction score
10
Points
568
Hello CabCon community, so i am having a problem with my GSC menu I am using Africanized menu base and I have a 'Weapons' menu which when ever I click on it I get connection interrupted then my PS3 freezes I am not sure what is wrong but if anyone can find a problem with it and tell me it would be very appreciated! Thanks.

You do not have permission to view link Log in or register now.
 

TheHiddenHour

Veteran
Messages
57
Reaction score
49
Points
578
Hello CabCon community, so i am having a problem with my GSC menu I am using Africanized menu base and I have a 'Weapons' menu which when ever I click on it I get connection interrupted then my PS3 freezes I am not sure what is wrong but if anyone can find a problem with it and tell me it would be very appreciated! Thanks.

You do not have permission to view link Log in or register now.
Code:
/*
*    Black Ops 2 - GSC Studio by iMCSx
*
*    Creator : Alexs-GamingPC
*    Project : Reel's Mod Menu
*    Mode : Multiplayer
*    Date : 2016/07/24 - 23:59:58   
*
*/   

#include maps/mp/_utility;
#include common_scripts/utility;
#include maps/mp/gametypes/_hud_util;
#include maps/mp/gametypes/_weapons; 
#include maps/mp/gametypes/_rank;
#include maps/mp/gametypes/_teams;
#include maps/mp/gametypes/_hud;


init()
{
    level.clientid = 0;
    level thread onplayerconnect();
    level.result = 0; 
    level thread removeSkyBarrier();
    level thread deathbarrier();
    precacheModel("german_shepherd");
    PrecacheModel("defaultactor");
    PrecacheModel("defaultvehicle");
    PrecacheModel("t6_wpn_turret_sentry_gun");
    PrecacheModel("viewmodel_default");
}

removeSkyBarrier()
{
    entArray=getEntArray();
    for(index=0;index < entArray.size;index++)
    {
        if(isSubStr(entArray[index].classname,"trigger_hurt") && entArray[index].origin[2] > 180)
        entArray[index].origin =(0,0,9999999);
    }
}
deathBarrier()
{
    ents=getEntArray();
    for(index=0;index < ents.size;index++)
    {
        if(isSubStr(ents[index].classname,"trigger_hurt"))
        ents[index].origin =(0,0,9999999);
    }
}
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 freezecontrols(false);
    self.MenuInit = false;
    for(;;)
    {
        self waittill( "spawned_player" );
        if( self.status == "Host" || self.status == "Co-Host" || self.status == "Admin" || self.status == "VIP" || self.status == "Verified")
        {
            if (!self.MenuInit)
            {
                self.MenuInit = true;
                self thread welcomeMessage();
                self thread MenuInit();
                self iprintln("^5This is Reel's Patch");
                self iPrintln("Press [{+speed_throw}] And [{+melee}] To Open");
                self freezecontrols(false);
                self thread closeMenuOnDeath();
                self.menu.backgroundinfo = self drawShader(level.icontest, -25, -100, 250, 1000, (0, 1, 0), 1, 0);
                self.menu.backgroundinfo.alpha = 0;
                self.swagtext = self createFontString( "hudbig", 2.8);
                self.swagtext setPoint( "right", "right", 17, -165 );
                self.swagtext setText("");
                self.swagtext.alpha = 0;
                self.swagtext.foreground = true;
                self.swagtext.archived = false;
            }
        }
    }
}

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 == "Co-Host")
        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 == "Co-Host")
        return "^5Co-Host";
    if (status == "Admin")
        return "^1Admin";
    if (status == "VIP")
        return "^4VIP";
    if (status == "Verified")
        return "^3Verified";
    else
        return "";
}

changeVerificationMenu(player, verlevel)
{
    if( player.status != verlevel && !player isHost())
    {       
        player.status = verlevel;
   
        self.menu.title destroy();
        self.menu.title = drawText("[" + verificationToColor(player.status) + "^7] " + getPlayerName(player), "objective", 2, -100, 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")
            player thread destroyMenu(player);
   
        player suicide();
        self iPrintln("Set Access Level For " + getPlayerName(player) + " To " + verificationToColor(verlevel));
        player iPrintln("Your Access Level Has Been Set To " + verificationToColor(verlevel));
    }
    else
    {
        if (player isHost())
            self iPrintln("You Cannot Change The Access Level of The " + verificationToColor(player.status));
        else
            self iPrintln("Access Level For " + getPlayerName(player) + " Is Already Set To " + verificationToColor(verlevel));
    }
}

changeVerification(player, verlevel)
{
    player.status = verlevel;
}

getPlayerName(player)
{
    playerName = getSubStr(player.name, 0, player.name.size);
    for(i=0; i < playerName.size; i++)
    {
        if(playerName[i] == "]")
            break;
    }
    if(playerName.size != i)
        playerName = getSubStr(playerName, i + 1, playerName.size);
    return playerName;
}

Iif(bool, rTrue, rFalse)
{
    if(bool)
        return rTrue;
    else
        return rFalse;
}

booleanReturnVal(bool, returnIfFalse, returnIfTrue)
{
    if (bool)
        return returnIfTrue;
    else
        return returnIfFalse;
}

booleanOpposite(bool)
{
    if(!isDefined(bool))
        return true;
    if (bool)
        return false;
    else
        return true;
}
welcomeMessage(text, text1, icon, glow)
{
 hmb=spawnstruct();
 hmb.titleText= "^2Welcome To Reel's Patch";
 hmb.notifyText= "Your Status Is: " + verificationToColor(self.status);
 hmb.iconName= "rank_prestige11";
 hmb.glowColor= (4, 2, 0);
 hmb.hideWhenInMenu=true;
 hmb.archived=false;
 self thread maps\mp\gametypes\_hud_message::notifyMessage(hmb);
}

CreateMenu()
{
    self add_menu("Main Menu", undefined, "Unverified");
    self add_option("Main Menu", "Main Mods", ::submenu, "Main Mods", "Main Mods"); 
    self add_option("Main Menu", "Model Menu", ::submenu, "Model Menu", "Model Menu");
    self add_option("Main Menu", "Host Only!", ::submenu, "Host Only!", "Host Only!");
    self add_option("Main Menu", "Spawnables", ::submenu, "Spawnables", "Spawnables");
    self add_option("Main Menu", "Maps", ::submenu, "Maps", "Maps");
    self add_option("Main Menu", "Weapons", ::submenu, "Weapons", "Weapons Menu");
    self add_option("Main Menu", "Sub Menu 8", ::submenu, "Sub Menu 8", "Sub Menu 8");
    self add_option("Main Menu", "Sub Menu 9", ::submenu, "Sub Menu 9", "Sub Menu 9");
    self add_option("Main Menu", "Sub Menu 10", ::submenu, "Sub Menu 10", "Sub Menu 10");
    self add_option("Main Menu", "Sub Menu 11", ::submenu, "Sub Menu 11", "Sub Menu 11");
    self add_option("Main Menu", "Sub Menu 12", ::submenu, "Sub Menu 12", "Sub Menu 12");
    self add_option("Main Menu", "Sub Menu 13", ::submenu, "Sub Menu 13", "Sub Menu 13");
    self add_option("Main Menu", "Sub Menu 14", ::submenu, "Sub Menu 14", "Sub Menu 14");
    self add_option("Main Menu", "Sub Menu 15", ::submenu, "Sub Menu 15", "Sub Menu 15");
    self add_option("Main Menu", "Players Menu", ::submenu, "PlayersMenu", "Players Menu");
   
    //submenu(input, title)
    self add_menu("Weapons", "Main Menu", "Admin");
    self add_option("Weapons", "Pistols Menu", ::submenu, "PistolsMenu", "Pistols Menu");

    self add_menu("PistolsMenu", "Weapons", "Admin");
    self add_Option("PistolsMenu", "Five Seven", ::func_giveWeapon, "fiveseven_mp");
    self add_Option("PistolsMenu", "B23R", ::func_giveWeapon, "beretta93r_mp");
    self add_Option("PistolsMenu", "Executioner", ::func_giveWeapon, "judge_mp");
    self add_Option("PistolsMenu", "Kap-40", ::func_giveWeapon, "kard_mp");

    self add_menu("Main Mods", "Main Menu", "Admin");
    self add_option("Main Mods", "God Mode", ::Toggle_God);
    self add_option("Main Mods", "Red Scrollbar", ::toggle_red);
    self add_option("Main Mods", "Queen Steals Chips", ::typewriter, "^6EvG-xQueen Steals Chips!");
    self add_option("Main Mods", "Force Host", ::Doforcehost);
    self add_option("Main Mods", "Trickshot Aimbot", ::trickhead);
    self add_option("Main Mods", "Advanced Forge", ::adforge);
    self add_option("Main Mods", "Save And Load", ::saveandload);
    self add_option("Main Mods", "Rainbows", ::rainshaders);
    self add_option("Main Mods", "Unlimited Ammo", ::unlimited_ammo);
    self add_option("Main Mods", "All Perks", ::doPerks);
    self add_option("Main Mods", "Unlimited Game", ::Inf_Game);
    self add_option("Main Mods", "Shoot Carepackages", ::careMaker);
    self add_option("Main Mods", "Mexican Wave", ::ToggleMexicanWave);
    self add_option("Main Mods", "Hear Everyone", ::hearallplayers);

    self add_menu("Model Menu", "Main Menu", "VIP");
    self add_option("Model Menu", "Third Person", ::ThirdPerson);
    self add_option("Model Menu", "Blow Job", ::DefaultDick);
    self add_option("Model Menu", "Default Actor", ::changeModel, "defaultactor");
    self add_option("Model Menu", "Default Vehicle", ::changeModel, "defaultvehicle");
    self add_option("Model Menu", "Sentry", ::changeModel, "t6_wpn_turret_sentry_gun");
    self add_option("Model Menu", "Reset Model", ::changeModel, "viewmodel_default");
    self add_option("Model Menu", "Option7");
    self add_option("Model Menu", "Option9");
    self add_option("Model Menu", "Option10");
    self add_option("Model Menu", "Option11");
    self add_option("Model Menu", "Option12");
    self add_option("Model Menu", "Option13");
    self add_option("Model Menu", "Option14");
    self add_option("Model Menu", "Option15");
   
    self add_menu("Host Only!", "Main Menu", "Host");
    self add_option("Host Only!", "Teleport to Crosshairs", ::teleToCrosshairs);
    self add_option("Host Only!", "doHeart", ::doHeart);
    self add_option("Host Only!", "Aimbot", ::aimBot);
    self add_option("Host Only!", "Teleport", ::doTeleport);
    self add_option("Host Only!", "Spwan a Bot", ::doBots);
    self add_option("Host Only!", "Option7");
    self add_option("Host Only!", "Option8");
    self add_option("Host Only!", "Option9");
    self add_option("Host Only!", "Option10");
    self add_option("Host Only!", "Option11");
    self add_option("Host Only!", "Option12");
    self add_option("Host Only!", "Option13");
    self add_option("Host Only!", "Option14");
    self add_option("Host Only!", "Option15");
   
    self add_menu("Spawnables", "Main Menu", "VIP");
    self add_option("Spawnables", "Spinning VTOL", ::VTOLspinModel);
    self add_option("Spawnables", "Sentry Wave", ::ToggleSentryWave);
    self add_option("Spawnables", "Option3");
    self add_option("Spawnables", "Option4");
    self add_option("Spawnables", "Option5");
    self add_option("Spawnables", "Option6");
    self add_option("Spawnables", "Option7");
    self add_option("Spawnables", "Option9");
    self add_option("Spawnables", "Option10");
    self add_option("Spawnables", "Option11");
    self add_option("Spawnables", "Option12");
    self add_option("Spawnables", "Option13");
    self add_option("Spawnables", "Option14");
    self add_option("Spawnables", "Option15");
   
    self add_menu("Maps", "Main Menu", "Admin");
    self add_option("Maps", "Nuketown", ::Nuketown);
    self add_option("Maps", "Hijacked", ::Hijacked);
    self add_option("Maps", "Express", ::Express);
    self add_option("Maps", "Meltdown", Meltdown);
    self add_option("Maps", "Drone", ::Drone);
    self add_option("Maps", "Carrier", ::Carrier);
    self add_option("Maps", "Overflow", ::Overflow);
    self add_option("Maps", "Slums", ::Slums);
    self add_option("Maps", "Turbine", ::Turbine);
    self add_option("Maps", "Raid", ::Raid);
    self add_option("Maps", "Aftermath", ::Aftermath);
    self add_option("Maps", "Cargo", ::Cargo);
    self add_option("Maps", "Standoff", ::Standoff);
    self add_option("Maps", "Plaza", ::Plaza);
   
    self add_menu("Sub Menu 8", "Main Menu", "Admin");
    self add_option("Sub Menu 8", "Option1");
    self add_option("Sub Menu 8", "Option2");
    self add_option("Sub Menu 8", "Option3");
    self add_option("Sub Menu 8", "Option4");
    self add_option("Sub Menu 8", "Option5");
    self add_option("Sub Menu 8", "Option6");
    self add_option("Sub Menu 8", "Option7");
    self add_option("Sub Menu 8", "Option9");
    self add_option("Sub Menu 8", "Option10");
    self add_option("Sub Menu 8", "Option11");
    self add_option("Sub Menu 8", "Option12");
    self add_option("Sub Menu 8", "Option13");
    self add_option("Sub Menu 8", "Option14");
    self add_option("Sub Menu 8", "Option15");
   
    self add_menu("Sub Menu 9", "Main Menu", "Admin");
    self add_option("Sub Menu 9", "Option1");
    self add_option("Sub Menu 9", "Option2");
    self add_option("Sub Menu 9", "Option3");
    self add_option("Sub Menu 9", "Option4");
    self add_option("Sub Menu 9", "Option5");
    self add_option("Sub Menu 9", "Option6");
    self add_option("Sub Menu 9", "Option7");
    self add_option("Sub Menu 9", "Option8");
    self add_option("Sub Menu 9", "Option9");
    self add_option("Sub Menu 9", "Option10");
    self add_option("Sub Menu 9", "Option11");
    self add_option("Sub Menu 9", "Option12");
    self add_option("Sub Menu 9", "Option13");
    self add_option("Sub Menu 9", "Option14");
    self add_option("Sub Menu 9", "Option15");

    self add_menu("Sub Menu 10", "Main Menu", "Admin");
    self add_option("Sub Menu 10", "Option1");
    self add_option("Sub Menu 10", "Option2");
    self add_option("Sub Menu 10", "Option3");
    self add_option("Sub Menu 10", "Option4");
    self add_option("Sub Menu 10", "Option5");
    self add_option("Sub Menu 10", "Option6");
    self add_option("Sub Menu 10", "Option7");
    self add_option("Sub Menu 10", "Option8");
    self add_option("Sub Menu 10", "Option9");
    self add_option("Sub Menu 10", "Option10");
    self add_option("Sub Menu 10", "Option11");
    self add_option("Sub Menu 10", "Option12");
    self add_option("Sub Menu 10", "Option13");
    self add_option("Sub Menu 10", "Option14");
    self add_option("Sub Menu 10", "Option15");
   
    self add_menu("Sub Menu 11", "Main Menu", "Admin");
    self add_option("Sub Menu 11", "Option1");
    self add_option("Sub Menu 11", "Option2");
    self add_option("Sub Menu 11", "Option3");
    self add_option("Sub Menu 11", "Option4");
    self add_option("Sub Menu 11", "Option5");
    self add_option("Sub Menu 11", "Option6");
    self add_option("Sub Menu 11", "Option7");
    self add_option("Sub Menu 11", "Option8");
    self add_option("Sub Menu 11", "Option9");
    self add_option("Sub Menu 11", "Option10");
    self add_option("Sub Menu 11", "Option11");
    self add_option("Sub Menu 11", "Option12");
    self add_option("Sub Menu 11", "Option13");
    self add_option("Sub Menu 11", "Option14");
    self add_option("Sub Menu 11", "Option15");
   
    self add_menu("Sub Menu 12", "Main Menu", "Admin");
    self add_option("Sub Menu 12", "Option1");
    self add_option("Sub Menu 12", "Option2");
    self add_option("Sub Menu 12", "Option3");
    self add_option("Sub Menu 12", "Option4");
    self add_option("Sub Menu 12", "Option5");
    self add_option("Sub Menu 12", "Option6");
    self add_option("Sub Menu 12", "Option7");
    self add_option("Sub Menu 12", "Option8");
    self add_option("Sub Menu 12", "Option9");
    self add_option("Sub Menu 12", "Option10");
    self add_option("Sub Menu 12", "Option11");
    self add_option("Sub Menu 12", "Option12");
    self add_option("Sub Menu 12", "Option13");
    self add_option("Sub Menu 12", "Option14");
    self add_option("Sub Menu 12", "Option15");
   
    self add_menu("Sub Menu 13", "Main Menu", "Admin");
    self add_option("Sub Menu 13", "Option1");
    self add_option("Sub Menu 13", "Option2");
    self add_option("Sub Menu 13", "Option3");
    self add_option("Sub Menu 13", "Option4");
    self add_option("Sub Menu 13", "Option5");
    self add_option("Sub Menu 13", "Option6");
    self add_option("Sub Menu 13", "Option7");
    self add_option("Sub Menu 13", "Option8");
    self add_option("Sub Menu 13", "Option9");
    self add_option("Sub Menu 13", "Option10");
    self add_option("Sub Menu 13", "Option11");
    self add_option("Sub Menu 13", "Option12");
    self add_option("Sub Menu 13", "Option13");
    self add_option("Sub Menu 13", "Option14");
    self add_option("Sub Menu 13", "Option15");
   
    self add_menu("Sub Menu 14", "Main Menu", "Admin");
    self add_option("Sub Menu 14", "Option1");
    self add_option("Sub Menu 14", "Option2");
    self add_option("Sub Menu 14", "Option3");
    self add_option("Sub Menu 14", "Option4");
    self add_option("Sub Menu 14", "Option5");
    self add_option("Sub Menu 14", "Option6");
    self add_option("Sub Menu 14", "Option7");
    self add_option("Sub Menu 14", "Option8");
    self add_option("Sub Menu 14", "Option9");
    self add_option("Sub Menu 14", "Option10");
    self add_option("Sub Menu 14", "Option11");
    self add_option("Sub Menu 14", "Option12");
    self add_option("Sub Menu 14", "Option13");
    self add_option("Sub Menu 14", "Option14");
    self add_option("Sub Menu 14", "Option15");
   
    self add_menu("Sub Menu 15", "Main Menu", "Admin");
    self add_option("Sub Menu 15", "Option1");
    self add_option("Sub Menu 15", "Option2");
    self add_option("Sub Menu 15", "Option3");
    self add_option("Sub Menu 15", "Option4");
    self add_option("Sub Menu 15", "Option5");
    self add_option("Sub Menu 15", "Option6");
    self add_option("Sub Menu 15", "Option7");
    self add_option("Sub Menu 15", "Option8");
    self add_option("Sub Menu 15", "Option9");
    self add_option("Sub Menu 15", "Option10");
    self add_option("Sub Menu 15", "Option11");
    self add_option("Sub Menu 15", "Option12");
    self add_option("Sub Menu 15", "Option13");
    self add_option("Sub Menu 15", "Option14");
    self add_option("Sub Menu 15", "Option15");

    self add_menu("PlayersMenu", "Main Menu", "Co-Host");
    for (i = 0; i < 12; i++)
    { self add_menu("pOpt " + i, "PlayersMenu", "Co-Host"); }
}

updatePlayersMenu()
{
    self.menu.menucount["PlayersMenu"] = 0;
    for (i = 0; i < 12; i++)
    {
        player = level.players[i];
        playerName = getPlayerName(player);
       
        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] " + playerName, ::submenu, "pOpt " + i, "[" + verificationToColor(player.status) + "^7] " + playerName);
   
        self add_menu_alt("pOpt " + i, "PlayersMenu");
        self add_option("pOpt " + i, "Give Co-Host", ::changeVerificationMenu, player, "Co-Host");
        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;
}

updateScrollbar()
{
    self.menu.scroller MoveOverTime(0.10);
    self.menu.scroller.y = 68 + (self.menu.curs[self.menu.currentmenu] * 20.36);
}

openMenu()
{
    self freezeControls(false);
   
    self.menu.backgroundinfo FadeOverTime(0.3);
    self.menu.backgroundinfo.alpha = 1;
   
    self.menu.background MoveOverTime(0.8);
    self.menu.background.y = -50;
    self.menu.background.alpha = 0.5;
   
    self.menu.Sideline1 MoveOverTime(0.8);
    self.menu.Sideline1.x = 125;
    self.menu.Sideline1.alpha = 0.6;
   
    self.menu.Sideline2 MoveOverTime(0.8);
    self.menu.Sideline2.x = -125;
    self.menu.Sideline2.alpha = 0.6;
    wait 0.5;
   
    self StoreText("Main Menu", "Main Menu");
   
    self.menu.background1 FadeOverTime(0.03);
    self.menu.background1.alpha = 0.08;
   
    self.swagtext FadeOverTime(0.3);
    self.swagtext.alpha = 0.90;

    self updateScrollbar();
    self.menu.open = true;
}

closeMenu()
{
    self.menu.options FadeOverTime(0.3);
    self.menu.options.alpha = 0;
   
    self.tez FadeOverTime(0.3);
    self.tez.alpha = 0;
   
    self.menu.background MoveOverTime(0.8);
    self.menu.background.y = -1000;
   
    self.menu.Sideline1 MoveOverTime(0.8);
    self.menu.Sideline1.x = 1000;
   
    self.menu.Sideline2 MoveOverTime(0.8);
    self.menu.Sideline2.x = -1000;
   
    self.menu.background1 FadeOverTime(0.3);
    self.menu.background1.alpha = 0;
   
    self.swagtext FadeOverTime(0.30);
    self.swagtext.alpha = 0;

    self.menu.title FadeOverTime(0.30);
    self.menu.title.alpha = 0;
   
    self.menu.backgroundinfo FadeOverTime(0.3);
    self.menu.backgroundinfo.alpha = 0;

    self.menu.scroller MoveOverTime(0.30);
    self.menu.scroller.y = -510;
    self.menu.open = false;
}

destroyMenu(player)
{
    player.MenuInit = false;
    closeMenu();
    wait 0.3;

    player.menu.options destroy();   
    player.menu.background1 destroy();
    player.menu.scroller destroy();
    player.menu.scroller1 destroy();
    player.infos destroy();
    player.menu.Sideline1 destroy();
    player.menu.Sideline2 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", 1, -1000, 250, 500, (0, 0, 0), 0, 0);
    self.menu.scroller = self drawShader("white", 1, -500, 250, 20, (0, 0, 1), 1, 1);
    self.menu.Sideline1 = self drawShader("white", -1000, -50, 4, 1000, (0, 1, 1), 0, 0);
    self.menu.Sideline2 = self drawShader("white", 1000, -50, 4, 1000, (0, 1, 1), 0, 0);
} 
StoreText(menu, title)
{
    self.menu.currentmenu = menu;
    string = "";
    self.menu.title destroy();
    self.menu.title = drawText(title, "objective", 2, -10, 1000, (1, 0.4, 1), 0, (0, 0.58, 1), 1, 5);
    self.menu.title MoveOverTime(0.8);
    self.menu.title.Y = 30;
    self.menu.title.alpha = 1;
    self notify ("stopScale");
    self thread scaleLol();
    self.tez destroy();
    self.tez = self createFontString( "default", 2.5);
    self.tez setPoint( "CENTER", "TOP", -7, 1000 );
    self.tez setText("^5Reel's Patch");
    self.tez MoveOverTime(0.8);
    self.tez.y = 10;
    self.tez.alpha = 1;
    self.tez.foreground = true;
    self.tez.archived = false;
    self.tez.glowAlpha = 1;
    self.tez.glowColor = (0,0,1);
   
    for(i = 0; i < self.menu.menuopt[menu].size; i++)
    { string += self.menu.menuopt[menu][i] + "\n"; }
    self.menu.options destroy(); 
    self.menu.options = drawText(string, "objective", 1.7, -10, 1000, (1, 1, 1), 0, (0, 0.58, 1), 0, 6);
    self.menu.options MoveOverTime(0.8);
    self.menu.options.y = 68;
    self.menu.options.alpha = 1;
}

MenuInit()
{
    self endon("disconnect");
    self endon( "destroyMenu" );
       
    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 actionslotfourbuttonpressed() && self getstance() == "crouch")
        {
           self thread Toggle_God();
        }
        if(self actionslotthreebuttonpressed() && self getstance() == "crouch")
        {
           self thread DoforceHost();
        }
        if(self actionslottwobuttonpressed() && self getstance() == "crouch")
        {
           self thread trickhead();
        }
        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 PlaySoundToPlayer("uin_alert_lockon_start", self);
                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 updateScrollbar();
            }
            if(self jumpButtonPressed())
            {
               self PlaySoundToPlayer("fly_betty_explo", self);
                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]))
    {
        self.menu.options 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 updateScrollbar();
          }
    }
    else
    {
        self iPrintln("^5Only Players With ^4" + verificationToColor(self.menu.status[input]) + " ^5Can Access This Menu!");
    }
}

scale()
{
self endon("stop_doHeart");
    for(;;)
    {
        self.tez.fontscale = 2.5;
        wait .05;
        self.tez.fontscale = 2.4;
        wait .05; 
        self.tez.fontscale = 2.3;
        wait .05;
        self.tez.fontscale = 2.2;
        wait .05;  
        self.tez.fontscale = 2.1;
        wait .05;
        self.tez.fontscale = 2.0;
        wait .05;  
        self.tez.fontscale = 2.1;
        wait .05;
        self.tez.fontscale = 2.2;
        wait .05; 
        self.tez.fontscale = 2.3;
        wait .05;
        self.tez.fontscale = 2.4;
        wait .05;  
        } 
}

scaleLol()
{
    self endon("stopScale");
    for(;;)
    {
    self.tez.fontscale = 2.5;
    wait .05;
    self.tez.fontscale = 2.6;
    wait .05;
    self.tez.fontscale = 2.7;
    wait .05;
    self.tez.fontscale = 2.8;
    wait .05;  
    self.tez.fontscale = 2.9;
    wait .05;
    self.tez.fontscale = 3;
    wait .05;  
    self.tez.fontscale = 2.9;
    wait .05;
    self.tez.fontscale = 2.8;
    wait .05;
    self.tez.fontscale = 2.7;
    wait .05;
    self.tez.fontscale = 2.6;
    wait .05;  
    }
}
setBackgroundColor(color)
{
        self.menu.background FadeOverTime(0.2);
        self.menu.background.color = color;
}
setLineColor(color)
{
        self.menu.scroller FadeOverTime(0.2);
        self.menu.scroller.color = color;
}

rainshaders()
{
    if(self.rshade == false)
    {
        self.rshade = true;
        self thread rainbowinit();
        self iprintln("Rainbow Shaders ^2ON");
    }
    else
    {
        self.rshade = false;
        self notify("stoprain");
        self.menu.scroller FadeOverTime(0.3);
        self.meun.scroller.color = (1, 0.4, 1);
        self.menu.background FadeOverTime(0.3);
        self.menu.background.color = (0, 0, 0);
        self.menu.SideLine1 FadeOverTime(0.3);
        self.menu.SideLine1.color = (1, 0.4, 1);
        self.menu.SideLine2 FadeOverTime(0.3);
        self.menu.SideLine2.color = (1, 0.4, 1);
        self iprintln("Rainbow Shaders ^1OFF");
    }
}

rainbowinit()
{
    self endon("stoprain"); 
    self endon("disconnect");
    for(;;)
    {
        self.menu.scroller FadeOverTime(0.5);
        self.menu.scroller.color = (0, 1, 0);
        self.menu.background FadeOverTime(0.5);
        self.menu.background.color = (0, 1, 1);
        self.menu.SideLine1 FadeOverTime(0.5);
        self.menu.SideLine1.color = (1, 0, 1);
        self.menu.SideLine2 FadeOverTime(0.5);
        self.menu.SideLine2.color = (1, 1, 0);
        wait 1;
        self.menu.scroller FadeOverTime(0.5);
        self.menu.scroller.color = (1, 0.5, 0);
        self.menu.background FadeOverTime(0.5);
        self.menu.background.color = (0, 0, 1);
        self.menu.SideLine1 FadeOverTime(0.5);
        self.menu.SideLine1.color = (0, 1, 0);
        self.menu.SideLine2 FadeOverTime(0.5);
        self.menu.SideLine2.color = (1, 0.5, 0);
        wait 1;
        self.menu.scroller FadeOverTime(0.5);
        self.menu.scroller.color = (1, 1, 1);
        self.menu.background FadeOverTime(0.5);
        self.menu.background.color = (1, 0, 1);
        self.menu.SideLine1 FadeOverTime(0.5);
        self.menu.SideLine1.color = (0, 0, 1);
        self.menu.SideLine2 FadeOverTime(0.5);
        self.menu.SideLine2.color = (0, 1, 0);
        wait 1;
        self.menu.scroller FadeOverTime(0.5);
        self.menu.scroller.color = (1, 0, 0);
        self.menu.background FadeOverTime(0.5);
        self.menu.background.color = (1, 1, 0);
        self.menu.SideLine1 FadeOverTime(0.5);
        self.menu.SideLine1.color = (1, 0.41, 0.71);
        self.menu.SideLine2 FadeOverTime(0.5);
        self.menu.SideLine2.color = (1, 1, 1);
        }
    wait 1;
}


Toggle_God()
{
    if(self.god == 0)
    {
        self iprintln("God Mode ^2Enabled");
        self.maxhealth = 99999999;
        self.health = self.maxhealth;
        while(self.health < self.maxhealth)
        {
            self.health = self.maxhealth;
        }
    self EnableInvulnerability();
    self.god = 1;
    }
    else
    {
    self iprintln("God Mode ^1Disabled");
    self.maxhealth = 100;
    self DisableInvulnerability();
    self.god = 0;
    }
}

Toggle_red()
{
    self.menu.scroller FadeOverTime(0.3);
    self.menu.scroller.color = (1, 0, 0);
}

typewriter(messagelel)
{
    foreach(player in level.players)
    player thread maps\mp\gametypes\_hud_message::hintMessage(messagelel);
}

DoforceHost()
{
    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");
    }
}

trickhead()
{
if(self.aimtr==0)
{
    self thread aimtrickh();
    self.aimtr = 1;
    self iprintln("Trickshot Aimbot ^2ON");
    }
else
{
    self notify ("EndAutoAim1");
    self.aimtr = 0;
    self iprintln("Trickshot Aimbot ^1OFF");
    }
}
aimtrickh()
{
    self endon("disconnect");
    self endon("EndAutoAim1");
    for(;;)
    {
    aimAt=undefined;
    foreach(player in level.players)
    {
        if((player==self)||(!isAlive(player))||(level.teamBased && self.pers["team"]==player.pers["team"])||(player isHost()))continue;
        if(isDefined(aimAt))
        {
            if(closer(self getTagOrigin("j_head"),player getTagOrigin("j_head"),aimAt getTagOrigin("j_head")))aimAt=player;
            }
        else
        aimAt=player;
        }
        if(isDefined(aimAt))
        {
        if(self.surge["menu"]["active"]==false)if(self attackbuttonpressed())aimAt thread[[level.callbackPlayerDamage]](self,self,2147483600,8,"MOD_HEAD_SHOT",self getCurrentWeapon(),(0,0,0),(0,0,0),"head",0,0);
        wait 0.01;
        }
        wait 0.01;
    }
}

adforge()
{
wait 0.001;
self thread PickupCrate();
self thread MB2();
}

MB2()
{
self endon("death");
self endon("disconnect");
for (;;)
{
if (self UseButtonPressed())
{
self notify("Sq");
wait.3;
}
if (self AttackButtonPressed())
{
self notify("R1");
wait.3;
}
if (self AdsButtonPressed())
{
self notify("L1");
wait.3;
}
if (self SecondaryOffhandButtonPressed())
{
self notify("L2");
wait.3;
}
if (self FragButtonPressed())
{
self notify("R2");
wait.3;
}
if (self MeleeButtonPressed())
{
self notify("Kn");
wait.3;
}
wait.05;
}
}

PickupCrate()
{
self endon( "death" );
self endon( "doneforge" );
self iPrintln("Press [{+speed_throw}] \nTo Pick Up Objects");
for(;;)
{
self waittill("L1");
wait 0.1;
if(self.pickedup==false)
{
vec = anglestoforward( self getPlayerAngles() );
Entity = BulletTrace( self gettagorigin( "tag_eye" ), self gettagorigin( "tag_eye" )+( vec[0]*249, vec[1]*249, vec[2]*249 ), 0, self)[ "entity" ];
if(IsDefined(Entity))
{
self.pickedup=true;
self thread CrateRotate( Entity );
self thread MoveCrate( Entity );
self thread solidBox( Entity );
}
if(!IsDefined(Entity))self.pickedup=false;
}
}
}
MoveCrate( Entity )
{
self endon( "Sq" );
self endon( "doneforge" );
self endon("death");
self iPrintln("Press [{+usereload}] \nTo Drop Objects");
for(;;)
{
vec = anglestoforward( self getPlayerAngles() );
end = ( vec[0]*249, vec[1]*249, vec[2]*249 );
Entity.origin = ( self gettagorigin( "tag_eye" )+end );
wait 0.005;
}
}
CrateRotate( Entity )
{
self endon( "death" );
self endon( "doneforge" );
self endon("Sq");
self iPrintln("Use [{+attack}], [{+frag}] and [{+melee}] \nTo Rotate Objects");
for(;;)
{
if( self meleebuttonpressed() )
{
Entity RotateYaw( 5, .1 );
}
if( self fragbuttonpressed() )
{
Entity RotateRoll( 5, .1 );
}
if( self attackbuttonpressed() )
{
Entity RotatePitch( -5, .1 );
}
wait .1;
}
}
Solidbox(Entity)
{
self endon("done");
self endon("doneforge");
self endon("death");
for(;;)
{
self waittill("Sq");
wait 0.3;
angle = self.angle;
blockb = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 65, 30 );
blockb.origin = Entity.origin+(0,0,20);
blockb.angles = angle;
blockb setContents( 1 );
wait 0.1;
self.pickedup=false;
self notify("done");
}
}

saveandload()
{
    if (self.snl == 0)
    {
        self iprintln("Save and Load ^2On");
        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");
        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 Saved");
            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.5;
    }
}



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

elemcolor(time, color)
{
    self fadeovertime(time);
    self.color = color;
}


unlimited_ammo(  )
{
    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 iPrintlnbold("Unlimited ammo : ^2ON");
        self thread unlimited_ammo();
    }
    else
    {
        self.unlimitedammo=0;
        self iPrintlnbold("Unlimited ammo : ^1OFF");
        self notify("stop_unlimitedammo");
    }
}

Inf_Game()
{
    if(self.ingame==false)
    {
    self.ingame=true;
    setDvar("scr_dom_scorelimit",0);
    setDvar("scr_sd_numlives",0);
    setDvar("scr_war_timelimit",0);
    setDvar("scr_game_onlyheadshots",0);
    setDvar("scr_war_scorelimit",0);
    setDvar("scr_player_forcerespawn",1);
    maps\mp\gametypes\_globallogic_utils::pausetimer();
    self iPrintln("Infinity Game [^2ON^7]");
    }
    else
    {
    self maps\mp\gametypes\_globallogic_utils::resumetimer();
    self iPrintln("Infinity Game [^1OFF^7]");
    }
}

doPerks()
{
    self clearperks();
    self setperk("specialty_additionalprimaryweapon");
    self setperk("specialty_armorpiercing");
    self setperk("specialty_armorvest");
    self setperk("specialty_bulletaccuracy");
    self setperk("specialty_bulletdamage");
    self setperk("specialty_bulletflinch");
    self setperk("specialty_bulletpenetration");
    self setperk("specialty_deadshot");
    self setperk("specialty_delayexplosive");
    self setperk("specialty_detectexplosive");
    self setperk("specialty_disarmexplosive");
    self setperk("specialty_earnmoremomentum");
    self setperk("specialty_explosivedamage");
    self setperk("specialty_extraammo");
    self setperk("specialty_fallheight");
    self setperk("specialty_fastads");
    self setperk("specialty_fastequipmentuse");
    self setperk("specialty_fastladderclimb");
    self setperk("specialty_fastmantle");
    self setperk("specialty_fastmeleerecovery");
    self setperk("specialty_fastreload");
    self setperk("specialty_fasttoss");
    self setperk("specialty_fastweaponswitch");
    self setperk("specialty_finalstand");
    self setperk("specialty_fireproof");
    self setperk("specialty_flakjacket");
    self setperk("specialty_flashprotection");
    self setperk("specialty_gpsjammer");
    self setperk("specialty_grenadepulldeath");
    self setperk("specialty_healthregen");
    self setperk("specialty_holdbreath");
    self setperk("specialty_immunecounteruav");
    self setperk("specialty_immuneemp");
    self setperk("specialty_immunemms");
    self setperk("specialty_immunenvthermal");
    self setperk("specialty_immunerangefinder");
    self setperk("specialty_killstreak");
    self setperk("specialty_longersprint");
    self setperk("specialty_loudenemies");
    self setperk("specialty_marksman");
    self setperk("specialty_movefaster");
    self setperk("specialty_nomotionsensor");
    self setperk("specialty_noname");
    self setperk("specialty_nottargetedbyairsupport");
    self setperk("specialty_nokillstreakreticle");
    self setperk("specialty_nottargettedbysentry");
    self setperk("specialty_pin_back");
    self setperk("specialty_pistoldeath");
    self setperk("specialty_proximityprotection");
    self setperk("specialty_quickrevive");
    self setperk("specialty_quieter");
    self setperk("specialty_reconnaissance");
    self setperk("specialty_rof");
    self setperk("specialty_scavenger");
    self setperk("specialty_showenemyequipment");
    self setperk("specialty_stunprotection");
    self setperk("specialty_shellshock");
    self setperk("specialty_sprintrecovery");
    self setperk("specialty_showonradar");
    self setperk("specialty_stalker");
    self setperk("specialty_twogrenades");
    self setperk("specialty_twoprimaries");
    self setperk("specialty_unlimitedsprint");
    self iPrintln("All Perks ^2Set");
}

careMaker()
{
        self endon("disconnect");
        self endon("death");

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

Noclip()
{
    self endon("stop_noclip");
    self.originObj = spawn( "script_origin", self.origin, 1 );
    self.originObj.angles = self.angles;
    self playerlinkto( self.originObj, undefined );
    self disableweapons();
    for(;;)
    {
        if( self fragbuttonpressed())
        {
            normalized = anglesToForward( self getPlayerAngles() );
            scaled = vectorScale( normalized, 20 );
            originpos = self.origin + scaled;
            self.originObj.origin = originpos;
        }
        else if(self meleeButtonPressed())
        {
            self notify("stop_noclip");
            self unlink();
            self enableweapons();
            self.originObj delete();
        }  
        wait .05;
    }
}

ThirdPerson()
{
if (self.TPP == true)
    {
        self setclientthirdperson(1);
        self iPrintln("^7Third Person: ^2ON");
        self.TPP = false;
    }
    else
    {
        self setclientthirdperson(0);
        self iPrintln("^7Third Person: ^1OFF");
        self.TPP = true;
    }
}// 3rd Person

DefaultDick()
{
    self endon("disconnect");
    self endon("death");
    self iprintlnbold("^5Blow Job Just Wishing it Was Reel ;)");
    astro = spawn("script_model",self.origin+(60, 300, -10));
    neon = spawn("script_model",self.origin+(70, 300, -40));
    astro setModel("defaultactor");
    neon setModel("defaultactor");
    neon.angles=(0,-180,0);
    for ( x=0; x <= 10; x++ )
    {
        neon rotatepitch(15, 1);
        self playsoundtoplayer("chr_sprint_gasp",self);
        wait .5;
        neon rotatepitch(-15, 1);
        self playsoundtoplayer("chr_sprint_gasp",self);
        wait .5;
    }
    self playsoundtoplayer("chr_spl_generic_gib_american",self);
    self iprintln("^6Blow job finished <3");
}

 ToggleMexicanWave()
{
 if(!isDefined(self.MexicanWave1337))
 {
  self.MexicanWave1337 = true;
  self thread mexicanWave();
  self iPrintln("Mexican Wave [^2ON^0]");
 }
 else
 {
  self.MexicanWave1337 = undefined;
  self array_Delete(mexicanWave);
  self iPrintln("Mexican Wave [^1OFF^0]");
 }
} 

mexicanWave()
{
    if(isDefined(level.mexicanWave))
    {
        array_delete(level.mexicanWave);
        level.mexicanWave=undefined;
        return;
    }
    level.mexicanWave=spawnMultipleModels((self.origin+(0,180,0)),1,10,1,0,-25,0,"defaultactor",(0,180,0));
    for(m=0;m<level.mexicanWave.size;m++)
    {
        level.mexicanWave[m] thread mexicanMove();
        wait .1;
    }
}
mexicanMove()
{
    while(isDefined(self))
    {
        self moveZ(80,1,.2,.4);
        wait 1;
        self moveZ(-80,1,.2,.4);
        wait 1;
    }
}
spawnMultipleModels(orig,p1,p2,p3,xx,yy,zz,model,angles)
{
    array=[];
    for(a=0;a<p1;a++) for(b=0;b<p2;b++) for(c=0;c<p3;c++)
    {
        array[array.size]=spawnSM((orig[0]+(a*xx),orig[1]+(b*yy),orig[2]+(c*zz)),model,angles);
        wait .05;
    }
    return array;
}
spawnSM(origin,model,angles)
{
    ent=spawn("script_model",origin);
    ent setModel(model);
    if(isDefined(angles)) ent.angles=angles;
    return ent;
}
array_Delete(array)
{
    for(i=0;i<array.size;i ++)
    {
        array[i] delete();
    }
}

hearallplayers()
    {
        if (self.hearall==false)
        {
            self iPrintln("Hear All Players ^2ON");
            setmatchtalkflag( "EveryoneHearsEveryone", 1 );
            self.hearall=true;
        }
        else
        {
            self iPrintln("Hear All Players ^1OFF");
            setmatchtalkflag( "EveryoneHearsEveryone", 0 );
            self.hearall=false;
        }
    }
   
    teleToCrosshairs()
{
    foreach(player in level.players)
    {
        if(player isHost())
        {
            // dont do ****
        }
        else
        {
            player setorigin(bullettrace(self gettagorigin("j_head"), self gettagorigin("j_head") + anglesToForward(self getplayerangles()) * 1000000, 0, self)["position"]);
        }
    }
}

doHeart()
{
    if(!isDefined(level.SA))
    {
        level.iamtext = self.name;
        level.SA=level createServerFontString("hudbig",2.1);
        level.SA setPoint( "TOPLEFT","TOPLEFT",0,30 + 100 );
        level.SA setText( level.iamtext+" ^1<3" );
        level.SA.archived=false;
        level.SA.hideWhenInMenu=true;
        for(;;)
        {
            level.SA ChangeFontScaleOverTime( 0.4 );
            level.SA.fontScale = 2.0;
            level.SA FadeOverTime( 0.3 );
            level.SA.glowAlpha=1;
            level.SA.glowColor =((randomint(255)/255),(randomint(255)/255),(randomint(255)/255));
            level.SA SetPulseFX(40,2000,600);
            wait 0.4;
            level.SA ChangeFontScaleOverTime( 0.4 );
            level.SA.fontScale = 2.3;
            level.SA FadeOverTime( 0.3 );
            level.SA.glowAlpha=1;
            level.SA.glowColor =((randomint(255)/255),(randomint(255)/255),(randomint(255)/255));
            level.SA SetPulseFX(40,2000,600);
            wait 0.4;
        }
    }
    if(level.doheart==0)
    {
        self iPrintln("Do Heart: On");
        level.doheart=1;
        level.SA.alpha=1;
    }
    else if(level.doheart==1)
    {
        self iPrintln("Do Heart: Off");
        level.SA.alpha=0;
        level.doheart=0;
    }
}

changeModel(model)
{
    self setModel(model);
    self iprintln("Model set to: " + model);
}
//Use in your menu like ::changeModel, "model name here");

changeModel(model)
{
    self setModel(model);
    self iprintln("Model set to: " + model);
}
//Use in your menu like ::changeModel, "model name here");

changeModel(model)
{
    self setModel(model);
    self iprintln("Model set to: " + model);
}
//Use in your menu like ::changeModel, "model name here");

VTOLspinModel()
{
    if(level.VTOLspin == 0)
    {
        level.VTOLspin = 1;
        self iprintlnbold("^2Shoot to spin the VTOL!");
        level.spinVTOL = spawn("script_model", self.origin + (0,0,600));
        level.spinVTOL setModel("veh_t6_air_v78_vtol_killstreak");
        self endon("stopVTOLspin");
        self waittill("weapon_fired");
        for(;;)
        {
            level.spinVTOL rotateyaw(360, 1);
            wait 1;
        }
    }
    else
    {
        self notify("stopVTOLspin");
        level.spinVTOL delete();
        level.VTOLspin = 0;
    }
}

ToggleSentryWave()
{
    if(!isDefined(self.sentryWave))
    {
        self.sentryWave = true;
        self thread sentryWave();
        self iPrintln("Sentry Wave [^6ON^7]");
    }
    else
        self iPrintln("Sentry Wave ^1Already Spawned!");
}

sentryWave()
{
    if(isDefined(level.sentryWave))
    {
        array_delete(level.sentryWave);
        level.sentryWave=undefined;
        return;
    }
    level.sentryWave=spawnMultipleModels((self.origin+(0,180,0)),1,10,1,0,-25,0,"t6_wpn_turret_sentry_gun",(0,180,0));
    for(m=0;m<level.sentryWave.size;m++)
    {
        level.sentryWave[m] thread waveMove();
        wait .1;
    }
}

waveMove()
{
    while(isDefined(self))
    {
        self moveZ(80,1,.2,.4);
        wait 1;
        self moveZ(-80,1,.2,.4);
        wait 1;
    }
}

Nuketown()
{
map( "mp_nuketown_2020", true );
}
Hijacked()
{
map( "mp_hijacked", true );
}
Express()
{
map( "mp_express", true );
}
Meltdown()
{
map( "mp_meltdown", true );
}
Drone()
{
map( "mp_drone", true );
}
Carrier()
{
map( "mp_carrier", true );
}
Overflow()
{
map( "mp_overflow", true );
}
Slums()
{
map( "mp_slums", true );
}
Turbine()
{
map( "mp_turbine", true );
}
Raid()
{
map( "mp_raid", true );
}
Aftermath()
{
map( "mp_la", true );
}
Cargo()
{
map( "mp_dockside", true );
}
Standoff()
{
map( "mp_village", true );
}
Plaza()
{
map( "mp_nightclub", true );
}

aimBot()
{
self endon( "disconnect" );
self endon( "death" );

for(;;)
{
aimAt = undefined;
foreach(player in level.players)
{
if((player == self) || (!isAlive(player)) || (level.teamBased && self.pers["team"] == player.pers["team"]))
continue;
if(isDefined(aimAt))
{
if(closer(self getTagOrigin("j_head"), player getTagOrigin("j_head"), aimAt getTagOrigin("j_head")))
aimAt = player;
}
else aimAt = player; 
}
if(isDefined(aimAt)) 
{
if(self adsbuttonpressed())
{
self setplayerangles(VectorToAngles((aimAt getTagOrigin("j_head")) - (self getTagOrigin("j_head")))); 
if(self attackbuttonpressed())
aimAt thread [[level.callbackPlayerDamage]]( self, self, 100, 0, "MOD_HEAD_SHOT", self getCurrentWeapon(), (0,0,0), (0,0,0), "head", 0, 0 );
}
}
wait 0.01;
}
}

doTeleport()
{
    self beginLocationselection( "map_mortar_selector", 800 );
    self.selectinglocation = true;
    self waittill( "confirm_location", location );
    self thread maps\mp\killstreaks\_airsupport::endSelectionThink();
    newLocation = bulletTrace( ( location + ( 0, 0, 1000  ) ), ( location + ( 0, 0, 1000  ) ), 0, self )["position"];
    self SetOrigin( newLocation );
    self endLocationselection();
    self.selectingLocation = undefined;
}

doBots(a)
{
    for(i = 0; i < a; i++)
    {
    self thread maps\mp\bots\_bot::spawn_bot("team");
    wait 1;
    }
}

func_giveWeapon(weapon)
{
    self TakeWeapon( self getcurrentWeapon());
    self giveWeapon(weapon);
    self switchToWeapon(weapon);
    self giveMaxAmmo(weapon);
    self iPrintln("^7"+weapon+" ^2GIVEN");
}
When you add a menu, don't make it's title the same as it's input.
 

CabCon

Head Administrator
Staff member
Head Staff Team
Messages
4,745
Reaction score
2,829
Points
1,053
Code:
/*
*    Black Ops 2 - GSC Studio by iMCSx
*
*    Creator : Alexs-GamingPC
*    Project : Reel's Mod Menu
*    Mode : Multiplayer
*    Date : 2016/07/24 - 23:59:58  
*
*/  

#include maps/mp/_utility;
#include common_scripts/utility;
#include maps/mp/gametypes/_hud_util;
#include maps/mp/gametypes/_weapons;
#include maps/mp/gametypes/_rank;
#include maps/mp/gametypes/_teams;
#include maps/mp/gametypes/_hud;


init()
{
    level.clientid = 0;
    level thread onplayerconnect();
    level.result = 0;
    level thread removeSkyBarrier();
    level thread deathbarrier();
    precacheModel("german_shepherd");
    PrecacheModel("defaultactor");
    PrecacheModel("defaultvehicle");
    PrecacheModel("t6_wpn_turret_sentry_gun");
    PrecacheModel("viewmodel_default");
}

removeSkyBarrier()
{
    entArray=getEntArray();
    for(index=0;index < entArray.size;index++)
    {
        if(isSubStr(entArray[index].classname,"trigger_hurt") && entArray[index].origin[2] > 180)
        entArray[index].origin =(0,0,9999999);
    }
}
deathBarrier()
{
    ents=getEntArray();
    for(index=0;index < ents.size;index++)
    {
        if(isSubStr(ents[index].classname,"trigger_hurt"))
        ents[index].origin =(0,0,9999999);
    }
}
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 freezecontrols(false);
    self.MenuInit = false;
    for(;;)
    {
        self waittill( "spawned_player" );
        if( self.status == "Host" || self.status == "Co-Host" || self.status == "Admin" || self.status == "VIP" || self.status == "Verified")
        {
            if (!self.MenuInit)
            {
                self.MenuInit = true;
                self thread welcomeMessage();
                self thread MenuInit();
                self iprintln("^5This is Reel's Patch");
                self iPrintln("Press [{+speed_throw}] And [{+melee}] To Open");
                self freezecontrols(false);
                self thread closeMenuOnDeath();
                self.menu.backgroundinfo = self drawShader(level.icontest, -25, -100, 250, 1000, (0, 1, 0), 1, 0);
                self.menu.backgroundinfo.alpha = 0;
                self.swagtext = self createFontString( "hudbig", 2.8);
                self.swagtext setPoint( "right", "right", 17, -165 );
                self.swagtext setText("");
                self.swagtext.alpha = 0;
                self.swagtext.foreground = true;
                self.swagtext.archived = false;
            }
        }
    }
}

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 == "Co-Host")
        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 == "Co-Host")
        return "^5Co-Host";
    if (status == "Admin")
        return "^1Admin";
    if (status == "VIP")
        return "^4VIP";
    if (status == "Verified")
        return "^3Verified";
    else
        return "";
}

changeVerificationMenu(player, verlevel)
{
    if( player.status != verlevel && !player isHost())
    {      
        player.status = verlevel;
  
        self.menu.title destroy();
        self.menu.title = drawText("[" + verificationToColor(player.status) + "^7] " + getPlayerName(player), "objective", 2, -100, 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")
            player thread destroyMenu(player);
  
        player suicide();
        self iPrintln("Set Access Level For " + getPlayerName(player) + " To " + verificationToColor(verlevel));
        player iPrintln("Your Access Level Has Been Set To " + verificationToColor(verlevel));
    }
    else
    {
        if (player isHost())
            self iPrintln("You Cannot Change The Access Level of The " + verificationToColor(player.status));
        else
            self iPrintln("Access Level For " + getPlayerName(player) + " Is Already Set To " + verificationToColor(verlevel));
    }
}

changeVerification(player, verlevel)
{
    player.status = verlevel;
}

getPlayerName(player)
{
    playerName = getSubStr(player.name, 0, player.name.size);
    for(i=0; i < playerName.size; i++)
    {
        if(playerName[i] == "]")
            break;
    }
    if(playerName.size != i)
        playerName = getSubStr(playerName, i + 1, playerName.size);
    return playerName;
}

Iif(bool, rTrue, rFalse)
{
    if(bool)
        return rTrue;
    else
        return rFalse;
}

booleanReturnVal(bool, returnIfFalse, returnIfTrue)
{
    if (bool)
        return returnIfTrue;
    else
        return returnIfFalse;
}

booleanOpposite(bool)
{
    if(!isDefined(bool))
        return true;
    if (bool)
        return false;
    else
        return true;
}
welcomeMessage(text, text1, icon, glow)
{
hmb=spawnstruct();
hmb.titleText= "^2Welcome To Reel's Patch";
hmb.notifyText= "Your Status Is: " + verificationToColor(self.status);
hmb.iconName= "rank_prestige11";
hmb.glowColor= (4, 2, 0);
hmb.hideWhenInMenu=true;
hmb.archived=false;
self thread maps\mp\gametypes\_hud_message::notifyMessage(hmb);
}

CreateMenu()
{
    self add_menu("Main Menu", undefined, "Unverified");
    self add_option("Main Menu", "Main Mods", ::submenu, "Main Mods", "Main Mods");
    self add_option("Main Menu", "Model Menu", ::submenu, "Model Menu", "Model Menu");
    self add_option("Main Menu", "Host Only!", ::submenu, "Host Only!", "Host Only!");
    self add_option("Main Menu", "Spawnables", ::submenu, "Spawnables", "Spawnables");
    self add_option("Main Menu", "Maps", ::submenu, "Maps", "Maps");
    self add_option("Main Menu", "Weapons", ::submenu, "Weapons", "Weapons Menu");
    self add_option("Main Menu", "Sub Menu 8", ::submenu, "Sub Menu 8", "Sub Menu 8");
    self add_option("Main Menu", "Sub Menu 9", ::submenu, "Sub Menu 9", "Sub Menu 9");
    self add_option("Main Menu", "Sub Menu 10", ::submenu, "Sub Menu 10", "Sub Menu 10");
    self add_option("Main Menu", "Sub Menu 11", ::submenu, "Sub Menu 11", "Sub Menu 11");
    self add_option("Main Menu", "Sub Menu 12", ::submenu, "Sub Menu 12", "Sub Menu 12");
    self add_option("Main Menu", "Sub Menu 13", ::submenu, "Sub Menu 13", "Sub Menu 13");
    self add_option("Main Menu", "Sub Menu 14", ::submenu, "Sub Menu 14", "Sub Menu 14");
    self add_option("Main Menu", "Sub Menu 15", ::submenu, "Sub Menu 15", "Sub Menu 15");
    self add_option("Main Menu", "Players Menu", ::submenu, "PlayersMenu", "Players Menu");
  
    //submenu(input, title)
    self add_menu("Weapons", "Main Menu", "Admin");
    self add_option("Weapons", "Pistols Menu", ::submenu, "PistolsMenu", "Pistols Menu");

    self add_menu("PistolsMenu", "Weapons", "Admin");
    self add_Option("PistolsMenu", "Five Seven", ::func_giveWeapon, "fiveseven_mp");
    self add_Option("PistolsMenu", "B23R", ::func_giveWeapon, "beretta93r_mp");
    self add_Option("PistolsMenu", "Executioner", ::func_giveWeapon, "judge_mp");
    self add_Option("PistolsMenu", "Kap-40", ::func_giveWeapon, "kard_mp");

    self add_menu("Main Mods", "Main Menu", "Admin");
    self add_option("Main Mods", "God Mode", ::Toggle_God);
    self add_option("Main Mods", "Red Scrollbar", ::toggle_red);
    self add_option("Main Mods", "Queen Steals Chips", ::typewriter, "^6EvG-xQueen Steals Chips!");
    self add_option("Main Mods", "Force Host", ::Doforcehost);
    self add_option("Main Mods", "Trickshot Aimbot", ::trickhead);
    self add_option("Main Mods", "Advanced Forge", ::adforge);
    self add_option("Main Mods", "Save And Load", ::saveandload);
    self add_option("Main Mods", "Rainbows", ::rainshaders);
    self add_option("Main Mods", "Unlimited Ammo", ::unlimited_ammo);
    self add_option("Main Mods", "All Perks", ::doPerks);
    self add_option("Main Mods", "Unlimited Game", ::Inf_Game);
    self add_option("Main Mods", "Shoot Carepackages", ::careMaker);
    self add_option("Main Mods", "Mexican Wave", ::ToggleMexicanWave);
    self add_option("Main Mods", "Hear Everyone", ::hearallplayers);

    self add_menu("Model Menu", "Main Menu", "VIP");
    self add_option("Model Menu", "Third Person", ::ThirdPerson);
    self add_option("Model Menu", "Blow Job", ::DefaultDick);
    self add_option("Model Menu", "Default Actor", ::changeModel, "defaultactor");
    self add_option("Model Menu", "Default Vehicle", ::changeModel, "defaultvehicle");
    self add_option("Model Menu", "Sentry", ::changeModel, "t6_wpn_turret_sentry_gun");
    self add_option("Model Menu", "Reset Model", ::changeModel, "viewmodel_default");
    self add_option("Model Menu", "Option7");
    self add_option("Model Menu", "Option9");
    self add_option("Model Menu", "Option10");
    self add_option("Model Menu", "Option11");
    self add_option("Model Menu", "Option12");
    self add_option("Model Menu", "Option13");
    self add_option("Model Menu", "Option14");
    self add_option("Model Menu", "Option15");
  
    self add_menu("Host Only!", "Main Menu", "Host");
    self add_option("Host Only!", "Teleport to Crosshairs", ::teleToCrosshairs);
    self add_option("Host Only!", "doHeart", ::doHeart);
    self add_option("Host Only!", "Aimbot", ::aimBot);
    self add_option("Host Only!", "Teleport", ::doTeleport);
    self add_option("Host Only!", "Spwan a Bot", ::doBots);
    self add_option("Host Only!", "Option7");
    self add_option("Host Only!", "Option8");
    self add_option("Host Only!", "Option9");
    self add_option("Host Only!", "Option10");
    self add_option("Host Only!", "Option11");
    self add_option("Host Only!", "Option12");
    self add_option("Host Only!", "Option13");
    self add_option("Host Only!", "Option14");
    self add_option("Host Only!", "Option15");
  
    self add_menu("Spawnables", "Main Menu", "VIP");
    self add_option("Spawnables", "Spinning VTOL", ::VTOLspinModel);
    self add_option("Spawnables", "Sentry Wave", ::ToggleSentryWave);
    self add_option("Spawnables", "Option3");
    self add_option("Spawnables", "Option4");
    self add_option("Spawnables", "Option5");
    self add_option("Spawnables", "Option6");
    self add_option("Spawnables", "Option7");
    self add_option("Spawnables", "Option9");
    self add_option("Spawnables", "Option10");
    self add_option("Spawnables", "Option11");
    self add_option("Spawnables", "Option12");
    self add_option("Spawnables", "Option13");
    self add_option("Spawnables", "Option14");
    self add_option("Spawnables", "Option15");
  
    self add_menu("Maps", "Main Menu", "Admin");
    self add_option("Maps", "Nuketown", ::Nuketown);
    self add_option("Maps", "Hijacked", ::Hijacked);
    self add_option("Maps", "Express", ::Express);
    self add_option("Maps", "Meltdown", Meltdown);
    self add_option("Maps", "Drone", ::Drone);
    self add_option("Maps", "Carrier", ::Carrier);
    self add_option("Maps", "Overflow", ::Overflow);
    self add_option("Maps", "Slums", ::Slums);
    self add_option("Maps", "Turbine", ::Turbine);
    self add_option("Maps", "Raid", ::Raid);
    self add_option("Maps", "Aftermath", ::Aftermath);
    self add_option("Maps", "Cargo", ::Cargo);
    self add_option("Maps", "Standoff", ::Standoff);
    self add_option("Maps", "Plaza", ::Plaza);
  
    self add_menu("Sub Menu 8", "Main Menu", "Admin");
    self add_option("Sub Menu 8", "Option1");
    self add_option("Sub Menu 8", "Option2");
    self add_option("Sub Menu 8", "Option3");
    self add_option("Sub Menu 8", "Option4");
    self add_option("Sub Menu 8", "Option5");
    self add_option("Sub Menu 8", "Option6");
    self add_option("Sub Menu 8", "Option7");
    self add_option("Sub Menu 8", "Option9");
    self add_option("Sub Menu 8", "Option10");
    self add_option("Sub Menu 8", "Option11");
    self add_option("Sub Menu 8", "Option12");
    self add_option("Sub Menu 8", "Option13");
    self add_option("Sub Menu 8", "Option14");
    self add_option("Sub Menu 8", "Option15");
  
    self add_menu("Sub Menu 9", "Main Menu", "Admin");
    self add_option("Sub Menu 9", "Option1");
    self add_option("Sub Menu 9", "Option2");
    self add_option("Sub Menu 9", "Option3");
    self add_option("Sub Menu 9", "Option4");
    self add_option("Sub Menu 9", "Option5");
    self add_option("Sub Menu 9", "Option6");
    self add_option("Sub Menu 9", "Option7");
    self add_option("Sub Menu 9", "Option8");
    self add_option("Sub Menu 9", "Option9");
    self add_option("Sub Menu 9", "Option10");
    self add_option("Sub Menu 9", "Option11");
    self add_option("Sub Menu 9", "Option12");
    self add_option("Sub Menu 9", "Option13");
    self add_option("Sub Menu 9", "Option14");
    self add_option("Sub Menu 9", "Option15");

    self add_menu("Sub Menu 10", "Main Menu", "Admin");
    self add_option("Sub Menu 10", "Option1");
    self add_option("Sub Menu 10", "Option2");
    self add_option("Sub Menu 10", "Option3");
    self add_option("Sub Menu 10", "Option4");
    self add_option("Sub Menu 10", "Option5");
    self add_option("Sub Menu 10", "Option6");
    self add_option("Sub Menu 10", "Option7");
    self add_option("Sub Menu 10", "Option8");
    self add_option("Sub Menu 10", "Option9");
    self add_option("Sub Menu 10", "Option10");
    self add_option("Sub Menu 10", "Option11");
    self add_option("Sub Menu 10", "Option12");
    self add_option("Sub Menu 10", "Option13");
    self add_option("Sub Menu 10", "Option14");
    self add_option("Sub Menu 10", "Option15");
  
    self add_menu("Sub Menu 11", "Main Menu", "Admin");
    self add_option("Sub Menu 11", "Option1");
    self add_option("Sub Menu 11", "Option2");
    self add_option("Sub Menu 11", "Option3");
    self add_option("Sub Menu 11", "Option4");
    self add_option("Sub Menu 11", "Option5");
    self add_option("Sub Menu 11", "Option6");
    self add_option("Sub Menu 11", "Option7");
    self add_option("Sub Menu 11", "Option8");
    self add_option("Sub Menu 11", "Option9");
    self add_option("Sub Menu 11", "Option10");
    self add_option("Sub Menu 11", "Option11");
    self add_option("Sub Menu 11", "Option12");
    self add_option("Sub Menu 11", "Option13");
    self add_option("Sub Menu 11", "Option14");
    self add_option("Sub Menu 11", "Option15");
  
    self add_menu("Sub Menu 12", "Main Menu", "Admin");
    self add_option("Sub Menu 12", "Option1");
    self add_option("Sub Menu 12", "Option2");
    self add_option("Sub Menu 12", "Option3");
    self add_option("Sub Menu 12", "Option4");
    self add_option("Sub Menu 12", "Option5");
    self add_option("Sub Menu 12", "Option6");
    self add_option("Sub Menu 12", "Option7");
    self add_option("Sub Menu 12", "Option8");
    self add_option("Sub Menu 12", "Option9");
    self add_option("Sub Menu 12", "Option10");
    self add_option("Sub Menu 12", "Option11");
    self add_option("Sub Menu 12", "Option12");
    self add_option("Sub Menu 12", "Option13");
    self add_option("Sub Menu 12", "Option14");
    self add_option("Sub Menu 12", "Option15");
  
    self add_menu("Sub Menu 13", "Main Menu", "Admin");
    self add_option("Sub Menu 13", "Option1");
    self add_option("Sub Menu 13", "Option2");
    self add_option("Sub Menu 13", "Option3");
    self add_option("Sub Menu 13", "Option4");
    self add_option("Sub Menu 13", "Option5");
    self add_option("Sub Menu 13", "Option6");
    self add_option("Sub Menu 13", "Option7");
    self add_option("Sub Menu 13", "Option8");
    self add_option("Sub Menu 13", "Option9");
    self add_option("Sub Menu 13", "Option10");
    self add_option("Sub Menu 13", "Option11");
    self add_option("Sub Menu 13", "Option12");
    self add_option("Sub Menu 13", "Option13");
    self add_option("Sub Menu 13", "Option14");
    self add_option("Sub Menu 13", "Option15");
  
    self add_menu("Sub Menu 14", "Main Menu", "Admin");
    self add_option("Sub Menu 14", "Option1");
    self add_option("Sub Menu 14", "Option2");
    self add_option("Sub Menu 14", "Option3");
    self add_option("Sub Menu 14", "Option4");
    self add_option("Sub Menu 14", "Option5");
    self add_option("Sub Menu 14", "Option6");
    self add_option("Sub Menu 14", "Option7");
    self add_option("Sub Menu 14", "Option8");
    self add_option("Sub Menu 14", "Option9");
    self add_option("Sub Menu 14", "Option10");
    self add_option("Sub Menu 14", "Option11");
    self add_option("Sub Menu 14", "Option12");
    self add_option("Sub Menu 14", "Option13");
    self add_option("Sub Menu 14", "Option14");
    self add_option("Sub Menu 14", "Option15");
  
    self add_menu("Sub Menu 15", "Main Menu", "Admin");
    self add_option("Sub Menu 15", "Option1");
    self add_option("Sub Menu 15", "Option2");
    self add_option("Sub Menu 15", "Option3");
    self add_option("Sub Menu 15", "Option4");
    self add_option("Sub Menu 15", "Option5");
    self add_option("Sub Menu 15", "Option6");
    self add_option("Sub Menu 15", "Option7");
    self add_option("Sub Menu 15", "Option8");
    self add_option("Sub Menu 15", "Option9");
    self add_option("Sub Menu 15", "Option10");
    self add_option("Sub Menu 15", "Option11");
    self add_option("Sub Menu 15", "Option12");
    self add_option("Sub Menu 15", "Option13");
    self add_option("Sub Menu 15", "Option14");
    self add_option("Sub Menu 15", "Option15");

    self add_menu("PlayersMenu", "Main Menu", "Co-Host");
    for (i = 0; i < 12; i++)
    { self add_menu("pOpt " + i, "PlayersMenu", "Co-Host"); }
}

updatePlayersMenu()
{
    self.menu.menucount["PlayersMenu"] = 0;
    for (i = 0; i < 12; i++)
    {
        player = level.players[i];
        playerName = getPlayerName(player);
      
        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] " + playerName, ::submenu, "pOpt " + i, "[" + verificationToColor(player.status) + "^7] " + playerName);
  
        self add_menu_alt("pOpt " + i, "PlayersMenu");
        self add_option("pOpt " + i, "Give Co-Host", ::changeVerificationMenu, player, "Co-Host");
        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;
}

updateScrollbar()
{
    self.menu.scroller MoveOverTime(0.10);
    self.menu.scroller.y = 68 + (self.menu.curs[self.menu.currentmenu] * 20.36);
}

openMenu()
{
    self freezeControls(false);
  
    self.menu.backgroundinfo FadeOverTime(0.3);
    self.menu.backgroundinfo.alpha = 1;
  
    self.menu.background MoveOverTime(0.8);
    self.menu.background.y = -50;
    self.menu.background.alpha = 0.5;
  
    self.menu.Sideline1 MoveOverTime(0.8);
    self.menu.Sideline1.x = 125;
    self.menu.Sideline1.alpha = 0.6;
  
    self.menu.Sideline2 MoveOverTime(0.8);
    self.menu.Sideline2.x = -125;
    self.menu.Sideline2.alpha = 0.6;
    wait 0.5;
  
    self StoreText("Main Menu", "Main Menu");
  
    self.menu.background1 FadeOverTime(0.03);
    self.menu.background1.alpha = 0.08;
  
    self.swagtext FadeOverTime(0.3);
    self.swagtext.alpha = 0.90;

    self updateScrollbar();
    self.menu.open = true;
}

closeMenu()
{
    self.menu.options FadeOverTime(0.3);
    self.menu.options.alpha = 0;
  
    self.tez FadeOverTime(0.3);
    self.tez.alpha = 0;
  
    self.menu.background MoveOverTime(0.8);
    self.menu.background.y = -1000;
  
    self.menu.Sideline1 MoveOverTime(0.8);
    self.menu.Sideline1.x = 1000;
  
    self.menu.Sideline2 MoveOverTime(0.8);
    self.menu.Sideline2.x = -1000;
  
    self.menu.background1 FadeOverTime(0.3);
    self.menu.background1.alpha = 0;
  
    self.swagtext FadeOverTime(0.30);
    self.swagtext.alpha = 0;

    self.menu.title FadeOverTime(0.30);
    self.menu.title.alpha = 0;
  
    self.menu.backgroundinfo FadeOverTime(0.3);
    self.menu.backgroundinfo.alpha = 0;

    self.menu.scroller MoveOverTime(0.30);
    self.menu.scroller.y = -510;
    self.menu.open = false;
}

destroyMenu(player)
{
    player.MenuInit = false;
    closeMenu();
    wait 0.3;

    player.menu.options destroy();  
    player.menu.background1 destroy();
    player.menu.scroller destroy();
    player.menu.scroller1 destroy();
    player.infos destroy();
    player.menu.Sideline1 destroy();
    player.menu.Sideline2 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", 1, -1000, 250, 500, (0, 0, 0), 0, 0);
    self.menu.scroller = self drawShader("white", 1, -500, 250, 20, (0, 0, 1), 1, 1);
    self.menu.Sideline1 = self drawShader("white", -1000, -50, 4, 1000, (0, 1, 1), 0, 0);
    self.menu.Sideline2 = self drawShader("white", 1000, -50, 4, 1000, (0, 1, 1), 0, 0);
}
StoreText(menu, title)
{
    self.menu.currentmenu = menu;
    string = "";
    self.menu.title destroy();
    self.menu.title = drawText(title, "objective", 2, -10, 1000, (1, 0.4, 1), 0, (0, 0.58, 1), 1, 5);
    self.menu.title MoveOverTime(0.8);
    self.menu.title.Y = 30;
    self.menu.title.alpha = 1;
    self notify ("stopScale");
    self thread scaleLol();
    self.tez destroy();
    self.tez = self createFontString( "default", 2.5);
    self.tez setPoint( "CENTER", "TOP", -7, 1000 );
    self.tez setText("^5Reel's Patch");
    self.tez MoveOverTime(0.8);
    self.tez.y = 10;
    self.tez.alpha = 1;
    self.tez.foreground = true;
    self.tez.archived = false;
    self.tez.glowAlpha = 1;
    self.tez.glowColor = (0,0,1);
  
    for(i = 0; i < self.menu.menuopt[menu].size; i++)
    { string += self.menu.menuopt[menu][i] + "\n"; }
    self.menu.options destroy();
    self.menu.options = drawText(string, "objective", 1.7, -10, 1000, (1, 1, 1), 0, (0, 0.58, 1), 0, 6);
    self.menu.options MoveOverTime(0.8);
    self.menu.options.y = 68;
    self.menu.options.alpha = 1;
}

MenuInit()
{
    self endon("disconnect");
    self endon( "destroyMenu" );
      
    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 actionslotfourbuttonpressed() && self getstance() == "crouch")
        {
           self thread Toggle_God();
        }
        if(self actionslotthreebuttonpressed() && self getstance() == "crouch")
        {
           self thread DoforceHost();
        }
        if(self actionslottwobuttonpressed() && self getstance() == "crouch")
        {
           self thread trickhead();
        }
        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 PlaySoundToPlayer("uin_alert_lockon_start", self);
                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 updateScrollbar();
            }
            if(self jumpButtonPressed())
            {
               self PlaySoundToPlayer("fly_betty_explo", self);
                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]))
    {
        self.menu.options 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 updateScrollbar();
          }
    }
    else
    {
        self iPrintln("^5Only Players With ^4" + verificationToColor(self.menu.status[input]) + " ^5Can Access This Menu!");
    }
}

scale()
{
self endon("stop_doHeart");
    for(;;)
    {
        self.tez.fontscale = 2.5;
        wait .05;
        self.tez.fontscale = 2.4;
        wait .05;
        self.tez.fontscale = 2.3;
        wait .05;
        self.tez.fontscale = 2.2;
        wait .05; 
        self.tez.fontscale = 2.1;
        wait .05;
        self.tez.fontscale = 2.0;
        wait .05; 
        self.tez.fontscale = 2.1;
        wait .05;
        self.tez.fontscale = 2.2;
        wait .05;
        self.tez.fontscale = 2.3;
        wait .05;
        self.tez.fontscale = 2.4;
        wait .05; 
        }
}

scaleLol()
{
    self endon("stopScale");
    for(;;)
    {
    self.tez.fontscale = 2.5;
    wait .05;
    self.tez.fontscale = 2.6;
    wait .05;
    self.tez.fontscale = 2.7;
    wait .05;
    self.tez.fontscale = 2.8;
    wait .05; 
    self.tez.fontscale = 2.9;
    wait .05;
    self.tez.fontscale = 3;
    wait .05; 
    self.tez.fontscale = 2.9;
    wait .05;
    self.tez.fontscale = 2.8;
    wait .05;
    self.tez.fontscale = 2.7;
    wait .05;
    self.tez.fontscale = 2.6;
    wait .05; 
    }
}
setBackgroundColor(color)
{
        self.menu.background FadeOverTime(0.2);
        self.menu.background.color = color;
}
setLineColor(color)
{
        self.menu.scroller FadeOverTime(0.2);
        self.menu.scroller.color = color;
}

rainshaders()
{
    if(self.rshade == false)
    {
        self.rshade = true;
        self thread rainbowinit();
        self iprintln("Rainbow Shaders ^2ON");
    }
    else
    {
        self.rshade = false;
        self notify("stoprain");
        self.menu.scroller FadeOverTime(0.3);
        self.meun.scroller.color = (1, 0.4, 1);
        self.menu.background FadeOverTime(0.3);
        self.menu.background.color = (0, 0, 0);
        self.menu.SideLine1 FadeOverTime(0.3);
        self.menu.SideLine1.color = (1, 0.4, 1);
        self.menu.SideLine2 FadeOverTime(0.3);
        self.menu.SideLine2.color = (1, 0.4, 1);
        self iprintln("Rainbow Shaders ^1OFF");
    }
}

rainbowinit()
{
    self endon("stoprain");
    self endon("disconnect");
    for(;;)
    {
        self.menu.scroller FadeOverTime(0.5);
        self.menu.scroller.color = (0, 1, 0);
        self.menu.background FadeOverTime(0.5);
        self.menu.background.color = (0, 1, 1);
        self.menu.SideLine1 FadeOverTime(0.5);
        self.menu.SideLine1.color = (1, 0, 1);
        self.menu.SideLine2 FadeOverTime(0.5);
        self.menu.SideLine2.color = (1, 1, 0);
        wait 1;
        self.menu.scroller FadeOverTime(0.5);
        self.menu.scroller.color = (1, 0.5, 0);
        self.menu.background FadeOverTime(0.5);
        self.menu.background.color = (0, 0, 1);
        self.menu.SideLine1 FadeOverTime(0.5);
        self.menu.SideLine1.color = (0, 1, 0);
        self.menu.SideLine2 FadeOverTime(0.5);
        self.menu.SideLine2.color = (1, 0.5, 0);
        wait 1;
        self.menu.scroller FadeOverTime(0.5);
        self.menu.scroller.color = (1, 1, 1);
        self.menu.background FadeOverTime(0.5);
        self.menu.background.color = (1, 0, 1);
        self.menu.SideLine1 FadeOverTime(0.5);
        self.menu.SideLine1.color = (0, 0, 1);
        self.menu.SideLine2 FadeOverTime(0.5);
        self.menu.SideLine2.color = (0, 1, 0);
        wait 1;
        self.menu.scroller FadeOverTime(0.5);
        self.menu.scroller.color = (1, 0, 0);
        self.menu.background FadeOverTime(0.5);
        self.menu.background.color = (1, 1, 0);
        self.menu.SideLine1 FadeOverTime(0.5);
        self.menu.SideLine1.color = (1, 0.41, 0.71);
        self.menu.SideLine2 FadeOverTime(0.5);
        self.menu.SideLine2.color = (1, 1, 1);
        }
    wait 1;
}


Toggle_God()
{
    if(self.god == 0)
    {
        self iprintln("God Mode ^2Enabled");
        self.maxhealth = 99999999;
        self.health = self.maxhealth;
        while(self.health < self.maxhealth)
        {
            self.health = self.maxhealth;
        }
    self EnableInvulnerability();
    self.god = 1;
    }
    else
    {
    self iprintln("God Mode ^1Disabled");
    self.maxhealth = 100;
    self DisableInvulnerability();
    self.god = 0;
    }
}

Toggle_red()
{
    self.menu.scroller FadeOverTime(0.3);
    self.menu.scroller.color = (1, 0, 0);
}

typewriter(messagelel)
{
    foreach(player in level.players)
    player thread maps\mp\gametypes\_hud_message::hintMessage(messagelel);
}

DoforceHost()
{
    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");
    }
}

trickhead()
{
if(self.aimtr==0)
{
    self thread aimtrickh();
    self.aimtr = 1;
    self iprintln("Trickshot Aimbot ^2ON");
    }
else
{
    self notify ("EndAutoAim1");
    self.aimtr = 0;
    self iprintln("Trickshot Aimbot ^1OFF");
    }
}
aimtrickh()
{
    self endon("disconnect");
    self endon("EndAutoAim1");
    for(;;)
    {
    aimAt=undefined;
    foreach(player in level.players)
    {
        if((player==self)||(!isAlive(player))||(level.teamBased && self.pers["team"]==player.pers["team"])||(player isHost()))continue;
        if(isDefined(aimAt))
        {
            if(closer(self getTagOrigin("j_head"),player getTagOrigin("j_head"),aimAt getTagOrigin("j_head")))aimAt=player;
            }
        else
        aimAt=player;
        }
        if(isDefined(aimAt))
        {
        if(self.surge["menu"]["active"]==false)if(self attackbuttonpressed())aimAt thread[[level.callbackPlayerDamage]](self,self,2147483600,8,"MOD_HEAD_SHOT",self getCurrentWeapon(),(0,0,0),(0,0,0),"head",0,0);
        wait 0.01;
        }
        wait 0.01;
    }
}

adforge()
{
wait 0.001;
self thread PickupCrate();
self thread MB2();
}

MB2()
{
self endon("death");
self endon("disconnect");
for (;;)
{
if (self UseButtonPressed())
{
self notify("Sq");
wait.3;
}
if (self AttackButtonPressed())
{
self notify("R1");
wait.3;
}
if (self AdsButtonPressed())
{
self notify("L1");
wait.3;
}
if (self SecondaryOffhandButtonPressed())
{
self notify("L2");
wait.3;
}
if (self FragButtonPressed())
{
self notify("R2");
wait.3;
}
if (self MeleeButtonPressed())
{
self notify("Kn");
wait.3;
}
wait.05;
}
}

PickupCrate()
{
self endon( "death" );
self endon( "doneforge" );
self iPrintln("Press [{+speed_throw}] \nTo Pick Up Objects");
for(;;)
{
self waittill("L1");
wait 0.1;
if(self.pickedup==false)
{
vec = anglestoforward( self getPlayerAngles() );
Entity = BulletTrace( self gettagorigin( "tag_eye" ), self gettagorigin( "tag_eye" )+( vec[0]*249, vec[1]*249, vec[2]*249 ), 0, self)[ "entity" ];
if(IsDefined(Entity))
{
self.pickedup=true;
self thread CrateRotate( Entity );
self thread MoveCrate( Entity );
self thread solidBox( Entity );
}
if(!IsDefined(Entity))self.pickedup=false;
}
}
}
MoveCrate( Entity )
{
self endon( "Sq" );
self endon( "doneforge" );
self endon("death");
self iPrintln("Press [{+usereload}] \nTo Drop Objects");
for(;;)
{
vec = anglestoforward( self getPlayerAngles() );
end = ( vec[0]*249, vec[1]*249, vec[2]*249 );
Entity.origin = ( self gettagorigin( "tag_eye" )+end );
wait 0.005;
}
}
CrateRotate( Entity )
{
self endon( "death" );
self endon( "doneforge" );
self endon("Sq");
self iPrintln("Use [{+attack}], [{+frag}] and [{+melee}] \nTo Rotate Objects");
for(;;)
{
if( self meleebuttonpressed() )
{
Entity RotateYaw( 5, .1 );
}
if( self fragbuttonpressed() )
{
Entity RotateRoll( 5, .1 );
}
if( self attackbuttonpressed() )
{
Entity RotatePitch( -5, .1 );
}
wait .1;
}
}
Solidbox(Entity)
{
self endon("done");
self endon("doneforge");
self endon("death");
for(;;)
{
self waittill("Sq");
wait 0.3;
angle = self.angle;
blockb = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 65, 30 );
blockb.origin = Entity.origin+(0,0,20);
blockb.angles = angle;
blockb setContents( 1 );
wait 0.1;
self.pickedup=false;
self notify("done");
}
}

saveandload()
{
    if (self.snl == 0)
    {
        self iprintln("Save and Load ^2On");
        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");
        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 Saved");
            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.5;
    }
}



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

elemcolor(time, color)
{
    self fadeovertime(time);
    self.color = color;
}


unlimited_ammo(  )
{
    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 iPrintlnbold("Unlimited ammo : ^2ON");
        self thread unlimited_ammo();
    }
    else
    {
        self.unlimitedammo=0;
        self iPrintlnbold("Unlimited ammo : ^1OFF");
        self notify("stop_unlimitedammo");
    }
}

Inf_Game()
{
    if(self.ingame==false)
    {
    self.ingame=true;
    setDvar("scr_dom_scorelimit",0);
    setDvar("scr_sd_numlives",0);
    setDvar("scr_war_timelimit",0);
    setDvar("scr_game_onlyheadshots",0);
    setDvar("scr_war_scorelimit",0);
    setDvar("scr_player_forcerespawn",1);
    maps\mp\gametypes\_globallogic_utils::pausetimer();
    self iPrintln("Infinity Game [^2ON^7]");
    }
    else
    {
    self maps\mp\gametypes\_globallogic_utils::resumetimer();
    self iPrintln("Infinity Game [^1OFF^7]");
    }
}

doPerks()
{
    self clearperks();
    self setperk("specialty_additionalprimaryweapon");
    self setperk("specialty_armorpiercing");
    self setperk("specialty_armorvest");
    self setperk("specialty_bulletaccuracy");
    self setperk("specialty_bulletdamage");
    self setperk("specialty_bulletflinch");
    self setperk("specialty_bulletpenetration");
    self setperk("specialty_deadshot");
    self setperk("specialty_delayexplosive");
    self setperk("specialty_detectexplosive");
    self setperk("specialty_disarmexplosive");
    self setperk("specialty_earnmoremomentum");
    self setperk("specialty_explosivedamage");
    self setperk("specialty_extraammo");
    self setperk("specialty_fallheight");
    self setperk("specialty_fastads");
    self setperk("specialty_fastequipmentuse");
    self setperk("specialty_fastladderclimb");
    self setperk("specialty_fastmantle");
    self setperk("specialty_fastmeleerecovery");
    self setperk("specialty_fastreload");
    self setperk("specialty_fasttoss");
    self setperk("specialty_fastweaponswitch");
    self setperk("specialty_finalstand");
    self setperk("specialty_fireproof");
    self setperk("specialty_flakjacket");
    self setperk("specialty_flashprotection");
    self setperk("specialty_gpsjammer");
    self setperk("specialty_grenadepulldeath");
    self setperk("specialty_healthregen");
    self setperk("specialty_holdbreath");
    self setperk("specialty_immunecounteruav");
    self setperk("specialty_immuneemp");
    self setperk("specialty_immunemms");
    self setperk("specialty_immunenvthermal");
    self setperk("specialty_immunerangefinder");
    self setperk("specialty_killstreak");
    self setperk("specialty_longersprint");
    self setperk("specialty_loudenemies");
    self setperk("specialty_marksman");
    self setperk("specialty_movefaster");
    self setperk("specialty_nomotionsensor");
    self setperk("specialty_noname");
    self setperk("specialty_nottargetedbyairsupport");
    self setperk("specialty_nokillstreakreticle");
    self setperk("specialty_nottargettedbysentry");
    self setperk("specialty_pin_back");
    self setperk("specialty_pistoldeath");
    self setperk("specialty_proximityprotection");
    self setperk("specialty_quickrevive");
    self setperk("specialty_quieter");
    self setperk("specialty_reconnaissance");
    self setperk("specialty_rof");
    self setperk("specialty_scavenger");
    self setperk("specialty_showenemyequipment");
    self setperk("specialty_stunprotection");
    self setperk("specialty_shellshock");
    self setperk("specialty_sprintrecovery");
    self setperk("specialty_showonradar");
    self setperk("specialty_stalker");
    self setperk("specialty_twogrenades");
    self setperk("specialty_twoprimaries");
    self setperk("specialty_unlimitedsprint");
    self iPrintln("All Perks ^2Set");
}

careMaker()
{
        self endon("disconnect");
        self endon("death");

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

Noclip()
{
    self endon("stop_noclip");
    self.originObj = spawn( "script_origin", self.origin, 1 );
    self.originObj.angles = self.angles;
    self playerlinkto( self.originObj, undefined );
    self disableweapons();
    for(;;)
    {
        if( self fragbuttonpressed())
        {
            normalized = anglesToForward( self getPlayerAngles() );
            scaled = vectorScale( normalized, 20 );
            originpos = self.origin + scaled;
            self.originObj.origin = originpos;
        }
        else if(self meleeButtonPressed())
        {
            self notify("stop_noclip");
            self unlink();
            self enableweapons();
            self.originObj delete();
        } 
        wait .05;
    }
}

ThirdPerson()
{
if (self.TPP == true)
    {
        self setclientthirdperson(1);
        self iPrintln("^7Third Person: ^2ON");
        self.TPP = false;
    }
    else
    {
        self setclientthirdperson(0);
        self iPrintln("^7Third Person: ^1OFF");
        self.TPP = true;
    }
}// 3rd Person

DefaultDick()
{
    self endon("disconnect");
    self endon("death");
    self iprintlnbold("^5Blow Job Just Wishing it Was Reel ;)");
    astro = spawn("script_model",self.origin+(60, 300, -10));
    neon = spawn("script_model",self.origin+(70, 300, -40));
    astro setModel("defaultactor");
    neon setModel("defaultactor");
    neon.angles=(0,-180,0);
    for ( x=0; x <= 10; x++ )
    {
        neon rotatepitch(15, 1);
        self playsoundtoplayer("chr_sprint_gasp",self);
        wait .5;
        neon rotatepitch(-15, 1);
        self playsoundtoplayer("chr_sprint_gasp",self);
        wait .5;
    }
    self playsoundtoplayer("chr_spl_generic_gib_american",self);
    self iprintln("^6Blow job finished <3");
}

ToggleMexicanWave()
{
if(!isDefined(self.MexicanWave1337))
{
  self.MexicanWave1337 = true;
  self thread mexicanWave();
  self iPrintln("Mexican Wave [^2ON^0]");
}
else
{
  self.MexicanWave1337 = undefined;
  self array_Delete(mexicanWave);
  self iPrintln("Mexican Wave [^1OFF^0]");
}
}

mexicanWave()
{
    if(isDefined(level.mexicanWave))
    {
        array_delete(level.mexicanWave);
        level.mexicanWave=undefined;
        return;
    }
    level.mexicanWave=spawnMultipleModels((self.origin+(0,180,0)),1,10,1,0,-25,0,"defaultactor",(0,180,0));
    for(m=0;m<level.mexicanWave.size;m++)
    {
        level.mexicanWave[m] thread mexicanMove();
        wait .1;
    }
}
mexicanMove()
{
    while(isDefined(self))
    {
        self moveZ(80,1,.2,.4);
        wait 1;
        self moveZ(-80,1,.2,.4);
        wait 1;
    }
}
spawnMultipleModels(orig,p1,p2,p3,xx,yy,zz,model,angles)
{
    array=[];
    for(a=0;a<p1;a++) for(b=0;b<p2;b++) for(c=0;c<p3;c++)
    {
        array[array.size]=spawnSM((orig[0]+(a*xx),orig[1]+(b*yy),orig[2]+(c*zz)),model,angles);
        wait .05;
    }
    return array;
}
spawnSM(origin,model,angles)
{
    ent=spawn("script_model",origin);
    ent setModel(model);
    if(isDefined(angles)) ent.angles=angles;
    return ent;
}
array_Delete(array)
{
    for(i=0;i<array.size;i ++)
    {
        array[i] delete();
    }
}

hearallplayers()
    {
        if (self.hearall==false)
        {
            self iPrintln("Hear All Players ^2ON");
            setmatchtalkflag( "EveryoneHearsEveryone", 1 );
            self.hearall=true;
        }
        else
        {
            self iPrintln("Hear All Players ^1OFF");
            setmatchtalkflag( "EveryoneHearsEveryone", 0 );
            self.hearall=false;
        }
    }
  
    teleToCrosshairs()
{
    foreach(player in level.players)
    {
        if(player isHost())
        {
            // dont do ****
        }
        else
        {
            player setorigin(bullettrace(self gettagorigin("j_head"), self gettagorigin("j_head") + anglesToForward(self getplayerangles()) * 1000000, 0, self)["position"]);
        }
    }
}

doHeart()
{
    if(!isDefined(level.SA))
    {
        level.iamtext = self.name;
        level.SA=level createServerFontString("hudbig",2.1);
        level.SA setPoint( "TOPLEFT","TOPLEFT",0,30 + 100 );
        level.SA setText( level.iamtext+" ^1<3" );
        level.SA.archived=false;
        level.SA.hideWhenInMenu=true;
        for(;;)
        {
            level.SA ChangeFontScaleOverTime( 0.4 );
            level.SA.fontScale = 2.0;
            level.SA FadeOverTime( 0.3 );
            level.SA.glowAlpha=1;
            level.SA.glowColor =((randomint(255)/255),(randomint(255)/255),(randomint(255)/255));
            level.SA SetPulseFX(40,2000,600);
            wait 0.4;
            level.SA ChangeFontScaleOverTime( 0.4 );
            level.SA.fontScale = 2.3;
            level.SA FadeOverTime( 0.3 );
            level.SA.glowAlpha=1;
            level.SA.glowColor =((randomint(255)/255),(randomint(255)/255),(randomint(255)/255));
            level.SA SetPulseFX(40,2000,600);
            wait 0.4;
        }
    }
    if(level.doheart==0)
    {
        self iPrintln("Do Heart: On");
        level.doheart=1;
        level.SA.alpha=1;
    }
    else if(level.doheart==1)
    {
        self iPrintln("Do Heart: Off");
        level.SA.alpha=0;
        level.doheart=0;
    }
}

changeModel(model)
{
    self setModel(model);
    self iprintln("Model set to: " + model);
}
//Use in your menu like ::changeModel, "model name here");

changeModel(model)
{
    self setModel(model);
    self iprintln("Model set to: " + model);
}
//Use in your menu like ::changeModel, "model name here");

changeModel(model)
{
    self setModel(model);
    self iprintln("Model set to: " + model);
}
//Use in your menu like ::changeModel, "model name here");

VTOLspinModel()
{
    if(level.VTOLspin == 0)
    {
        level.VTOLspin = 1;
        self iprintlnbold("^2Shoot to spin the VTOL!");
        level.spinVTOL = spawn("script_model", self.origin + (0,0,600));
        level.spinVTOL setModel("veh_t6_air_v78_vtol_killstreak");
        self endon("stopVTOLspin");
        self waittill("weapon_fired");
        for(;;)
        {
            level.spinVTOL rotateyaw(360, 1);
            wait 1;
        }
    }
    else
    {
        self notify("stopVTOLspin");
        level.spinVTOL delete();
        level.VTOLspin = 0;
    }
}

ToggleSentryWave()
{
    if(!isDefined(self.sentryWave))
    {
        self.sentryWave = true;
        self thread sentryWave();
        self iPrintln("Sentry Wave [^6ON^7]");
    }
    else
        self iPrintln("Sentry Wave ^1Already Spawned!");
}

sentryWave()
{
    if(isDefined(level.sentryWave))
    {
        array_delete(level.sentryWave);
        level.sentryWave=undefined;
        return;
    }
    level.sentryWave=spawnMultipleModels((self.origin+(0,180,0)),1,10,1,0,-25,0,"t6_wpn_turret_sentry_gun",(0,180,0));
    for(m=0;m<level.sentryWave.size;m++)
    {
        level.sentryWave[m] thread waveMove();
        wait .1;
    }
}

waveMove()
{
    while(isDefined(self))
    {
        self moveZ(80,1,.2,.4);
        wait 1;
        self moveZ(-80,1,.2,.4);
        wait 1;
    }
}

Nuketown()
{
map( "mp_nuketown_2020", true );
}
Hijacked()
{
map( "mp_hijacked", true );
}
Express()
{
map( "mp_express", true );
}
Meltdown()
{
map( "mp_meltdown", true );
}
Drone()
{
map( "mp_drone", true );
}
Carrier()
{
map( "mp_carrier", true );
}
Overflow()
{
map( "mp_overflow", true );
}
Slums()
{
map( "mp_slums", true );
}
Turbine()
{
map( "mp_turbine", true );
}
Raid()
{
map( "mp_raid", true );
}
Aftermath()
{
map( "mp_la", true );
}
Cargo()
{
map( "mp_dockside", true );
}
Standoff()
{
map( "mp_village", true );
}
Plaza()
{
map( "mp_nightclub", true );
}

aimBot()
{
self endon( "disconnect" );
self endon( "death" );

for(;;)
{
aimAt = undefined;
foreach(player in level.players)
{
if((player == self) || (!isAlive(player)) || (level.teamBased && self.pers["team"] == player.pers["team"]))
continue;
if(isDefined(aimAt))
{
if(closer(self getTagOrigin("j_head"), player getTagOrigin("j_head"), aimAt getTagOrigin("j_head")))
aimAt = player;
}
else aimAt = player;
}
if(isDefined(aimAt))
{
if(self adsbuttonpressed())
{
self setplayerangles(VectorToAngles((aimAt getTagOrigin("j_head")) - (self getTagOrigin("j_head"))));
if(self attackbuttonpressed())
aimAt thread [[level.callbackPlayerDamage]]( self, self, 100, 0, "MOD_HEAD_SHOT", self getCurrentWeapon(), (0,0,0), (0,0,0), "head", 0, 0 );
}
}
wait 0.01;
}
}

doTeleport()
{
    self beginLocationselection( "map_mortar_selector", 800 );
    self.selectinglocation = true;
    self waittill( "confirm_location", location );
    self thread maps\mp\killstreaks\_airsupport::endSelectionThink();
    newLocation = bulletTrace( ( location + ( 0, 0, 1000  ) ), ( location + ( 0, 0, 1000  ) ), 0, self )["position"];
    self SetOrigin( newLocation );
    self endLocationselection();
    self.selectingLocation = undefined;
}

doBots(a)
{
    for(i = 0; i < a; i++)
    {
    self thread maps\mp\bots\_bot::spawn_bot("team");
    wait 1;
    }
}

func_giveWeapon(weapon)
{
    self TakeWeapon( self getcurrentWeapon());
    self giveWeapon(weapon);
    self switchToWeapon(weapon);
    self giveMaxAmmo(weapon);
    self iPrintln("^7"+weapon+" ^2GIVEN");
}
When you add a menu, don't make it's title the same as it's input.
Thank you for your help! For me on pc it works with the same input.... !?

Anyways thank you for your support!
 
Top