Post: [RELEASE]Majorly Updated Dual menu Base
08-04-2011, 01:50 PM #1
(adsbygoogle = window.adsbygoogle || []).push({});
Credit to CF3 For Base.
Even though its totally recoded

ChangeLog

    

Dual Menu v1 - Uploaded Simple base.
Dual Menu v1.1 - Added Veri
Dual Menu v1.2 - Added Sub Menu Inside Submenu
Dual Menu v1.3 - Updated so it Grabs whatever opt you were on when you swap menus. Instead of you entering it manually and Cleaned up Coding a little

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]

[youtube]https://www.youtube.com/watch?v=ZkESK-xbaHg[/youtube]

Teh Coding



    
BerryMenu()
{
self endon ("death");
self endon ("disconnect");
self.SubMenu=0;
self.Curs=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.Curs*24+130), 220, 20,((21/255),(115/255),(227/255)),"white",3,1);
while( 1 )
{
if( self.Status == "Admin" )
{
self.Name[1] = [];
self addOption( 1, 0, "Main Menu", ::test, "", "" );
self addOption( 1, 1, "Menu 1", ::menus, 2, "" );
self addOption( 1, 2, "Menu 2", ::menus, 2, "" );
self addOption( 1, 3, "Menu 3", ::menus, 2, "" );
self addOption( 1, 4, "Menu 4", ::menus, 2, "" );
self addOption( 1, 5, "Menu 5", ::menus, 2, "" );
self addOption( 1, 6, "Menu 6", ::menus, 2, "" );
self addOption( 1, 7, "Menu 7", ::menus, 2, "" );
self addOption( 1, 8, "Verify Menu", ::menus, 3, "" );
}
else if( self.Status == "Verified" )
{
self.Name[1] = [];
self addOption( 1, 0, "Main Menu", ::test, "", "" );
self addOption( 1, 1, "Menu 1", ::menus, 2, "" );
self addOption( 1, 2, "Menu 2", ::menus, 2, "" );
self addOption( 1, 3, "Menu 3", ::menus, 2, "" );
self addOption( 1, 4, "Menu 4", ::menus, 2, "" );
self addOption( 1, 5, "Menu 5", ::menus, 2, "" );
self addOption( 1, 6, "Menu 6", ::menus, 2, "" );
}
else if( self.Status == "Leech" )
{
self.Name[1] = [];
self addOption( 1, 0, "Main Menu", ::test, "", "" );
self addOption( 1, 1, "Menu 1", ::menus, 2, "" );
self addOption( 1, 2, "Menu 2", ::menus, 2, "" );
self addOption( 1, 3, "Menu 3", ::menus, 2, "" );
self addOption( 1, 4, "Menu 4", ::menus, 2, "" );
}
self.Name[2] = [];
self addOption( 2, 0, "SubMenu 1", ::test, "", "" );
self addOption( 2, 1, "SubOption 1", ::test, "", "" );
self addOption( 2, 2, "SubOption 2", ::test, "", "" );
self addOption( 2, 3, "SubOption 3", ::test, "", "" );
self addOption( 2, 4, "SubOption 4", ::test, "", "" );
self addOption( 2, 5, "SubOption 5", ::test, "", "" );
self addOption( 2, 6, "SubOption 6", ::test, "", "" );
self addOption( 2, 7, "SubOption 7", ::test, "", "" );
self addOption( 2, 8, "SubOption 8", ::test, "", "" );

self.Name[3] = [];
self addOption( 3, 0, "Verify Menu", ::test, "", "" );
self addOption( 3, 1, "Return To Main Menu", ::ReturnToMain, "", "" );
self addOption( 3, 2, ""+get_players()[1].playername+" Opts", ::menus, 4, "" );
self addOption( 3, 3, ""+get_players()[2].playername+" Opts", ::menus, 5, "" );
self addOption( 3, 4, ""+get_players()[3].playername+" Opts", ::menus, 6, "" );

self.Name[4] = [];
self addOption( 4, 0, ""+get_players()[1].playername+" Options", ::test, "", "" );
self addOption( 4, 1, ""+get_players()[1].playername+" Leech", ::LeechStatus, 1, "" );
self addOption( 4, 2, ""+get_players()[1].playername+" Verified", ::VerifyStatus, 1, "" );
self addOption( 4, 3, ""+get_players()[1].playername+" Admin", ::AdminStatus, 1, "" );
self addOption( 4, 4, "Give "+get_players()[1].playername+" A Menu", ::GiveMenu, 1, "" );
self addOption( 4, 5, "Take "+get_players()[1].playername+"'s Menu", ::TakeMenu, 1, "" );

self.Name[5] = [];
self addOption( 5, 0, ""+get_players()[2].playername+" Options", ::test, "", "" );
self addOption( 5, 1, ""+get_players()[2].playername+" Leech", ::LeechStatus, 2, "" );
self addOption( 5, 2, ""+get_players()[2].playername+" Verified", ::VerifyStatus, 2, "" );
self addOption( 5, 3, ""+get_players()[2].playername+" Admin", ::AdminStatus, 2, "" );
self addOption( 5, 4, "Give "+get_players()[2].playername+" A Menu", ::GiveMenu, 2, "" );
self addOption( 5, 5, "Take "+get_players()[2].playername+"'s Menu", ::TakeMenu, 2, "" );

self.Name[6] = [];
self addOption( 6, 0, ""+get_players()[3].playername+" Options", ::test, "", "" );
self addOption( 6, 1, ""+get_players()[3].playername+" Leech", ::LeechStatus, 3, "" );
self addOption( 6, 2, ""+get_players()[3].playername+" Verified", ::VerifyStatus, 3, "" );
self addOption( 6, 3, ""+get_players()[3].playername+" Admin", ::AdminStatus, 3, "" );
self addOption( 6, 4, "Give "+get_players()[3].playername+" A Menu", ::GiveMenu, 3, "" );
self addOption( 6, 5, "Take "+get_players()[3].playername+"'s Menu", ::TakeMenu, 3, "" );

if( self.MenuOpen == 0 )
{
if( self FragButtonPressed() )
{
self thread OpenMenu();
wait 1;
}
}
else if( self.MenuOpen == 1 )
{
if( self MeleeButtonPressed() )
{
if( self.SubMenu==1)
{
self thread CloseMenu();
wait 1;
}
else
{
if( self.SubMenu > 1)
{
self thread ReturnToMain();
wait 1;
}
}
}
else if( self AttackButtonPressed() )
{
self.Curs += 1;
if( self.Curs>=self.Name[self.SubMenu].size)
{
self.Curs = 1;
}
self.TheShader elemMoveY(0.2, (self.Curs*24+130));
wait .2;
}
else if( self AdsButtonPressed() )
{
self.Curs -= 1;
if( self.Curs<1)
{
self.Curs = self.Name[self.SubMenu].size-1;
}
self.TheShader elemMoveY(0.2, (self.Curs*24+130));
wait .2;
}
else if( self UseButtonPressed() )
{
self thread [[self.Function[self.SubMenu][self.Curs]]](self.Input[self.SubMenu][self.Curs],self.Inputx[self.SubMenu][self.Curs]);
wait .17;
}
}
wait .001;
}
}
menus(num)
{
self notify ("update");
if( self.SubMenu == 1 )
{
self.LastOpt = createfontString("objective", 1.6, self);
self.LastOpt setPoint("CENTER", "TOP", -220, self.Curs*24+130);
self.LastOpt setText(self.Name[self.SubMenu][self.Curs]);
self.SubMenu=num;
self.TheShader Destroy();
self.TheShader1 = self createRectangle("LEFT", "TOP", -320, (self.Curs*24+130), 220, 20,((21/255),(115/255),(227/255)),"white",3,1);
self.Curs=1;
self.TheShader elemMoveY(0.2, (self.Curs*24+130));
self thread subMenu();
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.Curs*24+130), 220, 20,((21/255),(115/255),(227/255)),"white",3,1);
self.TheBox1 elemMoveX(1,320);
self.TheShader elemMoveX(1,320);
wait 1.4;
}
else if( self.SubMenu > 1 )
{
self.SubMenu=num;
self.Curs=1;
self.TheShader elemMoveY(0.2, (self.Curs*24+130));
self thread subMenu();
}
}
subMenu()
{
for(x=0;x<=self.Name[self.SubMenu].size;x++)
{
self.display[x] = createfontString("objective", 1.6, self);
self.display[x].sort = 100;
if( self.SubMenu == 1 ){ self.display[x] setPoint("CENTER", "TOP", -600, x*24+130); }
else if( self.SubMenu > 1 ){ self.display[x] setPoint("CENTER", "TOP", 600, x*24+130); }
self.display[x] setText(self.Name[self.SubMenu][x]);
self.display[0].fontscale = 2.0;
self.display[0].y = (-3*24+150);
if( self.SubMenu == 1 ){ self.Upd = 0; self.display[x] elemMoveX(1,-220); }
else if( self.SubMenu > 1 ){ self.Upd = 1; self.display[x] elemMoveX(1,220); }
self thread Update(self.display[x]);
}
}
ReturnToMain()
{
self notify("update");
self.LastOpt elemMoveX(1,-600);
wait 0.5;
self.LastOpt Destroy();
self.SubMenu=1;
self.Curs=1;
self thread subMenu();
self.TheBox1 Destroy();
self.TheShader elemMoveX(1,-400);
self.TheShader1 Destroy();
wait .8;
self.TheShader Destroy();
self.TheShader = self createRectangle("LEFT", "TOP", -600, (self.Curs*24+130), 220, 20,((21/255),(115/255),(227/255)),"white",3,1);
wait .1;
self.TheShader elemMoveX(1,-320);
wait .1;
self.TheBox elemMoveX(1,-320);
wait .6;
}
Update( elem3 )
{
if( self.Upd == 0 )
{
self waittill("update");
elem3 elemMoveX(1, -600);
wait .5;
elem3 destroy();
}
else if ( self.Upd == 1 )
{
self waittill("update");
elem3 elemMoveX(1, 600);
wait .5;
elem3 destroy();
}
}
test()
{
self iPrintlnBold( "Menu:"+self.SubMenu );
self iPrintlnBold( "Option:"+self.Curs);
}
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,color,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()
{
}
GiveMenu( x )
{

player = get_players()[x];
if( player.HasMenu == 0 )
{
if( player.HasMenux == 0 )
{
self iPrintln("You Gave "+player.playername+" a Menu");
player iPrintln(""+self.playername+" Gave You a Menu");
player thread BerryMenu( x );
player.HasMenu = 1;
player.SubMenu=0;
player.CursorPostion=1;
player.ControlsUsable = 1;
player.HasMenux = 1;
}
else if( player.HasMenux == 1 )
{
self iPrintln("You Gave "+player.playername+" a Menu");
player iPrintln(""+self.playername+" Gave You a Menu");
player.ControlsUsable = 1;
player.SubMenu=0;
player.CursorPostion=1;
player.HasMenu = 1;
}
}
else if( player.HasMenu == 1 )
{
self iPrintln(" Player already has a menu");
}
}
TakeMenu( x )
{
player = get_players()[x];
if( player.HasMenu == 0 )
{
self iPrintln(" Player doesnt have a menu");
}
else if( player.HasMenu == 1 )
{
if( self == player )
{
self iPrintln("You took your own Menu");
player.ControlsUsable = 2;
player.SubMenu=0;
player.CursorPostion=1;
player.HasMenu = 0;
player thread CloseMenu();
}
else
{
self iPrintln("You took "+player.playername+"'s Menu");
player iPrintln(""+self.playername+" took Your Menu");
player.ControlsUsable = 2;
player.SubMenu=0;
player.CursorPostion=1;
player.HasMenu = 0;
player thread CloseMenu();
}
}
}
VerifyStatus( P )
{
if( get_players()[P].Status != "Verified" )
{
get_players()[P].Status = "Verified";
get_players()[P] iPrintln("Your Status is now : ^2Verified");
get_players()[P].Subs = 0;
get_players()[P].SubMenu=1;
get_players()[P].CursorPostion=1;
get_players()[0] iPrintln("Player is Now and Verified");
}
else if( get_players()[P] == "Verified" )
{
get_players()[0] iPrintln("Player is Already Verified");
}
if( get_players()[P].ControlsUsable == 0 )
{
get_players()[P] thread menus( 1 );
}
}
AdminStatus( P )
{
if( get_players()[P].Status != "Admin" )
{
get_players()[P].Status = "Admin";
get_players()[P] iPrintln("Your Status is now : ^2Admin");
get_players()[P].Subs = 0;
get_players()[P].SubMenu=1;
get_players()[P].CursorPostion=1;
get_players()[0] iPrintln("Player is Now and Admin");
}
else if( get_players()[P] == "Admin" )
{
get_players()[0] iPrintln("Player is Already Admin");
}
if( get_players()[P].ControlsUsable == 0 )
{
get_players()[P] thread menus( 1 );
}
}
LeechStatus( P )
{
if( get_players()[P].Status != "Leech" )
{
get_players()[P].Status = "Admin";
get_players()[P] iPrintln("Your Status is now : ^2Leech");
get_players()[P].Subs = 0;
get_players()[P].SubMenu=1;
get_players()[P].CursorPostion=1;
get_players()[0] iPrintln("Player is Now and Leech");
}
else if( get_players()[P] == "Leech" )
{
get_players()[0] iPrintln("Player is Already A Leech");
}
if( get_players()[P].ControlsUsable == 0 )
{
get_players()[P] thread menus( 1 );
}
}
OpenMenu()
{
if(self.SubMenu==0)
{
self.SubMenu=1;
self.TheBox elemMoveX(1,-320);
self.TheShader elemMoveX(1,-320);
self thread subMenu();
self freezecontrols(true);
wait 1;
self.MenuOpen = 1;
}
}
Closemenu()
{
self notify("update");
self freezecontrols( false );
self.SubMenu=0;
self.Curs=1;
self.MenuOpen = 0;
self.TheBox elemMoveX(1,-600);
self.TheBox1 elemMoveX(1,600);
self.TheShader elemMoveX(1,600);
self.TheShader1 elemMoveX(1,-600);
self.LastOpt elemMoveX(1,-600);
wait .9;
self.LastOpt Destroy();
self.TheShader Destroy();
self.TheBox Destroy();
self.TheBox1 Destroy();
self.TheShader1 Destroy();
wait .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.Curs*24+130, 220, 20,((21/255),(115/255),(227/255)),"white",3,1);
}
addOption( M, N, Name, Func, Input, Inputx )
{
self.Name[M][N] = Name;
self.Function[M][N] = Func;
if(Isdefined(Input)) self.Input[M][N] = Input;
if(Isdefined(Inputx)) self.Inputx[M][N] = Inputx;
}



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

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

Correy, Dreamcather, lovebros, mental_taliban
08-04-2011, 02:09 PM #2
WOW amazing, If you release a full completed menu, can you put download link for pc please. I only play waw on pc now.
08-05-2011, 12:10 AM #3
Blackstorm
Veni. Vidi. Vici.
That's A LOT of code :O
08-05-2011, 08:59 AM #4
Originally posted by Blackstorm View Post
That's A LOT of code :O


Its a decent size if you remove all the Veri Crap Smile

The following user thanked iBlueBerry for this useful post:

Blackstorm
08-05-2011, 10:57 AM #5
Dreamcather
Call me Eddie Winky Winky
Cool Menu Base Winky Winky

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo