- it now supports sub menu's
- addOption Function for the long term effect.
- Coding is more clean.
- it navigates back from sub menu's
- added inputs for the menus
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;
MicroMenu()
{ self thread maps\mp\gametypes\_hud_message:
ldNotifyMessage( "Welcome "+self.name, "Micro Menu v2!" );
self.Correy["Menu"]["Current"] = "Main";
self GetOptions();
for( self.Correy["Menu"]["Curs"] = 0;; )
{ self.Correy["Menu"]["Curs"] = self.self.Correy["Menu"]["Curs"];
self setLowerMessage( self.Correy["Menu"]["Options"][self.Correy["Menu"]["Current"]][self.Correy["Menu"]["Curs"]] );
self.Correy["Menu"]["Curs"] += self attackButtonPressed();
self.Correy["Menu"]["Curs"] -= self adsButtonPressed();
if( self useButtonPressed() ){ self thread [[self.Func[self.Correy["Menu"]["Current"]][self.Correy["Menu"]["Curs"]]]]( self.Correy["Menu"]["Input"][self.Correy["Menu"]["Current"]][self.Correy["Menu"]["Curs"]] ); wait 1; }
if( self meleeButtonPressed() ){ if (self.Correy["Menu"]["Current"] != "Main Menu") self loadMenu( "Main" ); }else{ break; }
if( self.Correy["Menu"]["Curs"] < 0 ) self.Correy["Menu"]["Curs"] = self.Correy["Menu"]["Options"].size-1;
if( self.Correy["Menu"]["Curs"] > self.Correy["Menu"]["Options"].size-1 ) self.Correy["Menu"]["Curs"] = 0;
wait ( self useButtonPressed() )*.2+( self adsButtonPressed() )*.2+(self attackButtonPressed())*.2+.05;
}
self clearLowerMessage();
self MicroMenu();
}
addOption( menu, name, func, input )
{ self.Correy["Menu"]["Number"] = self.Correy["Menu"]["Options"][menu].size;
self.Correy["Menu"]["Options"][menu][self.Correy["Menu"]["Number"]] = name;
self.Func[menu][self.Correy["Menu"]["Number"]] = func;
if( isDefined( input ))
{
self.Correy["Menu"]["Input"][menu][self.Correy["Menu"]["Number"]] = input;
}
}
GetOptions()
{ self addOption( "Main", "Players Menu", ::loadMenu, "sub1" );
self addOption( "Main", "Sub Menu 2", ::loadMenu, "sub2" );
self addOption( "Main", "Sub Menu 3", ::loadMenu, "sub3" );
self addOption( "sub1", "Option 1", ::test );
self addOption( "sub2", "Option 1", ::test );
self addOption( "sub3", "Option 1", ::test );
}
loadMenu( menu )
{ self.Correy["Menu"]["Current"] = menu;
self clearLowerMessage();
wait .1;
self setLowerMessage(self.Correy["Menu"]["Options"][self.Correy["Menu"]["Current"]][self.self.Correy["Menu"]["Curs"]]);
}
test(){}
self addOption( < your menu name it belongs to> , < Option name >, ::loadMenu, < menu name to load> );
self addOption( <menu it belongs to> , <the option name>, ::<function>, <your input>
addOption( [COLOR=#FF0000]menu, num, name, func, input [/COLOR])
self addOption( [COLOR=#FF0000]"sub1", "Option 1", ::test [/COLOR]);
if (isDefined(input))
{
self.Input = input;
}
addOption( [COLOR=#FF0000]menu, num, name, func, input [/COLOR])
self addOption( [COLOR=#FF0000]"sub1", "Option 1", ::test [/COLOR]);
- it now supports sub menu's
- addOption Function for the long term effect.
- Coding is more clean.
- it navigates back from sub menu's
- added inputs for the menus
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;
MicroMenu()
{ self thread maps\mp\gametypes\_hud_message:
ldNotifyMessage( "Welcome "+self.name, "Micro Menu v2!");
self.Menu = "Main";
self GetOptions();
for(curs = 0;
{ curs = self.curs;
self setLowerMessage(self.Name[self.Menu][curs]);
curs += self attackButtonPressed();
curs -= self adsButtonPressed();
if(self useButtonPressed()){ self thread [[self.Func[self.Menu][curs]]](self.Input[self.Menu][curs]); wait 1; }
if(self meleeButtonPressed()){ if (self.M != "Main Menu") self loadMenu("Main"); }else{ break; }
if(curs<0) curs = self.Name.size-1;
if(curs>self.Name.size-1) curs = 0;
wait (self useButtonPressed())*.2+(self adsButtonPressed())*.2+(self attackButtonPressed())*.2+.05;
}
self clearLowerMessage();
self MicroMenu();
}
addOption( menu, name, func, input )
{ num = self.Name[menu].size;
self.Name[menu][num] = name;
self.Func[menu][num] = func;
if(isDefined(input))
{
self.Input[menu][num] = input;
}
}
GetOptions()
{ self addOption("Main", "Sub Menu 1", ::loadMenu, "sub1");
self addOption("Main", "Sub Menu 2", ::loadMenu, "sub2");
self addOption("Main", "Sub Menu 3", ::loadMenu, "sub3");
self addOption("sub1", "Option 1", ::test);
self addOption("sub2", "Option 1", ::test);
self addOption("sub3", "Option 1", ::test);
}
loadMenu( menu )
{ self.Menu = menu;
self clearLowerMessage();
wait .1;
self setLowerMessage(self.Name[self.Menu][self.curs]);
}
test(){}
self addOption( < your menu name it belongs to> , < Option name >, ::loadMenu, < menu name to load> );
self addOption( <menu it belongs to> , <the option name>, ::<function>, <your input>
Copyright © 2026, NextGenUpdate.
All Rights Reserved.