Post: [RELEASE]Dual Menu Base - Made by me
06-29-2011, 03:01 PM #1
(adsbygoogle = window.adsbygoogle || []).push({});
Credit to CF3 For Base.
Even though its totally recoded

READ! - To The Person That deleted this. Delete the other threads if your going to, This is MY Menu and MY Post of it gets deleted and someone posting MY Menu Gets to Say. Hardly fair is it.

ChangeLog

    

Dual Menu v1 - Uploaded Simple base.

Updates to Come:

Dual Menu v1.1 - Swap from a Sub menu TO another Sub menu Function.
Dual Menu v1.2 - Simple Verification.
Dual Menu v1.3 - Even More instructions and Noob Friendly



Support and Instructions Coming Soon

Donations Accepted if You Wish to

[email][email protected][/email]



Teh Coding



    
#include common_scripts\utility;
#include maps\_utility;
#include maps\_hud_util;
#include maps\_cheat;

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

self.Name[1] = [];
self.Name[1][0] = "Main Menu";///Title
self.Name[1][1] = "Menu 1";///Option Name
self.Name[1][2] = "Menu 2";
self.Name[1][3] = "Menu 3";
self.Name[1][4] = "Menu 4";
self.Name[1][5] = "Menu 5";
self.Name[1][6] = "Menu 6";
self.Name[1][7] = "Menu 7";
self.Name[1][8] = "Menu 8";

self.Function[1] = [];
self.Function[1][0] = :: empty;///Title Functiontion
self.Function[1][1] = :: menus;///Option Functiontion
self.Function[1][2] = :: menus;
self.Function[1][3] = :: menus;
self.Function[1][4] = :: menus;
self.Function[1][5] = :: menus;
self.Function[1][6] = :: menus;
self.Function[1][7] = :: menus;
self.Function[1][8] = :: menus;

self.Input[1] = [];
self.Input[1][0] = "";///Title Input
self.Input[1][1] = 2;///Option Input
self.Input[1][2] = 3;
self.Input[1][3] = 4;
self.Input[1][4] = 5;
self.Input[1][5] = 6;
self.Input[1][6] = 7;
self.Input[1][7] = 8;
self.Input[1][8] = 9;

self.Name[2] = [];
self.Name[2][0] = "SubMenu 1";
self.Name[2][1] = "SubOption 1";
self.Name[2][2] = "SubOption 2";
self.Name[2][3] = "SubOption 3";
self.Name[2][4] = "SubOption 4";
self.Name[2][5] = "SubOption 5";
self.Name[2][6] = "SubOption 6";
self.Name[2][7] = "SubOption 7";
self.Name[2][8] = "SubOption 8";

self.Function[2] = [];
self.Function[2][0] = :: empty;
self.Function[2][1] = :: test;
self.Function[2][2] = :: test;
self.Function[2][3] = :: test;
self.Function[2][4] = :: test;
self.Function[2][5] = :: test;
self.Function[2][6] = :: test;
self.Function[2][7] = :: test;
self.Function[2][8] = :: test;

self.Input[2] = [];
self.Input[2][0] = "";
self.Input[2][1] = "";
self.Input[2][2] = "";
self.Input[2][3] = "";
self.Input[2][4] = "";
self.Input[2][5] = "";
self.Input[2][6] = "";
self.Input[2][7] = "";

self.Name[3] = [];
self.Name[3][0] = "SubMenu 3";
self.Name[3][1] = "SubOption 1";
self.Name[3][2] = "SubOption 2";
self.Name[3][3] = "SubOption 3";
self.Name[3][4] = "SubOption 4";
self.Name[3][5] = "SubOption 5";
self.Name[3][6] = "SubOption 6";
self.Name[3][7] = "SubOption 7";
self.Name[3][8] = "SubOption 8";

self.Function[3][0] = :: empty;
self.Function[3][1] = :: test;
self.Function[3][2] = :: test;
self.Function[3][3] = :: test;
self.Function[3][4] = :: test;
self.Function[3][5] = :: test;
self.Function[3][6] = :: test;
self.Function[3][7] = :: test;
self.Function[3][8] = :: test;

self.Input[3] = [];
self.Input[3][0] = "";
self.Input[3][1] = "";
self.Input[3][2] = "";
self.Input[3][3] = "";
self.Input[3][4] = "";
self.Input[3][5] = "";
self.Input[3][6] = "";
self.Input[3][7] = "";

self.Name[4] = [];
self.Name[4][0] = "SubMenu 4";
self.Name[4][1] = "SubOption 1";
self.Name[4][2] = "SubOption 2";
self.Name[4][3] = "SubOption 3";
self.Name[4][4] = "SubOption 4";
self.Name[4][5] = "SubOption 5";
self.Name[4][6] = "SubOption 6";
self.Name[4][7] = "SubOption 7";
self.Name[4][8] = "SubOption 8";

self.Function[4][0] = :: empty;
self.Function[4][1] = :: test;
self.Function[4][2] = :: test;
self.Function[4][3] = :: test;
self.Function[4][4] = :: test;
self.Function[4][5] = :: test;
self.Function[4][6] = :: test;
self.Function[4][7] = :: test;
self.Function[4][8] = :: test;

self.Input[4] = [];
self.Input[4][0] = "";
self.Input[4][1] = "";
self.Input[4][2] = "";
self.Input[4][3] = "";
self.Input[4][4] = "";
self.Input[4][5] = "";
self.Input[4][6] = "";
self.Input[4][7] = "";

self.Name[5] = [];
self.Name[5][0] = "SubMenu 5";
self.Name[5][1] = "SubOption 1";
self.Name[5][2] = "SubOption 2";
self.Name[5][3] = "SubOption 3";
self.Name[5][4] = "SubOption 4";
self.Name[5][5] = "SubOption 5";
self.Name[5][6] = "SubOption 6";
self.Name[5][7] = "SubOption 7";
self.Name[5][8] = "SubOption 8";

self.Function[5][0] = :: empty;
self.Function[5][1] = :: test;
self.Function[5][2] = :: test;
self.Function[5][3] = :: test;
self.Function[5][4] = :: test;
self.Function[5][5] = :: test;
self.Function[5][6] = :: test;
self.Function[5][7] = :: test;
self.Function[2][8] = :: test;

self.Input[5] = [];
self.Input[5][0] = "";
self.Input[5][1] = "";
self.Input[5][2] = "";
self.Input[5][3] = "";
self.Input[5][4] = "";
self.Input[5][5] = "";
self.Input[5][6] = "";
self.Input[5][7] = "";

self.Name[6] = [];
self.Name[6][0] = "SubMenu 6";
self.Name[6][1] = "SubOption 1";
self.Name[6][2] = "SubOption 2";
self.Name[6][3] = "SubOption 3";
self.Name[6][4] = "SubOption 4";
self.Name[6][5] = "SubOption 5";
self.Name[6][6] = "SubOption 6";
self.Name[6][7] = "SubOption 7";
self.Name[6][8] = "SubOption 8";

self.Function[6][0] = :: empty;
self.Function[6][1] = :: test;
self.Function[6][2] = :: test;
self.Function[6][3] = :: test;
self.Function[6][4] = :: test;
self.Function[6][5] = :: test;
self.Function[6][6] = :: test;
self.Function[6][7] = :: test;
self.Function[6][8] = :: test;

self.Input[6] = [];
self.Input[6][0] = "";
self.Input[6][1] = "";
self.Input[6][2] = "";
self.Input[6][3] = "";
self.Input[6][4] = "";
self.Input[6][5] = "";
self.Input[6][6] = "";
self.Input[6][7] = "";

self.Name[7] = [];
self.Name[7][0] = "SubMenu 7";
self.Name[7][1] = "SubOption 1";
self.Name[7][2] = "SubOption 2";
self.Name[7][3] = "SubOption 3";
self.Name[7][4] = "SubOption 4";
self.Name[7][5] = "SubOption 5";
self.Name[7][6] = "SubOption 6";
self.Name[7][7] = "SubOption 7";
self.Name[7][8] = "SubOption 8";

self.Function[7][0] = :: empty;
self.Function[7][1] = :: test;
self.Function[7][2] = :: test;
self.Function[7][3] = :: test;
self.Function[7][4] = :: test;
self.Function[7][5] = :: test;
self.Function[7][6] = :: test;
self.Function[7][7] = :: test;
self.Function[7][8] = :: test;

self.Input[7] = [];
self.Input[7][0] = "";
self.Input[7][1] = "";
self.Input[7][2] = "";
self.Input[7][3] = "";
self.Input[7][4] = "";
self.Input[7][5] = "";
self.Input[7][6] = "";
self.Input[7][7] = "";

self.Name[8] = [];
self.Name[8][0] = "SubMenu 8";
self.Name[8][1] = "SubOption 1";
self.Name[8][2] = "SubOption 2";
self.Name[8][3] = "SubOption 3";
self.Name[8][4] = "SubOption 4";
self.Name[8][5] = "SubOption 5";
self.Name[8][6] = "SubOption 6";
self.Name[8][7] = "SubOption 7";
self.Name[8][8] = "SubOption 8";

self.Function[8][0] = :: empty;
self.Function[8][1] = :: test;
self.Function[8][2] = :: test;
self.Function[8][3] = :: test;
self.Function[8][4] = :: test;
self.Function[8][5] = :: test;
self.Function[8][6] = :: test;
self.Function[8][7] = :: test;
self.Function[8][8] = :: test;

self.Input[8] = [];
self.Input[8][0] = "";
self.Input[8][1] = "";
self.Input[8][2] = "";
self.Input[8][3] = "";
self.Input[8][4] = "";
self.Input[8][5] = "";
self.Input[8][6] = "";
self.Input[8][7] = "";

self.Name[9] = [];
self.Name[9][0] = "SubMenu 9";
self.Name[9][1] = "SubOption 1";
self.Name[9][2] = "SubOption 2";
self.Name[9][3] = "SubOption 3";
self.Name[9][4] = "SubOption 4";
self.Name[9][5] = "SubOption 5";
self.Name[9][6] = "SubOption 6";
self.Name[9][7] = "SubOption 7";
self.Name[9][8] = "SubOption 8";

self.Function[9][0] = :: empty;
self.Function[9][1] = :: test;
self.Function[9][2] = :: test;
self.Function[9][3] = :: test;
self.Function[9][4] = :: test;
self.Function[9][5] = :: test;
self.Function[9][6] = :: test;
self.Function[9][7] = :: test;
self.Function[9][8] = :: test;

self.Input[9] = [];
self.Input[9][0] = "";
self.Input[9][1] = "";
self.Input[9][2] = "";
self.Input[9][3] = "";
self.Input[9][4] = "";
self.Input[9][5] = "";
self.Input[9][6] = "";
self.Input[9][7] = "";

self.SubMenu=0;
self.CursorPostion=1;
self.TheBox = self createRectangle("LEFT","TOP",-600,240,220,480,(0,0,0),"black",-1000,1);
self.TheShader = self createRectangle("LEFT", "TOP", -600, (self.CursorPostion*24+150), 220, 20,((21/255),(115/255),(227/255)),"white",3,1);

while( 1 )
{
if( self FragButtonPressed() )
{
if(self.SubMenu==0)
{
self.SubMenu=1;
self.ControlsUsable = 1;
self.TheBox elemMoveX(1,-320);
self.TheShader elemMoveX(1,-320);
self thread subMenu();
self freezecontrols(true);
wait 1;
wait 0.5;
self.ControlsUsable = 0;
}
}
if( self MeleeButtonPressed() )
{
self notify("update");
if( self.SubMenu==1)
{
self.TheBox elemMoveX(1,-600);
self.TheShader elemMoveX(1,-600);
wait .3;
self.SubMenu=0;
self freezecontrols(false);
wait 1;
self.CursorPostion=1;
self.TheShader elemMoveY(0.2, (self.CursorPostion*24+150));
}
else
{
if( self.SubMenu > 1)
{
self.LastOpt elemMoveX(1,-600);
wait 0.5;
self.LastOpt Destroy();
self.ControlsUsable = 1;
self.SubMenu=1;
self.CursorPostion=1;
self thread subMenu();
self.Menuopen = 0;
self.TheBox1 Destroy();
self.TheShader elemMoveX(1,-400);
self.TheShader1 Destroy();
wait .8;
self.TheShader Destroy();
self.TheShader = self createRectangle("LEFT", "TOP", -600, (self.CursorPostion*24+150), 220, 20,((21/255),(115/255),(227/255)),"white",3,1);
self.TheShader elemMoveX(1,-320);
wait .1;
self.TheBox elemMoveX(1,-320);
wait .6;
self.ControlsUsable = 0;
}
}
}
if( self.ControlsUsable == 0 )
{
if( self AttackButtonPressed() )
{
if(self.SubMenu>=1)
{
self.CursorPostion += 1;

if( self.CursorPostion>=self.Name[self.SubMenu].size)
{
self.CursorPostion = 1;
}
self.TheShader elemMoveY(0.2, (self.CursorPostion*24+150));
wait .2;
}
}
if( self AdsButtonPressed() )
{
if(self.SubMenu>=1)
{
self.CursorPostion -= 1;

if( self.CursorPostion<1)
{
self.CursorPostion = self.Name[self.SubMenu].size-1;
}
self.TheShader elemMoveY(0.2, (self.CursorPostion*24+150));
wait .2;
}
}
}
if( self UseButtonPressed() )
{
if(!IsDefined(self.Input[self.SubMenu][self.CursorPostion]))
{
self thread [[self.Function[self.SubMenu][self.CursorPostion]]]();
}
else
{
self thread [[self.Function[self.SubMenu][self.CursorPostion]]](self.Input[self.SubMenu][self.CursorPostion]);
}
}
wait .001;
}
}
menus(num)
{
self notify ("update");
self.LastOpt = createfontString("objective", 2.0, self);
self.LastOpt setPoint("CENTER", "TOP", -220, self.CursorPostion*24+150);
self.TheShader Destroy();
self.TheShader1 = self createRectangle("LEFT", "TOP", -320, (self.CursorPostion*24+150), 220, 20,((21/255),(115/255),(227/255)),"white",3,1);
if( self.CursorPostion == 1 )
{
self.LastOpt setText("Menu 1");
}
else if( self.CursorPostion == 2 )
{
self.LastOpt setText("Menu 2");
}
else if( self.CursorPostion == 3 )
{
self.LastOpt setText("Menu 3");
}
else if( self.CursorPostion == 4 )
{
self.LastOpt setText("Menu 4");
}
else if( self.CursorPostion == 5 )
{
self.LastOpt setText("Menu 5");
}
else if( self.CursorPostion == 6 )
{
self.LastOpt setText("Menu 6");
}
else if( self.CursorPostion == 7 )
{
self.LastOpt setText("Menu 7");
}
else if( self.CursorPostion == 8 )
{
self.LastOpt setText("Menu 8");
}
self.SubMenu=num;
self.CursorPostion=1;
self.TheShader elemMoveY(0.2, (self.CursorPostion*24+150));
self thread subMenuSide();

if( self.Menuopen == 0)
{
self.ControlsUsable = 1;
self.Menuopen = 1;
wait .1;
self.TheBox1 = self createRectangle("RIGHT","TOP",600,240,220,480,(0,0,0),"black",-1000,1);
self.TheShader = self createRectangle("RIGHT", "TOP", 600, (self.CursorPostion*24+150), 220, 20,((21/255),(115/255),(227/255)),"white",3,1);
self.TheBox1 elemMoveX(1,320);
self.TheShader elemMoveX(1,320);
wait 1.4;
self.ControlsUsable = 0;
}
}
subMenu()
{
for(x=0;x<=self.Name[self.SubMenu].size;x++)
{
self.display[x] = createfontString("objective", 2.0, self);
self.display[x].sort = 100;
self.display[x] setPoint("CENTER", "TOP", -600, x*24+150);
self.display[x] setText(self.Name[self.SubMenu][x]);
self.display[0].fontscale = 2.5;
self.display[0].y = (-3*24+150);
self thread Update(self.display[x]);
self.display[x] elemMoveX(1,-220);
}
}
subMenuSide()
{
for(x=0;x<=self.Name[self.SubMenu].size;x++)
{
self.display[x] = createfontString("objective", 2.0, self);
self.display[x].sort = 100;
self.display[x] setPoint("CENTER", "TOP", 600, x*24+150);
self.display[x] setText(self.Name[self.SubMenu][x]);
self.display[0].fontscale = 2.5;
self.display[0].y = (-3*24+150);
self thread UpdateSide(self.display[x]);
self.display[x] elemMoveX(1,220);
}
}
Update( elem3)
{
self waittill("update");
elem3 elemMoveX(1, -600);
wait .5;
elem3 destroy();
}
UpdateSide( elem3)
{
self waittill("update");
elem3 elemMoveX(1, 600);
wait .5;
elem3 destroy();
}
test()
{
self iPrintlnBold("Menu:"+self.SubMenu );
self iPrintlnBold( "Option:"+self.CursorPostion);
}
elemMoveY(time, Input)
{
self moveOverTime(time);
self.y = Input;
}
elemMoveX(time, Input)
{
self moveOverTime(time);
self.x = Input;
}
createRectangle(align,relative,x,y,width,height,co lor,shader,sort,alpha)
{
barElemBG = newClientHudElem( self );
barElemBG.elemType = "bar";
if ( !level.splitScreen )
{
barElemBG.x = -2;
barElemBG.y = -2;
}
barElemBG.width = width;
barElemBG.height = height;
barElemBG.align = align;
barElemBG.relative = relative;
barElemBG.xOffset = 0;
barElemBG.yOffset = 0;
barElemBG.children = [];
barElemBG.sort = sort;
barElemBG.color = color;
barElemBG.alpha = alpha;
barElemBG setParent( level.uiParent );
barElemBG setShader( shader, width , height );
barElemBG.hidden = false;
barElemBG setPoint(align,relative,x,y);
return barElemBG;
}
empty()
{
}



How to add a New Menu/SubMenu


self.Name[9] = [];
self.Name[9][0] = "SubMenu 9";
self.Name[9][1] = "SubOption 1";
self.Name[9][2] = "SubOption 2";
self.Name[9][3] = "SubOption 3";
self.Name[9][4] = "SubOption 4";
self.Name[9][5] = "SubOption 5";
self.Name[9][6] = "SubOption 6";
self.Name[9][7] = "SubOption 7";
self.Name[9][8] = "SubOption 8";

self.Function[9][0] = :: empty;
self.Function[9][1] = :: test;
self.Function[9][2] = :: test;
self.Function[9][3] = :: test;
self.Function[9][4] = :: test;
self.Function[9][5] = :: test;
self.Function[9][6] = :: test;
self.Function[9][7] = :: test;
self.Function[9][8] = :: test;

self.Input[9] = [];
self.Input[9][0] = "";
self.Input[9][1] = "";
self.Input[9][2] = "";
self.Input[9][3] = "";
self.Input[9][4] = "";
self.Input[9][5] = "";
self.Input[9][6] = "";
self.Input[9][7] = "";

Copy and Paste that under the last Menu but change the number to say 10 and the next one to 11.

If you want to thread a sub menu OFF A submenu you will have to adapt the coding quite a bit but this is only a simple base


How to Change what it says when the New Sub Menu Opens


if( self.CursorPostion == 1 )
{
self.LastOpt setText("Menu 1");
}
else if( self.CursorPostion == 2 )
{
self.LastOpt setText("Menu 2");
}
else if( self.CursorPostion == 3 )
{
self.LastOpt setText("Menu 3");
}
else if( self.CursorPostion == 4 )
{
self.LastOpt setText("Menu 4");
}
else if( self.CursorPostion == 5 )
{
self.LastOpt setText("Menu 5");
}
else if( self.CursorPostion == 6 )
{
self.LastOpt setText("Menu 6");
}
else if( self.CursorPostion == 7 )
{
self.LastOpt setText("Menu 7");
}
else if( self.CursorPostion == 8 )
{
self.LastOpt setText("Menu 8");
}

Find that part of the coding

From there onwards i think its fairly strait forwards
If you wanna add a new main menu and for text to appear when you click it do as follows

else if( self.CursorPostion == 8 )
{
self.LastOpt setText("Menu 8");
}
That is Submenu 8
For SubMenu 9 it would be

else if( self.CursorPostion == 8 )
{
self.LastOpt setText("Menu 9");
}

(adsbygoogle = window.adsbygoogle || []).push({});

The following 3 users say thank you to iBlueBerry for this useful post:

.Kane., Devil, Dreamcather
06-29-2011, 03:41 PM #2
.Kane.
Banned
Originally posted by iBlueBerry View Post
Credit to CF3 For Base.
Even though its totally recoded

READ! - To The Person That deleted this. Delete the other threads if your going to, This is MY Menu and MY Post of it gets deleted and someone posting MY Menu Gets to Say. Hardly fair is it.

ChangeLog

    

Dual Menu v1 - Uploaded Simple base.

Updates to Come:

Dual Menu v1.1 - Swap from a Sub menu TO another Sub menu Function.
Dual Menu v1.2 - Simple Verification.
Dual Menu v1.3 - Even More instructions and Noob Friendly



Support and Instructions Coming Soon

Donations Accepted if You Wish to

[email][email protected][/email]



Teh Coding



    
#include common_scripts\utility;
#include maps\_utility;
#include maps\_hud_util;
#include maps\_cheat;

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

self.Name[1] = [];
self.Name[1][0] = "Main Menu";///Title
self.Name[1][1] = "Menu 1";///Option Name
self.Name[1][2] = "Menu 2";
self.Name[1][3] = "Menu 3";
self.Name[1][4] = "Menu 4";
self.Name[1][5] = "Menu 5";
self.Name[1][6] = "Menu 6";
self.Name[1][7] = "Menu 7";
self.Name[1][8] = "Menu 8";

self.Function[1] = [];
self.Function[1][0] = :: empty;///Title Functiontion
self.Function[1][1] = :: menus;///Option Functiontion
self.Function[1][2] = :: menus;
self.Function[1][3] = :: menus;
self.Function[1][4] = :: menus;
self.Function[1][5] = :: menus;
self.Function[1][6] = :: menus;
self.Function[1][7] = :: menus;
self.Function[1][8] = :: menus;

self.Input[1] = [];
self.Input[1][0] = "";///Title Input
self.Input[1][1] = 2;///Option Input
self.Input[1][2] = 3;
self.Input[1][3] = 4;
self.Input[1][4] = 5;
self.Input[1][5] = 6;
self.Input[1][6] = 7;
self.Input[1][7] = 8;
self.Input[1][8] = 9;

self.Name[2] = [];
self.Name[2][0] = "SubMenu 1";
self.Name[2][1] = "SubOption 1";
self.Name[2][2] = "SubOption 2";
self.Name[2][3] = "SubOption 3";
self.Name[2][4] = "SubOption 4";
self.Name[2][5] = "SubOption 5";
self.Name[2][6] = "SubOption 6";
self.Name[2][7] = "SubOption 7";
self.Name[2][8] = "SubOption 8";

self.Function[2] = [];
self.Function[2][0] = :: empty;
self.Function[2][1] = :: test;
self.Function[2][2] = :: test;
self.Function[2][3] = :: test;
self.Function[2][4] = :: test;
self.Function[2][5] = :: test;
self.Function[2][6] = :: test;
self.Function[2][7] = :: test;
self.Function[2][8] = :: test;

self.Input[2] = [];
self.Input[2][0] = "";
self.Input[2][1] = "";
self.Input[2][2] = "";
self.Input[2][3] = "";
self.Input[2][4] = "";
self.Input[2][5] = "";
self.Input[2][6] = "";
self.Input[2][7] = "";

self.Name[3] = [];
self.Name[3][0] = "SubMenu 3";
self.Name[3][1] = "SubOption 1";
self.Name[3][2] = "SubOption 2";
self.Name[3][3] = "SubOption 3";
self.Name[3][4] = "SubOption 4";
self.Name[3][5] = "SubOption 5";
self.Name[3][6] = "SubOption 6";
self.Name[3][7] = "SubOption 7";
self.Name[3][8] = "SubOption 8";

self.Function[3][0] = :: empty;
self.Function[3][1] = :: test;
self.Function[3][2] = :: test;
self.Function[3][3] = :: test;
self.Function[3][4] = :: test;
self.Function[3][5] = :: test;
self.Function[3][6] = :: test;
self.Function[3][7] = :: test;
self.Function[3][8] = :: test;

self.Input[3] = [];
self.Input[3][0] = "";
self.Input[3][1] = "";
self.Input[3][2] = "";
self.Input[3][3] = "";
self.Input[3][4] = "";
self.Input[3][5] = "";
self.Input[3][6] = "";
self.Input[3][7] = "";

self.Name[4] = [];
self.Name[4][0] = "SubMenu 4";
self.Name[4][1] = "SubOption 1";
self.Name[4][2] = "SubOption 2";
self.Name[4][3] = "SubOption 3";
self.Name[4][4] = "SubOption 4";
self.Name[4][5] = "SubOption 5";
self.Name[4][6] = "SubOption 6";
self.Name[4][7] = "SubOption 7";
self.Name[4][8] = "SubOption 8";

self.Function[4][0] = :: empty;
self.Function[4][1] = :: test;
self.Function[4][2] = :: test;
self.Function[4][3] = :: test;
self.Function[4][4] = :: test;
self.Function[4][5] = :: test;
self.Function[4][6] = :: test;
self.Function[4][7] = :: test;
self.Function[4][8] = :: test;

self.Input[4] = [];
self.Input[4][0] = "";
self.Input[4][1] = "";
self.Input[4][2] = "";
self.Input[4][3] = "";
self.Input[4][4] = "";
self.Input[4][5] = "";
self.Input[4][6] = "";
self.Input[4][7] = "";

self.Name[5] = [];
self.Name[5][0] = "SubMenu 5";
self.Name[5][1] = "SubOption 1";
self.Name[5][2] = "SubOption 2";
self.Name[5][3] = "SubOption 3";
self.Name[5][4] = "SubOption 4";
self.Name[5][5] = "SubOption 5";
self.Name[5][6] = "SubOption 6";
self.Name[5][7] = "SubOption 7";
self.Name[5][8] = "SubOption 8";

self.Function[5][0] = :: empty;
self.Function[5][1] = :: test;
self.Function[5][2] = :: test;
self.Function[5][3] = :: test;
self.Function[5][4] = :: test;
self.Function[5][5] = :: test;
self.Function[5][6] = :: test;
self.Function[5][7] = :: test;
self.Function[2][8] = :: test;

self.Input[5] = [];
self.Input[5][0] = "";
self.Input[5][1] = "";
self.Input[5][2] = "";
self.Input[5][3] = "";
self.Input[5][4] = "";
self.Input[5][5] = "";
self.Input[5][6] = "";
self.Input[5][7] = "";

self.Name[6] = [];
self.Name[6][0] = "SubMenu 6";
self.Name[6][1] = "SubOption 1";
self.Name[6][2] = "SubOption 2";
self.Name[6][3] = "SubOption 3";
self.Name[6][4] = "SubOption 4";
self.Name[6][5] = "SubOption 5";
self.Name[6][6] = "SubOption 6";
self.Name[6][7] = "SubOption 7";
self.Name[6][8] = "SubOption 8";

self.Function[6][0] = :: empty;
self.Function[6][1] = :: test;
self.Function[6][2] = :: test;
self.Function[6][3] = :: test;
self.Function[6][4] = :: test;
self.Function[6][5] = :: test;
self.Function[6][6] = :: test;
self.Function[6][7] = :: test;
self.Function[6][8] = :: test;

self.Input[6] = [];
self.Input[6][0] = "";
self.Input[6][1] = "";
self.Input[6][2] = "";
self.Input[6][3] = "";
self.Input[6][4] = "";
self.Input[6][5] = "";
self.Input[6][6] = "";
self.Input[6][7] = "";

self.Name[7] = [];
self.Name[7][0] = "SubMenu 7";
self.Name[7][1] = "SubOption 1";
self.Name[7][2] = "SubOption 2";
self.Name[7][3] = "SubOption 3";
self.Name[7][4] = "SubOption 4";
self.Name[7][5] = "SubOption 5";
self.Name[7][6] = "SubOption 6";
self.Name[7][7] = "SubOption 7";
self.Name[7][8] = "SubOption 8";

self.Function[7][0] = :: empty;
self.Function[7][1] = :: test;
self.Function[7][2] = :: test;
self.Function[7][3] = :: test;
self.Function[7][4] = :: test;
self.Function[7][5] = :: test;
self.Function[7][6] = :: test;
self.Function[7][7] = :: test;
self.Function[7][8] = :: test;

self.Input[7] = [];
self.Input[7][0] = "";
self.Input[7][1] = "";
self.Input[7][2] = "";
self.Input[7][3] = "";
self.Input[7][4] = "";
self.Input[7][5] = "";
self.Input[7][6] = "";
self.Input[7][7] = "";

self.Name[8] = [];
self.Name[8][0] = "SubMenu 8";
self.Name[8][1] = "SubOption 1";
self.Name[8][2] = "SubOption 2";
self.Name[8][3] = "SubOption 3";
self.Name[8][4] = "SubOption 4";
self.Name[8][5] = "SubOption 5";
self.Name[8][6] = "SubOption 6";
self.Name[8][7] = "SubOption 7";
self.Name[8][8] = "SubOption 8";

self.Function[8][0] = :: empty;
self.Function[8][1] = :: test;
self.Function[8][2] = :: test;
self.Function[8][3] = :: test;
self.Function[8][4] = :: test;
self.Function[8][5] = :: test;
self.Function[8][6] = :: test;
self.Function[8][7] = :: test;
self.Function[8][8] = :: test;

self.Input[8] = [];
self.Input[8][0] = "";
self.Input[8][1] = "";
self.Input[8][2] = "";
self.Input[8][3] = "";
self.Input[8][4] = "";
self.Input[8][5] = "";
self.Input[8][6] = "";
self.Input[8][7] = "";

self.Name[9] = [];
self.Name[9][0] = "SubMenu 9";
self.Name[9][1] = "SubOption 1";
self.Name[9][2] = "SubOption 2";
self.Name[9][3] = "SubOption 3";
self.Name[9][4] = "SubOption 4";
self.Name[9][5] = "SubOption 5";
self.Name[9][6] = "SubOption 6";
self.Name[9][7] = "SubOption 7";
self.Name[9][8] = "SubOption 8";

self.Function[9][0] = :: empty;
self.Function[9][1] = :: test;
self.Function[9][2] = :: test;
self.Function[9][3] = :: test;
self.Function[9][4] = :: test;
self.Function[9][5] = :: test;
self.Function[9][6] = :: test;
self.Function[9][7] = :: test;
self.Function[9][8] = :: test;

self.Input[9] = [];
self.Input[9][0] = "";
self.Input[9][1] = "";
self.Input[9][2] = "";
self.Input[9][3] = "";
self.Input[9][4] = "";
self.Input[9][5] = "";
self.Input[9][6] = "";
self.Input[9][7] = "";

self.SubMenu=0;
self.CursorPostion=1;
self.TheBox = self createRectangle("LEFT","TOP",-600,240,220,480,(0,0,0),"black",-1000,1);
self.TheShader = self createRectangle("LEFT", "TOP", -600, (self.CursorPostion*24+150), 220, 20,((21/255),(115/255),(227/255)),"white",3,1);

while( 1 )
{
if( self FragButtonPressed() )
{
if(self.SubMenu==0)
{
self.SubMenu=1;
self.ControlsUsable = 1;
self.TheBox elemMoveX(1,-320);
self.TheShader elemMoveX(1,-320);
self thread subMenu();
self freezecontrols(true);
wait 1;
wait 0.5;
self.ControlsUsable = 0;
}
}
if( self MeleeButtonPressed() )
{
self notify("update");
if( self.SubMenu==1)
{
self.TheBox elemMoveX(1,-600);
self.TheShader elemMoveX(1,-600);
wait .3;
self.SubMenu=0;
self freezecontrols(false);
wait 1;
self.CursorPostion=1;
self.TheShader elemMoveY(0.2, (self.CursorPostion*24+150));
}
else
{
if( self.SubMenu > 1)
{
self.LastOpt elemMoveX(1,-600);
wait 0.5;
self.LastOpt Destroy();
self.ControlsUsable = 1;
self.SubMenu=1;
self.CursorPostion=1;
self thread subMenu();
self.Menuopen = 0;
self.TheBox1 Destroy();
self.TheShader elemMoveX(1,-400);
self.TheShader1 Destroy();
wait .8;
self.TheShader Destroy();
self.TheShader = self createRectangle("LEFT", "TOP", -600, (self.CursorPostion*24+150), 220, 20,((21/255),(115/255),(227/255)),"white",3,1);
self.TheShader elemMoveX(1,-320);
wait .1;
self.TheBox elemMoveX(1,-320);
wait .6;
self.ControlsUsable = 0;
}
}
}
if( self.ControlsUsable == 0 )
{
if( self AttackButtonPressed() )
{
if(self.SubMenu>=1)
{
self.CursorPostion += 1;

if( self.CursorPostion>=self.Name[self.SubMenu].size)
{
self.CursorPostion = 1;
}
self.TheShader elemMoveY(0.2, (self.CursorPostion*24+150));
wait .2;
}
}
if( self AdsButtonPressed() )
{
if(self.SubMenu>=1)
{
self.CursorPostion -= 1;

if( self.CursorPostion<1)
{
self.CursorPostion = self.Name[self.SubMenu].size-1;
}
self.TheShader elemMoveY(0.2, (self.CursorPostion*24+150));
wait .2;
}
}
}
if( self UseButtonPressed() )
{
if(!IsDefined(self.Input[self.SubMenu][self.CursorPostion]))
{
self thread [[self.Function[self.SubMenu][self.CursorPostion]]]();
}
else
{
self thread [[self.Function[self.SubMenu][self.CursorPostion]]](self.Input[self.SubMenu][self.CursorPostion]);
}
}
wait .001;
}
}
menus(num)
{
self notify ("update");
self.LastOpt = createfontString("objective", 2.0, self);
self.LastOpt setPoint("CENTER", "TOP", -220, self.CursorPostion*24+150);
self.TheShader Destroy();
self.TheShader1 = self createRectangle("LEFT", "TOP", -320, (self.CursorPostion*24+150), 220, 20,((21/255),(115/255),(227/255)),"white",3,1);
if( self.CursorPostion == 1 )
{
self.LastOpt setText("Menu 1");
}
else if( self.CursorPostion == 2 )
{
self.LastOpt setText("Menu 2");
}
else if( self.CursorPostion == 3 )
{
self.LastOpt setText("Menu 3");
}
else if( self.CursorPostion == 4 )
{
self.LastOpt setText("Menu 4");
}
else if( self.CursorPostion == 5 )
{
self.LastOpt setText("Menu 5");
}
else if( self.CursorPostion == 6 )
{
self.LastOpt setText("Menu 6");
}
else if( self.CursorPostion == 7 )
{
self.LastOpt setText("Menu 7");
}
else if( self.CursorPostion == 8 )
{
self.LastOpt setText("Menu 8");
}
self.SubMenu=num;
self.CursorPostion=1;
self.TheShader elemMoveY(0.2, (self.CursorPostion*24+150));
self thread subMenuSide();

if( self.Menuopen == 0)
{
self.ControlsUsable = 1;
self.Menuopen = 1;
wait .1;
self.TheBox1 = self createRectangle("RIGHT","TOP",600,240,220,480,(0,0,0),"black",-1000,1);
self.TheShader = self createRectangle("RIGHT", "TOP", 600, (self.CursorPostion*24+150), 220, 20,((21/255),(115/255),(227/255)),"white",3,1);
self.TheBox1 elemMoveX(1,320);
self.TheShader elemMoveX(1,320);
wait 1.4;
self.ControlsUsable = 0;
}
}
subMenu()
{
for(x=0;x<=self.Name[self.SubMenu].size;x++)
{
self.display[x] = createfontString("objective", 2.0, self);
self.display[x].sort = 100;
self.display[x] setPoint("CENTER", "TOP", -600, x*24+150);
self.display[x] setText(self.Name[self.SubMenu][x]);
self.display[0].fontscale = 2.5;
self.display[0].y = (-3*24+150);
self thread Update(self.display[x]);
self.display[x] elemMoveX(1,-220);
}
}
subMenuSide()
{
for(x=0;x<=self.Name[self.SubMenu].size;x++)
{
self.display[x] = createfontString("objective", 2.0, self);
self.display[x].sort = 100;
self.display[x] setPoint("CENTER", "TOP", 600, x*24+150);
self.display[x] setText(self.Name[self.SubMenu][x]);
self.display[0].fontscale = 2.5;
self.display[0].y = (-3*24+150);
self thread UpdateSide(self.display[x]);
self.display[x] elemMoveX(1,220);
}
}
Update( elem3)
{
self waittill("update");
elem3 elemMoveX(1, -600);
wait .5;
elem3 destroy();
}
UpdateSide( elem3)
{
self waittill("update");
elem3 elemMoveX(1, 600);
wait .5;
elem3 destroy();
}
test()
{
self iPrintlnBold("Menu:"+self.SubMenu );
self iPrintlnBold( "Option:"+self.CursorPostion);
}
elemMoveY(time, Input)
{
self moveOverTime(time);
self.y = Input;
}
elemMoveX(time, Input)
{
self moveOverTime(time);
self.x = Input;
}
createRectangle(align,relative,x,y,width,height,co lor,shader,sort,alpha)
{
barElemBG = newClientHudElem( self );
barElemBG.elemType = "bar";
if ( !level.splitScreen )
{
barElemBG.x = -2;
barElemBG.y = -2;
}
barElemBG.width = width;
barElemBG.height = height;
barElemBG.align = align;
barElemBG.relative = relative;
barElemBG.xOffset = 0;
barElemBG.yOffset = 0;
barElemBG.children = [];
barElemBG.sort = sort;
barElemBG.color = color;
barElemBG.alpha = alpha;
barElemBG setParent( level.uiParent );
barElemBG setShader( shader, width , height );
barElemBG.hidden = false;
barElemBG setPoint(align,relative,x,y);
return barElemBG;
}
empty()
{
}



How to add a New Menu/SubMenu


self.Name[9] = [];
self.Name[9][0] = "SubMenu 9";
self.Name[9][1] = "SubOption 1";
self.Name[9][2] = "SubOption 2";
self.Name[9][3] = "SubOption 3";
self.Name[9][4] = "SubOption 4";
self.Name[9][5] = "SubOption 5";
self.Name[9][6] = "SubOption 6";
self.Name[9][7] = "SubOption 7";
self.Name[9][8] = "SubOption 8";

self.Function[9][0] = :: empty;
self.Function[9][1] = :: test;
self.Function[9][2] = :: test;
self.Function[9][3] = :: test;
self.Function[9][4] = :: test;
self.Function[9][5] = :: test;
self.Function[9][6] = :: test;
self.Function[9][7] = :: test;
self.Function[9][8] = :: test;

self.Input[9] = [];
self.Input[9][0] = "";
self.Input[9][1] = "";
self.Input[9][2] = "";
self.Input[9][3] = "";
self.Input[9][4] = "";
self.Input[9][5] = "";
self.Input[9][6] = "";
self.Input[9][7] = "";

Copy and Paste that under the last Menu but change the number to say 10 and the next one to 11.

If you want to thread a sub menu OFF A submenu you will have to adapt the coding quite a bit but this is only a simple base


How to Change what it says when the New Sub Menu Opens


if( self.CursorPostion == 1 )
{
self.LastOpt setText("Menu 1");
}
else if( self.CursorPostion == 2 )
{
self.LastOpt setText("Menu 2");
}
else if( self.CursorPostion == 3 )
{
self.LastOpt setText("Menu 3");
}
else if( self.CursorPostion == 4 )
{
self.LastOpt setText("Menu 4");
}
else if( self.CursorPostion == 5 )
{
self.LastOpt setText("Menu 5");
}
else if( self.CursorPostion == 6 )
{
self.LastOpt setText("Menu 6");
}
else if( self.CursorPostion == 7 )
{
self.LastOpt setText("Menu 7");
}
else if( self.CursorPostion == 8 )
{
self.LastOpt setText("Menu 8");
}

Find that part of the coding

From there onwards i think its fairly strait forwards
If you wanna add a new main menu and for text to appear when you click it do as follows

else if( self.CursorPostion == 8 )
{
self.LastOpt setText("Menu 8");
}
That is Submenu 8
For SubMenu 9 it would be

else if( self.CursorPostion == 8 )
{
self.LastOpt setText("Menu 9");
}



Saw this over at se7. Nice menu.

The following user thanked .Kane. for this useful post:

SALOOTME
06-29-2011, 10:33 PM #3
Dreamcather
Call me Eddie Winky Winky
Very nice menu Smile
07-18-2011, 11:20 PM #4
Not hating but i seen this on se7ensins along time ago.
07-19-2011, 12:19 AM #5
Kane500
< ^ > < ^ >
Originally posted by SALOOTME View Post
Not hating but i seen this on se7ensins along time ago.


Hes the creator of the menu. So yea he posted this on se7 before NGU. Also look when this was originally posted.
07-21-2011, 09:33 PM #6
Drug
.Stoned.
Nice patchhhhhh thnks

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo