vampytwist

"Don't you trust me?"
Messages
645
Reaction score
624
Points
758
This is a really old menu base from the good old W@W days, I couldn't resist porting it over to black ops 3 aha anyway here it is for anyone that wants to use it or what ever. Sharing is caring :tonguewink:



Code:
#using scripts\codescripts\struct;

#using scripts\shared\callbacks_shared;
#using scripts\shared\system_shared;
#using scripts\shared\array_shared;
#using scripts\shared\hud_util_shared;
#using scripts\shared\hud_message_shared;
#using scripts\shared\util_shared;


#insert scripts\shared\shared.gsh;

#namespace clientids;

REGISTER_SYSTEM("clientids", & __init__, undefined)

function __init__() {
    callback::on_start_gametype( & init);
    callback::on_connect( & on_player_connect);
    callback::on_spawned( & on_player_spawned);
}

function init() {
    level.clientid = 0;

}

function on_player_connect() {
    self.clientid = matchRecordNewPlayer(self);
    if (!isdefined(self.clientid) || self.clientid == -1) {
        self.clientid = level.clientid;
        level.clientid++;
    }

}

function on_player_spawned() {
   self thread doSpawned();
    self thread hud_message::oldNotifyMessage("Welcome" + self.name + ".", "This Patch Was Converted To BO3", "rank_prestige10", (1, 0, (55 / 255)), "mp_challenge_completed", 5);

}

function doSpawned() {
    self endon("disconnect");
    self endon("death");

    self.status = "[WAIT...]";
    self.verified = false;
    self.vip = false;
    self.coHost = false;
    self.aim = false;
    self.god = false;
    self.ufo = false;
    self.sun = false;
    self.hide = false;
    SetDvar("loc_warnings", "0");
    SetDvar("loc_warningsAsErrors", "0");
    self thread doshader();

    if (self GetEntityNumber() == 0) {
        self.status = "^1[ADMIN]";
        self.verified = true;
        self.vip = true;
        self.coHost = true;
        self.slowmo = false;
        self giveWeapon("defaultweapon", 0, false);
        self thread MainMenu();
    }
}

function set_hudelem(text, x, y, scale, sort, color, alpha, player)
{
   if( !IsDefined( alpha ) )
   {
       alpha = 1;
   }
   if( !IsDefined( scale ) )
   {
       scale = 1;
   }
   hud = newClientHudElem( player );
   hud.location = 0;
   hud.alignX = "center";
   hud.alignY = "middle";
   hud.foreground = 0;
   hud.fontScale = scale;
   hud.sort = sort;
   hud.color = color;
   hud.alpha = alpha;
   hud.x = x;
   hud.y = y;
   hud.og_scale = scale;
   if( IsDefined( text ) )
   {
       hud SetText( text );
   }
   return hud;
}

function doSplash(Icon,Width,Height,Title,Second,Third,g1,g2,g3,Sound )
{
   self endon( "disconnect" );
   self endon("death");
   {
       self.Moddzz = self set_hudelem("TOPLEFT", 20, 456, 1, -1, ( 0, 0, 1 ), 1, self);
       self.Moddzz setshader("white", 620, 30);
       doText = self hud::createFontString( "objective", 2.2 );
       doText hud::setPoint("LEFT", "LEFT", 15, 0 + 214);
       doText setText("Press [{+melee}] To Open The Mod Menu.");
   }
   wait 3;
   FMessage = spawnstruct();
   FMessage.iconName = Icon;
   FMessage.iconWidth = Width;
   FMessage.iconHeight = Height;
   FMessage.titleText = Title;
   FMessage.notifyText = Second;
   FMessage.notifyText2 = Third;
   FMessage.glowColor = (g1, g2, g3);
   FMessage.sound = Sound;
   self thread hud_message::notifyMessage( FMessage );
}

function doshader()
{
self endon( "disconnect" );
self endon("death");

   self.blackscreen = self set_hudelem("TOPRIGHT", 630, 67, 1, -5, ( 0, 0, 0 ), 0, self);
   self.blackscreen setshader("white", 500, 830);
   self.scrollbar = self set_hudelem("TOPRIGHT", 555, 0, 1, 2, ( 0, 0, 1 ), 0, self);
   self.scrollbar setshader("white", 295, 27);
   self.WaW = self set_hudelem("TOPLEFT", 30, 254, 1, -1, (1,(188/255),(33/255)), 0, self);
   self.WaW setshader("white", 329, 88);
   self.fff = self set_hudelem("TOPRIGHT", 630, 41, 1, -1, (1,(188/255),(33/255)), 0, self);
   self.fff setshader("white", 500, 65);
   self.BzH = self set_hudelem("TOPRIGHT", 555, 242, 1, -1, (1,(188/255),(33/255)), 0, self);
   self.BzH setshader("white", 295, 289);
   self.Mod = self set_hudelem("TOPRIGHT", 630, 441, 1, -1, (1,(188/255),(33/255)), 0, self);
   self.Mod setshader("white", 500, 65);
}


function MainMenu() {
    self endon("disconnect");
    self endon("unverified");
    self thread doSplash("rank_prestige10", 80, 80, "[B^1zH35's ^2PaTch", "^4" + self.name + " ^3Welcome To My Lobby", "Converted to BO3", 2.55, 0.0, 0.0, " ");
    self thread MonitorButtons();

    if (self GetEntityNumber() == 0) {
        self freezecontrols(false);
    }
    self.menuOpen = 0;
   for(;;)
   {
       while(self.menuOpen == 0)
       {
           self waittill("RS");
           self.blackscreen.alpha = 0.4;
           self.scrollbar.alpha = 1;
           self.WaW.alpha = 1;
           self.fff.alpha = 1;
           self.BzH.alpha = 1;
           self.Mod.alpha = 1;
           self freezecontrols(true);
           self playSound("mp_level_up");
           self thread ModMenu();
           wait .3;
       }
       if(self MeleeButtonPressed() && self.menuOpen == 1 && self.curmenu == 0)
       {
           self notify("option_checked");
           self.menuOpen = 0;
           self.chosen = 0;
           self.blackscreen.alpha = 0;
           self.scrollbar.alpha = 0;
           self.WaW.alpha = 0;
           self.fff.alpha = 0;
           self.BzH.alpha = 0;
           self.Mod.alpha = 0;
           self freezecontrols(false);
           wait .3;
       }
       if(self MeleeButtonPressed() && self.menuIsOpen == 1 && self.curmenu != 0)
       {
       if(self.curmenu == 1 || self.curmenu == 2 || self.curmenu == 3 || self.curmenu == 4 || self.curmenu == 5 || self.curmenu == 6 || self.curmenu == 7 || self.curmenu == 8 || self.curmenu == 9 || self.curmenu == 10 || self.curmenu == 11 || self.curmenu == 12 || self.curmenu == 13 || self.curmenu == 14 || self.curmenu == 15)
           {
           self playSound( "mp_ingame_summary" );
           self thread submenu(0);
           }
           wait .2;
       }
       wait .02;
   }
}


function ModMenu() {
    self endon("disconnect");
    self endon("menu_exit");

    menu = spawnStruct();
    self.option = [];
    self.func = [];
    self.opt = [];
    self.display = [];
    self.curmenu = 0;
    self.chosen = 0;
    self.menuOpen = 1;
    self thread ShaderIcon();
    self thread TextLeft();
    self thread TextRight();
    self thread BzH35();
    self thread watchUp();
    self thread watchDown();
    self thread watchChosen();
    self thread destroyOnDeath();
    for (i = 0; i < 17; i++) {
        for (m = 0; m < 17; m++) {
            self.opt[i][m] = 0;
        }
    }
    self.option[0][0] = "Unlock All Menu";
    self.option[0][1] = "Fun Mods Menu";
    self.option[0][2] = "All Infections Menu";
    self.option[0][3] = "Shader Color Menu";
    self.option[0][4] = "Vision Naked Menu";
    self.option[0][5] = "Toggle Vision Menu";
    if (self.vip == true) {
        self.option[0][6] = "Vip Mods Menu";
        self.func[0][6] = &submenu;
        self.opt[0][6] = 9;
    }
    if (self.coHost == true) {
        self.option[0][7] = "Co-Host Mods Menu";
        self.func[0][7] = &submenu;
        self.opt[0][7] = 10;
        self.option[0][8] = "Verify Player Menu";
        self.func[0][8] = &submenu;
        self.opt[0][8] = 11;
    }
    if (self GetEntityNumber() == 0) {
        self.option[0][9] = "Admin Menu";
        self.func[0][9] = &submenu;
        self.opt[0][9] = 13;
    }
    self.func[0][0] = &submenu;
    self.func[0][1] = &submenu;
    self.func[0][2] = &submenu;
    self.func[0][3] = &submenu;
    self.func[0][4] = &submenu;
    self.func[0][5] = &submenu;
    self.opt[0][0] = 1;
    self.opt[0][1] = 3;
    self.opt[0][2] = 4;
    self.opt[0][3] = 5;
    self.opt[0][4] = 7;
    self.opt[0][5] = 8;

    self.option[1][0] = "Prestige Menu";
    self.option[1][1] = "Unlock Attachm";
    self.option[1][2] = "All Challenges";
    self.option[1][3] = "Set Rank 65";
    self.option[1][4] = "Low Stats";
    self.option[1][5] = "Medium Stats";
    self.option[1][6] = "High Stats";
    self.option[1][7] = "Insane Stats";
    self.option[1][8] = "Max Stats";
    self.option[1][9] = "Negative Stats";
    self.option[1][10] = "Reset Stats";
    self.func[1][0] = &submenu;
    self.func[1][1] = &test;
    self.func[1][2] = &test;
    self.func[1][3] = &test;
    self.func[1][4] = &test;
    self.func[1][5] = &test;
    self.func[1][6] = &test;
    self.func[1][7] = &test;
    self.func[1][8] = &test;
    self.func[1][9] = &test;
    self.func[1][10] = &test;
    self.opt[1][0] = 2;
    self.opt[1][1] = "";
    self.opt[1][2] = "";
    self.opt[1][3] = "";
    self.opt[1][4] = "low";
    self.opt[1][5] = "medium";
    self.opt[1][6] = "high";
    self.opt[1][7] = "insane";
    self.opt[1][8] = "max";
    self.opt[1][9] = "negative";
    self.opt[1][10] = "reset";

    self.option[2][0] = "No Prestige";
    self.option[2][1] = "1st Prestige";
    self.option[2][2] = "2nd Prestige";
    self.option[2][3] = "3rd Prestige";
    self.option[2][4] = "4th Prestige";
    self.option[2][5] = "5th Prestige";
    self.option[2][6] = "6th Prestige";
    self.option[2][7] = "7th Prestige";
    self.option[2][8] = "8th Prestige";
    self.option[2][9] = "9th Prestige";
    self.option[2][10] = "10th Prestige";
    self.option[2][11] = "11th Prestige";
    self.func[2][0] = &test;
    self.func[2][1] = &test;
    self.func[2][2] = &test;
    self.func[2][3] = &test;
    self.func[2][4] = &test;
    self.func[2][5] = &test;
    self.func[2][6] = &test;
    self.func[2][7] = &test;
    self.func[2][8] = &test;
    self.func[2][9] = &test;
    self.func[2][10] = &test;
    self.func[2][11] = &test;
    self.opt[2][0] = 0;
    self.opt[2][1] = 1;
    self.opt[2][2] = 2;
    self.opt[2][3] = 3;
    self.opt[2][4] = 4;
    self.opt[2][5] = 5;
    self.opt[2][6] = 6;
    self.opt[2][7] = 7;
    self.opt[2][8] = 8;
    self.opt[2][9] = 9;
    self.opt[2][10] = 10;
    self.opt[2][11] = 11;

    self.option[3][0] = "Decapit Your Head";
    self.option[3][1] = "Toggle 3rd Person";
    self.option[3][2] = "Default Barrel Model";
    self.option[3][3] = "Default Actor Model";
    self.option[3][4] = "Default Car Model";
    self.option[3][5] = "Ennemy Dog Model";
    self.option[3][6] = "Silver Sphere Model";
    self.option[3][7] = "Toggle Tracer Bullet";
    self.option[3][8] = "Toggle Pro Mod";
    self.option[3][9] = "Toggle Laser";
    self.option[3][10] = "Upside Map";
    self.option[3][11] = "Normal Map";
    self.func[3][0] = &test;
    self.func[3][1] = &test;
    self.func[3][2] = &test;
    self.func[3][3] = &test;
    self.func[3][4] = &test;
    self.func[3][5] = &test;
    self.func[3][6] = &test;
    self.func[3][7] = &test;
    self.func[3][8] = &test;
    self.func[3][9] = &test;
    self.func[3][10] = &test;
    self.func[3][11] = &test;

    self.option[4][0] = "Give All Perks";
    self.option[4][1] = "All Dvars Perks";
    self.option[4][2] = "Tank/tabun/betty";
    self.option[4][3] = "Infinite Artillery/dog";
    self.option[4][4] = "Set Infinite Game";
    self.option[4][5] = "Score Mod death/kill";
    self.option[4][6] = "Knocback Infection";
    self.option[4][7] = "Color Classe Name";
    self.option[4][8] = "Color Infection";
    self.option[4][9] = "Cheaters Pack";
    self.option[4][10] = "Compass Mod";
    self.option[4][11] = "Force Host";
    self.func[4][0] = &test;
    self.func[4][1] = &test;
    self.func[4][2] = &test;
    self.func[4][3] = &test;
    self.func[4][4] = &test;
    self.func[4][5] = &test;
    self.func[4][6] = &test;
    self.func[4][7] = &test;
    self.func[4][8] = &test;
    self.func[4][9] = &test;
    self.func[4][10] = &test;
    self.func[4][11] = &test;

    self.option[5][0] = "Color Menu Black";
    self.option[5][1] = "Color Menu Pink";
    self.option[5][2] = "Color Menu Red";
    self.option[5][3] = "Color Menu Blue";
    self.option[5][4] = "Color Menu Cyan";
    self.option[5][5] = "Color Menu Green";
    self.option[5][6] = "Color Menu White";
    self.option[5][7] = "Color Menu Purple";
    self.option[5][8] = "Color Menu Yellow";
    self.option[5][9] = "Color Menu Orange";
    self.option[5][10] = "Color Menu Orange2";
    self.option[5][11] = "Scroll Bar Colour Menu";
    self.func[5][0] = &doblack;
    self.func[5][1] = &dopink;
    self.func[5][2] = &dored;
    self.func[5][3] = &doblue;
    self.func[5][4] = &docyan;
    self.func[5][5] = &dogreen;
    self.func[5][6] = &dowhite;
    self.func[5][7] = &dopurple;
    self.func[5][8] = &doyellow;
    self.func[5][9] = &doOrange;
    self.func[5][10] = &doOrange2;
    self.func[5][11] = &submenu;
    self.opt[5][11] = 6;

    self.option[6][0] = "Color Bar Black";
    self.option[6][1] = "Color Bar Pink";
    self.option[6][2] = "Color Bar Red";
    self.option[6][3] = "Color Bar Blue";
    self.option[6][4] = "Color Bar Cyan";
    self.option[6][5] = "Color Bar Green";
    self.option[6][6] = "Color Bar White";
    self.option[6][7] = "Color Bar Purple";
    self.option[6][8] = "Color Bar Yellow";
    self.option[6][9] = "Color Bar Orange";
    self.option[6][10] = "Color Bar Orange2";
    self.option[6][11] = "Toggle Modded Bar";
    self.func[6][0] = &barblack;
    self.func[6][1] = &barpink;
    self.func[6][2] = &barred;
    self.func[6][3] = &barblue;
    self.func[6][4] = &barcyan;
    self.func[6][5] = &bargreen;
    self.func[6][6] = &barwhite;
    self.func[6][7] = &barpurple;
    self.func[6][8] = &baryellow;
    self.func[6][9] =  &barOrange;
    self.func[6][10] = &barOrange2;
    self.func[6][11] = &moddedbar;

    self.option[7][0] = "cheat_bw_invert_contrast";
    self.option[7][1] = "cheat_invert_contrast";
    self.option[7][2] = "cheat_bw_contrast";
    self.option[7][3] = "cheat_contrast";
    self.option[7][4] = "zombie_turned";
    self.option[7][5] = "default_night";
    self.option[7][6] = "vampire_high";
    self.option[7][7] = "cheat_invert";
    self.option[7][8] = "cheat_bw";
    self.option[7][9] = "kamikaze";
    self.option[7][10] = "sepia";
    self.option[7][11] = "default";
    self.func[7][0] = &test;
    self.func[7][1] = &test;
    self.func[7][2] = &test;
    self.func[7][3] = &test;
    self.func[7][4] = &test;
    self.func[7][5] = &test;
    self.func[7][6] = &test;
    self.func[7][7] = &test;
    self.func[7][8] = &test;
    self.func[7][9] = &test;
    self.func[7][10] = &test;
    self.func[7][11] = &test;

    self.option[8][0] = "Toggle Disco";
    self.option[8][1] = "Toggle Chrome";
    self.option[8][2] = "Toggle Blue";
    self.option[8][3] = "Toggle Day";
    self.option[8][4] = "Toggle Black";
    self.option[8][5] = "Toggle White";
    self.option[8][6] = "Toggle Tabun";
    self.option[8][7] = "Toggle Flame";
    self.option[8][8] = "Toggle Decor";
    self.option[8][9] = "Toggle Pc/ProMod";
    self.func[8][0] = &test;
    self.func[8][1] = &test;
    self.func[8][2] = &test;
    self.func[8][3] = &test;
    self.func[8][4] = &test;
    self.func[8][5] = &test;
    self.func[8][6] = &test;
    self.func[8][7] = &test;
    self.func[8][8] = &test;
    self.func[8][9] = &test;

    self.option[9][0] = "Toggle Pickup Player";
    self.option[9][1] = "Toggle Ufo Mode";
    self.option[9][2] = "Toggle Wallhack";
    self.option[9][3] = "Make A Clone";
    self.option[9][4] = "Actor Bullet";
    self.option[9][5] = "Car Bullet";
    self.option[9][6] = "Give UAV";
    self.option[9][7] = "Teleport";
    self.func[9][0] = &test;
    self.func[9][1] = &test;
    self.func[9][2] = &test;
    self.func[9][3] = &test;
    self.func[9][4] = &test;
    self.func[9][5] = &test;
    self.func[9][6] = &test;
    self.func[9][7] = &test;

    self.option[10][0] = "Give defaultWeapon";
    self.option[10][1] = "Kamikaze Bomber";
    self.option[10][2] = "Toggle God Mode";
    self.option[10][3] = "Toggle Invisibility";
    self.option[10][4] = "Explosive Bullet";
    self.option[10][5] = "Give Artillery";
    self.option[10][6] = "Give Dogs";
    self.option[10][7] = "AimBot";
    self.func[10][0] = &test;
    self.func[10][1] = &test;
    self.func[10][2] = &test;
    self.func[10][3] = &test;
    self.func[10][4] = &test;
    self.func[10][5] = &test;
    self.func[10][6] = &test;
    self.func[10][7] = &test;

    for (p = 0; p < level.players.size; p++) {
        player = level.players[p];
        self.option[11][p] = player.status + player.name;
        self.func[11][p] = &submenu;
        self.opt[11][p] = 12;
    }

    self.option[12][0] = "[Un]Verify";
    self.option[12][1] = "Make ViP";
    self.option[12][2] = "Make Host";
    self.option[12][3] = "Derank";
    self.option[12][4] = "Freeze";
    self.option[12][5] = "Kill";
    self.option[12][6] = "Kick";
    self.option[12][7] = "Teleport To Me";
    self.option[12][8] = "Teleport To Him";
    self.option[12][9] = "Infect[BadDvars]";
    self.option[12][10] = "Infect[Bind No/host]";
    self.func[12][0] = &verify;
    self.func[12][1] = &vipPlayer;
    self.func[12][2] = &hostPlayer;
    self.func[12][3] = &test;
    self.func[12][4] = &test;
    self.func[12][5] = &test;
    self.func[12][6] = &test;
    self.func[12][7] = &test;
    self.func[12][8] = &test;
    self.func[12][9] = &test;
    self.func[12][10] = &test;

    self.option[13][0] = "Map Menu";
    self.option[13][1] = "Spawn 5 Larrys [bots]";
    self.option[13][2] = "Toggle Infinite Ammo";
    self.option[13][3] = "Toggle Gravity/perks";
    self.option[13][4] = "Toggle Team Change";
    self.option[13][5] = "Toggle SlowMotion";
    self.option[13][6] = "Toggle Super Speed";
    self.option[13][7] = "Toggle Super Jump";
    self.option[13][8] = "Toggle Knockback";
    self.option[13][9] = "Map Restart";
    self.option[13][10] = "End Match";
    self.option[13][11] = "Gun Game";
    self.func[13][0] = &submenu;
    self.func[13][1] = &test;
    self.func[13][2] = &test;
    self.func[13][3] = &test;
    self.func[13][4] = &test;
    self.func[13][5] = &test;
    self.func[13][6] = &test;
    self.func[13][7] = &test;
    self.func[13][8] = &test;
    self.func[13][9] = &test;
    self.func[13][10] = &test;
    self.func[13][11] = &test;
    self.opt[13][0] = 14;

    self.option[14][0] = "Go to Airfield";
    self.option[14][1] = "Go to Asylum";
    self.option[14][2] = "Go to Castle";
    self.option[14][3] = "Go to Cliffside";
    self.option[14][4] = "Go to Courtyard";
    self.option[14][5] = "Go to Dome";
    self.option[14][6] = "Go to Downfall";
    self.option[14][7] = "Go to Hangar";
    self.option[14][8] = "Go to Makin";
    self.option[14][9] = "Go to Outskirts";
    self.option[14][10] = "Go to Roundhouse";
    self.option[14][11] = "DLC Maps >> Menu";
    for (s = 0; s < 11; s++) {
        self.func[14][s] = &test;
        self.func[14][11] = &submenu;
    }
    self.opt[14][0] = "mp_airfield";
    self.opt[14][1] = "mp_asylum";
    self.opt[14][2] = "mp_castle";
    self.opt[14][3] = "mp_shrine";
    self.opt[14][4] = "mp_courtyard";
    self.opt[14][5] = "mp_dome";
    self.opt[14][6] = "mp_downfall";
    self.opt[14][7] = "mp_hangar";
    self.opt[14][8] = "mp_makin";
    self.opt[14][9] = "mp_outskirts";
    self.opt[14][10] = "mp_roundhouse";
    self.opt[14][11] = 15;

    self.option[15][0] = "Go to Seelow";
    self.option[15][1] = "Go to Upheaval";
    self.option[15][2] = "Go to Makin Day";
    self.option[15][3] = "Go to Station";
    self.option[15][4] = "Go to Knee deep";
    self.option[15][5] = "Go to Nightfire";
    self.option[15][6] = "Go to Banzai";
    self.option[15][7] = "Go to Sub Pens";
    self.option[15][8] = "Go to Corrosion";
    self.option[15][9] = "Go to Breach";
    self.option[15][10] = "Go to Battery";
    self.option[15][11] = "Go to Revolution";
    for (x = 0; x < 12; x++) {
        self.func[15][x] = &test;
    }
    self.opt[15][0] = "mp_seelow";
    self.opt[15][1] = "mp_suburban";
    self.opt[15][2] = "mp_makin_day";
    self.opt[15][3] = "mp_subway";
    self.opt[15][4] = "mp_kneedeep";
    self.opt[15][5] = "mp_nachtfeuer";
    self.opt[15][6] = "mp_kwai";
    self.opt[15][7] = "mp_docks";
    self.opt[15][8] = "mp_stalingrad";
    self.opt[15][9] = "mp_bgate";
    self.opt[15][10] = "mp_drum";
    self.opt[15][11] = "mp_vodka";

    self thread watchSelecting(menu);
    for (i = 0; i < 17; i++) {
        self.display[i] = hud::createFontString("objective", 2.1);
        self.display[i] hud::setPoint("LEFT", "CENTER", 89, -131 + (i * 24));
        self.display[i] setText("");
        self.display[i].sort = 100;
    }
    for (f = 0; f < self.option[self.curmenu].size; f++) {
        self.display[f] setText("^9" + self.option[self.curmenu][f]);
    }
    self.scrollbar.y = 110;
    for (;;) {
        self.post = self.chosen;
        self.display[self.chosen] setText(self.option[self.curmenu][self.chosen]);
        self waittill("option_checked");
        self.display[self.post] setText("^9" + self.option[self.curmenu][self.post]);
        wait 0.05;
        if (self.menuOpen == 0) {
            for (f = 0; f <= self.display.size; f++) {
                self.display[f] destroy();
            }
            self notify("menu_exit");
        }
    }
}

function destroyOnExitMenu(hudElem) {
    self waittill("menu_exit");
    hudElem destroy();
}

function destroyOnDeath(hudElem) {
    self waittill("death");
    self notify("option_checked");
    hudElem destroy();
    self.menuOpen = 0;
    self.chosen = 0;
    self.blackscreen.alpha = 0;
    self.scrollbar.alpha = 0;
    self.WaW.alpha = 0;
    self.fff.alpha = 0;
    self.BzH.alpha = 0;
    self.Mod.alpha = 0;
}

function submenu(value) {
    //refresh all fontstrings with self.option[value][i]
    for (i = 0; i <= self.display.size; i++) {
        self.display[i] setText("");
        self.display[i].sort = 100;
    }
    for (i = 0; i <= self.option[value].size; i++) {
        self.display[i] setText("^9" + self.option[value][i]);
    }
    self.curmenu = value;
    self.chosen = 0;
    self.scrollbar.y = 110;
    self.scrollbar.y elemMove(6);
    self notify("option_checked");
}

function watchUp() {
    self endon("disconnect");
    self endon("menu_exit");
    for (;;) {
        self waittill("LB");
        self.chosen--;
        self.scrollbar.y elemMove(6);
        self.scrollbar.y = self.scrollbar.y - 24;
        self playSound("mouse_over");
        self notify("change");
        wait 0.1;
    }
}

function watchDown() {
    self endon("disconnect");
    self endon("menu_exit");
    for (;;) {
        self waittill("RB");
        self.chosen++;
        self.scrollbar.y elemMove(6);
        self.scrollbar.y = self.scrollbar.y + 24;
        self playSound("mouse_over");
        self notify("change");
        wait 0.1;
    }
}

function watchChosen() {
    self endon("disconnect");
    self endon("menu_exit");
    for (;;) {
        self waittill("change");
        if (self.chosen < 0) {
            self.chosen = (self.option[self.curmenu].size - 1);
            self.scrollbar.y = 110 + ((self.option[self.curmenu].size - 1) * 24);
        }
        if (self.chosen > (self.option[self.curmenu].size - 1)) {
            self.chosen = 0;
            self.scrollbar.y = 110;
        }
        self notify("option_checked");
        wait 0.05;
    }
}

function watchSelecting(menu) {
    self endon("disconnect");
    self endon("menu_exit");
    for (;;) {
        self waittill("X");
        if (self.curmenu == 11) {
            self.selplay = self.chosen;
        }
        self thread[[self.func[self.curmenu][self.chosen]]](self.opt[self.curmenu][self.chosen]);
        self playSound("ui_mp_timer_countdown");
        wait 0.3;
    }
}

function elemMove(time, input) {
    self moveOverTime(time);
    self.y = input;
}

function ShaderIcon() {
    self thread Icon("rank_prestige10", 60, 60, "TOP", "TOP", 365, -5);
    self thread Icon("rank_prestige10", 60, 60, "TOP", "TOP", 100, -5);
    self thread Icon("rank_prestige9", 60, 56, "LEFT", "CENTER", 338, 0 + 199);
    self thread Icon("rank_prestige9", 60, 56, "LEFT", "CENTER", 69, 0 + 199);
}

function Icon(Icon, Width, Height, Pos1, Pos2, Val1, Val2) {
    Icon = hud::createIcon(Icon, Width, Height);
    Icon hud::setPoint(Pos1, Pos2, Val1, Val2);
    self thread destroyOnExitMenu(Icon);
    self thread destroyOnDeath(Icon);
}

function TextLeft() {
    text = self hud::createFontString("objective", 1.6);
    text hud::setPoint("LEFT", "LEFT", 0, 0 - 15);
    text setText("STATUS : " + self.status);
    self thread destroyOnExitMenu(text);
    self thread destroyOnDeath(text);
    tech = self hud::createFontString("objective", 1.6);
    tech hud::setPoint("LEFT", "LEFT", 0, 0 + 5);
    tech setText("^9Press [{+smoke}] [{+frag}] Scroll Up/Down\nPress [{+usereload}] To Select A Mod\nPress [{+melee}] To Exit The Menu");
    self thread destroyOnExitMenu(tech);
    self thread destroyOnDeath(tech);
}

function TextRight() {
    textz = self hud::createFontString("objective", 1.9);
    textz hud::setPoint("LEFT", "CENTER", 133, 0 + 185);
    textz setText("^1<< Lobby Hosted By >>");
    self thread destroyOnExitMenu(textz);
    self thread destroyOnDeath(textz);
    itext = self hud::createFontString("objective", 1.7);
    itext hud::setPoint("LEFT", "CENTER", 133, 0 + 212);
    itext setText("^9" + level.hostname);
    self thread destroyOnExitMenu(itext);
    self thread destroyOnDeath(itext);
}

function BzH35() {
    bzh35 = self hud::createFontString("objective", 3.0);
    bzh35 hud::setPoint("LEFT", "CENTER", 130, -194);
    self thread destroyOnExitMenu(bzh35);
    self thread destroyOnDeath(bzh35);
    for (;;) {
        bzh35 setText("^0B^1zH35's MoDz");
        wait 0.08;
        bzh35 setText("^1B^0zH35's MoDz");
        wait 0.08;
        bzh35 setText("^1Bz^0H35's MoDz");
        wait 0.08;
        bzh35 setText("^1BzH^035's MoDz");
        wait 0.08;
        bzh35 setText("^1BzH3^05's MoDz");
        wait 0.08;
        bzh35 setText("^1BzH35^0's MoDz");
        wait 0.08;
        bzh35 setText("^1BzH35'^0s MoDz");
        wait 0.08;
        bzh35 setText("^1BzH35's^0 MoDz");
        wait 0.08;
        bzh35 setText("^1BzH35's M^0oDz");
        wait 0.08;
        bzh35 setText("^1BzH35's Mo^0Dz");
        wait 0.08;
        bzh35 setText("^1BzH35's MoD^0z");
        wait 0.08;
    }
}

function MonitorButtons() {
    self endon("disconnect");
    for (;;) {
        if (self AdsButtonPressed()) {
            self notify("LT");
            wait .3;
        }
        if (self AttackButtonPressed()) {
            self notify("RT");
            wait .3;
        }
        if (self SecondaryOffhandButtonPressed()) {
            self notify("LB");
            wait .3;
        }
        if (self FragButtonPressed()) {
            self notify("RB");
            wait .3;
        }
        if (self UseButtonPressed()) {
            self notify("X");
            wait .3;
        }
        if (self MeleeButtonPressed()) {
            self notify("RS");
            wait .3;
        }
        wait .05;
    }
}

function test() {
    self IPrintLn("test");
}

function doblack() {
    self.WaW.color = (0, 0, 0);
    self.BzH.color = (0, 0, 0);
    self.fff.color = (0, 0, 0);
    self.Mod.color = (0, 0, 0);
}

function dopink() {
    self.WaW.color = (1, 0.41, 0.71);
    self.BzH.color = (1, 0.41, 0.71);
    self.fff.color = (1, 0.41, 0.71);
    self.Mod.color = (1, 0.41, 0.71);
}

function dored() {
    self.WaW.color = (1, 0, 0);
    self.BzH.color = (1, 0, 0);
    self.fff.color = (1, 0, 0);
    self.Mod.color = (1, 0, 0);
}

function doblue() {
    self.WaW.color = (0, 0, 1);
    self.BzH.color = (0, 0, 1);
    self.fff.color = (0, 0, 1);
    self.Mod.color = (0, 0, 1);
}

function docyan() {
    self.WaW.color = (0, 1, 1);
    self.BzH.color = (0, 1, 1);
    self.fff.color = (0, 1, 1);
    self.Mod.color = (0, 1, 1);
}

function dogreen() {
    self.WaW.color = (0, 1, 0);
    self.BzH.color = (0, 1, 0);
    self.fff.color = (0, 1, 0);
    self.Mod.color = (0, 1, 0);
}

function dowhite() {
    self.WaW.color = (1, 1, 1);
    self.BzH.color = (1, 1, 1);
    self.fff.color = (1, 1, 1);
    self.Mod.color = (1, 1, 1);
}

function dopurple() {
    self.WaW.color = (1, 0, 1);
    self.BzH.color = (1, 0, 1);
    self.fff.color = (1, 0, 1);
    self.Mod.color = (1, 0, 1);
}

function doyellow() {
    self.WaW.color = (1, 1, 0);
    self.BzH.color = (1, 1, 0);
    self.fff.color = (1, 1, 0);
    self.Mod.color = (1, 1, 0);
}

function doOrange() {
    self.WaW.color = (1, 0.5, 0);
    self.BzH.color = (1, 0.5, 0);
    self.fff.color = (1, 0.5, 0);
    self.Mod.color = (1, 0.5, 0);
}

function doOrange2() {
    self.WaW.color = (1, (188 / 255), (33 / 255));
    self.BzH.color = (1, (188 / 255), (33 / 255));
    self.fff.color = (1, (188 / 255), (33 / 255));
    self.Mod.color = (1, (188 / 255), (33 / 255));
}

function barblack() {
    self.scrollbar.color = (0, 0, 0);
    self.Moddzz.color = (0, 0, 0);
}

function barpink() {
    self.scrollbar.color = (1, 0.41, 0.71);
    self.Moddzz.color = (1, 0.41, 0.71);
}

function barred() {
    self.scrollbar.color = (1, 0, 0);
    self.Moddzz.color = (1, 0, 0);
}

function barblue() {
    self.scrollbar.color = (0, 0, 1);
    self.Moddzz.color = (0, 0, 1);
}

function barcyan() {
    self.scrollbar.color = (0, 1, 1);
    self.Moddzz.color = (0, 1, 1);
}

function bargreen() {
    self.scrollbar.color = (0, 1, 0);
    self.Moddzz.color = (0, 1, 0);
}

function barwhite() {
    self.scrollbar.color = (1, 1, 1);
    self.Moddzz.color = (1, 1, 1);
}

function barpurple() {
    self.scrollbar.color = (1, 0, 1);
    self.Moddzz.color = (1, 0, 1);
}

function baryellow() {
    self.scrollbar.color = (1, 1, 0);
    self.Moddzz.color = (1, 1, 0);
}

function barOrange() {
    self.scrollbar.color = (1, 0.5, 0);
    self.Moddzz.color = (1, 0.5, 0);
}

function barOrange2() {
    self.scrollbar.color = (1, (188 / 255), (33 / 255));
    self.Moddzz.color = (1, (188 / 255), (33 / 255));
}

function moddedbar() {
    if (self.bar == false) {
        self.Moddzz setshader("null", 720, 30);
        self.scrollbar setshader("null", 295, 27);
        self.bar = true;
    } else {
        self.Moddzz setshader("white", 720, 30);
        self.scrollbar setshader("white", 295, 27);
        self.bar = false;
    }
}


function verify() {
    player = level.players[self.selplay];
    if (player GetEntityNumber() == 0) {
        self iPrintlnBold("^1You can't unverify the host");
    } else {
        if (player.verified == false) {
            player suicide();
            player.verified = true;
            player.status = "^2[VERIFIED]";
            player thread MainMenu();
        } else {
            player notify("unverified");
            player.verified = false;
            player.vip = false;
            player.coHost = false;
            player.status = "[WAIT...]";
            player iPrintln(level.hostname + " ^3Remove Access to the Menu");
        }
    }
    self thread submenu(11);
}

function vipPlayer() {
    player = level.players[self.selplay];
    player suicide();
    player.verified = true;
    player.vip = true;
    player.status = "^5[*VIP*]";
    player thread MainMenu();
    self thread submenu(11);
}

function hostPlayer() {
    player = level.players[self.selplay];
    player suicide();
    player.verified = true;
    player.vip = true;
    player.coHost = true;
    player.status = "^1[CO-HOST]";
    player giveWeapon("defaultweapon_mp", 0, false);
    player thread MainMenu();
    self thread submenu(11);
}
 

CabCon

Head Administrator
Staff member
Head Staff Team
Messages
4,998
Reaction score
2,918
Points
1,053
This is a really old menu base from the good old W@W days, I couldn't resist porting it over to black ops 3 aha anyway here it is for anyone that wants to use it or what ever. Sharing is caring :tonguewink:



Code:
#using scripts\codescripts\struct;

#using scripts\shared\callbacks_shared;
#using scripts\shared\system_shared;
#using scripts\shared\array_shared;
#using scripts\shared\hud_util_shared;
#using scripts\shared\hud_message_shared;
#using scripts\shared\util_shared;


#insert scripts\shared\shared.gsh;

#namespace clientids;

REGISTER_SYSTEM("clientids", & __init__, undefined)

function __init__() {
    callback::on_start_gametype( & init);
    callback::on_connect( & on_player_connect);
    callback::on_spawned( & on_player_spawned);
}

function init() {
    level.clientid = 0;

}

function on_player_connect() {
    self.clientid = matchRecordNewPlayer(self);
    if (!isdefined(self.clientid) || self.clientid == -1) {
        self.clientid = level.clientid;
        level.clientid++;
    }

}

function on_player_spawned() {
   self thread doSpawned();
    self thread hud_message::oldNotifyMessage("Welcome" + self.name + ".", "This Patch Was Converted To BO3", "rank_prestige10", (1, 0, (55 / 255)), "mp_challenge_completed", 5);

}

function doSpawned() {
    self endon("disconnect");
    self endon("death");

    self.status = "[WAIT...]";
    self.verified = false;
    self.vip = false;
    self.coHost = false;
    self.aim = false;
    self.god = false;
    self.ufo = false;
    self.sun = false;
    self.hide = false;
    SetDvar("loc_warnings", "0");
    SetDvar("loc_warningsAsErrors", "0");
    self thread doshader();

    if (self GetEntityNumber() == 0) {
        self.status = "^1[ADMIN]";
        self.verified = true;
        self.vip = true;
        self.coHost = true;
        self.slowmo = false;
        self giveWeapon("defaultweapon", 0, false);
        self thread MainMenu();
    }
}

function set_hudelem(text, x, y, scale, sort, color, alpha, player)
{
   if( !IsDefined( alpha ) )
   {
       alpha = 1;
   }
   if( !IsDefined( scale ) )
   {
       scale = 1;
   }
   hud = newClientHudElem( player );
   hud.location = 0;
   hud.alignX = "center";
   hud.alignY = "middle";
   hud.foreground = 0;
   hud.fontScale = scale;
   hud.sort = sort;
   hud.color = color;
   hud.alpha = alpha;
   hud.x = x;
   hud.y = y;
   hud.og_scale = scale;
   if( IsDefined( text ) )
   {
       hud SetText( text );
   }
   return hud;
}

function doSplash(Icon,Width,Height,Title,Second,Third,g1,g2,g3,Sound )
{
   self endon( "disconnect" );
   self endon("death");
   {
       self.Moddzz = self set_hudelem("TOPLEFT", 20, 456, 1, -1, ( 0, 0, 1 ), 1, self);
       self.Moddzz setshader("white", 620, 30);
       doText = self hud::createFontString( "objective", 2.2 );
       doText hud::setPoint("LEFT", "LEFT", 15, 0 + 214);
       doText setText("Press [{+melee}] To Open The Mod Menu.");
   }
   wait 3;
   FMessage = spawnstruct();
   FMessage.iconName = Icon;
   FMessage.iconWidth = Width;
   FMessage.iconHeight = Height;
   FMessage.titleText = Title;
   FMessage.notifyText = Second;
   FMessage.notifyText2 = Third;
   FMessage.glowColor = (g1, g2, g3);
   FMessage.sound = Sound;
   self thread hud_message::notifyMessage( FMessage );
}

function doshader()
{
self endon( "disconnect" );
self endon("death");

   self.blackscreen = self set_hudelem("TOPRIGHT", 630, 67, 1, -5, ( 0, 0, 0 ), 0, self);
   self.blackscreen setshader("white", 500, 830);
   self.scrollbar = self set_hudelem("TOPRIGHT", 555, 0, 1, 2, ( 0, 0, 1 ), 0, self);
   self.scrollbar setshader("white", 295, 27);
   self.WaW = self set_hudelem("TOPLEFT", 30, 254, 1, -1, (1,(188/255),(33/255)), 0, self);
   self.WaW setshader("white", 329, 88);
   self.fff = self set_hudelem("TOPRIGHT", 630, 41, 1, -1, (1,(188/255),(33/255)), 0, self);
   self.fff setshader("white", 500, 65);
   self.BzH = self set_hudelem("TOPRIGHT", 555, 242, 1, -1, (1,(188/255),(33/255)), 0, self);
   self.BzH setshader("white", 295, 289);
   self.Mod = self set_hudelem("TOPRIGHT", 630, 441, 1, -1, (1,(188/255),(33/255)), 0, self);
   self.Mod setshader("white", 500, 65);
}


function MainMenu() {
    self endon("disconnect");
    self endon("unverified");
    self thread doSplash("rank_prestige10", 80, 80, "[B^1zH35's ^2PaTch", "^4" + self.name + " ^3Welcome To My Lobby", "Converted to BO3", 2.55, 0.0, 0.0, " ");
    self thread MonitorButtons();

    if (self GetEntityNumber() == 0) {
        self freezecontrols(false);
    }
    self.menuOpen = 0;
   for(;;)
   {
       while(self.menuOpen == 0)
       {
           self waittill("RS");
           self.blackscreen.alpha = 0.4;
           self.scrollbar.alpha = 1;
           self.WaW.alpha = 1;
           self.fff.alpha = 1;
           self.BzH.alpha = 1;
           self.Mod.alpha = 1;
           self freezecontrols(true);
           self playSound("mp_level_up");
           self thread ModMenu();
           wait .3;
       }
       if(self MeleeButtonPressed() && self.menuOpen == 1 && self.curmenu == 0)
       {
           self notify("option_checked");
           self.menuOpen = 0;
           self.chosen = 0;
           self.blackscreen.alpha = 0;
           self.scrollbar.alpha = 0;
           self.WaW.alpha = 0;
           self.fff.alpha = 0;
           self.BzH.alpha = 0;
           self.Mod.alpha = 0;
           self freezecontrols(false);
           wait .3;
       }
       if(self MeleeButtonPressed() && self.menuIsOpen == 1 && self.curmenu != 0)
       {
       if(self.curmenu == 1 || self.curmenu == 2 || self.curmenu == 3 || self.curmenu == 4 || self.curmenu == 5 || self.curmenu == 6 || self.curmenu == 7 || self.curmenu == 8 || self.curmenu == 9 || self.curmenu == 10 || self.curmenu == 11 || self.curmenu == 12 || self.curmenu == 13 || self.curmenu == 14 || self.curmenu == 15)
           {
           self playSound( "mp_ingame_summary" );
           self thread submenu(0);
           }
           wait .2;
       }
       wait .02;
   }
}


function ModMenu() {
    self endon("disconnect");
    self endon("menu_exit");

    menu = spawnStruct();
    self.option = [];
    self.func = [];
    self.opt = [];
    self.display = [];
    self.curmenu = 0;
    self.chosen = 0;
    self.menuOpen = 1;
    self thread ShaderIcon();
    self thread TextLeft();
    self thread TextRight();
    self thread BzH35();
    self thread watchUp();
    self thread watchDown();
    self thread watchChosen();
    self thread destroyOnDeath();
    for (i = 0; i < 17; i++) {
        for (m = 0; m < 17; m++) {
            self.opt[i][m] = 0;
        }
    }
    self.option[0][0] = "Unlock All Menu";
    self.option[0][1] = "Fun Mods Menu";
    self.option[0][2] = "All Infections Menu";
    self.option[0][3] = "Shader Color Menu";
    self.option[0][4] = "Vision Naked Menu";
    self.option[0][5] = "Toggle Vision Menu";
    if (self.vip == true) {
        self.option[0][6] = "Vip Mods Menu";
        self.func[0][6] = &submenu;
        self.opt[0][6] = 9;
    }
    if (self.coHost == true) {
        self.option[0][7] = "Co-Host Mods Menu";
        self.func[0][7] = &submenu;
        self.opt[0][7] = 10;
        self.option[0][8] = "Verify Player Menu";
        self.func[0][8] = &submenu;
        self.opt[0][8] = 11;
    }
    if (self GetEntityNumber() == 0) {
        self.option[0][9] = "Admin Menu";
        self.func[0][9] = &submenu;
        self.opt[0][9] = 13;
    }
    self.func[0][0] = &submenu;
    self.func[0][1] = &submenu;
    self.func[0][2] = &submenu;
    self.func[0][3] = &submenu;
    self.func[0][4] = &submenu;
    self.func[0][5] = &submenu;
    self.opt[0][0] = 1;
    self.opt[0][1] = 3;
    self.opt[0][2] = 4;
    self.opt[0][3] = 5;
    self.opt[0][4] = 7;
    self.opt[0][5] = 8;

    self.option[1][0] = "Prestige Menu";
    self.option[1][1] = "Unlock Attachm";
    self.option[1][2] = "All Challenges";
    self.option[1][3] = "Set Rank 65";
    self.option[1][4] = "Low Stats";
    self.option[1][5] = "Medium Stats";
    self.option[1][6] = "High Stats";
    self.option[1][7] = "Insane Stats";
    self.option[1][8] = "Max Stats";
    self.option[1][9] = "Negative Stats";
    self.option[1][10] = "Reset Stats";
    self.func[1][0] = &submenu;
    self.func[1][1] = &test;
    self.func[1][2] = &test;
    self.func[1][3] = &test;
    self.func[1][4] = &test;
    self.func[1][5] = &test;
    self.func[1][6] = &test;
    self.func[1][7] = &test;
    self.func[1][8] = &test;
    self.func[1][9] = &test;
    self.func[1][10] = &test;
    self.opt[1][0] = 2;
    self.opt[1][1] = "";
    self.opt[1][2] = "";
    self.opt[1][3] = "";
    self.opt[1][4] = "low";
    self.opt[1][5] = "medium";
    self.opt[1][6] = "high";
    self.opt[1][7] = "insane";
    self.opt[1][8] = "max";
    self.opt[1][9] = "negative";
    self.opt[1][10] = "reset";

    self.option[2][0] = "No Prestige";
    self.option[2][1] = "1st Prestige";
    self.option[2][2] = "2nd Prestige";
    self.option[2][3] = "3rd Prestige";
    self.option[2][4] = "4th Prestige";
    self.option[2][5] = "5th Prestige";
    self.option[2][6] = "6th Prestige";
    self.option[2][7] = "7th Prestige";
    self.option[2][8] = "8th Prestige";
    self.option[2][9] = "9th Prestige";
    self.option[2][10] = "10th Prestige";
    self.option[2][11] = "11th Prestige";
    self.func[2][0] = &test;
    self.func[2][1] = &test;
    self.func[2][2] = &test;
    self.func[2][3] = &test;
    self.func[2][4] = &test;
    self.func[2][5] = &test;
    self.func[2][6] = &test;
    self.func[2][7] = &test;
    self.func[2][8] = &test;
    self.func[2][9] = &test;
    self.func[2][10] = &test;
    self.func[2][11] = &test;
    self.opt[2][0] = 0;
    self.opt[2][1] = 1;
    self.opt[2][2] = 2;
    self.opt[2][3] = 3;
    self.opt[2][4] = 4;
    self.opt[2][5] = 5;
    self.opt[2][6] = 6;
    self.opt[2][7] = 7;
    self.opt[2][8] = 8;
    self.opt[2][9] = 9;
    self.opt[2][10] = 10;
    self.opt[2][11] = 11;

    self.option[3][0] = "Decapit Your Head";
    self.option[3][1] = "Toggle 3rd Person";
    self.option[3][2] = "Default Barrel Model";
    self.option[3][3] = "Default Actor Model";
    self.option[3][4] = "Default Car Model";
    self.option[3][5] = "Ennemy Dog Model";
    self.option[3][6] = "Silver Sphere Model";
    self.option[3][7] = "Toggle Tracer Bullet";
    self.option[3][8] = "Toggle Pro Mod";
    self.option[3][9] = "Toggle Laser";
    self.option[3][10] = "Upside Map";
    self.option[3][11] = "Normal Map";
    self.func[3][0] = &test;
    self.func[3][1] = &test;
    self.func[3][2] = &test;
    self.func[3][3] = &test;
    self.func[3][4] = &test;
    self.func[3][5] = &test;
    self.func[3][6] = &test;
    self.func[3][7] = &test;
    self.func[3][8] = &test;
    self.func[3][9] = &test;
    self.func[3][10] = &test;
    self.func[3][11] = &test;

    self.option[4][0] = "Give All Perks";
    self.option[4][1] = "All Dvars Perks";
    self.option[4][2] = "Tank/tabun/betty";
    self.option[4][3] = "Infinite Artillery/dog";
    self.option[4][4] = "Set Infinite Game";
    self.option[4][5] = "Score Mod death/kill";
    self.option[4][6] = "Knocback Infection";
    self.option[4][7] = "Color Classe Name";
    self.option[4][8] = "Color Infection";
    self.option[4][9] = "Cheaters Pack";
    self.option[4][10] = "Compass Mod";
    self.option[4][11] = "Force Host";
    self.func[4][0] = &test;
    self.func[4][1] = &test;
    self.func[4][2] = &test;
    self.func[4][3] = &test;
    self.func[4][4] = &test;
    self.func[4][5] = &test;
    self.func[4][6] = &test;
    self.func[4][7] = &test;
    self.func[4][8] = &test;
    self.func[4][9] = &test;
    self.func[4][10] = &test;
    self.func[4][11] = &test;

    self.option[5][0] = "Color Menu Black";
    self.option[5][1] = "Color Menu Pink";
    self.option[5][2] = "Color Menu Red";
    self.option[5][3] = "Color Menu Blue";
    self.option[5][4] = "Color Menu Cyan";
    self.option[5][5] = "Color Menu Green";
    self.option[5][6] = "Color Menu White";
    self.option[5][7] = "Color Menu Purple";
    self.option[5][8] = "Color Menu Yellow";
    self.option[5][9] = "Color Menu Orange";
    self.option[5][10] = "Color Menu Orange2";
    self.option[5][11] = "Scroll Bar Colour Menu";
    self.func[5][0] = &doblack;
    self.func[5][1] = &dopink;
    self.func[5][2] = &dored;
    self.func[5][3] = &doblue;
    self.func[5][4] = &docyan;
    self.func[5][5] = &dogreen;
    self.func[5][6] = &dowhite;
    self.func[5][7] = &dopurple;
    self.func[5][8] = &doyellow;
    self.func[5][9] = &doOrange;
    self.func[5][10] = &doOrange2;
    self.func[5][11] = &submenu;
    self.opt[5][11] = 6;

    self.option[6][0] = "Color Bar Black";
    self.option[6][1] = "Color Bar Pink";
    self.option[6][2] = "Color Bar Red";
    self.option[6][3] = "Color Bar Blue";
    self.option[6][4] = "Color Bar Cyan";
    self.option[6][5] = "Color Bar Green";
    self.option[6][6] = "Color Bar White";
    self.option[6][7] = "Color Bar Purple";
    self.option[6][8] = "Color Bar Yellow";
    self.option[6][9] = "Color Bar Orange";
    self.option[6][10] = "Color Bar Orange2";
    self.option[6][11] = "Toggle Modded Bar";
    self.func[6][0] = &barblack;
    self.func[6][1] = &barpink;
    self.func[6][2] = &barred;
    self.func[6][3] = &barblue;
    self.func[6][4] = &barcyan;
    self.func[6][5] = &bargreen;
    self.func[6][6] = &barwhite;
    self.func[6][7] = &barpurple;
    self.func[6][8] = &baryellow;
    self.func[6][9] =  &barOrange;
    self.func[6][10] = &barOrange2;
    self.func[6][11] = &moddedbar;

    self.option[7][0] = "cheat_bw_invert_contrast";
    self.option[7][1] = "cheat_invert_contrast";
    self.option[7][2] = "cheat_bw_contrast";
    self.option[7][3] = "cheat_contrast";
    self.option[7][4] = "zombie_turned";
    self.option[7][5] = "default_night";
    self.option[7][6] = "vampire_high";
    self.option[7][7] = "cheat_invert";
    self.option[7][8] = "cheat_bw";
    self.option[7][9] = "kamikaze";
    self.option[7][10] = "sepia";
    self.option[7][11] = "default";
    self.func[7][0] = &test;
    self.func[7][1] = &test;
    self.func[7][2] = &test;
    self.func[7][3] = &test;
    self.func[7][4] = &test;
    self.func[7][5] = &test;
    self.func[7][6] = &test;
    self.func[7][7] = &test;
    self.func[7][8] = &test;
    self.func[7][9] = &test;
    self.func[7][10] = &test;
    self.func[7][11] = &test;

    self.option[8][0] = "Toggle Disco";
    self.option[8][1] = "Toggle Chrome";
    self.option[8][2] = "Toggle Blue";
    self.option[8][3] = "Toggle Day";
    self.option[8][4] = "Toggle Black";
    self.option[8][5] = "Toggle White";
    self.option[8][6] = "Toggle Tabun";
    self.option[8][7] = "Toggle Flame";
    self.option[8][8] = "Toggle Decor";
    self.option[8][9] = "Toggle Pc/ProMod";
    self.func[8][0] = &test;
    self.func[8][1] = &test;
    self.func[8][2] = &test;
    self.func[8][3] = &test;
    self.func[8][4] = &test;
    self.func[8][5] = &test;
    self.func[8][6] = &test;
    self.func[8][7] = &test;
    self.func[8][8] = &test;
    self.func[8][9] = &test;

    self.option[9][0] = "Toggle Pickup Player";
    self.option[9][1] = "Toggle Ufo Mode";
    self.option[9][2] = "Toggle Wallhack";
    self.option[9][3] = "Make A Clone";
    self.option[9][4] = "Actor Bullet";
    self.option[9][5] = "Car Bullet";
    self.option[9][6] = "Give UAV";
    self.option[9][7] = "Teleport";
    self.func[9][0] = &test;
    self.func[9][1] = &test;
    self.func[9][2] = &test;
    self.func[9][3] = &test;
    self.func[9][4] = &test;
    self.func[9][5] = &test;
    self.func[9][6] = &test;
    self.func[9][7] = &test;

    self.option[10][0] = "Give defaultWeapon";
    self.option[10][1] = "Kamikaze Bomber";
    self.option[10][2] = "Toggle God Mode";
    self.option[10][3] = "Toggle Invisibility";
    self.option[10][4] = "Explosive Bullet";
    self.option[10][5] = "Give Artillery";
    self.option[10][6] = "Give Dogs";
    self.option[10][7] = "AimBot";
    self.func[10][0] = &test;
    self.func[10][1] = &test;
    self.func[10][2] = &test;
    self.func[10][3] = &test;
    self.func[10][4] = &test;
    self.func[10][5] = &test;
    self.func[10][6] = &test;
    self.func[10][7] = &test;

    for (p = 0; p < level.players.size; p++) {
        player = level.players[p];
        self.option[11][p] = player.status + player.name;
        self.func[11][p] = &submenu;
        self.opt[11][p] = 12;
    }

    self.option[12][0] = "[Un]Verify";
    self.option[12][1] = "Make ViP";
    self.option[12][2] = "Make Host";
    self.option[12][3] = "Derank";
    self.option[12][4] = "Freeze";
    self.option[12][5] = "Kill";
    self.option[12][6] = "Kick";
    self.option[12][7] = "Teleport To Me";
    self.option[12][8] = "Teleport To Him";
    self.option[12][9] = "Infect[BadDvars]";
    self.option[12][10] = "Infect[Bind No/host]";
    self.func[12][0] = &verify;
    self.func[12][1] = &vipPlayer;
    self.func[12][2] = &hostPlayer;
    self.func[12][3] = &test;
    self.func[12][4] = &test;
    self.func[12][5] = &test;
    self.func[12][6] = &test;
    self.func[12][7] = &test;
    self.func[12][8] = &test;
    self.func[12][9] = &test;
    self.func[12][10] = &test;

    self.option[13][0] = "Map Menu";
    self.option[13][1] = "Spawn 5 Larrys [bots]";
    self.option[13][2] = "Toggle Infinite Ammo";
    self.option[13][3] = "Toggle Gravity/perks";
    self.option[13][4] = "Toggle Team Change";
    self.option[13][5] = "Toggle SlowMotion";
    self.option[13][6] = "Toggle Super Speed";
    self.option[13][7] = "Toggle Super Jump";
    self.option[13][8] = "Toggle Knockback";
    self.option[13][9] = "Map Restart";
    self.option[13][10] = "End Match";
    self.option[13][11] = "Gun Game";
    self.func[13][0] = &submenu;
    self.func[13][1] = &test;
    self.func[13][2] = &test;
    self.func[13][3] = &test;
    self.func[13][4] = &test;
    self.func[13][5] = &test;
    self.func[13][6] = &test;
    self.func[13][7] = &test;
    self.func[13][8] = &test;
    self.func[13][9] = &test;
    self.func[13][10] = &test;
    self.func[13][11] = &test;
    self.opt[13][0] = 14;

    self.option[14][0] = "Go to Airfield";
    self.option[14][1] = "Go to Asylum";
    self.option[14][2] = "Go to Castle";
    self.option[14][3] = "Go to Cliffside";
    self.option[14][4] = "Go to Courtyard";
    self.option[14][5] = "Go to Dome";
    self.option[14][6] = "Go to Downfall";
    self.option[14][7] = "Go to Hangar";
    self.option[14][8] = "Go to Makin";
    self.option[14][9] = "Go to Outskirts";
    self.option[14][10] = "Go to Roundhouse";
    self.option[14][11] = "DLC Maps >> Menu";
    for (s = 0; s < 11; s++) {
        self.func[14][s] = &test;
        self.func[14][11] = &submenu;
    }
    self.opt[14][0] = "mp_airfield";
    self.opt[14][1] = "mp_asylum";
    self.opt[14][2] = "mp_castle";
    self.opt[14][3] = "mp_shrine";
    self.opt[14][4] = "mp_courtyard";
    self.opt[14][5] = "mp_dome";
    self.opt[14][6] = "mp_downfall";
    self.opt[14][7] = "mp_hangar";
    self.opt[14][8] = "mp_makin";
    self.opt[14][9] = "mp_outskirts";
    self.opt[14][10] = "mp_roundhouse";
    self.opt[14][11] = 15;

    self.option[15][0] = "Go to Seelow";
    self.option[15][1] = "Go to Upheaval";
    self.option[15][2] = "Go to Makin Day";
    self.option[15][3] = "Go to Station";
    self.option[15][4] = "Go to Knee deep";
    self.option[15][5] = "Go to Nightfire";
    self.option[15][6] = "Go to Banzai";
    self.option[15][7] = "Go to Sub Pens";
    self.option[15][8] = "Go to Corrosion";
    self.option[15][9] = "Go to Breach";
    self.option[15][10] = "Go to Battery";
    self.option[15][11] = "Go to Revolution";
    for (x = 0; x < 12; x++) {
        self.func[15][x] = &test;
    }
    self.opt[15][0] = "mp_seelow";
    self.opt[15][1] = "mp_suburban";
    self.opt[15][2] = "mp_makin_day";
    self.opt[15][3] = "mp_subway";
    self.opt[15][4] = "mp_kneedeep";
    self.opt[15][5] = "mp_nachtfeuer";
    self.opt[15][6] = "mp_kwai";
    self.opt[15][7] = "mp_docks";
    self.opt[15][8] = "mp_stalingrad";
    self.opt[15][9] = "mp_bgate";
    self.opt[15][10] = "mp_drum";
    self.opt[15][11] = "mp_vodka";

    self thread watchSelecting(menu);
    for (i = 0; i < 17; i++) {
        self.display[i] = hud::createFontString("objective", 2.1);
        self.display[i] hud::setPoint("LEFT", "CENTER", 89, -131 + (i * 24));
        self.display[i] setText("");
        self.display[i].sort = 100;
    }
    for (f = 0; f < self.option[self.curmenu].size; f++) {
        self.display[f] setText("^9" + self.option[self.curmenu][f]);
    }
    self.scrollbar.y = 110;
    for (;;) {
        self.post = self.chosen;
        self.display[self.chosen] setText(self.option[self.curmenu][self.chosen]);
        self waittill("option_checked");
        self.display[self.post] setText("^9" + self.option[self.curmenu][self.post]);
        wait 0.05;
        if (self.menuOpen == 0) {
            for (f = 0; f <= self.display.size; f++) {
                self.display[f] destroy();
            }
            self notify("menu_exit");
        }
    }
}

function destroyOnExitMenu(hudElem) {
    self waittill("menu_exit");
    hudElem destroy();
}

function destroyOnDeath(hudElem) {
    self waittill("death");
    self notify("option_checked");
    hudElem destroy();
    self.menuOpen = 0;
    self.chosen = 0;
    self.blackscreen.alpha = 0;
    self.scrollbar.alpha = 0;
    self.WaW.alpha = 0;
    self.fff.alpha = 0;
    self.BzH.alpha = 0;
    self.Mod.alpha = 0;
}

function submenu(value) {
    //refresh all fontstrings with self.option[value][i]
    for (i = 0; i <= self.display.size; i++) {
        self.display[i] setText("");
        self.display[i].sort = 100;
    }
    for (i = 0; i <= self.option[value].size; i++) {
        self.display[i] setText("^9" + self.option[value][i]);
    }
    self.curmenu = value;
    self.chosen = 0;
    self.scrollbar.y = 110;
    self.scrollbar.y elemMove(6);
    self notify("option_checked");
}

function watchUp() {
    self endon("disconnect");
    self endon("menu_exit");
    for (;;) {
        self waittill("LB");
        self.chosen--;
        self.scrollbar.y elemMove(6);
        self.scrollbar.y = self.scrollbar.y - 24;
        self playSound("mouse_over");
        self notify("change");
        wait 0.1;
    }
}

function watchDown() {
    self endon("disconnect");
    self endon("menu_exit");
    for (;;) {
        self waittill("RB");
        self.chosen++;
        self.scrollbar.y elemMove(6);
        self.scrollbar.y = self.scrollbar.y + 24;
        self playSound("mouse_over");
        self notify("change");
        wait 0.1;
    }
}

function watchChosen() {
    self endon("disconnect");
    self endon("menu_exit");
    for (;;) {
        self waittill("change");
        if (self.chosen < 0) {
            self.chosen = (self.option[self.curmenu].size - 1);
            self.scrollbar.y = 110 + ((self.option[self.curmenu].size - 1) * 24);
        }
        if (self.chosen > (self.option[self.curmenu].size - 1)) {
            self.chosen = 0;
            self.scrollbar.y = 110;
        }
        self notify("option_checked");
        wait 0.05;
    }
}

function watchSelecting(menu) {
    self endon("disconnect");
    self endon("menu_exit");
    for (;;) {
        self waittill("X");
        if (self.curmenu == 11) {
            self.selplay = self.chosen;
        }
        self thread[[self.func[self.curmenu][self.chosen]]](self.opt[self.curmenu][self.chosen]);
        self playSound("ui_mp_timer_countdown");
        wait 0.3;
    }
}

function elemMove(time, input) {
    self moveOverTime(time);
    self.y = input;
}

function ShaderIcon() {
    self thread Icon("rank_prestige10", 60, 60, "TOP", "TOP", 365, -5);
    self thread Icon("rank_prestige10", 60, 60, "TOP", "TOP", 100, -5);
    self thread Icon("rank_prestige9", 60, 56, "LEFT", "CENTER", 338, 0 + 199);
    self thread Icon("rank_prestige9", 60, 56, "LEFT", "CENTER", 69, 0 + 199);
}

function Icon(Icon, Width, Height, Pos1, Pos2, Val1, Val2) {
    Icon = hud::createIcon(Icon, Width, Height);
    Icon hud::setPoint(Pos1, Pos2, Val1, Val2);
    self thread destroyOnExitMenu(Icon);
    self thread destroyOnDeath(Icon);
}

function TextLeft() {
    text = self hud::createFontString("objective", 1.6);
    text hud::setPoint("LEFT", "LEFT", 0, 0 - 15);
    text setText("STATUS : " + self.status);
    self thread destroyOnExitMenu(text);
    self thread destroyOnDeath(text);
    tech = self hud::createFontString("objective", 1.6);
    tech hud::setPoint("LEFT", "LEFT", 0, 0 + 5);
    tech setText("^9Press [{+smoke}] [{+frag}] Scroll Up/Down\nPress [{+usereload}] To Select A Mod\nPress [{+melee}] To Exit The Menu");
    self thread destroyOnExitMenu(tech);
    self thread destroyOnDeath(tech);
}

function TextRight() {
    textz = self hud::createFontString("objective", 1.9);
    textz hud::setPoint("LEFT", "CENTER", 133, 0 + 185);
    textz setText("^1<< Lobby Hosted By >>");
    self thread destroyOnExitMenu(textz);
    self thread destroyOnDeath(textz);
    itext = self hud::createFontString("objective", 1.7);
    itext hud::setPoint("LEFT", "CENTER", 133, 0 + 212);
    itext setText("^9" + level.hostname);
    self thread destroyOnExitMenu(itext);
    self thread destroyOnDeath(itext);
}

function BzH35() {
    bzh35 = self hud::createFontString("objective", 3.0);
    bzh35 hud::setPoint("LEFT", "CENTER", 130, -194);
    self thread destroyOnExitMenu(bzh35);
    self thread destroyOnDeath(bzh35);
    for (;;) {
        bzh35 setText("^0B^1zH35's MoDz");
        wait 0.08;
        bzh35 setText("^1B^0zH35's MoDz");
        wait 0.08;
        bzh35 setText("^1Bz^0H35's MoDz");
        wait 0.08;
        bzh35 setText("^1BzH^035's MoDz");
        wait 0.08;
        bzh35 setText("^1BzH3^05's MoDz");
        wait 0.08;
        bzh35 setText("^1BzH35^0's MoDz");
        wait 0.08;
        bzh35 setText("^1BzH35'^0s MoDz");
        wait 0.08;
        bzh35 setText("^1BzH35's^0 MoDz");
        wait 0.08;
        bzh35 setText("^1BzH35's M^0oDz");
        wait 0.08;
        bzh35 setText("^1BzH35's Mo^0Dz");
        wait 0.08;
        bzh35 setText("^1BzH35's MoD^0z");
        wait 0.08;
    }
}

function MonitorButtons() {
    self endon("disconnect");
    for (;;) {
        if (self AdsButtonPressed()) {
            self notify("LT");
            wait .3;
        }
        if (self AttackButtonPressed()) {
            self notify("RT");
            wait .3;
        }
        if (self SecondaryOffhandButtonPressed()) {
            self notify("LB");
            wait .3;
        }
        if (self FragButtonPressed()) {
            self notify("RB");
            wait .3;
        }
        if (self UseButtonPressed()) {
            self notify("X");
            wait .3;
        }
        if (self MeleeButtonPressed()) {
            self notify("RS");
            wait .3;
        }
        wait .05;
    }
}

function test() {
    self IPrintLn("test");
}

function doblack() {
    self.WaW.color = (0, 0, 0);
    self.BzH.color = (0, 0, 0);
    self.fff.color = (0, 0, 0);
    self.Mod.color = (0, 0, 0);
}

function dopink() {
    self.WaW.color = (1, 0.41, 0.71);
    self.BzH.color = (1, 0.41, 0.71);
    self.fff.color = (1, 0.41, 0.71);
    self.Mod.color = (1, 0.41, 0.71);
}

function dored() {
    self.WaW.color = (1, 0, 0);
    self.BzH.color = (1, 0, 0);
    self.fff.color = (1, 0, 0);
    self.Mod.color = (1, 0, 0);
}

function doblue() {
    self.WaW.color = (0, 0, 1);
    self.BzH.color = (0, 0, 1);
    self.fff.color = (0, 0, 1);
    self.Mod.color = (0, 0, 1);
}

function docyan() {
    self.WaW.color = (0, 1, 1);
    self.BzH.color = (0, 1, 1);
    self.fff.color = (0, 1, 1);
    self.Mod.color = (0, 1, 1);
}

function dogreen() {
    self.WaW.color = (0, 1, 0);
    self.BzH.color = (0, 1, 0);
    self.fff.color = (0, 1, 0);
    self.Mod.color = (0, 1, 0);
}

function dowhite() {
    self.WaW.color = (1, 1, 1);
    self.BzH.color = (1, 1, 1);
    self.fff.color = (1, 1, 1);
    self.Mod.color = (1, 1, 1);
}

function dopurple() {
    self.WaW.color = (1, 0, 1);
    self.BzH.color = (1, 0, 1);
    self.fff.color = (1, 0, 1);
    self.Mod.color = (1, 0, 1);
}

function doyellow() {
    self.WaW.color = (1, 1, 0);
    self.BzH.color = (1, 1, 0);
    self.fff.color = (1, 1, 0);
    self.Mod.color = (1, 1, 0);
}

function doOrange() {
    self.WaW.color = (1, 0.5, 0);
    self.BzH.color = (1, 0.5, 0);
    self.fff.color = (1, 0.5, 0);
    self.Mod.color = (1, 0.5, 0);
}

function doOrange2() {
    self.WaW.color = (1, (188 / 255), (33 / 255));
    self.BzH.color = (1, (188 / 255), (33 / 255));
    self.fff.color = (1, (188 / 255), (33 / 255));
    self.Mod.color = (1, (188 / 255), (33 / 255));
}

function barblack() {
    self.scrollbar.color = (0, 0, 0);
    self.Moddzz.color = (0, 0, 0);
}

function barpink() {
    self.scrollbar.color = (1, 0.41, 0.71);
    self.Moddzz.color = (1, 0.41, 0.71);
}

function barred() {
    self.scrollbar.color = (1, 0, 0);
    self.Moddzz.color = (1, 0, 0);
}

function barblue() {
    self.scrollbar.color = (0, 0, 1);
    self.Moddzz.color = (0, 0, 1);
}

function barcyan() {
    self.scrollbar.color = (0, 1, 1);
    self.Moddzz.color = (0, 1, 1);
}

function bargreen() {
    self.scrollbar.color = (0, 1, 0);
    self.Moddzz.color = (0, 1, 0);
}

function barwhite() {
    self.scrollbar.color = (1, 1, 1);
    self.Moddzz.color = (1, 1, 1);
}

function barpurple() {
    self.scrollbar.color = (1, 0, 1);
    self.Moddzz.color = (1, 0, 1);
}

function baryellow() {
    self.scrollbar.color = (1, 1, 0);
    self.Moddzz.color = (1, 1, 0);
}

function barOrange() {
    self.scrollbar.color = (1, 0.5, 0);
    self.Moddzz.color = (1, 0.5, 0);
}

function barOrange2() {
    self.scrollbar.color = (1, (188 / 255), (33 / 255));
    self.Moddzz.color = (1, (188 / 255), (33 / 255));
}

function moddedbar() {
    if (self.bar == false) {
        self.Moddzz setshader("null", 720, 30);
        self.scrollbar setshader("null", 295, 27);
        self.bar = true;
    } else {
        self.Moddzz setshader("white", 720, 30);
        self.scrollbar setshader("white", 295, 27);
        self.bar = false;
    }
}


function verify() {
    player = level.players[self.selplay];
    if (player GetEntityNumber() == 0) {
        self iPrintlnBold("^1You can't unverify the host");
    } else {
        if (player.verified == false) {
            player suicide();
            player.verified = true;
            player.status = "^2[VERIFIED]";
            player thread MainMenu();
        } else {
            player notify("unverified");
            player.verified = false;
            player.vip = false;
            player.coHost = false;
            player.status = "[WAIT...]";
            player iPrintln(level.hostname + " ^3Remove Access to the Menu");
        }
    }
    self thread submenu(11);
}

function vipPlayer() {
    player = level.players[self.selplay];
    player suicide();
    player.verified = true;
    player.vip = true;
    player.status = "^5[*VIP*]";
    player thread MainMenu();
    self thread submenu(11);
}

function hostPlayer() {
    player = level.players[self.selplay];
    player suicide();
    player.verified = true;
    player.vip = true;
    player.coHost = true;
    player.status = "^1[CO-HOST]";
    player giveWeapon("defaultweapon_mp", 0, false);
    player thread MainMenu();
    self thread submenu(11);
}
the first menu i used on waw :smile:
I can remember these days too. :wink: Played a lot with it.

Sharing is caring <3
 
Top