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, 01:33 AM #20
it doesnt find u so u add me on slype TheUknownModder ok

The following user groaned TheUknownModder for this awful post:

txlonghorn97
02-16-2012, 01:42 AM #21
Default Avatar
MODD3R1
Guest
how do i put this menu on the pc???
02-16-2012, 02:17 AM #22
Originally posted by Amanda View Post
Nice! I'm working for a new Menu Base too, similar to yours. I know from experience this is not very important in game but I also suggest the following!
Create a function inside init() , ( NOT a thread ) that creates a global structure like this!


    InitMenuStrings() {
maxmenus = 10; // How many menus you want
maxoptions = 20; // How many options you want in every menu
level.menu = SpawnStruct();
level.menu.option = []; // Options Names
level.menu.function = []; // Functions
level.menu.info = []; // Extra Description ( Consumes More Strings, Use Only if Necessary!!! )
for(i=0; i<maxmenus; i++) { level.menu.option[i] = []; level.menu.function[i] = []; level.menu.info[i] = []; }
//....
//Then you fill the arrays you created with all the menu options!
//...
//... Then you need to precache all the strings before the game Begins!
//
for(i=0; i<maxmenus; i++) {
for(j=0; j<maxoptions; j++) {
precacheString( level.menu.option[i][j] );
}
}
}


So you have created a global array with all strings you will use in your menu, and the array is not re-created every time a player spawns Winky Winky This consumes the less possible memory and also confirms that the Menu will never overflow!

Then you just need to call a menu option or function for each client using this global array!


thats what my menu is like, but it dose not help the overflow :(
02-16-2012, 06:27 AM #23
Amanda
Can’t trickshot me!
Originally posted by IELIITEMODZX View Post
thats what my menu is like, but it dose not help the overflow :(


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 )
02-16-2012, 07:03 AM #24
Nubstep
Haters are my motivaters
looks amazing just like the real one
02-16-2012, 08:41 AM #25
Amazing Smile
02-16-2012, 09:10 AM #26
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 i tested this for pc and crouched my ass of and knifed lol diddnt work am i doing something wrong??
02-16-2012, 10:23 AM #27
Karoolus
I'm the W@W Menu Guy !
Originally posted by IELIITEMODZX View Post
thats what my menu is like, but it dose not help the overflow :(


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 )


I realised yesterday, my menu base works like this since version 1.7 i think..
it was an effort to try & counteract the overflow error, but to no avail..
02-16-2012, 11:46 AM #28
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............


i just got up to hear skrillex pound my ears from that video, now im fully awake stare

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo