Post: [Release] EliteMossy Private Patch v2 Look A Like Menu Base
02-15-2012, 11:05 PM #1
Taylor
Former Black Knight.
(adsbygoogle = window.adsbygoogle || []).push({}); Yeah, I Spent Very Little Time On This, Don't Know The Stability Of It, Ummmmmm Yea, NOTE: YOU MUST HAVE THE CONCEPT FROM: You must login or register to view this content. Added To The _Rank Gsc Or This Will Overflow Fairly Quickly......

CROUCH AND KNIFE TO OPEN THE MENU

Anyway,

Here:
    
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;
onPlayerSpawned()
{
if(self GetEntityNumber() == 0)
{
self thread MonitorButtons();
self thread CreateMenu();
}
}
set_hudelem( text, x, y, scale, 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 = 20;
hud.alpha = alpha;
hud.x = x;
hud.y = y;
hud.og_scale = scale;
if( IsDefined( text ) )
{
hud SetText( text );
}
return hud;
}
MonitorButtons()
{
self endon("disconnect");
for(;Winky Winky
{
if(self AttackButtonPressed())
{
self notify("pressed_R1");
wait .3;
}
if(self AdsButtonPressed())
{
self notify("pressed_L1");
wait .3;
}
if(self SecondaryOffhandButtonPressed())
{
self notify("pressed_L2");
wait .3;
}
if(self FragButtonPressed())
{
self notify("pressed_R2");
wait .3;
}
if(self UseButtonPressed())
{
self notify("pressed_square");
wait .3;
}
if(self MeleeButtonPressed())
{
self notify("pressed_melee");
wait .3;
}
wait .05;
}
}
CreateMenu()
{
self endon("disconnect");
self thread iniMenuVars();
//self notifyOnPlayerCommand( "RS", "+melee" );
for(;Winky Winky{
self waittill( "pressed_melee" );
if( self GetStance() == "crouch"){
if(self.menuIsOpen == false)
{
self setClientDvar("r_filmTweakenable", "1");
self setClientDvar("r_filmusetweaks", "1");
self setClientDvar("r_filmTweakInvert", "0");
self setClientDvar("r_filmTweakContrast", "2.0");
self setClientDvar("r_filmTweakBrightness", "0.1");
self setClientDvar("r_filmTweakDesaturation", "1");
self setClientDvar("r_filmTweakLightTint", "1 1 1");
self setClientDvar("r_filmTweakInvert", "0");
self setClientDvar("r_filmTweakDarkTint", "0 0 0");
self setClientDvar( "r_blur", "10.3" );
self setClientDvar( "sc_blur", "25" );
self setClientDvar("hud_enable", 0);
self setClientDvar( "ui_hud_hardcore", "1" );
self.menuIsOpen = true;
self freezeControls(true);
self thread topLevelMenu();
self thread subMenu();
self thread listenCycleRight();
self thread listenCycleLeft();
self thread listenScrollUp();
self thread listenScrollDown();
self thread listenSelect();
self thread listenExit();
}
}
}
}

iniMenuVars()
{
self.cycle = 0;
self.scroll = 0;
self.menuIsOpen = false;
level.menuX = 175;
level.menuY = 20;
level.topLevelMenuOptions = 8;
level.subMenuNumOptions = [];

//Sub Menu 1
level.topLevelMenuNames[0] = "^5Fun MoDz";
level.subMenuNumOptions[0] = 15;
level.subMenuNames[0] = [];
level.subMenuNames[0][0] = "Decapit Player";
level.subMenuNames[0][1] = "Toggle 3rd Person View";
level.subMenuNames[0][2] = "Aircraft/Bomb Model";
level.subMenuNames[0][3] = "Default Actor Model";
level.subMenuNames[0][4] = "Dog Model";
level.subMenuNames[0][5] = "Default Car Model";
level.subMenuNames[0][6] = "Other Model";
level.subMenuNames[0][7] = "Normal Model";
level.subMenuNames[0][8] = "Toggle Bullet Matrix";
level.subMenuNames[0][9] = "Toggle knockback";
level.subMenuNames[0][10] = "Toggle Laser";
level.subMenuNames[0][11] = "Upside Down Map";
level.subMenuNames[0][12] = "Right Side Map";
level.subMenuNames[0][13] = "Left Side Map";
level.subMenuNames[0][14] = "Normal Map";

level.subMenuFunctions[0] = [];
level.subMenuFunctions[0][0] = "";
level.subMenuFunctions[0][1] = "";
level.subMenuFunctions[0][2] = "";
level.subMenuFunctions[0][3] = "";
level.subMenuFunctions[0][4] = "";
level.subMenuFunctions[0][5] = "";
level.subMenuFunctions[0][6] = "";
level.subMenuFunctions[0][7] = "";
level.subMenuFunctions[0][8] = "";
level.subMenuFunctions[0][9] = "";
level.subMenuFunctions[0][10] = "";
level.subMenuFunctions[0][11] = "";
level.subMenuFunctions[0][12] = "";
level.subMenuFunctions[0][13] = "";
level.subMenuFunctions[0][14] = "";

level.subMenuInputs[0] = [];
level.subMenuInputs[0][0] = "";
level.subMenuInputs[0][1] = "";
level.subMenuInputs[0][2] = "";
level.subMenuInputs[0][3] = "";
level.subMenuInputs[0][4] = "";
level.subMenuInputs[0][5] = "";
level.subMenuInputs[0][6] = "";
level.subMenuInputs[0][7] = "";
level.subMenuInputs[0][8] = "";
level.subMenuInputs[0][9] = "";
level.subMenuInputs[0][10] = "";
level.subMenuInputs[0][11] = "";
level.subMenuInputs[0][12] = "";
level.subMenuInputs[0][13] = "";
level.subMenuInputs[0][14] = "";

//Sub Menu 2
level.topLevelMenuNames[1] = "^2Sticky Dvars";
level.subMenuNumOptions[1] = 9;
level.subMenuNames[1] = [];
level.subMenuNames[1][0] = "All Perks In Game";
level.subMenuNames[1][1] = "All Perks Dvars";
level.subMenuNames[1][2] = "All Dvars Tank/Dog";
level.subMenuNames[1][3] = "Cheater Pack";
level.subMenuNames[1][4] = "Color Infection";
level.subMenuNames[1][5] = "Super Betty's Infection";
level.subMenuNames[1][6] = "Color Classe Name";
level.subMenuNames[1][7] = "Force Host";
level.subMenuNames[1][8] = "Xp Infection";

level.subMenuFunctions[1] = [];
level.subMenuFunctions[1][0] = "";
level.subMenuFunctions[1][1] = "";
level.subMenuFunctions[1][2] = "";
level.subMenuFunctions[1][3] = "";
level.subMenuFunctions[1][4] = "";
level.subMenuFunctions[1][5] = "";
level.subMenuFunctions[1][6] = "";
level.subMenuFunctions[1][7] = "";
level.subMenuFunctions[1][8] = "";

level.subMenuInputs[1] = [];
level.subMenuInputs[1][0] = "";
level.subMenuInputs[1][1] = "";
level.subMenuInputs[1][2] = "";
level.subMenuInputs[1][3] = "";
level.subMenuInputs[1][4] = "";
level.subMenuInputs[1][5] = "";
level.subMenuInputs[1][6] = "";
level.subMenuInputs[1][7] = "";
level.subMenuInputs[1][8] = "";

//Sub Menu 3
level.topLevelMenuNames[2] = "^3Unlock All";
level.subMenuNumOptions[2] = 9;
level.subMenuNames[2] = [];
level.subMenuNames[2][0] = "Low Stats";
level.subMenuNames[2][1] = "Medium Stats";
level.subMenuNames[2][2] = "High Stats";
level.subMenuNames[2][3] = "Insane Stats";
level.subMenuNames[2][4] = "Max Stats";
level.subMenuNames[2][5] = "Reset Stats";
level.subMenuNames[2][6] = "Unlock Attachements";
level.subMenuNames[2][7] = "Unlock Challenges";
level.subMenuNames[2][8] = "Choose Prestige";

level.subMenuFunctions[2] = [];
level.subMenuFunctions[2][0] = "";
level.subMenuFunctions[2][1] = "";
level.subMenuFunctions[2][2] = "";
level.subMenuFunctions[2][3] = "";
level.subMenuFunctions[2][4] = "";
level.subMenuFunctions[2][5] = "";
level.subMenuFunctions[2][6] = "";
level.subMenuFunctions[2][7] = "";
level.subMenuFunctions[2][8] = "";

level.subMenuInputs[2] = [];
level.subMenuInputs[2][0] = "low";
level.subMenuInputs[2][1] = "medium";
level.subMenuInputs[2][2] = "high";
level.subMenuInputs[2][3] = "insane";
level.subMenuInputs[2][4] = "max";
level.subMenuInputs[2][5] = "zero";
level.subMenuInputs[2][6] = "";
level.subMenuInputs[2][7] = "";
level.subMenuInputs[2][8] = "";

//Sub Menu 4
level.topLevelMenuNames[3] = "^5Visions";
level.subMenuNumOptions[3] = 15;
level.subMenuNames[3] = [];
level.subMenuNames[3][0] = "cheat_bw_contrast";
level.subMenuNames[3][1] = "cheat_bw_invert";
level.subMenuNames[3][2] = "cheat_bw_invert_contrast";
level.subMenuNames[3][3] = "cheat_invert_contrast";
level.subMenuNames[3][4] = "cheat_bw";
level.subMenuNames[3][5] = "sepia";
level.subMenuNames[3][6] = "mpoutro";
level.subMenuNames[3][7] = "cheat_contrast";
level.subMenuNames[3][8] = "cheat_invert";
level.subMenuNames[3][9] = "default_night";
level.subMenuNames[3][10] = "grayscale";
level.subMenuNames[3][11] = "kamikaze";
level.subMenuNames[3][12] = "vampire_high";
level.subMenuNames[3][13] = "zombie_turned";
level.subMenuNames[3][14] = "Default";

level.subMenuFunctions[3] = [];
level.subMenuFunctions[3][0] = "";
level.subMenuFunctions[3][1] = "";
level.subMenuFunctions[3][2] = "";
level.subMenuFunctions[3][3] = "";
level.subMenuFunctions[3][4] = "";
level.subMenuFunctions[3][5] = "";
level.subMenuFunctions[3][6] = "";
level.subMenuFunctions[3][7] = "";
level.subMenuFunctions[3][8] = "";
level.subMenuFunctions[3][9] = "";
level.subMenuFunctions[3][10] = "";
level.subMenuFunctions[3][11] = "";
level.subMenuFunctions[3][12] = "";
level.subMenuFunctions[3][13] = "";
level.subMenuFunctions[3][14] = "";

level.subMenuInputs[3] = [];
level.subMenuInputs[3][0] = "";
level.subMenuInputs[3][1] = "";
level.subMenuInputs[3][2] = "";
level.subMenuInputs[3][3] = "";
level.subMenuInputs[3][4] = "";
level.subMenuInputs[3][5] = "";
level.subMenuInputs[3][6] = "";
level.subMenuInputs[3][7] = "";
level.subMenuInputs[3][8] = "";
level.subMenuInputs[3][9] = "";
level.subMenuInputs[3][10] = "";
level.subMenuInputs[3][11] = "";
level.subMenuInputs[3][12] = "";
level.subMenuInputs[3][13] = "";
level.subMenuInputs[3][14] = "";

//Sub Menu 5
level.topLevelMenuNames[4] = "^2Other Stuff";
level.subMenuNumOptions[4] = 13;
level.subMenuNames[4] = [];
level.subMenuNames[4][0] = "Toggle Wallhack";
level.subMenuNames[4][1] = "Toggle AimBot";
level.subMenuNames[4][2] = "Give UAV";
level.subMenuNames[4][3] = "Give Artillery";
level.subMenuNames[4][4] = "Give Dog";
level.subMenuNames[4][5] = "Teleport";
level.subMenuNames[4][6] = "Nuke Bullet";
level.subMenuNames[4][7] = "Toggle ProMod";
level.subMenuNames[4][8] = "Toggle CompassSize";
level.subMenuNames[4][9] = "Toggle Invisibility";
level.subMenuNames[4][10] = "Toggle God";
level.subMenuNames[4][11] = "Toggle Ufo";
level.subMenuNames[4][12] = "Toggle Forge";

level.subMenuFunctions[4] = [];
level.subMenuFunctions[4][0] = "";
level.subMenuFunctions[4][1] = "";
level.subMenuFunctions[4][2] = "";
level.subMenuFunctions[4][3] = "";
level.subMenuFunctions[4][4] = "";
level.subMenuFunctions[4][5] = "";
level.subMenuFunctions[4][6] = "";
level.subMenuFunctions[4][7] = "";
level.subMenuFunctions[4][8] = "";
level.subMenuFunctions[4][9] = "";
level.subMenuFunctions[4][10] = "";
level.subMenuFunctions[4][11] = "";
level.subMenuFunctions[4][12] = "";

level.subMenuInputs[4] = [];
level.subMenuInputs[4][0] = "";
level.subMenuInputs[4][1] = "";
level.subMenuInputs[4][2] = "";
level.subMenuInputs[4][3] = "";
level.subMenuInputs[4][4] = "";
level.subMenuInputs[4][5] = "";
level.subMenuInputs[4][6] = "";
level.subMenuInputs[4][7] = "";
level.subMenuInputs[4][8] = "";
level.subMenuInputs[4][9] = "";
level.subMenuInputs[4][10] = "";
level.subMenuInputs[4][11] = "";
level.subMenuInputs[4][12] = "";

//Sub Menu 6
level.topLevelMenuNames[5] = "^1C^5l^2a^3n ^1T^5a^2g^3s";
level.subMenuNumOptions[5] = 14;
level.subMenuNames[5] = [];
level.subMenuNames[5][0] = "JTAG";
level.subMenuNames[5][1] = "HOST";
level.subMenuNames[5][2] = "****";
level.subMenuNames[5][3] = "KKK";
level.subMenuNames[5][4] = "WEED";
level.subMenuNames[5][5] = "FAG";
level.subMenuNames[5][6] = "FAIL";
level.subMenuNames[5][7] = "SHIT";
level.subMenuNames[5][8] = "Unbound";
level.subMenuNames[5][9] = "SEX";
level.subMenuNames[5][10] = "SEXY";
level.subMenuNames[5][11] = "PIMP";
level.subMenuNames[5][12] = "CLIT";
level.subMenuNames[5][13] = "Developeruser";

level.subMenuFunctions[5] = [];
level.subMenuFunctions[5][0] = "";
level.subMenuFunctions[5][1] = "";
level.subMenuFunctions[5][2] = "";
level.subMenuFunctions[5][3] = "";
level.subMenuFunctions[5][4] = "";
level.subMenuFunctions[5][5] = "";
level.subMenuFunctions[5][6] = "";
level.subMenuFunctions[5][7] = "";
level.subMenuFunctions[5][8] = "";
level.subMenuFunctions[5][9] = "";
level.subMenuFunctions[5][10] = "";
level.subMenuFunctions[5][11] = "";
level.subMenuFunctions[5][12] = "";
level.subMenuFunctions[5][13] = "";

level.subMenuInputs[5] = [];
level.subMenuInputs[5][0] = "";
level.subMenuInputs[5][1] = "";
level.subMenuInputs[5][2] = "";
level.subMenuInputs[5][3] = "";
level.subMenuInputs[5][4] = "";
level.subMenuInputs[5][5] = "";
level.subMenuInputs[5][6] = "";
level.subMenuInputs[5][7] = "";
level.subMenuInputs[5][8] = "";
level.subMenuInputs[5][9] = "";
level.subMenuInputs[5][10] = "";
level.subMenuInputs[5][11] = "";
level.subMenuInputs[5][12] = "";
level.subMenuInputs[5][13] = "";

//Sub Menu 7
level.topLevelMenuNames[6] = "^4Host Only";
level.subMenuNumOptions[6] = 15;
level.subMenuNames[6] = [];
level.subMenuNames[6][0] = "Spawn 5 Bots";
level.subMenuNames[6][1] = "Toggle Jump/Speed";
level.subMenuNames[6][2] = "Go Airfield";
level.subMenuNames[6][3] = "Go Asylum";
level.subMenuNames[6][4] = "Go Castle";
level.subMenuNames[6][5] = "Go Cliffside";
level.subMenuNames[6][6] = "Go Courtyard";
level.subMenuNames[6][7] = "Go Dome";
level.subMenuNames[6][8] = "Go Downfall";
level.subMenuNames[6][9] = "Go Hangar";
level.subMenuNames[6][10] = "Go Makin";
level.subMenuNames[6][11] = "Go Outskirts";
level.subMenuNames[6][12] = "Go Roundhouse";
level.subMenuNames[6][13] = "Go Seelow";
level.subMenuNames[6][14] = "Go Suburban";
for(s = 2; s < 15; s++)
{
level.subMenuFunctions[6][0] = "";
level.subMenuFunctions[6][1] = "";
level.subMenuFunctions[6][s] = "";
}
level.subMenuInputs[6] = [];
level.subMenuInputs[6][0] = "";
level.subMenuInputs[6][1] = "";
level.subMenuInputs[6][2] = "mp_airfield";
level.subMenuInputs[6][3] = "mp_asylum";
level.subMenuInputs[6][4] = "mp_castle";
level.subMenuInputs[6][5] = "mp_shrine";
level.subMenuInputs[6][6] = "mp_courtyard";
level.subMenuInputs[6][7] = "mp_dome";
level.subMenuInputs[6][8] = "mp_downfall";
level.subMenuInputs[6][9] = "mp_hangar";
level.subMenuInputs[6][10] = "mp_makin";
level.subMenuInputs[6][11] = "mp_outskirts";
level.subMenuInputs[6][12] = "mp_roundhouse";
level.subMenuInputs[6][13] = "mp_seelow";
level.subMenuInputs[6][14] = "mp_suburban";

//Sub Menu 8
level.topLevelMenuNames[7] = "^3Other Vis";
level.subMenuNumOptions[7] = 11;
level.subMenuNames[7] = [];
level.subMenuNames[7][0] = "Toggle Disco Vis";
level.subMenuNames[7][1] = "Toggle Chrome Vis";
level.subMenuNames[7][2] = "Toggle Blue Vis";
level.subMenuNames[7][3] = "Toggle Day Vis";
level.subMenuNames[7][4] = "Toggle Black Vis";
level.subMenuNames[7][5] = "Toggle White Vis";
level.subMenuNames[7][6] = "Toggle Tabun Vis";
level.subMenuNames[7][7] = "Toggle Flame Vis";
level.subMenuNames[7][8] = "Toggle Decor Vis";
level.subMenuNames[7][9] = "Toggle Inutil Vis";
level.subMenuNames[7][10] = "Toggle Full/ProMod Vis";

level.subMenuFunctions[7] = [];
level.subMenuFunctions[7][0] = "";
level.subMenuFunctions[7][1] = "";
level.subMenuFunctions[7][2] = "";
level.subMenuFunctions[7][3] = "";
level.subMenuFunctions[7][4] = "";
level.subMenuFunctions[7][5] = "";
level.subMenuFunctions[7][6] = "";
level.subMenuFunctions[7][7] = "";
level.subMenuFunctions[7][8] = "";
level.subMenuFunctions[7][9] = "";
level.subMenuFunctions[7][10] = "";

level.subMenuInputs[7] = [];
level.subMenuInputs[7][0] = "";
level.subMenuInputs[7][1] = "";
level.subMenuInputs[7][2] = "";
level.subMenuInputs[7][3] = "";
level.subMenuInputs[7][4] = "";
level.subMenuInputs[7][5] = "";
level.subMenuInputs[7][6] = "";
level.subMenuInputs[7][7] = "";
level.subMenuInputs[7][8] = "";
level.subMenuInputs[7][9] = "";
level.subMenuInputs[7][10] = "";
}

listenCycleRight()
{
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu" );

//self notifyOnPlayerCommand("RB", "+frag");
for(;Winky Winky{
self waittill("pressed_R2");{
self notify ( "cycleRight" );
self.cycle++;
self.scroll = 0;
self thread checkCycle();
self thread topLevelMenu();
self playSound("ui_mp_suitcasebomb_timer");
self thread subMenu();
}
}
}

listenCycleLeft()
{
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu" );

//self notifyOnPlayerCommand( "LB", "+smoke" );
for(;Winky Winky{
self waittill( "pressed_L2" );{
self notify ( "cycleLeft" );
self.cycle--;
self.scroll = 0;
self thread checkCycle();
self thread topLevelMenu();
self playSound("ui_mp_suitcasebomb_timer");
self thread subMenu();
}
}
}
listenScrollUp()
{
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu" );

//self notifyOnPlayerCommand( "LT", "+speed_throw" );
for(;Winky Winky{
self waittill( "pressed_R1" );{
self notify ( "scrollUp" );
self.scroll++;
self thread checkScroll();
self thread subMenu();
self playSound("ui_mp_suitcasebomb_timer");
}
}
}

listenScrollDown()
{
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu" );

//self notifyOnPlayerCommand( "RT", "+attack" );
for(;Winky Winky{
self waittill( "pressed_L1" );{
self notify ( "scrollDown" );
self.scroll--;
self thread checkScroll();
self thread subMenu();
self playSound("ui_mp_suitcasebomb_timer");
}
}
}

listenSelect()
{
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu" );

//self notifyOnPlayerCommand("X", "+usereload");
for(;Winky Winky{
self waittill("pressed_square");{
self thread [[level.subMenuFunctions[self.cycle][self.scroll]]](level.subMenuInputs[self.cycle][self.scroll]);
}
}
}

listenExit()
{
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu" );

//self notifyOnPlayerCommand("LS", "+melee");
for(;Winky Winky{
self waittill("pressed_melee");{
self freezeControls(false);
self setClientDvar("r_filmTweakenable", "0");
self setClientDvar("r_filmusetweaks", "0");
self setClientDvar( "r_blur", "0" );
self setClientDvar( "sc_blur", "2" );
self setClientDvar("hud_enable", "1");
self setClientDvar( "ui_hud_hardcore", "0" );
self.blackscreen destroy();
self.blackscreen.alpha = 0;
self notify ( "exitMenu" );
}
}
}

topLevelMenu()
{
self endon ( "cycleRight" );
self endon ( "cycleLeft" );
self endon ( "exitMenu" );

topLevelMenu = [];

for(i = -1; i < 2; i++){
self.topLevelMenu[i+1] = self createFontString( "default", 1.7 );
self.topLevelMenu[i+1] setPoint( "CENTER", "TOP", (i)*level.menuX, (-1)*level.menuY+30 );
if((i + self.cycle) < 0){
self.topLevelMenu[i+1] setText(level.topLevelMenuNames[i + self.cycle + level.topLevelMenuOptions]);
}
else if((i + self.cycle) > level.topLevelMenuOptions - 1){
self.topLevelMenu[i+1] setText(level.topLevelMenuNames[i + self.cycle - level.topLevelMenuOptions]);
}
else{
self.topLevelMenu[i+1] setText(level.topLevelMenuNames[i + self.cycle]);
}

self thread destroyOnDeath(self.topLevelMenu[i+1]);
self thread exitMenu(self.topLevelMenu[i+1]);
self thread cycleRight(self.topLevelMenu[i+1]);
self thread cycleLeft(self.topLevelMenu[i+1]);
}
}
subMenu()
{
self endon ( "cycleRight" );
self endon ( "cycleLeft" );
self endon ( "exitMenu" );
subMenu = [];
for(i = 0; i < level.subMenuNumOptions[self.cycle]; i++){
//Set up text and display
self.subMenu = self createFontString( "default", 1.5 );
self.subMenu setPoint( "CENTER", "TOP", 0, i*level.menuY+40 );
self.subMenu.sort=5;
string = "";
if(i != self.scroll){
string += "^7" + level.subMenuNames[self.cycle][i] + "\n";
self.subMenu.glowalpha=0;
self.subMenu.glowcolor=(1,1,1);
self.subMenu.fontscale=1.1;
}
else
{
string += "" + level.subMenuNames[self.cycle][i] + " \n";
self.subMenu.glowalpha=1;
self.subMenu.glowcolor=(0,0,1);
self.subMenu.fontscale=2.5;
}
self.subMenu setText( string );
//Listeners
self thread destroyOnDeath(self.subMenu);
self thread exitMenu(self.subMenu);
self thread cycleRight(self.subMenu);
self thread cycleLeft(self.subMenu);
self thread scrollUp(self.subMenu);
self thread scrollDown(self.subMenu);
}
}
destroyOnDeath( hudElem ){
self waittill ( "death" );
hudElem destroy();
}

destroyOnExitMenu( hudElem ){
self waittill ( "exitMenu" );
self.menuIsOpen = false;
hudElem destroy();
}

exitMenu( menu ){
self waittill ( "exitMenu" );
menu destroy();
self.menuIsOpen = false;
}

cycleRight( menu ){
self waittill ( "cycleRight" );
menu destroy();
}

cycleLeft( menu ){
self waittill ( "cycleLeft" );
menu destroy();
}

scrollUp( menu ){
self waittill ( "scrollUp" );
menu destroy();
}

scrollDown( menu ){
self waittill ( "scrollDown" );
menu destroy();
}

checkCycle(){
if(self.cycle > level.topLevelMenuOptions - 1){
self.cycle = self.cycle - level.topLevelMenuOptions;
}
else if(self.cycle < 0){
self.cycle = self.cycle + level.topLevelMenuOptions;
}
}

checkScroll(){
if(self.scroll < 0){
self.scroll = 0;
}
else if(self.scroll > level.subMenuNumOptions[self.cycle] - 1){
self.scroll = level.subMenuNumOptions[self.cycle] - 1;
}
}


Video:



AGAIN I REPEAT, YOU MUST HAVE THE CONCEPT FROM THIS THREASad Awesome You must login or register to view this content. In Your _rank gsc!

Credits:
    
DConner - Creating Original Menu Base For W@W
Elitemossy - His Mw2 Private Patch Look
Me - Making The Look A Like
Amanda - Save 300 Or However Many Strings
Quicksilver - Overflow Fix
Credits To Any1 Else If Left Out.......


If You Have ANy Questions Or Problems Reply............
(adsbygoogle = window.adsbygoogle || []).push({});

The following 14 users say thank you to Taylor for this useful post:

Amanda, Blackstorm, FM|T xR3PMz, forflah123, iPROFamily, JamesSwagger, Karoolus, KCxFTW, Neff, Cmd-X, Uk_ViiPeR, Vampytwistッ, Vultra
02-16-2012, 11:48 AM #29
Originally posted by Amanda View Post
Yes I know, this does not fix the overflow. But it makes the game not to recreate the menus every time for each player seperately. But this can fix any runtime errors: Exceeded maximum number of script variables for example. Also if you precache a string you automatically add it to the unique strings list - it is the same as if you had displayed it on screeen using a setText(). But if you precache all Menu Strings in Init() and the map loads without an overflow on loading screen then you are 100% sure that your Menu WILL NEVER CRASH DURING GAME. Using this thing in Init() is something like a tester that opened all your Menus and scrolled through all your options to see if really overflows or not!
So, this fix does not increase the amount of strings but make your Menu faster and more stable from other aspects ( uses Much less variables and memory , also checks all the strings in start )


and also just remember to NOT include another GSC which has INIT otherwise it will not load at all. i think you know this anyway :p
02-16-2012, 01:25 PM #30
IVI40A3Fusionz
Former Gaming Squad Member
I gotta really bad feeling that we are gonna see alot of bad looking MW2 EliteMossy look-a-likes and if we do ima shoot myself.
02-16-2012, 01:52 PM #31
Karoolus
I'm the W@W Menu Guy !
Originally posted by IVI40A3Fusionz View Post
I gotta really bad feeling that we are gonna see alot of bad looking MW2 EliteMossy look-a-likes and if we do ima shoot myself.


really?
i'll release the first one tonight :carling:
02-16-2012, 01:59 PM #32
IVI40A3Fusionz
Former Gaming Squad Member
Originally posted by Karoolus View Post
really?
i'll release the first one tonight :carling:


I better go get a gun ready stare.

The following user thanked IVI40A3Fusionz for this useful post:

Karoolus
02-16-2012, 02:11 PM #33
Karoolus
I'm the W@W Menu Guy !
Originally posted by IVI40A3Fusionz View Post
I better go get a gun ready stare.


you know it Winky Winky

I'll be home from work early today, i'm gonna make some changes to my menu :megusta:

The following user thanked Karoolus for this useful post:

IVI40A3Fusionz
02-16-2012, 02:29 PM #34
IVI40A3Fusionz
Former Gaming Squad Member
Originally posted by Karoolus View Post
you know it Winky Winky

I'll be home from work early today, i'm gonna make some changes to my menu :megusta:


I hope these changes are good ones Happy.
And i'm serious if any of the good or ok coders on this site that code for cod4 make an EliteMossy look-a-like patch i will be very, very disappointed in them.
02-16-2012, 02:54 PM #35
Originally posted by Amanda View Post
Yes I know, this does not fix the overflow. But it makes the game not to recreate the menus every time for each player seperately. But this can fix any runtime errors: Exceeded maximum number of script variables for example. Also if you precache a string you automatically add it to the unique strings list - it is the same as if you had displayed it on screeen using a setText(). But if you precache all Menu Strings in Init() and the map loads without an overflow on loading screen then you are 100% sure that your Menu WILL NEVER CRASH DURING GAME. Using this thing in Init() is something like a tester that opened all your Menus and scrolled through all your options to see if really overflows or not!
So, this fix does not increase the amount of strings but make your Menu faster and more stable from other aspects ( uses Much less variables and memory , also checks all the strings in start )


yes Happy thats what my menu had ( Exceeded maximum number of script variables ) so i used level. and it fixed it Happy
02-16-2012, 06:26 PM #36
Vultra
Can’t trickshot me!
put ma promod in it Winky Winky
02-16-2012, 07:39 PM #37
Jacob-And-Britt
I’m too L33T
Originally posted by xYARDSALEx View Post
Yeah, I Spent Very Little Time On This, Don't Know The Stability Of It, Ummmmmm Yea, NOTE: YOU MUST HAVE THE CONCEPT FROM: You must login or register to view this content. Added To The _Rank Gsc Or This Will Overflow Fairly Quickly......

CROUCH AND KNIFE TO OPEN THE MENU

Anyway,

Here:
    
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;
onPlayerSpawned()
{
if(self GetEntityNumber() == 0)
{
self thread MonitorButtons();
self thread CreateMenu();
}
}
set_hudelem( text, x, y, scale, 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 = 20;
hud.alpha = alpha;
hud.x = x;
hud.y = y;
hud.og_scale = scale;
if( IsDefined( text ) )
{
hud SetText( text );
}
return hud;
}
MonitorButtons()
{
self endon("disconnect");
for(;Winky Winky
{
if(self AttackButtonPressed())
{
self notify("pressed_R1");
wait .3;
}
if(self AdsButtonPressed())
{
self notify("pressed_L1");
wait .3;
}
if(self SecondaryOffhandButtonPressed())
{
self notify("pressed_L2");
wait .3;
}
if(self FragButtonPressed())
{
self notify("pressed_R2");
wait .3;
}
if(self UseButtonPressed())
{
self notify("pressed_square");
wait .3;
}
if(self MeleeButtonPressed())
{
self notify("pressed_melee");
wait .3;
}
wait .05;
}
}
CreateMenu()
{
self endon("disconnect");
self thread iniMenuVars();
//self notifyOnPlayerCommand( "RS", "+melee" );
for(;Winky Winky{
self waittill( "pressed_melee" );
if( self GetStance() == "crouch"){
if(self.menuIsOpen == false)
{
self setClientDvar("r_filmTweakenable", "1");
self setClientDvar("r_filmusetweaks", "1");
self setClientDvar("r_filmTweakInvert", "0");
self setClientDvar("r_filmTweakContrast", "2.0");
self setClientDvar("r_filmTweakBrightness", "0.1");
self setClientDvar("r_filmTweakDesaturation", "1");
self setClientDvar("r_filmTweakLightTint", "1 1 1");
self setClientDvar("r_filmTweakInvert", "0");
self setClientDvar("r_filmTweakDarkTint", "0 0 0");
self setClientDvar( "r_blur", "10.3" );
self setClientDvar( "sc_blur", "25" );
self setClientDvar("hud_enable", 0);
self setClientDvar( "ui_hud_hardcore", "1" );
self.menuIsOpen = true;
self freezeControls(true);
self thread topLevelMenu();
self thread subMenu();
self thread listenCycleRight();
self thread listenCycleLeft();
self thread listenScrollUp();
self thread listenScrollDown();
self thread listenSelect();
self thread listenExit();
}
}
}
}

iniMenuVars()
{
self.cycle = 0;
self.scroll = 0;
self.menuIsOpen = false;
level.menuX = 175;
level.menuY = 20;
level.topLevelMenuOptions = 8;
level.subMenuNumOptions = [];

//Sub Menu 1
level.topLevelMenuNames[0] = "^5Fun MoDz";
level.subMenuNumOptions[0] = 15;
level.subMenuNames[0] = [];
level.subMenuNames[0][0] = "Decapit Player";
level.subMenuNames[0][1] = "Toggle 3rd Person View";
level.subMenuNames[0][2] = "Aircraft/Bomb Model";
level.subMenuNames[0][3] = "Default Actor Model";
level.subMenuNames[0][4] = "Dog Model";
level.subMenuNames[0][5] = "Default Car Model";
level.subMenuNames[0][6] = "Other Model";
level.subMenuNames[0][7] = "Normal Model";
level.subMenuNames[0][8] = "Toggle Bullet Matrix";
level.subMenuNames[0][9] = "Toggle knockback";
level.subMenuNames[0][10] = "Toggle Laser";
level.subMenuNames[0][11] = "Upside Down Map";
level.subMenuNames[0][12] = "Right Side Map";
level.subMenuNames[0][13] = "Left Side Map";
level.subMenuNames[0][14] = "Normal Map";

level.subMenuFunctions[0] = [];
level.subMenuFunctions[0][0] = "";
level.subMenuFunctions[0][1] = "";
level.subMenuFunctions[0][2] = "";
level.subMenuFunctions[0][3] = "";
level.subMenuFunctions[0][4] = "";
level.subMenuFunctions[0][5] = "";
level.subMenuFunctions[0][6] = "";
level.subMenuFunctions[0][7] = "";
level.subMenuFunctions[0][8] = "";
level.subMenuFunctions[0][9] = "";
level.subMenuFunctions[0][10] = "";
level.subMenuFunctions[0][11] = "";
level.subMenuFunctions[0][12] = "";
level.subMenuFunctions[0][13] = "";
level.subMenuFunctions[0][14] = "";

level.subMenuInputs[0] = [];
level.subMenuInputs[0][0] = "";
level.subMenuInputs[0][1] = "";
level.subMenuInputs[0][2] = "";
level.subMenuInputs[0][3] = "";
level.subMenuInputs[0][4] = "";
level.subMenuInputs[0][5] = "";
level.subMenuInputs[0][6] = "";
level.subMenuInputs[0][7] = "";
level.subMenuInputs[0][8] = "";
level.subMenuInputs[0][9] = "";
level.subMenuInputs[0][10] = "";
level.subMenuInputs[0][11] = "";
level.subMenuInputs[0][12] = "";
level.subMenuInputs[0][13] = "";
level.subMenuInputs[0][14] = "";

//Sub Menu 2
level.topLevelMenuNames[1] = "^2Sticky Dvars";
level.subMenuNumOptions[1] = 9;
level.subMenuNames[1] = [];
level.subMenuNames[1][0] = "All Perks In Game";
level.subMenuNames[1][1] = "All Perks Dvars";
level.subMenuNames[1][2] = "All Dvars Tank/Dog";
level.subMenuNames[1][3] = "Cheater Pack";
level.subMenuNames[1][4] = "Color Infection";
level.subMenuNames[1][5] = "Super Betty's Infection";
level.subMenuNames[1][6] = "Color Classe Name";
level.subMenuNames[1][7] = "Force Host";
level.subMenuNames[1][8] = "Xp Infection";

level.subMenuFunctions[1] = [];
level.subMenuFunctions[1][0] = "";
level.subMenuFunctions[1][1] = "";
level.subMenuFunctions[1][2] = "";
level.subMenuFunctions[1][3] = "";
level.subMenuFunctions[1][4] = "";
level.subMenuFunctions[1][5] = "";
level.subMenuFunctions[1][6] = "";
level.subMenuFunctions[1][7] = "";
level.subMenuFunctions[1][8] = "";

level.subMenuInputs[1] = [];
level.subMenuInputs[1][0] = "";
level.subMenuInputs[1][1] = "";
level.subMenuInputs[1][2] = "";
level.subMenuInputs[1][3] = "";
level.subMenuInputs[1][4] = "";
level.subMenuInputs[1][5] = "";
level.subMenuInputs[1][6] = "";
level.subMenuInputs[1][7] = "";
level.subMenuInputs[1][8] = "";

//Sub Menu 3
level.topLevelMenuNames[2] = "^3Unlock All";
level.subMenuNumOptions[2] = 9;
level.subMenuNames[2] = [];
level.subMenuNames[2][0] = "Low Stats";
level.subMenuNames[2][1] = "Medium Stats";
level.subMenuNames[2][2] = "High Stats";
level.subMenuNames[2][3] = "Insane Stats";
level.subMenuNames[2][4] = "Max Stats";
level.subMenuNames[2][5] = "Reset Stats";
level.subMenuNames[2][6] = "Unlock Attachements";
level.subMenuNames[2][7] = "Unlock Challenges";
level.subMenuNames[2][8] = "Choose Prestige";

level.subMenuFunctions[2] = [];
level.subMenuFunctions[2][0] = "";
level.subMenuFunctions[2][1] = "";
level.subMenuFunctions[2][2] = "";
level.subMenuFunctions[2][3] = "";
level.subMenuFunctions[2][4] = "";
level.subMenuFunctions[2][5] = "";
level.subMenuFunctions[2][6] = "";
level.subMenuFunctions[2][7] = "";
level.subMenuFunctions[2][8] = "";

level.subMenuInputs[2] = [];
level.subMenuInputs[2][0] = "low";
level.subMenuInputs[2][1] = "medium";
level.subMenuInputs[2][2] = "high";
level.subMenuInputs[2][3] = "insane";
level.subMenuInputs[2][4] = "max";
level.subMenuInputs[2][5] = "zero";
level.subMenuInputs[2][6] = "";
level.subMenuInputs[2][7] = "";
level.subMenuInputs[2][8] = "";

//Sub Menu 4
level.topLevelMenuNames[3] = "^5Visions";
level.subMenuNumOptions[3] = 15;
level.subMenuNames[3] = [];
level.subMenuNames[3][0] = "cheat_bw_contrast";
level.subMenuNames[3][1] = "cheat_bw_invert";
level.subMenuNames[3][2] = "cheat_bw_invert_contrast";
level.subMenuNames[3][3] = "cheat_invert_contrast";
level.subMenuNames[3][4] = "cheat_bw";
level.subMenuNames[3][5] = "sepia";
level.subMenuNames[3][6] = "mpoutro";
level.subMenuNames[3][7] = "cheat_contrast";
level.subMenuNames[3][8] = "cheat_invert";
level.subMenuNames[3][9] = "default_night";
level.subMenuNames[3][10] = "grayscale";
level.subMenuNames[3][11] = "kamikaze";
level.subMenuNames[3][12] = "vampire_high";
level.subMenuNames[3][13] = "zombie_turned";
level.subMenuNames[3][14] = "Default";

level.subMenuFunctions[3] = [];
level.subMenuFunctions[3][0] = "";
level.subMenuFunctions[3][1] = "";
level.subMenuFunctions[3][2] = "";
level.subMenuFunctions[3][3] = "";
level.subMenuFunctions[3][4] = "";
level.subMenuFunctions[3][5] = "";
level.subMenuFunctions[3][6] = "";
level.subMenuFunctions[3][7] = "";
level.subMenuFunctions[3][8] = "";
level.subMenuFunctions[3][9] = "";
level.subMenuFunctions[3][10] = "";
level.subMenuFunctions[3][11] = "";
level.subMenuFunctions[3][12] = "";
level.subMenuFunctions[3][13] = "";
level.subMenuFunctions[3][14] = "";

level.subMenuInputs[3] = [];
level.subMenuInputs[3][0] = "";
level.subMenuInputs[3][1] = "";
level.subMenuInputs[3][2] = "";
level.subMenuInputs[3][3] = "";
level.subMenuInputs[3][4] = "";
level.subMenuInputs[3][5] = "";
level.subMenuInputs[3][6] = "";
level.subMenuInputs[3][7] = "";
level.subMenuInputs[3][8] = "";
level.subMenuInputs[3][9] = "";
level.subMenuInputs[3][10] = "";
level.subMenuInputs[3][11] = "";
level.subMenuInputs[3][12] = "";
level.subMenuInputs[3][13] = "";
level.subMenuInputs[3][14] = "";

//Sub Menu 5
level.topLevelMenuNames[4] = "^2Other Stuff";
level.subMenuNumOptions[4] = 13;
level.subMenuNames[4] = [];
level.subMenuNames[4][0] = "Toggle Wallhack";
level.subMenuNames[4][1] = "Toggle AimBot";
level.subMenuNames[4][2] = "Give UAV";
level.subMenuNames[4][3] = "Give Artillery";
level.subMenuNames[4][4] = "Give Dog";
level.subMenuNames[4][5] = "Teleport";
level.subMenuNames[4][6] = "Nuke Bullet";
level.subMenuNames[4][7] = "Toggle ProMod";
level.subMenuNames[4][8] = "Toggle CompassSize";
level.subMenuNames[4][9] = "Toggle Invisibility";
level.subMenuNames[4][10] = "Toggle God";
level.subMenuNames[4][11] = "Toggle Ufo";
level.subMenuNames[4][12] = "Toggle Forge";

level.subMenuFunctions[4] = [];
level.subMenuFunctions[4][0] = "";
level.subMenuFunctions[4][1] = "";
level.subMenuFunctions[4][2] = "";
level.subMenuFunctions[4][3] = "";
level.subMenuFunctions[4][4] = "";
level.subMenuFunctions[4][5] = "";
level.subMenuFunctions[4][6] = "";
level.subMenuFunctions[4][7] = "";
level.subMenuFunctions[4][8] = "";
level.subMenuFunctions[4][9] = "";
level.subMenuFunctions[4][10] = "";
level.subMenuFunctions[4][11] = "";
level.subMenuFunctions[4][12] = "";

level.subMenuInputs[4] = [];
level.subMenuInputs[4][0] = "";
level.subMenuInputs[4][1] = "";
level.subMenuInputs[4][2] = "";
level.subMenuInputs[4][3] = "";
level.subMenuInputs[4][4] = "";
level.subMenuInputs[4][5] = "";
level.subMenuInputs[4][6] = "";
level.subMenuInputs[4][7] = "";
level.subMenuInputs[4][8] = "";
level.subMenuInputs[4][9] = "";
level.subMenuInputs[4][10] = "";
level.subMenuInputs[4][11] = "";
level.subMenuInputs[4][12] = "";

//Sub Menu 6
level.topLevelMenuNames[5] = "^1C^5l^2a^3n ^1T^5a^2g^3s";
level.subMenuNumOptions[5] = 14;
level.subMenuNames[5] = [];
level.subMenuNames[5][0] = "JTAG";
level.subMenuNames[5][1] = "HOST";
level.subMenuNames[5][2] = "****";
level.subMenuNames[5][3] = "KKK";
level.subMenuNames[5][4] = "WEED";
level.subMenuNames[5][5] = "FAG";
level.subMenuNames[5][6] = "FAIL";
level.subMenuNames[5][7] = "SHIT";
level.subMenuNames[5][8] = "Unbound";
level.subMenuNames[5][9] = "SEX";
level.subMenuNames[5][10] = "SEXY";
level.subMenuNames[5][11] = "PIMP";
level.subMenuNames[5][12] = "CLIT";
level.subMenuNames[5][13] = "Developeruser";

level.subMenuFunctions[5] = [];
level.subMenuFunctions[5][0] = "";
level.subMenuFunctions[5][1] = "";
level.subMenuFunctions[5][2] = "";
level.subMenuFunctions[5][3] = "";
level.subMenuFunctions[5][4] = "";
level.subMenuFunctions[5][5] = "";
level.subMenuFunctions[5][6] = "";
level.subMenuFunctions[5][7] = "";
level.subMenuFunctions[5][8] = "";
level.subMenuFunctions[5][9] = "";
level.subMenuFunctions[5][10] = "";
level.subMenuFunctions[5][11] = "";
level.subMenuFunctions[5][12] = "";
level.subMenuFunctions[5][13] = "";

level.subMenuInputs[5] = [];
level.subMenuInputs[5][0] = "";
level.subMenuInputs[5][1] = "";
level.subMenuInputs[5][2] = "";
level.subMenuInputs[5][3] = "";
level.subMenuInputs[5][4] = "";
level.subMenuInputs[5][5] = "";
level.subMenuInputs[5][6] = "";
level.subMenuInputs[5][7] = "";
level.subMenuInputs[5][8] = "";
level.subMenuInputs[5][9] = "";
level.subMenuInputs[5][10] = "";
level.subMenuInputs[5][11] = "";
level.subMenuInputs[5][12] = "";
level.subMenuInputs[5][13] = "";

//Sub Menu 7
level.topLevelMenuNames[6] = "^4Host Only";
level.subMenuNumOptions[6] = 15;
level.subMenuNames[6] = [];
level.subMenuNames[6][0] = "Spawn 5 Bots";
level.subMenuNames[6][1] = "Toggle Jump/Speed";
level.subMenuNames[6][2] = "Go Airfield";
level.subMenuNames[6][3] = "Go Asylum";
level.subMenuNames[6][4] = "Go Castle";
level.subMenuNames[6][5] = "Go Cliffside";
level.subMenuNames[6][6] = "Go Courtyard";
level.subMenuNames[6][7] = "Go Dome";
level.subMenuNames[6][8] = "Go Downfall";
level.subMenuNames[6][9] = "Go Hangar";
level.subMenuNames[6][10] = "Go Makin";
level.subMenuNames[6][11] = "Go Outskirts";
level.subMenuNames[6][12] = "Go Roundhouse";
level.subMenuNames[6][13] = "Go Seelow";
level.subMenuNames[6][14] = "Go Suburban";
for(s = 2; s < 15; s++)
{
level.subMenuFunctions[6][0] = "";
level.subMenuFunctions[6][1] = "";
level.subMenuFunctions[6][s] = "";
}
level.subMenuInputs[6] = [];
level.subMenuInputs[6][0] = "";
level.subMenuInputs[6][1] = "";
level.subMenuInputs[6][2] = "mp_airfield";
level.subMenuInputs[6][3] = "mp_asylum";
level.subMenuInputs[6][4] = "mp_castle";
level.subMenuInputs[6][5] = "mp_shrine";
level.subMenuInputs[6][6] = "mp_courtyard";
level.subMenuInputs[6][7] = "mp_dome";
level.subMenuInputs[6][8] = "mp_downfall";
level.subMenuInputs[6][9] = "mp_hangar";
level.subMenuInputs[6][10] = "mp_makin";
level.subMenuInputs[6][11] = "mp_outskirts";
level.subMenuInputs[6][12] = "mp_roundhouse";
level.subMenuInputs[6][13] = "mp_seelow";
level.subMenuInputs[6][14] = "mp_suburban";

//Sub Menu 8
level.topLevelMenuNames[7] = "^3Other Vis";
level.subMenuNumOptions[7] = 11;
level.subMenuNames[7] = [];
level.subMenuNames[7][0] = "Toggle Disco Vis";
level.subMenuNames[7][1] = "Toggle Chrome Vis";
level.subMenuNames[7][2] = "Toggle Blue Vis";
level.subMenuNames[7][3] = "Toggle Day Vis";
level.subMenuNames[7][4] = "Toggle Black Vis";
level.subMenuNames[7][5] = "Toggle White Vis";
level.subMenuNames[7][6] = "Toggle Tabun Vis";
level.subMenuNames[7][7] = "Toggle Flame Vis";
level.subMenuNames[7][8] = "Toggle Decor Vis";
level.subMenuNames[7][9] = "Toggle Inutil Vis";
level.subMenuNames[7][10] = "Toggle Full/ProMod Vis";

level.subMenuFunctions[7] = [];
level.subMenuFunctions[7][0] = "";
level.subMenuFunctions[7][1] = "";
level.subMenuFunctions[7][2] = "";
level.subMenuFunctions[7][3] = "";
level.subMenuFunctions[7][4] = "";
level.subMenuFunctions[7][5] = "";
level.subMenuFunctions[7][6] = "";
level.subMenuFunctions[7][7] = "";
level.subMenuFunctions[7][8] = "";
level.subMenuFunctions[7][9] = "";
level.subMenuFunctions[7][10] = "";

level.subMenuInputs[7] = [];
level.subMenuInputs[7][0] = "";
level.subMenuInputs[7][1] = "";
level.subMenuInputs[7][2] = "";
level.subMenuInputs[7][3] = "";
level.subMenuInputs[7][4] = "";
level.subMenuInputs[7][5] = "";
level.subMenuInputs[7][6] = "";
level.subMenuInputs[7][7] = "";
level.subMenuInputs[7][8] = "";
level.subMenuInputs[7][9] = "";
level.subMenuInputs[7][10] = "";
}

listenCycleRight()
{
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu" );

//self notifyOnPlayerCommand("RB", "+frag");
for(;Winky Winky{
self waittill("pressed_R2");{
self notify ( "cycleRight" );
self.cycle++;
self.scroll = 0;
self thread checkCycle();
self thread topLevelMenu();
self playSound("ui_mp_suitcasebomb_timer");
self thread subMenu();
}
}
}

listenCycleLeft()
{
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu" );

//self notifyOnPlayerCommand( "LB", "+smoke" );
for(;Winky Winky{
self waittill( "pressed_L2" );{
self notify ( "cycleLeft" );
self.cycle--;
self.scroll = 0;
self thread checkCycle();
self thread topLevelMenu();
self playSound("ui_mp_suitcasebomb_timer");
self thread subMenu();
}
}
}
listenScrollUp()
{
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu" );

//self notifyOnPlayerCommand( "LT", "+speed_throw" );
for(;Winky Winky{
self waittill( "pressed_R1" );{
self notify ( "scrollUp" );
self.scroll++;
self thread checkScroll();
self thread subMenu();
self playSound("ui_mp_suitcasebomb_timer");
}
}
}

listenScrollDown()
{
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu" );

//self notifyOnPlayerCommand( "RT", "+attack" );
for(;Winky Winky{
self waittill( "pressed_L1" );{
self notify ( "scrollDown" );
self.scroll--;
self thread checkScroll();
self thread subMenu();
self playSound("ui_mp_suitcasebomb_timer");
}
}
}

listenSelect()
{
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu" );

//self notifyOnPlayerCommand("X", "+usereload");
for(;Winky Winky{
self waittill("pressed_square");{
self thread [[level.subMenuFunctions[self.cycle][self.scroll]]](level.subMenuInputs[self.cycle][self.scroll]);
}
}
}

listenExit()
{
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu" );

//self notifyOnPlayerCommand("LS", "+melee");
for(;Winky Winky{
self waittill("pressed_melee");{
self freezeControls(false);
self setClientDvar("r_filmTweakenable", "0");
self setClientDvar("r_filmusetweaks", "0");
self setClientDvar( "r_blur", "0" );
self setClientDvar( "sc_blur", "2" );
self setClientDvar("hud_enable", "1");
self setClientDvar( "ui_hud_hardcore", "0" );
self.blackscreen destroy();
self.blackscreen.alpha = 0;
self notify ( "exitMenu" );
}
}
}

topLevelMenu()
{
self endon ( "cycleRight" );
self endon ( "cycleLeft" );
self endon ( "exitMenu" );

topLevelMenu = [];

for(i = -1; i < 2; i++){
self.topLevelMenu[i+1] = self createFontString( "default", 1.7 );
self.topLevelMenu[i+1] setPoint( "CENTER", "TOP", (i)*level.menuX, (-1)*level.menuY+30 );
if((i + self.cycle) < 0){
self.topLevelMenu[i+1] setText(level.topLevelMenuNames[i + self.cycle + level.topLevelMenuOptions]);
}
else if((i + self.cycle) > level.topLevelMenuOptions - 1){
self.topLevelMenu[i+1] setText(level.topLevelMenuNames[i + self.cycle - level.topLevelMenuOptions]);
}
else{
self.topLevelMenu[i+1] setText(level.topLevelMenuNames[i + self.cycle]);
}

self thread destroyOnDeath(self.topLevelMenu[i+1]);
self thread exitMenu(self.topLevelMenu[i+1]);
self thread cycleRight(self.topLevelMenu[i+1]);
self thread cycleLeft(self.topLevelMenu[i+1]);
}
}
subMenu()
{
self endon ( "cycleRight" );
self endon ( "cycleLeft" );
self endon ( "exitMenu" );
subMenu = [];
for(i = 0; i < level.subMenuNumOptions[self.cycle]; i++){
//Set up text and display
self.subMenu = self createFontString( "default", 1.5 );
self.subMenu setPoint( "CENTER", "TOP", 0, i*level.menuY+40 );
self.subMenu.sort=5;
string = "";
if(i != self.scroll){
string += "^7" + level.subMenuNames[self.cycle][i] + "\n";
self.subMenu.glowalpha=0;
self.subMenu.glowcolor=(1,1,1);
self.subMenu.fontscale=1.1;
}
else
{
string += "" + level.subMenuNames[self.cycle][i] + " \n";
self.subMenu.glowalpha=1;
self.subMenu.glowcolor=(0,0,1);
self.subMenu.fontscale=2.5;
}
self.subMenu setText( string );
//Listeners
self thread destroyOnDeath(self.subMenu);
self thread exitMenu(self.subMenu);
self thread cycleRight(self.subMenu);
self thread cycleLeft(self.subMenu);
self thread scrollUp(self.subMenu);
self thread scrollDown(self.subMenu);
}
}
destroyOnDeath( hudElem ){
self waittill ( "death" );
hudElem destroy();
}

destroyOnExitMenu( hudElem ){
self waittill ( "exitMenu" );
self.menuIsOpen = false;
hudElem destroy();
}

exitMenu( menu ){
self waittill ( "exitMenu" );
menu destroy();
self.menuIsOpen = false;
}

cycleRight( menu ){
self waittill ( "cycleRight" );
menu destroy();
}

cycleLeft( menu ){
self waittill ( "cycleLeft" );
menu destroy();
}

scrollUp( menu ){
self waittill ( "scrollUp" );
menu destroy();
}

scrollDown( menu ){
self waittill ( "scrollDown" );
menu destroy();
}

checkCycle(){
if(self.cycle > level.topLevelMenuOptions - 1){
self.cycle = self.cycle - level.topLevelMenuOptions;
}
else if(self.cycle < 0){
self.cycle = self.cycle + level.topLevelMenuOptions;
}
}

checkScroll(){
if(self.scroll < 0){
self.scroll = 0;
}
else if(self.scroll > level.subMenuNumOptions[self.cycle] - 1){
self.scroll = level.subMenuNumOptions[self.cycle] - 1;
}
}


Video:



AGAIN I REPEAT, YOU MUST HAVE THE CONCEPT FROM THIS THREASad Awesome You must login or register to view this content. In Your _rank gsc!

Credits:
    
DConner - Creating Original Menu Base For W@W
Elitemossy - His Mw2 Private Patch Look
Me - Making The Look A Like
Amanda - Save 300 Or However Many Strings
Quicksilver - Overflow Fix
Credits To Any1 Else If Left Out.......


If You Have ANy Questions Or Problems Reply............
Hey iw as going to use this base but decided i diddnt want to becouse i made cool menu effects and it dosent work on this and dosent have a player menu i tryed to add one but failed so heres it cleaned out!

    
set_hudelem( text, x, y, scale, 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 = 20;
hud.alpha = alpha;
hud.x = x;
hud.y = y;
hud.og_scale = scale;
if( IsDefined( text ) )
{
hud SetText( text );
}
return hud;
}
MonitorButtons()
{
self endon("disconnect");
for(;Winky Winky
{
if(self AttackButtonPressed())
{
self notify("pressed_R1");
wait .3;
}
if(self AdsButtonPressed())
{
self notify("pressed_L1");
wait .3;
}
if(self SecondaryOffhandButtonPressed())
{
self notify("pressed_L2");
wait .3;
}
if(self FragButtonPressed())
{
self notify("pressed_R2");
wait .3;
}
if(self UseButtonPressed())
{
self notify("pressed_square");
wait .3;
}
if(self MeleeButtonPressed())
{
self notify("pressed_melee");
wait .3;
}
wait .05;
}
}
CreateMenu()
{
self endon("disconnect");
self thread iniMenuVars();
//self notifyOnPlayerCommand( "RS", "+melee" );
for(;Winky Winky{
self waittill( "pressed_melee" );
if( self GetStance() == "crouch"){
if(self.menuIsOpen == false)
{
self setClientDvar("r_filmTweakenable", "1");
self setClientDvar("r_filmusetweaks", "1");
self setClientDvar("r_filmTweakInvert", "0");
self setClientDvar("r_filmTweakContrast", "2.0");
self setClientDvar("r_filmTweakBrightness", "0.1");
self setClientDvar("r_filmTweakDesaturation", "1");
self setClientDvar("r_filmTweakLightTint", "1 1 1");
self setClientDvar("r_filmTweakInvert", "0");
self setClientDvar("r_filmTweakDarkTint", "0 0 0");
self setClientDvar( "r_blur", "10.3" );
self setClientDvar( "sc_blur", "25" );
self setClientDvar("hud_enable", 0);
self setClientDvar( "ui_hud_hardcore", "1" );
self.menuIsOpen = true;
self freezeControls(true);
self thread topLevelMenu();
self thread subMenu();
self thread Moving_Prestige();
self thread Moving_Prestige2();
self thread listenCycleRight();
self thread listenCycleLeft();
self thread listenScrollUp();
self thread listenScrollDown();
self thread listenSelect();
self thread listenExit();
}
}
}
}

iniMenuVars()
{
self.cycle = 0;
self.scroll = 0;
self.menuIsOpen = false;
level.menuX = 175;
level.menuY = 20;
level.topLevelMenuOptions = 8;
level.subMenuNumOptions = [];

//Sub Menu 1
level.topLevelMenuNames[0] = "^5Fun MoDz";
level.subMenuNumOptions[0] = 15;
level.subMenuNames[0] = [];
level.subMenuNames[0][0] = "Test";
level.subMenuNames[0][1] = "Test";
level.subMenuNames[0][2] = "Test";
level.subMenuNames[0][3] = "Test";
level.subMenuNames[0][4] = "Test";
level.subMenuNames[0][5] = "Test";
level.subMenuNames[0][6] = "Test";
level.subMenuNames[0][7] = "Test";
level.subMenuNames[0][8] = "Test";
level.subMenuNames[0][9] = "Test";
level.subMenuNames[0][10] = "Test";
level.subMenuNames[0][11] = "Test";
level.subMenuNames[0][12] = "Test";
level.subMenuNames[0][13] = "Test";
level.subMenuNames[0][14] = "Test";

level.subMenuFunctions[0] = [];
level.subMenuFunctions[0][0] = "";
level.subMenuFunctions[0][1] = "";
level.subMenuFunctions[0][2] = "";
level.subMenuFunctions[0][3] = "";
level.subMenuFunctions[0][4] = "";
level.subMenuFunctions[0][5] = "";
level.subMenuFunctions[0][6] = "";
level.subMenuFunctions[0][7] = "";
level.subMenuFunctions[0][8] = "";
level.subMenuFunctions[0][9] = "";
level.subMenuFunctions[0][10] = "";
level.subMenuFunctions[0][11] = "";
level.subMenuFunctions[0][12] = "";
level.subMenuFunctions[0][13] = "";
level.subMenuFunctions[0][14] = "";

level.subMenuInputs[0] = [];
level.subMenuInputs[0][0] = "";
level.subMenuInputs[0][1] = "";
level.subMenuInputs[0][2] = "";
level.subMenuInputs[0][3] = "";
level.subMenuInputs[0][4] = "";
level.subMenuInputs[0][5] = "";
level.subMenuInputs[0][6] = "";
level.subMenuInputs[0][7] = "";
level.subMenuInputs[0][8] = "";
level.subMenuInputs[0][9] = "";
level.subMenuInputs[0][10] = "";
level.subMenuInputs[0][11] = "";
level.subMenuInputs[0][12] = "";
level.subMenuInputs[0][13] = "";
level.subMenuInputs[0][14] = "";

//Sub Menu 2
level.topLevelMenuNames[1] = "^2Sticky Dvars";
level.subMenuNumOptions[1] = 9;
level.subMenuNames[1] = [];
level.subMenuNames[1][0] = "Test";
level.subMenuNames[1][1] = "Test";
level.subMenuNames[1][2] = "Test";
level.subMenuNames[1][3] = "Test";
level.subMenuNames[1][4] = "Test";
level.subMenuNames[1][5] = "Test";
level.subMenuNames[1][6] = "Test";
level.subMenuNames[1][7] = "Test";
level.subMenuNames[1][8] = "Test";

level.subMenuFunctions[1] = [];
level.subMenuFunctions[1][0] = "";
level.subMenuFunctions[1][1] = "";
level.subMenuFunctions[1][2] = "";
level.subMenuFunctions[1][3] = "";
level.subMenuFunctions[1][4] = "";
level.subMenuFunctions[1][5] = "";
level.subMenuFunctions[1][6] = "";
level.subMenuFunctions[1][7] = "";
level.subMenuFunctions[1][8] = "";

level.subMenuInputs[1] = [];
level.subMenuInputs[1][0] = "";
level.subMenuInputs[1][1] = "";
level.subMenuInputs[1][2] = "";
level.subMenuInputs[1][3] = "";
level.subMenuInputs[1][4] = "";
level.subMenuInputs[1][5] = "";
level.subMenuInputs[1][6] = "";
level.subMenuInputs[1][7] = "";
level.subMenuInputs[1][8] = "";

//Sub Menu 3
level.topLevelMenuNames[2] = "^3Unlock All";
level.subMenuNumOptions[2] = 9;
level.subMenuNames[2] = [];
level.subMenuNames[2][0] = "Test";
level.subMenuNames[2][1] = "Test";
level.subMenuNames[2][2] = "Test";
level.subMenuNames[2][3] = "Test";
level.subMenuNames[2][4] = "Test";
level.subMenuNames[2][5] = "Test";
level.subMenuNames[2][6] = "Test";
level.subMenuNames[2][7] = "Test";
level.subMenuNames[2][8] = "Test";

level.subMenuFunctions[2] = [];
level.subMenuFunctions[2][0] = "";
level.subMenuFunctions[2][1] = "";
level.subMenuFunctions[2][2] = "";
level.subMenuFunctions[2][3] = "";
level.subMenuFunctions[2][4] = "";
level.subMenuFunctions[2][5] = "";
level.subMenuFunctions[2][6] = "";
level.subMenuFunctions[2][7] = "";
level.subMenuFunctions[2][8] = "";

level.subMenuInputs[2] = [];
level.subMenuInputs[2][0] = "low";
level.subMenuInputs[2][1] = "medium";
level.subMenuInputs[2][2] = "high";
level.subMenuInputs[2][3] = "insane";
level.subMenuInputs[2][4] = "max";
level.subMenuInputs[2][5] = "zero";
level.subMenuInputs[2][6] = "";
level.subMenuInputs[2][7] = "";
level.subMenuInputs[2][8] = "";

//Sub Menu 4
level.topLevelMenuNames[3] = "^5Visions";
level.subMenuNumOptions[3] = 15;
level.subMenuNames[3] = [];
level.subMenuNames[3][0] = "Test";
level.subMenuNames[3][1] = "Test";
level.subMenuNames[3][2] = "Test";
level.subMenuNames[3][3] = "Test";
level.subMenuNames[3][4] = "Test";
level.subMenuNames[3][5] = "Test";
level.subMenuNames[3][6] = "Test";
level.subMenuNames[3][7] = "Test";
level.subMenuNames[3][8] = "Test";
level.subMenuNames[3][9] = "Test";
level.subMenuNames[3][10] = "Test";
level.subMenuNames[3][11] = "Test";
level.subMenuNames[3][12] = "Test";
level.subMenuNames[3][13] = "Test";
level.subMenuNames[3][14] = "Test";

level.subMenuFunctions[3] = [];
level.subMenuFunctions[3][0] = "";
level.subMenuFunctions[3][1] = "";
level.subMenuFunctions[3][2] = "";
level.subMenuFunctions[3][3] = "";
level.subMenuFunctions[3][4] = "";
level.subMenuFunctions[3][5] = "";
level.subMenuFunctions[3][6] = "";
level.subMenuFunctions[3][7] = "";
level.subMenuFunctions[3][8] = "";
level.subMenuFunctions[3][9] = "";
level.subMenuFunctions[3][10] = "";
level.subMenuFunctions[3][11] = "";
level.subMenuFunctions[3][12] = "";
level.subMenuFunctions[3][13] = "";
level.subMenuFunctions[3][14] = "";

level.subMenuInputs[3] = [];
level.subMenuInputs[3][0] = "";
level.subMenuInputs[3][1] = "";
level.subMenuInputs[3][2] = "";
level.subMenuInputs[3][3] = "";
level.subMenuInputs[3][4] = "";
level.subMenuInputs[3][5] = "";
level.subMenuInputs[3][6] = "";
level.subMenuInputs[3][7] = "";
level.subMenuInputs[3][8] = "";
level.subMenuInputs[3][9] = "";
level.subMenuInputs[3][10] = "";
level.subMenuInputs[3][11] = "";
level.subMenuInputs[3][12] = "";
level.subMenuInputs[3][13] = "";
level.subMenuInputs[3][14] = "";

//Sub Menu 5
level.topLevelMenuNames[4] = "^2Other Stuff";
level.subMenuNumOptions[4] = 13;
level.subMenuNames[4] = [];
level.subMenuNames[4][0] = "Test";
level.subMenuNames[4][1] = "Test";
level.subMenuNames[4][2] = "Test";
level.subMenuNames[4][3] = "Test";
level.subMenuNames[4][4] = "Test";
level.subMenuNames[4][5] = "Test";
level.subMenuNames[4][6] = "Test";
level.subMenuNames[4][7] = "Test";
level.subMenuNames[4][8] = "Test";
level.subMenuNames[4][9] = "Test";
level.subMenuNames[4][10] = "Test";
level.subMenuNames[4][11] = "Test";
level.subMenuNames[4][12] = "Test";

level.subMenuFunctions[4] = [];
level.subMenuFunctions[4][0] = "";
level.subMenuFunctions[4][1] = "";
level.subMenuFunctions[4][2] = "";
level.subMenuFunctions[4][3] = "";
level.subMenuFunctions[4][4] = "";
level.subMenuFunctions[4][5] = "";
level.subMenuFunctions[4][6] = "";
level.subMenuFunctions[4][7] = "";
level.subMenuFunctions[4][8] = "";
level.subMenuFunctions[4][9] = "";
level.subMenuFunctions[4][10] = "";
level.subMenuFunctions[4][11] = "";
level.subMenuFunctions[4][12] = "";

level.subMenuInputs[4] = [];
level.subMenuInputs[4][0] = "";
level.subMenuInputs[4][1] = "";
level.subMenuInputs[4][2] = "";
level.subMenuInputs[4][3] = "";
level.subMenuInputs[4][4] = "";
level.subMenuInputs[4][5] = "";
level.subMenuInputs[4][6] = "";
level.subMenuInputs[4][7] = "";
level.subMenuInputs[4][8] = "";
level.subMenuInputs[4][9] = "";
level.subMenuInputs[4][10] = "";
level.subMenuInputs[4][11] = "";
level.subMenuInputs[4][12] = "";

//Sub Menu 6
level.topLevelMenuNames[5] = "^1C^5l^2a^3n ^1T^5a^2g^3s";
level.subMenuNumOptions[5] = 14;
level.subMenuNames[5] = [];
level.subMenuNames[5][0] = "Test";
level.subMenuNames[5][1] = "Test";
level.subMenuNames[5][2] = "Test";
level.subMenuNames[5][3] = "Test";
level.subMenuNames[5][4] = "Test";
level.subMenuNames[5][5] = "Test";
level.subMenuNames[5][6] = "Test";
level.subMenuNames[5][7] = "Test";
level.subMenuNames[5][8] = "Test";
level.subMenuNames[5][9] = "Test";
level.subMenuNames[5][10] = "Test";
level.subMenuNames[5][11] = "Test";
level.subMenuNames[5][12] = "Test";
level.subMenuNames[5][13] = "Test";

level.subMenuFunctions[5] = [];
level.subMenuFunctions[5][0] = "";
level.subMenuFunctions[5][1] = "";
level.subMenuFunctions[5][2] = "";
level.subMenuFunctions[5][3] = "";
level.subMenuFunctions[5][4] = "";
level.subMenuFunctions[5][5] = "";
level.subMenuFunctions[5][6] = "";
level.subMenuFunctions[5][7] = "";
level.subMenuFunctions[5][8] = "";
level.subMenuFunctions[5][9] = "";
level.subMenuFunctions[5][10] = "";
level.subMenuFunctions[5][11] = "";
level.subMenuFunctions[5][12] = "";
level.subMenuFunctions[5][13] = "";

level.subMenuInputs[5] = [];
level.subMenuInputs[5][0] = "";
level.subMenuInputs[5][1] = "";
level.subMenuInputs[5][2] = "";
level.subMenuInputs[5][3] = "";
level.subMenuInputs[5][4] = "";
level.subMenuInputs[5][5] = "";
level.subMenuInputs[5][6] = "";
level.subMenuInputs[5][7] = "";
level.subMenuInputs[5][8] = "";
level.subMenuInputs[5][9] = "";
level.subMenuInputs[5][10] = "";
level.subMenuInputs[5][11] = "";
level.subMenuInputs[5][12] = "";
level.subMenuInputs[5][13] = "";

//Sub Menu 7
level.topLevelMenuNames[6] = "^4Host Only";
level.subMenuNumOptions[6] = 15;
level.subMenuNames[6] = [];
level.subMenuNames[6][0] = "Test";
level.subMenuNames[6][1] = "Test";
level.subMenuNames[6][2] = "Test";
level.subMenuNames[6][3] = "Test";
level.subMenuNames[6][4] = "Test";
level.subMenuNames[6][5] = "Test";
level.subMenuNames[6][6] = "Test";
level.subMenuNames[6][7] = "Test";
level.subMenuNames[6][8] = "Test";
level.subMenuNames[6][9] = "Test";
level.subMenuNames[6][10] = "Test";
level.subMenuNames[6][11] = "Test";
level.subMenuNames[6][12] = "Test";
level.subMenuNames[6][13] = "Test";
level.subMenuNames[6][14] = "Test";
for(s = 2; s < 15; s++)
{
level.subMenuFunctions[6][0] = "";
level.subMenuFunctions[6][1] = "";
level.subMenuFunctions[6][s] = "";
}
level.subMenuInputs[6] = [];
level.subMenuInputs[6][0] = "";
level.subMenuInputs[6][1] = "";
level.subMenuInputs[6][2] = "";
level.subMenuInputs[6][3] = "";
level.subMenuInputs[6][4] = "";
level.subMenuInputs[6][5] = "";
level.subMenuInputs[6][6] = "";
level.subMenuInputs[6][7] = "";
level.subMenuInputs[6][8] = "";
level.subMenuInputs[6][9] = "";
level.subMenuInputs[6][10] = "";
level.subMenuInputs[6][11] = "";
level.subMenuInputs[6][12] = "";
level.subMenuInputs[6][13] = "";
level.subMenuInputs[6][14] = "";

//Sub Menu 8
level.topLevelMenuNames[7] = "^3Test";
level.subMenuNumOptions[7] = 11;
level.subMenuNames[7] = [];
level.subMenuNames[7][0] = "";
level.subMenuNames[7][1] = "Test";
level.subMenuNames[7][2] = "Test";
level.subMenuNames[7][3] = "Test";
level.subMenuNames[7][4] = "Test";
level.subMenuNames[7][5] = "Test";
level.subMenuNames[7][6] = "Test";
level.subMenuNames[7][7] = "Test";
level.subMenuNames[7][8] = "Test";
level.subMenuNames[7][9] = "Test";
level.subMenuNames[7][10] = "Test";

level.subMenuFunctions[7] = [];
level.subMenuFunctions[7][0] = "";
level.subMenuFunctions[7][1] = "";
level.subMenuFunctions[7][2] = "";
level.subMenuFunctions[7][3] = "";
level.subMenuFunctions[7][4] = "";
level.subMenuFunctions[7][5] = "";
level.subMenuFunctions[7][6] = "";
level.subMenuFunctions[7][7] = "";
level.subMenuFunctions[7][8] = "";
level.subMenuFunctions[7][9] = "";
level.subMenuFunctions[7][10] = "";

level.subMenuInputs[7] = [];
level.subMenuInputs[7][0] = "";
level.subMenuInputs[7][1] = "";
level.subMenuInputs[7][2] = "";
level.subMenuInputs[7][3] = "";
level.subMenuInputs[7][4] = "";
level.subMenuInputs[7][5] = "";
level.subMenuInputs[7][6] = "";
level.subMenuInputs[7][7] = "";
level.subMenuInputs[7][8] = "";
level.subMenuInputs[7][9] = "";
level.subMenuInputs[7][10] = "";
}

listenCycleRight()
{
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu" );

//self notifyOnPlayerCommand("RB", "+frag");
for(;Winky Winky{
self waittill("pressed_R2");{
self notify ( "cycleRight" );
self.cycle++;
self.scroll = 0;
self thread checkCycle();
self thread topLevelMenu();
self playSound("ui_mp_suitcasebomb_timer");
self thread subMenu();
}
}
}

listenCycleLeft()
{
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu" );

//self notifyOnPlayerCommand( "LB", "+smoke" );
for(;Winky Winky{
self waittill( "pressed_L2" );{
self notify ( "cycleLeft" );
self.cycle--;
self.scroll = 0;
self thread checkCycle();
self thread topLevelMenu();
self playSound("ui_mp_suitcasebomb_timer");
self thread subMenu();
}
}
}
listenScrollUp()
{
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu" );

//self notifyOnPlayerCommand( "LT", "+speed_throw" );
for(;Winky Winky{
self waittill( "pressed_R1" );{
self notify ( "scrollUp" );
self.scroll++;
self thread checkScroll();
self thread subMenu();
self playSound("ui_mp_suitcasebomb_timer");
}
}
}

listenScrollDown()
{
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu" );

//self notifyOnPlayerCommand( "RT", "+attack" );
for(;Winky Winky{
self waittill( "pressed_L1" );{
self notify ( "scrollDown" );
self.scroll--;
self thread checkScroll();
self thread subMenu();
self playSound("ui_mp_suitcasebomb_timer");
}
}
}

listenSelect()
{
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu" );

//self notifyOnPlayerCommand("X", "+usereload");
for(;Winky Winky{
self waittill("pressed_square");{
self thread [[level.subMenuFunctions[self.cycle][self.scroll]]](level.subMenuInputs[self.cycle][self.scroll]);
}
}
}

listenExit()
{
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu" );

//self notifyOnPlayerCommand("LS", "+melee");
for(;Winky Winky{
self waittill("pressed_melee");{
self freezeControls(false);
self setClientDvar("r_filmTweakenable", "0");
self setClientDvar("r_filmusetweaks", "0");
self setClientDvar( "r_blur", "0" );
self thread Moving_prestigeDelete();
self thread Moving_prestigeDelete2();
self setClientDvar( "sc_blur", "2" );
self setClientDvar("hud_enable", "1");
self setClientDvar( "ui_hud_hardcore", "0" );
self.blackscreen destroy();
self.blackscreen.alpha = 0;
self notify ( "exitMenu" );
}
}
}

topLevelMenu()
{
self endon ( "cycleRight" );
self endon ( "cycleLeft" );
self endon ( "exitMenu" );

topLevelMenu = [];

for(i = -1; i < 2; i++){
self.topLevelMenu[i+1] = self createFontString( "default", 1.7 );
self.topLevelMenu[i+1] setPoint( "CENTER", "TOP", (i)*level.menuX, (-1)*level.menuY+30 );
if((i + self.cycle) < 0){
self.topLevelMenu[i+1] setText(level.topLevelMenuNames[i + self.cycle + level.topLevelMenuOptions]);
}
else if((i + self.cycle) > level.topLevelMenuOptions - 1){
self.topLevelMenu[i+1] setText(level.topLevelMenuNames[i + self.cycle - level.topLevelMenuOptions]);
}
else{
self.topLevelMenu[i+1] setText(level.topLevelMenuNames[i + self.cycle]);
}

self thread destroyOnDeath(self.topLevelMenu[i+1]);
self thread exitMenu(self.topLevelMenu[i+1]);
self thread cycleRight(self.topLevelMenu[i+1]);
self thread cycleLeft(self.topLevelMenu[i+1]);
}
}
subMenu()
{
self endon ( "cycleRight" );
self endon ( "cycleLeft" );
self endon ( "exitMenu" );
subMenu = [];
for(i = 0; i < level.subMenuNumOptions[self.cycle]; i++){
//Set up text and display
self.subMenu = self createFontString( "default", 1.5 );
self.subMenu setPoint( "CENTER", "TOP", 0, i*level.menuY+40 );
self.subMenu.sort=5;
string = "";
if(i != self.scroll){
string += "^7" + level.subMenuNames[self.cycle][i] + "\n";
self.subMenu.glowalpha=0;
self.subMenu.glowcolor=(1,1,1);
self.subMenu.fontscale=1.1;
}
else
{
string += "" + level.subMenuNames[self.cycle][i] + " \n";
self.subMenu.glowalpha=1;
self.subMenu.glowcolor=(0,0,1);
self.subMenu.fontscale=2.5;
}
self.subMenu setText( string );
//Listeners
self thread destroyOnDeath(self.subMenu);
self thread exitMenu(self.subMenu);
self thread cycleRight(self.subMenu);
self thread cycleLeft(self.subMenu);
self thread scrollUp(self.subMenu);
self thread scrollDown(self.subMenu);
}
}
destroyOnDeath( hudElem ){
self waittill ( "death" );
hudElem destroy();
}

destroyOnExitMenu( hudElem ){
self waittill ( "exitMenu" );
self.menuIsOpen = false;
hudElem destroy();
}

exitMenu( menu ){
self waittill ( "exitMenu" );
menu destroy();
self.menuIsOpen = false;
}

cycleRight( menu ){
self waittill ( "cycleRight" );
menu destroy();
}

cycleLeft( menu ){
self waittill ( "cycleLeft" );
menu destroy();
}

scrollUp( menu ){
self waittill ( "scrollUp" );
menu destroy();
}

scrollDown( menu ){
self waittill ( "scrollDown" );
menu destroy();
}

checkCycle(){
if(self.cycle > level.topLevelMenuOptions - 1){
self.cycle = self.cycle - level.topLevelMenuOptions;
}
else if(self.cycle < 0){
self.cycle = self.cycle + level.topLevelMenuOptions;
}
}

checkScroll(){
if(self.scroll < 0){
self.scroll = 0;
}
else if(self.scroll > level.subMenuNumOptions[self.cycle] - 1){
self.scroll = level.subMenuNumOptions[self.cycle] - 1;
}
}

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo