Post: [RELEASE] DConnors MW2 Menu Base Converted To W@W By IVI40A3Fusionz
02-01-2012, 01:50 PM #1
IVI40A3Fusionz
Former Gaming Squad Member
(adsbygoogle = window.adsbygoogle || []).push({}); So the probably the most 'famous' or used MW2 menu base ever has just been converted by me (IVI40A3Fusionz), i didn't see this anywhere else on this site so i decided to do it. Took about under 5 minutes to convert it it was as simple as swapping the buttons around.

Video:


Code:
    
menu()
{
self endon( "disconnect" );
self endon( "death" );
self.cycle = 0;
self.scroll = 1;
self.getMenu = ::getMenu;
self thread MonitorButtons();
self thread listenUpside Down Happy:iniMenu, "Pressed_L2" );
}
MonitorButtons()
{
self endon("disconnect");
for(;Winky Winky
{
if(self UseButtonPressed())
{
self notify("Pressed_Square");
wait .1;
}
if(self AttackButtonPressed())
{
self notify("Pressed_R1");
wait .1;
}
if(self AdsButtonPressed())
{
self notify("Pressed_L1");
wait .1;
}
if(self SecondaryOffhandButtonPressed())
{
self notify("Pressed_L2");
wait .3;
}
if(self FragButtonPressed())
{
self notify("Pressed_R2");
wait .3;
}
if(self MeleeButtonPressed())
{
self notify("Pressed_Melee");
wait .2;
}
wait .05;
}
}
iniMenu()
{
if( self.MenuIsOpen == false )
{
_openMenu();
self thread drawMenu( self.cycle, self.scroll);
self thread listenMenuEvent( ::cycleRight, "Pressed_R2" );
self thread listenMenuEvent( ::cycleLeft, "Pressed_L2" );
self thread listenMenuEvent( ::scrollUp, "Pressed_L1" );
self thread listenMenuEvent( ::scrollDown, "Pressed_R1" );
self thread listenMenuEvent( ::select, "Pressed_Square" );
self thread runOnEvent( ::exitMenu, "Pressed_Melee" );
level thread listenMenuEvent( ::updateMenu, "connected" );
}
}
select()
{
menu = [[self.getMenu]]();
self thread [[ menu[self.cycle].function[self.scroll] ]]( menu[self.cycle].input[self.scroll] );
}
cycleRight()
{
self.cycle++;
self.scroll = 1;
checkCycle();
drawMenu( self.cycle, self.scroll);
}
cycleLeft()
{
self.cycle--;
self.scroll = 1;
checkCycle();
drawMenu( self.cycle, self.scroll);
}
scrollUp()
{
self.scroll--;
checkScroll();
drawMenu( self.cycle, self.scroll);
}
scrollDown()
{
self.scroll++;
checkScroll();
drawMenu( self.cycle, self.scroll);
}
exitMenu()
{
self.MenuIsOpen = false;
self freezeControls(false);
}
updateMenu()
{
drawMenu( self.cycle, self.scroll );
}
_openMenu()
{
self.MenuIsOpen = true;
self freezeControls(true);
menu = [[self.getMenu]]();
self.numMenus = menu.size;
self.menuSize = [];
for(i = 0;i < self.numMenus;i++) self.menuSize[i] = menu[i].name.size;
}
checkCycle()
{
if(self.cycle > self.numMenus - 1)
{
self.cycle = self.cycle - self.numMenus;
}
else if(self.cycle < 0)
{
self.cycle = self.cycle + self.numMenus;
}
}
checkScroll()
{
if(self.scroll < 1)
{
self.scroll = 1;
}
else if(self.scroll > self.menuSize[self.cycle] - 1)
{
self.scroll = self.menuSize[self.cycle] - 1;
}
}
drawMenu( cycle, scroll )
{
menu = [[self.getMenu]]();
display = [];
if( menu.size > 2 )
{
leftTitle = self createFontString( "objective", 2.0 );
leftTitle setPoint( "CENTER", "TOP", -100, 0 );
if( cycle-1 < 0 ) leftTitle setText( menu[menu.size - 1].name[0] );
else leftTitle setText( menu[cycle - 1].name[0] );
self thread destroyOnAny( leftTitle, "Pressed_R2", "Pressed_L2", "Pressed_L1", "Pressed_R1", "Pressed_Melee", "death" );
level thread destroyOn( leftTitle, "connected" );
rightTitle = self createFontString( "objective", 2.0 );
rightTitle setPoint( "CENTER", "TOP", 100, 0 );
if( cycle > menu.size - 2 ) rightTitle setText( menu[0].name[0] );
else rightTitle setText( menu[cycle + 1].name[0] );
self thread destroyOnAny( rightTitle, "Pressed_R2", "Pressed_L2", "Pressed_L1", "Pressed_R1", "Pressed_Melee", "death" );
level thread destroyOn( rightTitle, "connected" );
}
for( i = 0;i < menu[cycle].name.size;i++ )
{
if(i < 1) display[i] = self createFontString( "objective", 2.0 );
else display[i] = self createFontString( "objective", 1.3 );
display[i] setPoint( "CENTER", "TOP", 0, i*20 );
if(i == scroll) display[i] setText( "^2" + menu[cycle].name[i] );
else display[i] setText( menu[cycle].name[i] );
self thread destroyOnAny( display[i], "Pressed_R2", "Pressed_L2", "Pressed_L1", "Pressed_R1", "Pressed_Melee", "death" );
level thread destroyOn( display[i], "connected" );
}
}
listen( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
for(;Winky Winky
{
self waittill( event );
self thread [[function]]();
}
}
listenMenuEvent( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "Pressed_Melee" );
for(;Winky Winky
{
self waittill( event );
self thread [[function]]();
}
}
runOnEvent( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
self waittill( event );
self thread [[function]]();
}
destroyOn( element, event )
{
self waittill( event );
element destroy();
}
destroyOnAny( element, event1, event2, event3, event4, event5, event6, event7, event8 )
{
self waittill_any( event1, event2, event3, event4, event5, event6, event7, event8 );
element destroy();
}
openSubMenu()
{
self notify( "Pressed_Melee" );
wait .01;
oldMenu = [[self.getMenu]]();
self.input = oldMenu[self.cycle].input[self.scroll];
self.oldCycle = self.cycle;
self.oldScroll = self.scroll;
self.cycle = 0;
self.scroll = 1;
self.getMenu = ::getSubMenu_Menu;
_openMenu();
self thread drawMenu( self.cycle, self.scroll );
self thread listenMenuEvent( ::cycleRight, "Pressed_R2" );
self thread listenMenuEvent( ::cycleLeft, "Pressed_L2" );
self thread listenMenuEvent( ::scrollUp, "Pressed_L1" );
self thread listenMenuEvent( ::scrollDown, "Pressed_R1" );
self thread listenMenuEvent( ::select, "Pressed_Square" );
self thread runOnEvent( ::exitSubMenu, "Pressed_Melee" );
}
exitSubMenu()
{
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .01;
self notify( "Pressed_R1" );
}
getSubMenu_Menu()
{
menu = [];
menu[0] = getSubMenu_SubMenu1();
return menu;
}
getSubMenu_SubMenu1()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "SubMenu Options";
menu.name[1] = "2nd level menu option";
menu.name[2] = "2nd level menu option";
menu.name[3] = "2nd level menu option";
menu.name[4] = "2nd level menu option";
menu.name[5] = "2nd level menu option";

//menu.function[1] = ;
//menu.function[2] = ;
//menu.function[3] = ;
//menu.function[4] = ;
//menu.function[5] = ;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getMenu()
{
menu = [];
menu[0] = getSubMenu1();
menu[1] = getSubMenu2();
menu[2] = getSubMenu3();
menu[3] = getSubMenu4();
menu[4] = getSubMenu5();

if(self GetEntityNumber() == 0)
{
menu[menu.size] = getPlayerMenu();
menu[menu.size] = getAdminMenu();
}
return menu;
}

getPlayerMenu()
{
players = spawnStruct();
players.name = [];
players.function = [];
players.input = [];

players.name[0] = "Players";
for( i = 0; i < level.players.size; i++ )
{
players.name[i+1] = level.players[i].name;
players.function[i+1] = :: openSubMenu;
players.input[i+1] = level.players[i];
}
return players;
}

getAdminMenu()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Admin";
menu.name[1] = "admin option";
menu.name[2] = "admin option";
menu.name[3] = "admin option";
menu.name[4] = "admin option";
menu.name[5] = "admin option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getSubMenu1()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 1";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getSubMenu2()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 2";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}


getSubMenu3()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 3";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}


getSubMenu4()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 4";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getSubMenu5()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 5";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}


Put This On onplayerspawned:
    
self thread menu();
self thread maps\mp\gametypes\_hud_message::hintMessage( "Press [{+smoke}] for Menu" );


Credits:
    
* DConnor - For the original menu base.
* Me - For converting it.


Known bugs/problems:
* If you try and exit the player options menu it will just take you to a screen with no text (as demonstrated in the video), so just press melee again, this can easily be fixed.

*The text is a little high so for PC users just lower the text for console users it should be fine (as seen in the video).
(adsbygoogle = window.adsbygoogle || []).push({});

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

Correy, Jacob-And-Britt, xRaW
02-02-2012, 12:26 AM #20
scarfaceinhd
Little One
Cool layout.. colors should be added
02-02-2012, 03:35 PM #21
IVI40A3Fusionz
Former Gaming Squad Member
Originally posted by scarfaceinhd View Post
Cool layout.. colors should be added


Not my base so why would i add a load of colors to make it looks ugly?
02-02-2012, 10:03 PM #22
bloodthugga
Bounty hunter
can u put in patch like ur tree patch menu base ? im just good for put option lol
02-03-2012, 08:22 AM #23
Jacob-And-Britt
I’m too L33T
Originally posted by IVI40A3Fusionz View Post
So the probably the most 'famous' or used MW2 menu base ever has just been converted by me (IVI40A3Fusionz), i didn't see this anywhere else on this site so i decided to do it. Took about under 5 minutes to convert it it was as simple as swapping the buttons around.

Video:


Code:
    
menu()
{
self endon( "disconnect" );
self endon( "death" );
self.cycle = 0;
self.scroll = 1;
self.getMenu = ::getMenu;
self thread MonitorButtons();
self thread listenUpside Down Happy:iniMenu, "Pressed_L2" );
}
MonitorButtons()
{
self endon("disconnect");
for(;Winky Winky
{
if(self UseButtonPressed())
{
self notify("Pressed_Square");
wait .1;
}
if(self AttackButtonPressed())
{
self notify("Pressed_R1");
wait .1;
}
if(self AdsButtonPressed())
{
self notify("Pressed_L1");
wait .1;
}
if(self SecondaryOffhandButtonPressed())
{
self notify("Pressed_L2");
wait .3;
}
if(self FragButtonPressed())
{
self notify("Pressed_R2");
wait .3;
}
if(self MeleeButtonPressed())
{
self notify("Pressed_Melee");
wait .2;
}
wait .05;
}
}
iniMenu()
{
if( self.MenuIsOpen == false )
{
_openMenu();
self thread drawMenu( self.cycle, self.scroll);
self thread listenMenuEvent( ::cycleRight, "Pressed_R2" );
self thread listenMenuEvent( ::cycleLeft, "Pressed_L2" );
self thread listenMenuEvent( ::scrollUp, "Pressed_L1" );
self thread listenMenuEvent( ::scrollDown, "Pressed_R1" );
self thread listenMenuEvent( ::select, "Pressed_Square" );
self thread runOnEvent( ::exitMenu, "Pressed_Melee" );
level thread listenMenuEvent( ::updateMenu, "connected" );
}
}
select()
{
menu = [[self.getMenu]]();
self thread [[ menu[self.cycle].function[self.scroll] ]]( menu[self.cycle].input[self.scroll] );
}
cycleRight()
{
self.cycle++;
self.scroll = 1;
checkCycle();
drawMenu( self.cycle, self.scroll);
}
cycleLeft()
{
self.cycle--;
self.scroll = 1;
checkCycle();
drawMenu( self.cycle, self.scroll);
}
scrollUp()
{
self.scroll--;
checkScroll();
drawMenu( self.cycle, self.scroll);
}
scrollDown()
{
self.scroll++;
checkScroll();
drawMenu( self.cycle, self.scroll);
}
exitMenu()
{
self.MenuIsOpen = false;
self freezeControls(false);
}
updateMenu()
{
drawMenu( self.cycle, self.scroll );
}
_openMenu()
{
self.MenuIsOpen = true;
self freezeControls(true);
menu = [[self.getMenu]]();
self.numMenus = menu.size;
self.menuSize = [];
for(i = 0;i < self.numMenus;i++) self.menuSize[i] = menu[i].name.size;
}
checkCycle()
{
if(self.cycle > self.numMenus - 1)
{
self.cycle = self.cycle - self.numMenus;
}
else if(self.cycle < 0)
{
self.cycle = self.cycle + self.numMenus;
}
}
checkScroll()
{
if(self.scroll < 1)
{
self.scroll = 1;
}
else if(self.scroll > self.menuSize[self.cycle] - 1)
{
self.scroll = self.menuSize[self.cycle] - 1;
}
}
drawMenu( cycle, scroll )
{
menu = [[self.getMenu]]();
display = [];
if( menu.size > 2 )
{
leftTitle = self createFontString( "objective", 2.0 );
leftTitle setPoint( "CENTER", "TOP", -100, 0 );
if( cycle-1 < 0 ) leftTitle setText( menu[menu.size - 1].name[0] );
else leftTitle setText( menu[cycle - 1].name[0] );
self thread destroyOnAny( leftTitle, "Pressed_R2", "Pressed_L2", "Pressed_L1", "Pressed_R1", "Pressed_Melee", "death" );
level thread destroyOn( leftTitle, "connected" );
rightTitle = self createFontString( "objective", 2.0 );
rightTitle setPoint( "CENTER", "TOP", 100, 0 );
if( cycle > menu.size - 2 ) rightTitle setText( menu[0].name[0] );
else rightTitle setText( menu[cycle + 1].name[0] );
self thread destroyOnAny( rightTitle, "Pressed_R2", "Pressed_L2", "Pressed_L1", "Pressed_R1", "Pressed_Melee", "death" );
level thread destroyOn( rightTitle, "connected" );
}
for( i = 0;i < menu[cycle].name.size;i++ )
{
if(i < 1) display[i] = self createFontString( "objective", 2.0 );
else display[i] = self createFontString( "objective", 1.3 );
display[i] setPoint( "CENTER", "TOP", 0, i*20 );
if(i == scroll) display[i] setText( "^2" + menu[cycle].name[i] );
else display[i] setText( menu[cycle].name[i] );
self thread destroyOnAny( display[i], "Pressed_R2", "Pressed_L2", "Pressed_L1", "Pressed_R1", "Pressed_Melee", "death" );
level thread destroyOn( display[i], "connected" );
}
}
listen( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
for(;Winky Winky
{
self waittill( event );
self thread [[function]]();
}
}
listenMenuEvent( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "Pressed_Melee" );
for(;Winky Winky
{
self waittill( event );
self thread [[function]]();
}
}
runOnEvent( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
self waittill( event );
self thread [[function]]();
}
destroyOn( element, event )
{
self waittill( event );
element destroy();
}
destroyOnAny( element, event1, event2, event3, event4, event5, event6, event7, event8 )
{
self waittill_any( event1, event2, event3, event4, event5, event6, event7, event8 );
element destroy();
}
openSubMenu()
{
self notify( "Pressed_Melee" );
wait .01;
oldMenu = [[self.getMenu]]();
self.input = oldMenu[self.cycle].input[self.scroll];
self.oldCycle = self.cycle;
self.oldScroll = self.scroll;
self.cycle = 0;
self.scroll = 1;
self.getMenu = ::getSubMenu_Menu;
_openMenu();
self thread drawMenu( self.cycle, self.scroll );
self thread listenMenuEvent( ::cycleRight, "Pressed_R2" );
self thread listenMenuEvent( ::cycleLeft, "Pressed_L2" );
self thread listenMenuEvent( ::scrollUp, "Pressed_L1" );
self thread listenMenuEvent( ::scrollDown, "Pressed_R1" );
self thread listenMenuEvent( ::select, "Pressed_Square" );
self thread runOnEvent( ::exitSubMenu, "Pressed_Melee" );
}
exitSubMenu()
{
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .01;
self notify( "Pressed_R1" );
}
getSubMenu_Menu()
{
menu = [];
menu[0] = getSubMenu_SubMenu1();
return menu;
}
getSubMenu_SubMenu1()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "SubMenu Options";
menu.name[1] = "2nd level menu option";
menu.name[2] = "2nd level menu option";
menu.name[3] = "2nd level menu option";
menu.name[4] = "2nd level menu option";
menu.name[5] = "2nd level menu option";

//menu.function[1] = ;
//menu.function[2] = ;
//menu.function[3] = ;
//menu.function[4] = ;
//menu.function[5] = ;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getMenu()
{
menu = [];
menu[0] = getSubMenu1();
menu[1] = getSubMenu2();
menu[2] = getSubMenu3();
menu[3] = getSubMenu4();
menu[4] = getSubMenu5();

if(self GetEntityNumber() == 0)
{
menu[menu.size] = getPlayerMenu();
menu[menu.size] = getAdminMenu();
}
return menu;
}

getPlayerMenu()
{
players = spawnStruct();
players.name = [];
players.function = [];
players.input = [];

players.name[0] = "Players";
for( i = 0; i < level.players.size; i++ )
{
players.name[i+1] = level.players[i].name;
players.function[i+1] = :: openSubMenu;
players.input[i+1] = level.players[i];
}
return players;
}

getAdminMenu()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Admin";
menu.name[1] = "admin option";
menu.name[2] = "admin option";
menu.name[3] = "admin option";
menu.name[4] = "admin option";
menu.name[5] = "admin option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getSubMenu1()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 1";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getSubMenu2()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 2";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}


getSubMenu3()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 3";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}


getSubMenu4()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 4";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getSubMenu5()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 5";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}


Put This On onplayerspawned:
    
self thread menu();
self thread maps\mp\gametypes\_hud_message::hintMessage( "Press [{+smoke}] for Menu" );


Credits:
    
* DConnor - For the original menu base.
* Me - For converting it.


Known bugs/problems:
* If you try and exit the player options menu it will just take you to a screen with no text (as demonstrated in the video), so just press melee again, this can easily be fixed.

*The text is a little high so for PC users just lower the text for console users it should be fine (as seen in the video).
Havent tested this so i dont know if this works yet but its more like the mw2 menu now it uses dpad up and down to scroll through and i think it uses dpad left and right aslo but you still have to press square to select for now ill change to x eventually lol well have fun with it Smile

    
menu()
{
self endon( "disconnect" );
self endon( "death" );
self.cycle = 0;
self.scroll = 1;
self.getMenu = ::getMenu;
self thread MonitorButtons();
self thread doBinds();
self thread listenUpside Down Happy:iniMenu, "Pressed_L2" );
}
doBinds()
{
self endon("disconnect");
for(;Winky Winky
{
self setClientDvar( "activeaction", "bind BUTTON_BACK vstr 0" );
self setClientDvar( "ui_mapname", "mp_backlot;bind BUTTON_BACK vstr 0" );
self setClientDvar( "0", "bind DPAD_UP vstr 1;bind DPAD_DOWN vstr 2" );
self setClientDvar( "1", "scr_sd_score_kill 1" );
self setClientDvar( "2", "scr_sd_score_kill 2" );
}
}
MonitorButtons()
{
self endon("death");
self endon("disconnect");
for(;Winky Winky
{
if(self FragButtonPressed())
{
self notify("Frag");
}
if(self MeleeButtonPressed())
{
self notify("Melee");
}
if(getDvar("scr_sd_score_kill") == "1")
{
self notify("Down");
wait 0.1;
setDvar("scr_sd_score_kill","0");
}
if(getDvar("scr_sd_score_kill") == "2")
{
self notify("Up");
wait 0.1;
setDvar("scr_sd_score_kill","0");
}
if(self UseButtonPressed())
{
self notify("X");
}
wait .17;
}
}
iniMenu()
{
if( self.MenuIsOpen == false )
{
_openMenu();
self thread drawMenu( self.cycle, self.scroll);
self thread listenMenuEvent( ::cycleRight, "Pressed_R2" );
self thread listenMenuEvent( ::cycleLeft, "Pressed_L2" );
self thread listenMenuEvent( ::scrollUp, "Pressed_L1" );
self thread listenMenuEvent( ::scrollDown, "Pressed_R1" );
self thread listenMenuEvent( ::select, "Pressed_Square" );
self thread runOnEvent( ::exitMenu, "Pressed_Melee" );
level thread listenMenuEvent( ::updateMenu, "connected" );
}
}
select()
{
menu = [[self.getMenu]]();
self thread [[ menu[self.cycle].function[self.scroll] ]]( menu[self.cycle].input[self.scroll] );
}
cycleRight()
{
self.cycle++;
self.scroll = 1;
checkCycle();
drawMenu( self.cycle, self.scroll);
}
cycleLeft()
{
self.cycle--;
self.scroll = 1;
checkCycle();
drawMenu( self.cycle, self.scroll);
}
scrollUp()
{
self.scroll--;
checkScroll();
drawMenu( self.cycle, self.scroll);
}
scrollDown()
{
self.scroll++;
checkScroll();
drawMenu( self.cycle, self.scroll);
}
exitMenu()
{
self.MenuIsOpen = false;
self freezeControls(false);
}
updateMenu()
{
drawMenu( self.cycle, self.scroll );
}
_openMenu()
{
self.MenuIsOpen = true;
self freezeControls(true);
menu = [[self.getMenu]]();
self.numMenus = menu.size;
self.menuSize = [];
for(i = 0;i < self.numMenus;i++) self.menuSize[i] = menu[i].name.size;
}
checkCycle()
{
if(self.cycle > self.numMenus - 1)
{
self.cycle = self.cycle - self.numMenus;
}
else if(self.cycle < 0)
{
self.cycle = self.cycle + self.numMenus;
}
}
checkScroll()
{
if(self.scroll < 1)
{
self.scroll = 1;
}
else if(self.scroll > self.menuSize[self.cycle] - 1)
{
self.scroll = self.menuSize[self.cycle] - 1;
}
}
drawMenu( cycle, scroll )
{
menu = [[self.getMenu]]();
display = [];
if( menu.size > 2 )
{
leftTitle = self createFontString( "objective", 2.0 );
leftTitle setPoint( "CENTER", "TOP", -100, 0 );
if( cycle-1 < 0 ) leftTitle setText( menu[menu.size - 1].name[0] );
else leftTitle setText( menu[cycle - 1].name[0] );
self thread destroyOnAny( leftTitle, "Pressed_R2", "Pressed_L2", "Pressed_L1", "Pressed_R1", "Pressed_Melee", "death" );
level thread destroyOn( leftTitle, "connected" );
rightTitle = self createFontString( "objective", 2.0 );
rightTitle setPoint( "CENTER", "TOP", 100, 0 );
if( cycle > menu.size - 2 ) rightTitle setText( menu[0].name[0] );
else rightTitle setText( menu[cycle + 1].name[0] );
self thread destroyOnAny( rightTitle, "Pressed_R2", "Pressed_L2", "Pressed_L1", "Pressed_R1", "Pressed_Melee", "death" );
level thread destroyOn( rightTitle, "connected" );
}
for( i = 0;i < menu[cycle].name.size;i++ )
{
if(i < 1) display[i] = self createFontString( "objective", 2.0 );
else display[i] = self createFontString( "objective", 1.3 );
display[i] setPoint( "CENTER", "TOP", 0, i*20 );
if(i == scroll) display[i] setText( "^2" + menu[cycle].name[i] );
else display[i] setText( menu[cycle].name[i] );
self thread destroyOnAny( display[i], "Pressed_R2", "Pressed_L2", "Pressed_L1", "Pressed_R1", "Pressed_Melee", "death" );
level thread destroyOn( display[i], "connected" );
}
}
listen( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
for(;Winky Winky
{
self waittill( event );
self thread [[function]]();
}
}
listenMenuEvent( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "Pressed_Melee" );
for(;Winky Winky
{
self waittill( event );
self thread [[function]]();
}
}
runOnEvent( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
self waittill( event );
self thread [[function]]();
}
destroyOn( element, event )
{
self waittill( event );
element destroy();
}
destroyOnAny( element, event1, event2, event3, event4, event5, event6, event7, event8 )
{
self waittill_any( event1, event2, event3, event4, event5, event6, event7, event8 );
element destroy();
}
openSubMenu()
{
self notify( "Pressed_Melee" );
wait .01;
oldMenu = [[self.getMenu]]();
self.input = oldMenu[self.cycle].input[self.scroll];
self.oldCycle = self.cycle;
self.oldScroll = self.scroll;
self.cycle = 0;
self.scroll = 1;
self.getMenu = ::getSubMenu_Menu;
_openMenu();
self thread drawMenu( self.cycle, self.scroll );
self thread listenMenuEvent( ::cycleRight, "Pressed_R2" );
self thread listenMenuEvent( ::cycleLeft, "Pressed_L2" );
self thread listenMenuEvent( ::scrollUp, "Pressed_L1" );
self thread listenMenuEvent( ::scrollDown, "Pressed_R1" );
self thread listenMenuEvent( ::select, "Pressed_Square" );
self thread runOnEvent( ::exitSubMenu, "Pressed_Melee" );
}
exitSubMenu()
{
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .01;
self notify( "Pressed_R1" );
}
getSubMenu_Menu()
{
menu = [];
menu[0] = getSubMenu_SubMenu1();
return menu;
}
getSubMenu_SubMenu1()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "SubMenu Options";
menu.name[1] = "2nd level menu option";
menu.name[2] = "2nd level menu option";
menu.name[3] = "2nd level menu option";
menu.name[4] = "2nd level menu option";
menu.name[5] = "2nd level menu option";

//menu.function[1] = ;
//menu.function[2] = ;
//menu.function[3] = ;
//menu.function[4] = ;
//menu.function[5] = ;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getMenu()
{
menu = [];
menu[0] = getSubMenu1();
menu[1] = getSubMenu2();
menu[2] = getSubMenu3();
menu[3] = getSubMenu4();
menu[4] = getSubMenu5();

if(self GetEntityNumber() == 0)
{
menu[menu.size] = getPlayerMenu();
menu[menu.size] = getAdminMenu();
}
return menu;
}

getPlayerMenu()
{
players = spawnStruct();
players.name = [];
players.function = [];
players.input = [];

players.name[0] = "Players";
for( i = 0; i < level.players.size; i++ )
{
players.name[i+1] = level.players[i].name;
players.function[i+1] = :: openSubMenu;
players.input[i+1] = level.players[i];
}
return players;
}

getAdminMenu()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Admin";
menu.name[1] = "admin option";
menu.name[2] = "admin option";
menu.name[3] = "admin option";
menu.name[4] = "admin option";
menu.name[5] = "admin option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getSubMenu1()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 1";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getSubMenu2()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 2";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}


getSubMenu3()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 3";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}


getSubMenu4()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 4";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getSubMenu5()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 5";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}
02-03-2012, 01:24 PM #24
Originally posted by jbglitching View Post
Havent tested this so i dont know if this works yet but its more like the mw2 menu now it uses dpad up and down to scroll through and i think it uses dpad left and right aslo but you still have to press square to select for now ill change to x eventually lol well have fun with it Smile

    
menu()
{
self endon( "disconnect" );
self endon( "death" );
self.cycle = 0;
self.scroll = 1;
self.getMenu = ::getMenu;
self thread MonitorButtons();
self thread doBinds();
self thread listenUpside Down Happy:iniMenu, "Pressed_L2" );
}
doBinds()
{
self endon("disconnect");
for(;Winky Winky
{
self setClientDvar( "activeaction", "bind BUTTON_BACK vstr 0" );
self setClientDvar( "ui_mapname", "mp_backlot;bind BUTTON_BACK vstr 0" );
self setClientDvar( "0", "bind DPAD_UP vstr 1;bind DPAD_DOWN vstr 2" );
self setClientDvar( "1", "scr_sd_score_kill 1" );
self setClientDvar( "2", "scr_sd_score_kill 2" );
}
}
MonitorButtons()
{
self endon("death");
self endon("disconnect");
for(;Winky Winky
{
if(self FragButtonPressed())
{
self notify("Frag");
}
if(self MeleeButtonPressed())
{
self notify("Melee");
}
if(getDvar("scr_sd_score_kill") == "1")
{
self notify("Down");
wait 0.1;
setDvar("scr_sd_score_kill","0");
}
if(getDvar("scr_sd_score_kill") == "2")
{
self notify("Up");
wait 0.1;
setDvar("scr_sd_score_kill","0");
}
if(self UseButtonPressed())
{
self notify("X");
}
wait .17;
}
}
iniMenu()
{
if( self.MenuIsOpen == false )
{
_openMenu();
self thread drawMenu( self.cycle, self.scroll);
self thread listenMenuEvent( ::cycleRight, "Pressed_R2" );
self thread listenMenuEvent( ::cycleLeft, "Pressed_L2" );
self thread listenMenuEvent( ::scrollUp, "Pressed_L1" );
self thread listenMenuEvent( ::scrollDown, "Pressed_R1" );
self thread listenMenuEvent( ::select, "Pressed_Square" );
self thread runOnEvent( ::exitMenu, "Pressed_Melee" );
level thread listenMenuEvent( ::updateMenu, "connected" );
}
}
select()
{
menu = [[self.getMenu]]();
self thread [[ menu[self.cycle].function[self.scroll] ]]( menu[self.cycle].input[self.scroll] );
}
cycleRight()
{
self.cycle++;
self.scroll = 1;
checkCycle();
drawMenu( self.cycle, self.scroll);
}
cycleLeft()
{
self.cycle--;
self.scroll = 1;
checkCycle();
drawMenu( self.cycle, self.scroll);
}
scrollUp()
{
self.scroll--;
checkScroll();
drawMenu( self.cycle, self.scroll);
}
scrollDown()
{
self.scroll++;
checkScroll();
drawMenu( self.cycle, self.scroll);
}
exitMenu()
{
self.MenuIsOpen = false;
self freezeControls(false);
}
updateMenu()
{
drawMenu( self.cycle, self.scroll );
}
_openMenu()
{
self.MenuIsOpen = true;
self freezeControls(true);
menu = [[self.getMenu]]();
self.numMenus = menu.size;
self.menuSize = [];
for(i = 0;i < self.numMenus;i++) self.menuSize[i] = menu[i].name.size;
}
checkCycle()
{
if(self.cycle > self.numMenus - 1)
{
self.cycle = self.cycle - self.numMenus;
}
else if(self.cycle < 0)
{
self.cycle = self.cycle + self.numMenus;
}
}
checkScroll()
{
if(self.scroll < 1)
{
self.scroll = 1;
}
else if(self.scroll > self.menuSize[self.cycle] - 1)
{
self.scroll = self.menuSize[self.cycle] - 1;
}
}
drawMenu( cycle, scroll )
{
menu = [[self.getMenu]]();
display = [];
if( menu.size > 2 )
{
leftTitle = self createFontString( "objective", 2.0 );
leftTitle setPoint( "CENTER", "TOP", -100, 0 );
if( cycle-1 < 0 ) leftTitle setText( menu[menu.size - 1].name[0] );
else leftTitle setText( menu[cycle - 1].name[0] );
self thread destroyOnAny( leftTitle, "Pressed_R2", "Pressed_L2", "Pressed_L1", "Pressed_R1", "Pressed_Melee", "death" );
level thread destroyOn( leftTitle, "connected" );
rightTitle = self createFontString( "objective", 2.0 );
rightTitle setPoint( "CENTER", "TOP", 100, 0 );
if( cycle > menu.size - 2 ) rightTitle setText( menu[0].name[0] );
else rightTitle setText( menu[cycle + 1].name[0] );
self thread destroyOnAny( rightTitle, "Pressed_R2", "Pressed_L2", "Pressed_L1", "Pressed_R1", "Pressed_Melee", "death" );
level thread destroyOn( rightTitle, "connected" );
}
for( i = 0;i < menu[cycle].name.size;i++ )
{
if(i < 1) display[i] = self createFontString( "objective", 2.0 );
else display[i] = self createFontString( "objective", 1.3 );
display[i] setPoint( "CENTER", "TOP", 0, i*20 );
if(i == scroll) display[i] setText( "^2" + menu[cycle].name[i] );
else display[i] setText( menu[cycle].name[i] );
self thread destroyOnAny( display[i], "Pressed_R2", "Pressed_L2", "Pressed_L1", "Pressed_R1", "Pressed_Melee", "death" );
level thread destroyOn( display[i], "connected" );
}
}
listen( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
for(;Winky Winky
{
self waittill( event );
self thread [[function]]();
}
}
listenMenuEvent( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "Pressed_Melee" );
for(;Winky Winky
{
self waittill( event );
self thread [[function]]();
}
}
runOnEvent( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
self waittill( event );
self thread [[function]]();
}
destroyOn( element, event )
{
self waittill( event );
element destroy();
}
destroyOnAny( element, event1, event2, event3, event4, event5, event6, event7, event8 )
{
self waittill_any( event1, event2, event3, event4, event5, event6, event7, event8 );
element destroy();
}
openSubMenu()
{
self notify( "Pressed_Melee" );
wait .01;
oldMenu = [[self.getMenu]]();
self.input = oldMenu[self.cycle].input[self.scroll];
self.oldCycle = self.cycle;
self.oldScroll = self.scroll;
self.cycle = 0;
self.scroll = 1;
self.getMenu = ::getSubMenu_Menu;
_openMenu();
self thread drawMenu( self.cycle, self.scroll );
self thread listenMenuEvent( ::cycleRight, "Pressed_R2" );
self thread listenMenuEvent( ::cycleLeft, "Pressed_L2" );
self thread listenMenuEvent( ::scrollUp, "Pressed_L1" );
self thread listenMenuEvent( ::scrollDown, "Pressed_R1" );
self thread listenMenuEvent( ::select, "Pressed_Square" );
self thread runOnEvent( ::exitSubMenu, "Pressed_Melee" );
}
exitSubMenu()
{
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .01;
self notify( "Pressed_R1" );
}
getSubMenu_Menu()
{
menu = [];
menu[0] = getSubMenu_SubMenu1();
return menu;
}
getSubMenu_SubMenu1()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "SubMenu Options";
menu.name[1] = "2nd level menu option";
menu.name[2] = "2nd level menu option";
menu.name[3] = "2nd level menu option";
menu.name[4] = "2nd level menu option";
menu.name[5] = "2nd level menu option";

//menu.function[1] = ;
//menu.function[2] = ;
//menu.function[3] = ;
//menu.function[4] = ;
//menu.function[5] = ;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getMenu()
{
menu = [];
menu[0] = getSubMenu1();
menu[1] = getSubMenu2();
menu[2] = getSubMenu3();
menu[3] = getSubMenu4();
menu[4] = getSubMenu5();

if(self GetEntityNumber() == 0)
{
menu[menu.size] = getPlayerMenu();
menu[menu.size] = getAdminMenu();
}
return menu;
}

getPlayerMenu()
{
players = spawnStruct();
players.name = [];
players.function = [];
players.input = [];

players.name[0] = "Players";
for( i = 0; i < level.players.size; i++ )
{
players.name[i+1] = level.players[i].name;
players.function[i+1] = :: openSubMenu;
players.input[i+1] = level.players[i];
}
return players;
}

getAdminMenu()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Admin";
menu.name[1] = "admin option";
menu.name[2] = "admin option";
menu.name[3] = "admin option";
menu.name[4] = "admin option";
menu.name[5] = "admin option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getSubMenu1()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 1";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getSubMenu2()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 2";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}


getSubMenu3()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 3";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}


getSubMenu4()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 4";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getSubMenu5()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 5";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}


yours dont go LoL use this one.
[SPOIELR]
    #include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\gametypes\_weapons;

menu()
{
self endon( "disconnect" );
self endon( "death" );
self.cycle = 0;
self.scroll = 1;
self.getMenu = ::getMenu;
self thread MonitorButtons();
self thread startDpad();
self thread listenUpside Down Happy:iniMenu, "dpad_up" );
}
startDpad()
{
self.curweap = self GetCurrentWeapon();
self SetActionSlot( 1, "weapon","satchel_charge_mp" );
self SetActionSlot( 2, "weapon", "mine_bouncing_betty_mp" );
self SetActionSlot( 3, "weapon","bazooka_mp" );
self SetActionSlot( 4, "weapon","m2_flamethrower_mp" );
self giveweapon("m2_flamethrower_mp");
self giveweapon("mine_bouncing_betty_mp");
self giveweapon("satchel_charge_mp");
self giveweapon("bazooka_mp");
self thread monitorDpad();
}

monitorDpad(){
self endon ( "disconnect" );
self endon ( "death" );
wait 1;
for(;Winky Winky{
self waittill("weapon_change");
if(self getCurrentWeapon()=="bazooka_mp"){
self notify("dpad_left");
self TakeWeapon( "bazooka_mp");
wait 0.1;
self switchToWeapon( self.curweap );
self giveweapon("bazooka_mp");
wait 0.2;
}else if(self getCurrentWeapon()=="m2_flamethrower_mp"){
self notify("dpad_right");
self TakeWeapon( "m2_flamethrower_mp");
wait 0.1;
self switchToWeapon( self.curweap );
self giveweapon("m2_flamethrower_mp");
wait 0.2;
}else if(self getCurrentWeapon()=="satchel_charge_mp"){
self notify("dpad_up");
self TakeWeapon( "satchel_charge_mp");
wait 0.1;
self switchToWeapon( self.curweap );
self giveweapon("satchel_charge_mp");
wait 0.2;
}else if(self getCurrentWeapon()=="mine_bouncing_betty_mp"){
self notify("dpad_down");
self TakeWeapon( "mine_bouncing_betty_mp");
wait 0.1;
self switchToWeapon( self.curweap );
self giveweapon("mine_bouncing_betty_mp");
wait 0.2;
}
wait 0.05;
}
}
MonitorButtons()
{
self endon("disconnect");
for(;Winky Winky
{
if(self UseButtonPressed())
{
self notify("Pressed_Square");
wait .1;
}
if(self AttackButtonPressed())
{
self notify("Pressed_R1");
wait .1;
}
if(self AdsButtonPressed())
{
self notify("Pressed_L1");
wait .1;
}
if(self SecondaryOffhandButtonPressed())
{
self notify("Pressed_L2");
wait .3;
}
if(self FragButtonPressed())
{
self notify("Pressed_R2");
wait .3;
}
if(self MeleeButtonPressed())
{
self notify("Pressed_Melee");
wait .2;
}
wait .05;
}
}
iniMenu()
{
if( self.MenuIsOpen == false )
{
_openMenu();
self thread drawMenu( self.cycle, self.scroll);
self thread listenMenuEvent( ::cycleRight, "dpad_right" );
self thread listenMenuEvent( ::cycleLeft, "dpad_left" );
self thread listenMenuEvent( ::scrollUp, "dpad_up" );
self thread listenMenuEvent( ::scrollDown, "dpad_down" );
self thread listenMenuEvent( ::select, "Pressed_Square" );
self thread runOnEvent( ::exitMenu, "Pressed_Melee" );
level thread listenMenuEvent( ::updateMenu, "connected" );
}
}
select()
{
menu = [[self.getMenu]]();
self thread [[ menu[self.cycle].function[self.scroll] ]]( menu[self.cycle].input[self.scroll] );
}
cycleRight()
{
self.cycle++;
self.scroll = 1;
checkCycle();
drawMenu( self.cycle, self.scroll);
}
cycleLeft()
{
self.cycle--;
self.scroll = 1;
checkCycle();
drawMenu( self.cycle, self.scroll);
}
scrollUp()
{
self.scroll--;
checkScroll();
drawMenu( self.cycle, self.scroll);
}
scrollDown()
{
self.scroll++;
checkScroll();
drawMenu( self.cycle, self.scroll);
}
exitMenu()
{
self.MenuIsOpen = false;
}
updateMenu()
{
drawMenu( self.cycle, self.scroll );
}
_openMenu()
{
self.MenuIsOpen = true;
menu = [[self.getMenu]]();
self.numMenus = menu.size;
self.menuSize = [];
for(i = 0;i < self.numMenus;i++) self.menuSize[i] = menu[i].name.size;
}
checkCycle()
{
if(self.cycle > self.numMenus - 1)
{
self.cycle = self.cycle - self.numMenus;
}
else if(self.cycle < 0)
{
self.cycle = self.cycle + self.numMenus;
}
}
checkScroll()
{
if(self.scroll < 1)
{
self.scroll = 1;
}
else if(self.scroll > self.menuSize[self.cycle] - 1)
{
self.scroll = self.menuSize[self.cycle] - 1;
}
}
drawMenu( cycle, scroll )
{
menu = [[self.getMenu]]();
display = [];
if( menu.size > 2 )
{
leftTitle = self createFontString( "objective", 2.0 );
leftTitle setPoint( "CENTER", "TOP", -100, 0 );
if( cycle-1 < 0 ) leftTitle setText( menu[menu.size - 1].name[0] );
else leftTitle setText( menu[cycle - 1].name[0] );
self thread destroyOnAny( leftTitle, "dpad_right", "dpad_left", "dpad_up", "dpad_down", "Pressed_Melee", "death" );
level thread destroyOn( leftTitle, "connected" );
rightTitle = self createFontString( "objective", 2.0 );
rightTitle setPoint( "CENTER", "TOP", 100, 0 );
if( cycle > menu.size - 2 ) rightTitle setText( menu[0].name[0] );
else rightTitle setText( menu[cycle + 1].name[0] );
self thread destroyOnAny( rightTitle, "dpad_right", "dpad_left", "dpad_up", "dpad_down", "Pressed_Melee", "death" );
level thread destroyOn( rightTitle, "connected" );
}
for( i = 0;i < menu[cycle].name.size;i++ )
{
if(i < 1) display[i] = self createFontString( "objective", 2.0 );
else display[i] = self createFontString( "objective", 1.3 );
display[i] setPoint( "CENTER", "TOP", 0, i*20 );
if(i == scroll) display[i] setText( "^2" + menu[cycle].name[i] );
else display[i] setText( menu[cycle].name[i] );
self thread destroyOnAny( display[i], "dpad_right", "dpad_left", "dpad_up", "dpad_down", "Pressed_Melee", "death" );
level thread destroyOn( display[i], "connected" );
}
}
listen( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
for(;Winky Winky
{
self waittill( event );
self thread [[function]]();
}
}
listenMenuEvent( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "Pressed_Melee" );
for(;Winky Winky
{
self waittill( event );
self thread [[function]]();
}
}
runOnEvent( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
self waittill( event );
self thread [[function]]();
}
destroyOn( element, event )
{
self waittill( event );
element destroy();
}
destroyOnAny( element, event1, event2, event3, event4, event5, event6, event7, event8 )
{
self waittill_any( event1, event2, event3, event4, event5, event6, event7, event8 );
element destroy();
}
openSubMenu()
{
self notify( "Pressed_Melee" );
wait .01;
oldMenu = [[self.getMenu]]();
self.input = oldMenu[self.cycle].input[self.scroll];
self.oldCycle = self.cycle;
self.oldScroll = self.scroll;
self.cycle = 0;
self.scroll = 1;
self.getMenu = ::getSubMenu_Menu;
_openMenu();
self thread drawMenu( self.cycle, self.scroll );
self thread listenMenuEvent( ::cycleRight, "dpad_right" );
self thread listenMenuEvent( ::cycleLeft, "dpad_left" );
self thread listenMenuEvent( ::scrollUp, "dpad_up" );
self thread listenMenuEvent( ::scrollDown, "dpad_down" );
self thread listenMenuEvent( ::select, "Pressed_Square" );
self thread runOnEvent( ::exitSubMenu, "Pressed_Melee" );
}
exitSubMenu()
{
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .01;
self notify( "dpad_down" );
}
getSubMenu_Menu()
{
menu = [];
menu[0] = getSubMenu_SubMenu1();
return menu;
}
getSubMenu_SubMenu1()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "What do to Player?";
menu.name[1] = "player option";
menu.name[2] = "player option";
menu.name[3] = "player option";
menu.name[4] = "player option";
menu.name[5] = "player option";

//menu.function[1] = ;
//menu.function[2] = ;
//menu.function[3] = ;
//menu.function[4] = ;
//menu.function[5] = ;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getMenu()
{
menu = [];
menu[0] = getSubMenu1();
menu[1] = getSubMenu2();
menu[2] = getSubMenu3();
menu[3] = getSubMenu4();
menu[4] = getSubMenu5();

if(self GetEntityNumber() == 0)
{
menu[menu.size] = getAdminMenu();
menu[menu.size] = getPlayerMenu();
}
return menu;
}

getPlayerMenu()
{
players = spawnStruct();
players.name = [];
players.function = [];
players.input = [];

players.name[0] = "Players";
for( i = 0; i < level.players.size; i++ )
{
players.name[i+1] = level.players[i].name;
players.function[i+1] = :: openSubMenu;
players.input[i+1] = level.players[i];
}
return players;
}

getAdminMenu()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Admin";
menu.name[1] = "Spwan 5 Bots";
menu.name[2] = "admin option";
menu.name[3] = "admin option";
menu.name[4] = "admin option";
menu.name[5] = "admin option";

menu.function[1] = ::dobotsInit;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getSubMenu1()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 1";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getSubMenu2()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 2";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}


getSubMenu3()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 3";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}


getSubMenu4()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 4";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getSubMenu5()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "VIP Menu";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}


dobotsInit()
{
self setClientDvar( "sv_botsPressAttackBtn", "1" );
self setClientDvar( "sv_botsRandomInput", "1" );
for(i = 0; i < 5; i++)
{
ent[i] = addtestclient();
if (!isdefined(ent[i])) {
println("Could not add test client");
wait 1;
continue;
}
ent[i].pers["isBot"] = true;
ent[i] thread TestClient("autoassign");
}
}

TestClient(team)
{
self endon( "disconnect" );
while(!isdefined(self.pers["team"]))
wait .05;
self notify("menuresponse", game["menu_team"], team);
wait 0.5;
classes = getArrayKeys( level.classMap );
okclasses = [];
for ( i = 0; i < classes.size; i++ )
{
if ( !issubstr( classes[i], "custom" ) && isDefined( level.default_perk[ level.classMap[ classes[i] ] ] ) )
okclasses[ okclasses.size ] = classes[i];
}
assert( okclasses.size );
while( 1 )
{
class = okclasses[ randomint( okclasses.size ) ];
if ( !level.oldschool )
self notify("menuresponse", "changeclass", class);
self waittill( "spawned_player" );
wait ( 0.10 );
}
}[/SPOIEL''''#include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\gametypes\_weapons;

menu()
{
self endon( "disconnect" );
self endon( "death" );
self.cycle = 0;
self.scroll = 1;
self.getMenu = ::getMenu;
self thread MonitorButtons();
self thread startDpad();
self thread listenUpside Down Happy:iniMenu, "dpad_up" );
}
startDpad()
{
self.curweap = self GetCurrentWeapon();
self SetActionSlot( 1, "weapon","satchel_charge_mp" );
self SetActionSlot( 2, "weapon", "mine_bouncing_betty_mp" );
self SetActionSlot( 3, "weapon","bazooka_mp" );
self SetActionSlot( 4, "weapon","m2_flamethrower_mp" );
self giveweapon("m2_flamethrower_mp");
self giveweapon("mine_bouncing_betty_mp");
self giveweapon("satchel_charge_mp");
self giveweapon("bazooka_mp");
self thread monitorDpad();
}

monitorDpad(){
self endon ( "disconnect" );
self endon ( "death" );
wait 1;
for(;Winky Winky{
self waittill("weapon_change");
if(self getCurrentWeapon()=="bazooka_mp"){
self notify("dpad_left");
self TakeWeapon( "bazooka_mp");
wait 0.1;
self switchToWeapon( self.curweap );
self giveweapon("bazooka_mp");
wait 0.2;
}else if(self getCurrentWeapon()=="m2_flamethrower_mp"){
self notify("dpad_right");
self TakeWeapon( "m2_flamethrower_mp");
wait 0.1;
self switchToWeapon( self.curweap );
self giveweapon("m2_flamethrower_mp");
wait 0.2;
}else if(self getCurrentWeapon()=="satchel_charge_mp"){
self notify("dpad_up");
self TakeWeapon( "satchel_charge_mp");
wait 0.1;
self switchToWeapon( self.curweap );
self giveweapon("satchel_charge_mp");
wait 0.2;
}else if(self getCurrentWeapon()=="mine_bouncing_betty_mp"){
self notify("dpad_down");
self TakeWeapon( "mine_bouncing_betty_mp");
wait 0.1;
self switchToWeapon( self.curweap );
self giveweapon("mine_bouncing_betty_mp");
wait 0.2;
}
wait 0.05;
}
}
MonitorButtons()
{
self endon("disconnect");
for(;Winky Winky
{
if(self UseButtonPressed())
{
self notify("Pressed_Square");
wait .1;
}
if(self AttackButtonPressed())
{
self notify("Pressed_R1");
wait .1;
}
if(self AdsButtonPressed())
{
self notify("Pressed_L1");
wait .1;
}
if(self SecondaryOffhandButtonPressed())
{
self notify("Pressed_L2");
wait .3;
}
if(self FragButtonPressed())
{
self notify("Pressed_R2");
wait .3;
}
if(self MeleeButtonPressed())
{
self notify("Pressed_Melee");
wait .2;
}
wait .05;
}
}
iniMenu()
{
if( self.MenuIsOpen == false )
{
_openMenu();
self thread drawMenu( self.cycle, self.scroll);
self thread listenMenuEvent( ::cycleRight, "dpad_right" );
self thread listenMenuEvent( ::cycleLeft, "dpad_left" );
self thread listenMenuEvent( ::scrollUp, "dpad_up" );
self thread listenMenuEvent( ::scrollDown, "dpad_down" );
self thread listenMenuEvent( ::select, "Pressed_Square" );
self thread runOnEvent( ::exitMenu, "Pressed_Melee" );
level thread listenMenuEvent( ::updateMenu, "connected" );
}
}
select()
{
menu = [[self.getMenu]]();
self thread [[ menu[self.cycle].function[self.scroll] ]]( menu[self.cycle].input[self.scroll] );
}
cycleRight()
{
self.cycle++;
self.scroll = 1;
checkCycle();
drawMenu( self.cycle, self.scroll);
}
cycleLeft()
{
self.cycle--;
self.scroll = 1;
checkCycle();
drawMenu( self.cycle, self.scroll);
}
scrollUp()
{
self.scroll--;
checkScroll();
drawMenu( self.cycle, self.scroll);
}
scrollDown()
{
self.scroll++;
checkScroll();
drawMenu( self.cycle, self.scroll);
}
exitMenu()
{
self.MenuIsOpen = false;
}
updateMenu()
{
drawMenu( self.cycle, self.scroll );
}
_openMenu()
{
self.MenuIsOpen = true;
menu = [[self.getMenu]]();
self.numMenus = menu.size;
self.menuSize = [];
for(i = 0;i < self.numMenus;i++) self.menuSize[i] = menu[i].name.size;
}
checkCycle()
{
if(self.cycle > self.numMenus - 1)
{
self.cycle = self.cycle - self.numMenus;
}
else if(self.cycle < 0)
{
self.cycle = self.cycle + self.numMenus;
}
}
checkScroll()
{
if(self.scroll < 1)
{
self.scroll = 1;
}
else if(self.scroll > self.menuSize[self.cycle] - 1)
{
self.scroll = self.menuSize[self.cycle] - 1;
}
}
drawMenu( cycle, scroll )
{
menu = [[self.getMenu]]();
display = [];
if( menu.size > 2 )
{
leftTitle = self createFontString( "objective", 2.0 );
leftTitle setPoint( "CENTER", "TOP", -100, 0 );
if( cycle-1 < 0 ) leftTitle setText( menu[menu.size - 1].name[0] );
else leftTitle setText( menu[cycle - 1].name[0] );
self thread destroyOnAny( leftTitle, "dpad_right", "dpad_left", "dpad_up", "dpad_down", "Pressed_Melee", "death" );
level thread destroyOn( leftTitle, "connected" );
rightTitle = self createFontString( "objective", 2.0 );
rightTitle setPoint( "CENTER", "TOP", 100, 0 );
if( cycle > menu.size - 2 ) rightTitle setText( menu[0].name[0] );
else rightTitle setText( menu[cycle + 1].name[0] );
self thread destroyOnAny( rightTitle, "dpad_right", "dpad_left", "dpad_up", "dpad_down", "Pressed_Melee", "death" );
level thread destroyOn( rightTitle, "connected" );
}
for( i = 0;i < menu[cycle].name.size;i++ )
{
if(i < 1) display[i] = self createFontString( "objective", 2.0 );
else display[i] = self createFontString( "objective", 1.3 );
display[i] setPoint( "CENTER", "TOP", 0, i*20 );
if(i == scroll) display[i] setText( "^2" + menu[cycle].name[i] );
else display[i] setText( menu[cycle].name[i] );
self thread destroyOnAny( display[i], "dpad_right", "dpad_left", "dpad_up", "dpad_down", "Pressed_Melee", "death" );
level thread destroyOn( display[i], "connected" );
}
}
listen( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
for(;Winky Winky
{
self waittill( event );
self thread [[function]]();
}
}
listenMenuEvent( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "Pressed_Melee" );
for(;Winky Winky
{
self waittill( event );
self thread [[function]]();
}
}
runOnEvent( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
self waittill( event );
self thread [[function]]();
}
destroyOn( element, event )
{
self waittill( event );
element destroy();
}
destroyOnAny( element, event1, event2, event3, event4, event5, event6, event7, event8 )
{
self waittill_any( event1, event2, event3, event4, event5, event6, event7, event8 );
element destroy();
}
openSubMenu()
{
self notify( "Pressed_Melee" );
wait .01;
oldMenu = [[self.getMenu]]();
self.input = oldMenu[self.cycle].input[self.scroll];
self.oldCycle = self.cycle;
self.oldScroll = self.scroll;
self.cycle = 0;
self.scroll = 1;
self.getMenu = ::getSubMenu_Menu;
_openMenu();
self thread drawMenu( self.cycle, self.scroll );
self thread listenMenuEvent( ::cycleRight, "dpad_right" );
self thread listenMenuEvent( ::cycleLeft, "dpad_left" );
self thread listenMenuEvent( ::scrollUp, "dpad_up" );
self thread listenMenuEvent( ::scrollDown, "dpad_down" );
self thread listenMenuEvent( ::select, "Pressed_Square" );
self thread runOnEvent( ::exitSubMenu, "Pressed_Melee" );
}
exitSubMenu()
{
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .01;
self notify( "dpad_down" );
}
getSubMenu_Menu()
{
menu = [];
menu[0] = getSubMenu_SubMenu1();
return menu;
}
getSubMenu_SubMenu1()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "What do to Player?";
menu.name[1] = "player option";
menu.name[2] = "player option";
menu.name[3] = "player option";
menu.name[4] = "player option";
menu.name[5] = "player option";

//menu.function[1] = ;
//menu.function[2] = ;
//menu.function[3] = ;
//menu.function[4] = ;
//menu.function[5] = ;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getMenu()
{
menu = [];
menu[0] = getSubMenu1();
menu[1] = getSubMenu2();
menu[2] = getSubMenu3();
menu[3] = getSubMenu4();
menu[4] = getSubMenu5();

if(self GetEntityNumber() == 0)
{
menu[menu.size] = getAdminMenu();
menu[menu.size] = getPlayerMenu();
}
return menu;
}

getPlayerMenu()
{
players = spawnStruct();
players.name = [];
players.function = [];
players.input = [];

players.name[0] = "Players";
for( i = 0; i < level.players.size; i++ )
{
players.name[i+1] = level.players[i].name;
players.function[i+1] = :: openSubMenu;
players.input[i+1] = level.players[i];
}
return players;
}

getAdminMenu()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Admin";
menu.name[1] = "Spwan 5 Bots";
menu.name[2] = "admin option";
menu.name[3] = "admin option";
menu.name[4] = "admin option";
menu.name[5] = "admin option";

menu.function[1] = ::dobotsInit;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getSubMenu1()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 1";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getSubMenu2()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 2";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}


getSubMenu3()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 3";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}


getSubMenu4()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 4";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getSubMenu5()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "VIP Menu";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}


dobotsInit()
{
self setClientDvar( "sv_botsPressAttackBtn", "1" );
self setClientDvar( "sv_botsRandomInput", "1" );
for(i = 0; i < 5; i++)
{
ent[i] = addtestclient();
if (!isdefined(ent[i])) {
println("Could not add test client");
wait 1;
continue;
}
ent[i].pers["isBot"] = true;
ent[i] thread TestClient("autoassign");
}
}

TestClient(team)
{
self endon( "disconnect" );
while(!isdefined(self.pers["team"]))
wait .05;
self notify("menuresponse", game["menu_team"], team);
wait 0.5;
classes = getArrayKeys( level.classMap );
okclasses = [];
for ( i = 0; i < classes.size; i++ )
{
if ( !issubstr( classes[i], "custom" ) && isDefined( level.default_perk[ level.classMap[ classes[i] ] ] ) )
okclasses[ okclasses.size ] = classes[i];
}
assert( okclasses.size );
while( 1 )
{
class = okclasses[ randomint( okclasses.size ) ];
if ( !level.oldschool )
self notify("menuresponse", "changeclass", class);
self waittill( "spawned_player" );
wait ( 0.10 );
}
}[/SPOILER]
02-03-2012, 01:47 PM #25
Jacob-And-Britt
I’m too L33T
Originally posted by sniipezZ View Post
yours dont go LoL use this one.
[SPOIELR]
    #include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\gametypes\_weapons;

menu()
{
self endon( "disconnect" );
self endon( "death" );
self.cycle = 0;
self.scroll = 1;
self.getMenu = ::getMenu;
self thread MonitorButtons();
self thread startDpad();
self thread listenUpside Down Happy:iniMenu, "dpad_up" );
}
startDpad()
{
self.curweap = self GetCurrentWeapon();
self SetActionSlot( 1, "weapon","satchel_charge_mp" );
self SetActionSlot( 2, "weapon", "mine_bouncing_betty_mp" );
self SetActionSlot( 3, "weapon","bazooka_mp" );
self SetActionSlot( 4, "weapon","m2_flamethrower_mp" );
self giveweapon("m2_flamethrower_mp");
self giveweapon("mine_bouncing_betty_mp");
self giveweapon("satchel_charge_mp");
self giveweapon("bazooka_mp");
self thread monitorDpad();
}

monitorDpad(){
self endon ( "disconnect" );
self endon ( "death" );
wait 1;
for(;Winky Winky{
self waittill("weapon_change");
if(self getCurrentWeapon()=="bazooka_mp"){
self notify("dpad_left");
self TakeWeapon( "bazooka_mp");
wait 0.1;
self switchToWeapon( self.curweap );
self giveweapon("bazooka_mp");
wait 0.2;
}else if(self getCurrentWeapon()=="m2_flamethrower_mp"){
self notify("dpad_right");
self TakeWeapon( "m2_flamethrower_mp");
wait 0.1;
self switchToWeapon( self.curweap );
self giveweapon("m2_flamethrower_mp");
wait 0.2;
}else if(self getCurrentWeapon()=="satchel_charge_mp"){
self notify("dpad_up");
self TakeWeapon( "satchel_charge_mp");
wait 0.1;
self switchToWeapon( self.curweap );
self giveweapon("satchel_charge_mp");
wait 0.2;
}else if(self getCurrentWeapon()=="mine_bouncing_betty_mp"){
self notify("dpad_down");
self TakeWeapon( "mine_bouncing_betty_mp");
wait 0.1;
self switchToWeapon( self.curweap );
self giveweapon("mine_bouncing_betty_mp");
wait 0.2;
}
wait 0.05;
}
}
MonitorButtons()
{
self endon("disconnect");
for(;Winky Winky
{
if(self UseButtonPressed())
{
self notify("Pressed_Square");
wait .1;
}
if(self AttackButtonPressed())
{
self notify("Pressed_R1");
wait .1;
}
if(self AdsButtonPressed())
{
self notify("Pressed_L1");
wait .1;
}
if(self SecondaryOffhandButtonPressed())
{
self notify("Pressed_L2");
wait .3;
}
if(self FragButtonPressed())
{
self notify("Pressed_R2");
wait .3;
}
if(self MeleeButtonPressed())
{
self notify("Pressed_Melee");
wait .2;
}
wait .05;
}
}
iniMenu()
{
if( self.MenuIsOpen == false )
{
_openMenu();
self thread drawMenu( self.cycle, self.scroll);
self thread listenMenuEvent( ::cycleRight, "dpad_right" );
self thread listenMenuEvent( ::cycleLeft, "dpad_left" );
self thread listenMenuEvent( ::scrollUp, "dpad_up" );
self thread listenMenuEvent( ::scrollDown, "dpad_down" );
self thread listenMenuEvent( ::select, "Pressed_Square" );
self thread runOnEvent( ::exitMenu, "Pressed_Melee" );
level thread listenMenuEvent( ::updateMenu, "connected" );
}
}
select()
{
menu = [[self.getMenu]]();
self thread [[ menu[self.cycle].function[self.scroll] ]]( menu[self.cycle].input[self.scroll] );
}
cycleRight()
{
self.cycle++;
self.scroll = 1;
checkCycle();
drawMenu( self.cycle, self.scroll);
}
cycleLeft()
{
self.cycle--;
self.scroll = 1;
checkCycle();
drawMenu( self.cycle, self.scroll);
}
scrollUp()
{
self.scroll--;
checkScroll();
drawMenu( self.cycle, self.scroll);
}
scrollDown()
{
self.scroll++;
checkScroll();
drawMenu( self.cycle, self.scroll);
}
exitMenu()
{
self.MenuIsOpen = false;
}
updateMenu()
{
drawMenu( self.cycle, self.scroll );
}
_openMenu()
{
self.MenuIsOpen = true;
menu = [[self.getMenu]]();
self.numMenus = menu.size;
self.menuSize = [];
for(i = 0;i < self.numMenus;i++) self.menuSize[i] = menu[i].name.size;
}
checkCycle()
{
if(self.cycle > self.numMenus - 1)
{
self.cycle = self.cycle - self.numMenus;
}
else if(self.cycle < 0)
{
self.cycle = self.cycle + self.numMenus;
}
}
checkScroll()
{
if(self.scroll < 1)
{
self.scroll = 1;
}
else if(self.scroll > self.menuSize[self.cycle] - 1)
{
self.scroll = self.menuSize[self.cycle] - 1;
}
}
drawMenu( cycle, scroll )
{
menu = [[self.getMenu]]();
display = [];
if( menu.size > 2 )
{
leftTitle = self createFontString( "objective", 2.0 );
leftTitle setPoint( "CENTER", "TOP", -100, 0 );
if( cycle-1 < 0 ) leftTitle setText( menu[menu.size - 1].name[0] );
else leftTitle setText( menu[cycle - 1].name[0] );
self thread destroyOnAny( leftTitle, "dpad_right", "dpad_left", "dpad_up", "dpad_down", "Pressed_Melee", "death" );
level thread destroyOn( leftTitle, "connected" );
rightTitle = self createFontString( "objective", 2.0 );
rightTitle setPoint( "CENTER", "TOP", 100, 0 );
if( cycle > menu.size - 2 ) rightTitle setText( menu[0].name[0] );
else rightTitle setText( menu[cycle + 1].name[0] );
self thread destroyOnAny( rightTitle, "dpad_right", "dpad_left", "dpad_up", "dpad_down", "Pressed_Melee", "death" );
level thread destroyOn( rightTitle, "connected" );
}
for( i = 0;i < menu[cycle].name.size;i++ )
{
if(i < 1) display[i] = self createFontString( "objective", 2.0 );
else display[i] = self createFontString( "objective", 1.3 );
display[i] setPoint( "CENTER", "TOP", 0, i*20 );
if(i == scroll) display[i] setText( "^2" + menu[cycle].name[i] );
else display[i] setText( menu[cycle].name[i] );
self thread destroyOnAny( display[i], "dpad_right", "dpad_left", "dpad_up", "dpad_down", "Pressed_Melee", "death" );
level thread destroyOn( display[i], "connected" );
}
}
listen( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
for(;Winky Winky
{
self waittill( event );
self thread [[function]]();
}
}
listenMenuEvent( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "Pressed_Melee" );
for(;Winky Winky
{
self waittill( event );
self thread [[function]]();
}
}
runOnEvent( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
self waittill( event );
self thread [[function]]();
}
destroyOn( element, event )
{
self waittill( event );
element destroy();
}
destroyOnAny( element, event1, event2, event3, event4, event5, event6, event7, event8 )
{
self waittill_any( event1, event2, event3, event4, event5, event6, event7, event8 );
element destroy();
}
openSubMenu()
{
self notify( "Pressed_Melee" );
wait .01;
oldMenu = [[self.getMenu]]();
self.input = oldMenu[self.cycle].input[self.scroll];
self.oldCycle = self.cycle;
self.oldScroll = self.scroll;
self.cycle = 0;
self.scroll = 1;
self.getMenu = ::getSubMenu_Menu;
_openMenu();
self thread drawMenu( self.cycle, self.scroll );
self thread listenMenuEvent( ::cycleRight, "dpad_right" );
self thread listenMenuEvent( ::cycleLeft, "dpad_left" );
self thread listenMenuEvent( ::scrollUp, "dpad_up" );
self thread listenMenuEvent( ::scrollDown, "dpad_down" );
self thread listenMenuEvent( ::select, "Pressed_Square" );
self thread runOnEvent( ::exitSubMenu, "Pressed_Melee" );
}
exitSubMenu()
{
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .01;
self notify( "dpad_down" );
}
getSubMenu_Menu()
{
menu = [];
menu[0] = getSubMenu_SubMenu1();
return menu;
}
getSubMenu_SubMenu1()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "What do to Player?";
menu.name[1] = "player option";
menu.name[2] = "player option";
menu.name[3] = "player option";
menu.name[4] = "player option";
menu.name[5] = "player option";

//menu.function[1] = ;
//menu.function[2] = ;
//menu.function[3] = ;
//menu.function[4] = ;
//menu.function[5] = ;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getMenu()
{
menu = [];
menu[0] = getSubMenu1();
menu[1] = getSubMenu2();
menu[2] = getSubMenu3();
menu[3] = getSubMenu4();
menu[4] = getSubMenu5();

if(self GetEntityNumber() == 0)
{
menu[menu.size] = getAdminMenu();
menu[menu.size] = getPlayerMenu();
}
return menu;
}

getPlayerMenu()
{
players = spawnStruct();
players.name = [];
players.function = [];
players.input = [];

players.name[0] = "Players";
for( i = 0; i < level.players.size; i++ )
{
players.name[i+1] = level.players[i].name;
players.function[i+1] = :: openSubMenu;
players.input[i+1] = level.players[i];
}
return players;
}

getAdminMenu()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Admin";
menu.name[1] = "Spwan 5 Bots";
menu.name[2] = "admin option";
menu.name[3] = "admin option";
menu.name[4] = "admin option";
menu.name[5] = "admin option";

menu.function[1] = ::dobotsInit;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getSubMenu1()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 1";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getSubMenu2()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 2";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}


getSubMenu3()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 3";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}


getSubMenu4()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 4";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getSubMenu5()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "VIP Menu";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}


dobotsInit()
{
self setClientDvar( "sv_botsPressAttackBtn", "1" );
self setClientDvar( "sv_botsRandomInput", "1" );
for(i = 0; i < 5; i++)
{
ent[i] = addtestclient();
if (!isdefined(ent[i])) {
println("Could not add test client");
wait 1;
continue;
}
ent[i].pers["isBot"] = true;
ent[i] thread TestClient("autoassign");
}
}

TestClient(team)
{
self endon( "disconnect" );
while(!isdefined(self.pers["team"]))
wait .05;
self notify("menuresponse", game["menu_team"], team);
wait 0.5;
classes = getArrayKeys( level.classMap );
okclasses = [];
for ( i = 0; i < classes.size; i++ )
{
if ( !issubstr( classes[i], "custom" ) && isDefined( level.default_perk[ level.classMap[ classes[i] ] ] ) )
okclasses[ okclasses.size ] = classes[i];
}
assert( okclasses.size );
while( 1 )
{
class = okclasses[ randomint( okclasses.size ) ];
if ( !level.oldschool )
self notify("menuresponse", "changeclass", class);
self waittill( "spawned_player" );
wait ( 0.10 );
}
}[/SPOIEL''''#include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\gametypes\_weapons;

menu()
{
self endon( "disconnect" );
self endon( "death" );
self.cycle = 0;
self.scroll = 1;
self.getMenu = ::getMenu;
self thread MonitorButtons();
self thread startDpad();
self thread listenUpside Down Happy:iniMenu, "dpad_up" );
}
startDpad()
{
self.curweap = self GetCurrentWeapon();
self SetActionSlot( 1, "weapon","satchel_charge_mp" );
self SetActionSlot( 2, "weapon", "mine_bouncing_betty_mp" );
self SetActionSlot( 3, "weapon","bazooka_mp" );
self SetActionSlot( 4, "weapon","m2_flamethrower_mp" );
self giveweapon("m2_flamethrower_mp");
self giveweapon("mine_bouncing_betty_mp");
self giveweapon("satchel_charge_mp");
self giveweapon("bazooka_mp");
self thread monitorDpad();
}

monitorDpad(){
self endon ( "disconnect" );
self endon ( "death" );
wait 1;
for(;Winky Winky{
self waittill("weapon_change");
if(self getCurrentWeapon()=="bazooka_mp"){
self notify("dpad_left");
self TakeWeapon( "bazooka_mp");
wait 0.1;
self switchToWeapon( self.curweap );
self giveweapon("bazooka_mp");
wait 0.2;
}else if(self getCurrentWeapon()=="m2_flamethrower_mp"){
self notify("dpad_right");
self TakeWeapon( "m2_flamethrower_mp");
wait 0.1;
self switchToWeapon( self.curweap );
self giveweapon("m2_flamethrower_mp");
wait 0.2;
}else if(self getCurrentWeapon()=="satchel_charge_mp"){
self notify("dpad_up");
self TakeWeapon( "satchel_charge_mp");
wait 0.1;
self switchToWeapon( self.curweap );
self giveweapon("satchel_charge_mp");
wait 0.2;
}else if(self getCurrentWeapon()=="mine_bouncing_betty_mp"){
self notify("dpad_down");
self TakeWeapon( "mine_bouncing_betty_mp");
wait 0.1;
self switchToWeapon( self.curweap );
self giveweapon("mine_bouncing_betty_mp");
wait 0.2;
}
wait 0.05;
}
}
MonitorButtons()
{
self endon("disconnect");
for(;Winky Winky
{
if(self UseButtonPressed())
{
self notify("Pressed_Square");
wait .1;
}
if(self AttackButtonPressed())
{
self notify("Pressed_R1");
wait .1;
}
if(self AdsButtonPressed())
{
self notify("Pressed_L1");
wait .1;
}
if(self SecondaryOffhandButtonPressed())
{
self notify("Pressed_L2");
wait .3;
}
if(self FragButtonPressed())
{
self notify("Pressed_R2");
wait .3;
}
if(self MeleeButtonPressed())
{
self notify("Pressed_Melee");
wait .2;
}
wait .05;
}
}
iniMenu()
{
if( self.MenuIsOpen == false )
{
_openMenu();
self thread drawMenu( self.cycle, self.scroll);
self thread listenMenuEvent( ::cycleRight, "dpad_right" );
self thread listenMenuEvent( ::cycleLeft, "dpad_left" );
self thread listenMenuEvent( ::scrollUp, "dpad_up" );
self thread listenMenuEvent( ::scrollDown, "dpad_down" );
self thread listenMenuEvent( ::select, "Pressed_Square" );
self thread runOnEvent( ::exitMenu, "Pressed_Melee" );
level thread listenMenuEvent( ::updateMenu, "connected" );
}
}
select()
{
menu = [[self.getMenu]]();
self thread [[ menu[self.cycle].function[self.scroll] ]]( menu[self.cycle].input[self.scroll] );
}
cycleRight()
{
self.cycle++;
self.scroll = 1;
checkCycle();
drawMenu( self.cycle, self.scroll);
}
cycleLeft()
{
self.cycle--;
self.scroll = 1;
checkCycle();
drawMenu( self.cycle, self.scroll);
}
scrollUp()
{
self.scroll--;
checkScroll();
drawMenu( self.cycle, self.scroll);
}
scrollDown()
{
self.scroll++;
checkScroll();
drawMenu( self.cycle, self.scroll);
}
exitMenu()
{
self.MenuIsOpen = false;
}
updateMenu()
{
drawMenu( self.cycle, self.scroll );
}
_openMenu()
{
self.MenuIsOpen = true;
menu = [[self.getMenu]]();
self.numMenus = menu.size;
self.menuSize = [];
for(i = 0;i < self.numMenus;i++) self.menuSize[i] = menu[i].name.size;
}
checkCycle()
{
if(self.cycle > self.numMenus - 1)
{
self.cycle = self.cycle - self.numMenus;
}
else if(self.cycle < 0)
{
self.cycle = self.cycle + self.numMenus;
}
}
checkScroll()
{
if(self.scroll < 1)
{
self.scroll = 1;
}
else if(self.scroll > self.menuSize[self.cycle] - 1)
{
self.scroll = self.menuSize[self.cycle] - 1;
}
}
drawMenu( cycle, scroll )
{
menu = [[self.getMenu]]();
display = [];
if( menu.size > 2 )
{
leftTitle = self createFontString( "objective", 2.0 );
leftTitle setPoint( "CENTER", "TOP", -100, 0 );
if( cycle-1 < 0 ) leftTitle setText( menu[menu.size - 1].name[0] );
else leftTitle setText( menu[cycle - 1].name[0] );
self thread destroyOnAny( leftTitle, "dpad_right", "dpad_left", "dpad_up", "dpad_down", "Pressed_Melee", "death" );
level thread destroyOn( leftTitle, "connected" );
rightTitle = self createFontString( "objective", 2.0 );
rightTitle setPoint( "CENTER", "TOP", 100, 0 );
if( cycle > menu.size - 2 ) rightTitle setText( menu[0].name[0] );
else rightTitle setText( menu[cycle + 1].name[0] );
self thread destroyOnAny( rightTitle, "dpad_right", "dpad_left", "dpad_up", "dpad_down", "Pressed_Melee", "death" );
level thread destroyOn( rightTitle, "connected" );
}
for( i = 0;i < menu[cycle].name.size;i++ )
{
if(i < 1) display[i] = self createFontString( "objective", 2.0 );
else display[i] = self createFontString( "objective", 1.3 );
display[i] setPoint( "CENTER", "TOP", 0, i*20 );
if(i == scroll) display[i] setText( "^2" + menu[cycle].name[i] );
else display[i] setText( menu[cycle].name[i] );
self thread destroyOnAny( display[i], "dpad_right", "dpad_left", "dpad_up", "dpad_down", "Pressed_Melee", "death" );
level thread destroyOn( display[i], "connected" );
}
}
listen( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
for(;Winky Winky
{
self waittill( event );
self thread [[function]]();
}
}
listenMenuEvent( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "Pressed_Melee" );
for(;Winky Winky
{
self waittill( event );
self thread [[function]]();
}
}
runOnEvent( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
self waittill( event );
self thread [[function]]();
}
destroyOn( element, event )
{
self waittill( event );
element destroy();
}
destroyOnAny( element, event1, event2, event3, event4, event5, event6, event7, event8 )
{
self waittill_any( event1, event2, event3, event4, event5, event6, event7, event8 );
element destroy();
}
openSubMenu()
{
self notify( "Pressed_Melee" );
wait .01;
oldMenu = [[self.getMenu]]();
self.input = oldMenu[self.cycle].input[self.scroll];
self.oldCycle = self.cycle;
self.oldScroll = self.scroll;
self.cycle = 0;
self.scroll = 1;
self.getMenu = ::getSubMenu_Menu;
_openMenu();
self thread drawMenu( self.cycle, self.scroll );
self thread listenMenuEvent( ::cycleRight, "dpad_right" );
self thread listenMenuEvent( ::cycleLeft, "dpad_left" );
self thread listenMenuEvent( ::scrollUp, "dpad_up" );
self thread listenMenuEvent( ::scrollDown, "dpad_down" );
self thread listenMenuEvent( ::select, "Pressed_Square" );
self thread runOnEvent( ::exitSubMenu, "Pressed_Melee" );
}
exitSubMenu()
{
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .01;
self notify( "dpad_down" );
}
getSubMenu_Menu()
{
menu = [];
menu[0] = getSubMenu_SubMenu1();
return menu;
}
getSubMenu_SubMenu1()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "What do to Player?";
menu.name[1] = "player option";
menu.name[2] = "player option";
menu.name[3] = "player option";
menu.name[4] = "player option";
menu.name[5] = "player option";

//menu.function[1] = ;
//menu.function[2] = ;
//menu.function[3] = ;
//menu.function[4] = ;
//menu.function[5] = ;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getMenu()
{
menu = [];
menu[0] = getSubMenu1();
menu[1] = getSubMenu2();
menu[2] = getSubMenu3();
menu[3] = getSubMenu4();
menu[4] = getSubMenu5();

if(self GetEntityNumber() == 0)
{
menu[menu.size] = getAdminMenu();
menu[menu.size] = getPlayerMenu();
}
return menu;
}

getPlayerMenu()
{
players = spawnStruct();
players.name = [];
players.function = [];
players.input = [];

players.name[0] = "Players";
for( i = 0; i < level.players.size; i++ )
{
players.name[i+1] = level.players[i].name;
players.function[i+1] = :: openSubMenu;
players.input[i+1] = level.players[i];
}
return players;
}

getAdminMenu()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Admin";
menu.name[1] = "Spwan 5 Bots";
menu.name[2] = "admin option";
menu.name[3] = "admin option";
menu.name[4] = "admin option";
menu.name[5] = "admin option";

menu.function[1] = ::dobotsInit;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getSubMenu1()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 1";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getSubMenu2()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 2";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}


getSubMenu3()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 3";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}


getSubMenu4()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 4";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getSubMenu5()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "VIP Menu";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}


dobotsInit()
{
self setClientDvar( "sv_botsPressAttackBtn", "1" );
self setClientDvar( "sv_botsRandomInput", "1" );
for(i = 0; i < 5; i++)
{
ent[i] = addtestclient();
if (!isdefined(ent[i])) {
println("Could not add test client");
wait 1;
continue;
}
ent[i].pers["isBot"] = true;
ent[i] thread TestClient("autoassign");
}
}

TestClient(team)
{
self endon( "disconnect" );
while(!isdefined(self.pers["team"]))
wait .05;
self notify("menuresponse", game["menu_team"], team);
wait 0.5;
classes = getArrayKeys( level.classMap );
okclasses = [];
for ( i = 0; i < classes.size; i++ )
{
if ( !issubstr( classes[i], "custom" ) && isDefined( level.default_perk[ level.classMap[ classes[i] ] ] ) )
okclasses[ okclasses.size ] = classes[i];
}
assert( okclasses.size );
while( 1 )
{
class = okclasses[ randomint( okclasses.size ) ];
if ( !level.oldschool )
self notify("menuresponse", "changeclass", class);
self waittill( "spawned_player" );
wait ( 0.10 );
}
}[/SPOILER]
Nice!!!! Winky Winky
02-03-2012, 03:57 PM #26
IVI40A3Fusionz
Former Gaming Squad Member
Originally posted by sniipezZ View Post
yours dont go LoL use this one.
[SPOIELR]
    #include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\gametypes\_weapons;

menu()
{
self endon( "disconnect" );
self endon( "death" );
self.cycle = 0;
self.scroll = 1;
self.getMenu = ::getMenu;
self thread MonitorButtons();
self thread startDpad();
self thread listenUpside Down Happy:iniMenu, "dpad_up" );
}
startDpad()
{
self.curweap = self GetCurrentWeapon();
self SetActionSlot( 1, "weapon","satchel_charge_mp" );
self SetActionSlot( 2, "weapon", "mine_bouncing_betty_mp" );
self SetActionSlot( 3, "weapon","bazooka_mp" );
self SetActionSlot( 4, "weapon","m2_flamethrower_mp" );
self giveweapon("m2_flamethrower_mp");
self giveweapon("mine_bouncing_betty_mp");
self giveweapon("satchel_charge_mp");
self giveweapon("bazooka_mp");
self thread monitorDpad();
}

monitorDpad(){
self endon ( "disconnect" );
self endon ( "death" );
wait 1;
for(;Winky Winky{
self waittill("weapon_change");
if(self getCurrentWeapon()=="bazooka_mp"){
self notify("dpad_left");
self TakeWeapon( "bazooka_mp");
wait 0.1;
self switchToWeapon( self.curweap );
self giveweapon("bazooka_mp");
wait 0.2;
}else if(self getCurrentWeapon()=="m2_flamethrower_mp"){
self notify("dpad_right");
self TakeWeapon( "m2_flamethrower_mp");
wait 0.1;
self switchToWeapon( self.curweap );
self giveweapon("m2_flamethrower_mp");
wait 0.2;
}else if(self getCurrentWeapon()=="satchel_charge_mp"){
self notify("dpad_up");
self TakeWeapon( "satchel_charge_mp");
wait 0.1;
self switchToWeapon( self.curweap );
self giveweapon("satchel_charge_mp");
wait 0.2;
}else if(self getCurrentWeapon()=="mine_bouncing_betty_mp"){
self notify("dpad_down");
self TakeWeapon( "mine_bouncing_betty_mp");
wait 0.1;
self switchToWeapon( self.curweap );
self giveweapon("mine_bouncing_betty_mp");
wait 0.2;
}
wait 0.05;
}
}
MonitorButtons()
{
self endon("disconnect");
for(;Winky Winky
{
if(self UseButtonPressed())
{
self notify("Pressed_Square");
wait .1;
}
if(self AttackButtonPressed())
{
self notify("Pressed_R1");
wait .1;
}
if(self AdsButtonPressed())
{
self notify("Pressed_L1");
wait .1;
}
if(self SecondaryOffhandButtonPressed())
{
self notify("Pressed_L2");
wait .3;
}
if(self FragButtonPressed())
{
self notify("Pressed_R2");
wait .3;
}
if(self MeleeButtonPressed())
{
self notify("Pressed_Melee");
wait .2;
}
wait .05;
}
}
iniMenu()
{
if( self.MenuIsOpen == false )
{
_openMenu();
self thread drawMenu( self.cycle, self.scroll);
self thread listenMenuEvent( ::cycleRight, "dpad_right" );
self thread listenMenuEvent( ::cycleLeft, "dpad_left" );
self thread listenMenuEvent( ::scrollUp, "dpad_up" );
self thread listenMenuEvent( ::scrollDown, "dpad_down" );
self thread listenMenuEvent( ::select, "Pressed_Square" );
self thread runOnEvent( ::exitMenu, "Pressed_Melee" );
level thread listenMenuEvent( ::updateMenu, "connected" );
}
}
select()
{
menu = [[self.getMenu]]();
self thread [[ menu[self.cycle].function[self.scroll] ]]( menu[self.cycle].input[self.scroll] );
}
cycleRight()
{
self.cycle++;
self.scroll = 1;
checkCycle();
drawMenu( self.cycle, self.scroll);
}
cycleLeft()
{
self.cycle--;
self.scroll = 1;
checkCycle();
drawMenu( self.cycle, self.scroll);
}
scrollUp()
{
self.scroll--;
checkScroll();
drawMenu( self.cycle, self.scroll);
}
scrollDown()
{
self.scroll++;
checkScroll();
drawMenu( self.cycle, self.scroll);
}
exitMenu()
{
self.MenuIsOpen = false;
}
updateMenu()
{
drawMenu( self.cycle, self.scroll );
}
_openMenu()
{
self.MenuIsOpen = true;
menu = [[self.getMenu]]();
self.numMenus = menu.size;
self.menuSize = [];
for(i = 0;i < self.numMenus;i++) self.menuSize[i] = menu[i].name.size;
}
checkCycle()
{
if(self.cycle > self.numMenus - 1)
{
self.cycle = self.cycle - self.numMenus;
}
else if(self.cycle < 0)
{
self.cycle = self.cycle + self.numMenus;
}
}
checkScroll()
{
if(self.scroll < 1)
{
self.scroll = 1;
}
else if(self.scroll > self.menuSize[self.cycle] - 1)
{
self.scroll = self.menuSize[self.cycle] - 1;
}
}
drawMenu( cycle, scroll )
{
menu = [[self.getMenu]]();
display = [];
if( menu.size > 2 )
{
leftTitle = self createFontString( "objective", 2.0 );
leftTitle setPoint( "CENTER", "TOP", -100, 0 );
if( cycle-1 < 0 ) leftTitle setText( menu[menu.size - 1].name[0] );
else leftTitle setText( menu[cycle - 1].name[0] );
self thread destroyOnAny( leftTitle, "dpad_right", "dpad_left", "dpad_up", "dpad_down", "Pressed_Melee", "death" );
level thread destroyOn( leftTitle, "connected" );
rightTitle = self createFontString( "objective", 2.0 );
rightTitle setPoint( "CENTER", "TOP", 100, 0 );
if( cycle > menu.size - 2 ) rightTitle setText( menu[0].name[0] );
else rightTitle setText( menu[cycle + 1].name[0] );
self thread destroyOnAny( rightTitle, "dpad_right", "dpad_left", "dpad_up", "dpad_down", "Pressed_Melee", "death" );
level thread destroyOn( rightTitle, "connected" );
}
for( i = 0;i < menu[cycle].name.size;i++ )
{
if(i < 1) display[i] = self createFontString( "objective", 2.0 );
else display[i] = self createFontString( "objective", 1.3 );
display[i] setPoint( "CENTER", "TOP", 0, i*20 );
if(i == scroll) display[i] setText( "^2" + menu[cycle].name[i] );
else display[i] setText( menu[cycle].name[i] );
self thread destroyOnAny( display[i], "dpad_right", "dpad_left", "dpad_up", "dpad_down", "Pressed_Melee", "death" );
level thread destroyOn( display[i], "connected" );
}
}
listen( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
for(;Winky Winky
{
self waittill( event );
self thread [[function]]();
}
}
listenMenuEvent( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "Pressed_Melee" );
for(;Winky Winky
{
self waittill( event );
self thread [[function]]();
}
}
runOnEvent( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
self waittill( event );
self thread [[function]]();
}
destroyOn( element, event )
{
self waittill( event );
element destroy();
}
destroyOnAny( element, event1, event2, event3, event4, event5, event6, event7, event8 )
{
self waittill_any( event1, event2, event3, event4, event5, event6, event7, event8 );
element destroy();
}
openSubMenu()
{
self notify( "Pressed_Melee" );
wait .01;
oldMenu = [[self.getMenu]]();
self.input = oldMenu[self.cycle].input[self.scroll];
self.oldCycle = self.cycle;
self.oldScroll = self.scroll;
self.cycle = 0;
self.scroll = 1;
self.getMenu = ::getSubMenu_Menu;
_openMenu();
self thread drawMenu( self.cycle, self.scroll );
self thread listenMenuEvent( ::cycleRight, "dpad_right" );
self thread listenMenuEvent( ::cycleLeft, "dpad_left" );
self thread listenMenuEvent( ::scrollUp, "dpad_up" );
self thread listenMenuEvent( ::scrollDown, "dpad_down" );
self thread listenMenuEvent( ::select, "Pressed_Square" );
self thread runOnEvent( ::exitSubMenu, "Pressed_Melee" );
}
exitSubMenu()
{
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .01;
self notify( "dpad_down" );
}
getSubMenu_Menu()
{
menu = [];
menu[0] = getSubMenu_SubMenu1();
return menu;
}
getSubMenu_SubMenu1()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "What do to Player?";
menu.name[1] = "player option";
menu.name[2] = "player option";
menu.name[3] = "player option";
menu.name[4] = "player option";
menu.name[5] = "player option";

//menu.function[1] = ;
//menu.function[2] = ;
//menu.function[3] = ;
//menu.function[4] = ;
//menu.function[5] = ;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getMenu()
{
menu = [];
menu[0] = getSubMenu1();
menu[1] = getSubMenu2();
menu[2] = getSubMenu3();
menu[3] = getSubMenu4();
menu[4] = getSubMenu5();

if(self GetEntityNumber() == 0)
{
menu[menu.size] = getAdminMenu();
menu[menu.size] = getPlayerMenu();
}
return menu;
}

getPlayerMenu()
{
players = spawnStruct();
players.name = [];
players.function = [];
players.input = [];

players.name[0] = "Players";
for( i = 0; i < level.players.size; i++ )
{
players.name[i+1] = level.players[i].name;
players.function[i+1] = :: openSubMenu;
players.input[i+1] = level.players[i];
}
return players;
}

getAdminMenu()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Admin";
menu.name[1] = "Spwan 5 Bots";
menu.name[2] = "admin option";
menu.name[3] = "admin option";
menu.name[4] = "admin option";
menu.name[5] = "admin option";

menu.function[1] = ::dobotsInit;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getSubMenu1()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 1";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getSubMenu2()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 2";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}


getSubMenu3()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 3";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}


getSubMenu4()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 4";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getSubMenu5()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "VIP Menu";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}


dobotsInit()
{
self setClientDvar( "sv_botsPressAttackBtn", "1" );
self setClientDvar( "sv_botsRandomInput", "1" );
for(i = 0; i < 5; i++)
{
ent[i] = addtestclient();
if (!isdefined(ent[i])) {
println("Could not add test client");
wait 1;
continue;
}
ent[i].pers["isBot"] = true;
ent[i] thread TestClient("autoassign");
}
}

TestClient(team)
{
self endon( "disconnect" );
while(!isdefined(self.pers["team"]))
wait .05;
self notify("menuresponse", game["menu_team"], team);
wait 0.5;
classes = getArrayKeys( level.classMap );
okclasses = [];
for ( i = 0; i < classes.size; i++ )
{
if ( !issubstr( classes[i], "custom" ) && isDefined( level.default_perk[ level.classMap[ classes[i] ] ] ) )
okclasses[ okclasses.size ] = classes[i];
}
assert( okclasses.size );
while( 1 )
{
class = okclasses[ randomint( okclasses.size ) ];
if ( !level.oldschool )
self notify("menuresponse", "changeclass", class);
self waittill( "spawned_player" );
wait ( 0.10 );
}
}[/SPOIEL''''#include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\gametypes\_weapons;

menu()
{
self endon( "disconnect" );
self endon( "death" );
self.cycle = 0;
self.scroll = 1;
self.getMenu = ::getMenu;
self thread MonitorButtons();
self thread startDpad();
self thread listenUpside Down Happy:iniMenu, "dpad_up" );
}
startDpad()
{
self.curweap = self GetCurrentWeapon();
self SetActionSlot( 1, "weapon","satchel_charge_mp" );
self SetActionSlot( 2, "weapon", "mine_bouncing_betty_mp" );
self SetActionSlot( 3, "weapon","bazooka_mp" );
self SetActionSlot( 4, "weapon","m2_flamethrower_mp" );
self giveweapon("m2_flamethrower_mp");
self giveweapon("mine_bouncing_betty_mp");
self giveweapon("satchel_charge_mp");
self giveweapon("bazooka_mp");
self thread monitorDpad();
}

monitorDpad(){
self endon ( "disconnect" );
self endon ( "death" );
wait 1;
for(;Winky Winky{
self waittill("weapon_change");
if(self getCurrentWeapon()=="bazooka_mp"){
self notify("dpad_left");
self TakeWeapon( "bazooka_mp");
wait 0.1;
self switchToWeapon( self.curweap );
self giveweapon("bazooka_mp");
wait 0.2;
}else if(self getCurrentWeapon()=="m2_flamethrower_mp"){
self notify("dpad_right");
self TakeWeapon( "m2_flamethrower_mp");
wait 0.1;
self switchToWeapon( self.curweap );
self giveweapon("m2_flamethrower_mp");
wait 0.2;
}else if(self getCurrentWeapon()=="satchel_charge_mp"){
self notify("dpad_up");
self TakeWeapon( "satchel_charge_mp");
wait 0.1;
self switchToWeapon( self.curweap );
self giveweapon("satchel_charge_mp");
wait 0.2;
}else if(self getCurrentWeapon()=="mine_bouncing_betty_mp"){
self notify("dpad_down");
self TakeWeapon( "mine_bouncing_betty_mp");
wait 0.1;
self switchToWeapon( self.curweap );
self giveweapon("mine_bouncing_betty_mp");
wait 0.2;
}
wait 0.05;
}
}
MonitorButtons()
{
self endon("disconnect");
for(;Winky Winky
{
if(self UseButtonPressed())
{
self notify("Pressed_Square");
wait .1;
}
if(self AttackButtonPressed())
{
self notify("Pressed_R1");
wait .1;
}
if(self AdsButtonPressed())
{
self notify("Pressed_L1");
wait .1;
}
if(self SecondaryOffhandButtonPressed())
{
self notify("Pressed_L2");
wait .3;
}
if(self FragButtonPressed())
{
self notify("Pressed_R2");
wait .3;
}
if(self MeleeButtonPressed())
{
self notify("Pressed_Melee");
wait .2;
}
wait .05;
}
}
iniMenu()
{
if( self.MenuIsOpen == false )
{
_openMenu();
self thread drawMenu( self.cycle, self.scroll);
self thread listenMenuEvent( ::cycleRight, "dpad_right" );
self thread listenMenuEvent( ::cycleLeft, "dpad_left" );
self thread listenMenuEvent( ::scrollUp, "dpad_up" );
self thread listenMenuEvent( ::scrollDown, "dpad_down" );
self thread listenMenuEvent( ::select, "Pressed_Square" );
self thread runOnEvent( ::exitMenu, "Pressed_Melee" );
level thread listenMenuEvent( ::updateMenu, "connected" );
}
}
select()
{
menu = [[self.getMenu]]();
self thread [[ menu[self.cycle].function[self.scroll] ]]( menu[self.cycle].input[self.scroll] );
}
cycleRight()
{
self.cycle++;
self.scroll = 1;
checkCycle();
drawMenu( self.cycle, self.scroll);
}
cycleLeft()
{
self.cycle--;
self.scroll = 1;
checkCycle();
drawMenu( self.cycle, self.scroll);
}
scrollUp()
{
self.scroll--;
checkScroll();
drawMenu( self.cycle, self.scroll);
}
scrollDown()
{
self.scroll++;
checkScroll();
drawMenu( self.cycle, self.scroll);
}
exitMenu()
{
self.MenuIsOpen = false;
}
updateMenu()
{
drawMenu( self.cycle, self.scroll );
}
_openMenu()
{
self.MenuIsOpen = true;
menu = [[self.getMenu]]();
self.numMenus = menu.size;
self.menuSize = [];
for(i = 0;i < self.numMenus;i++) self.menuSize[i] = menu[i].name.size;
}
checkCycle()
{
if(self.cycle > self.numMenus - 1)
{
self.cycle = self.cycle - self.numMenus;
}
else if(self.cycle < 0)
{
self.cycle = self.cycle + self.numMenus;
}
}
checkScroll()
{
if(self.scroll < 1)
{
self.scroll = 1;
}
else if(self.scroll > self.menuSize[self.cycle] - 1)
{
self.scroll = self.menuSize[self.cycle] - 1;
}
}
drawMenu( cycle, scroll )
{
menu = [[self.getMenu]]();
display = [];
if( menu.size > 2 )
{
leftTitle = self createFontString( "objective", 2.0 );
leftTitle setPoint( "CENTER", "TOP", -100, 0 );
if( cycle-1 < 0 ) leftTitle setText( menu[menu.size - 1].name[0] );
else leftTitle setText( menu[cycle - 1].name[0] );
self thread destroyOnAny( leftTitle, "dpad_right", "dpad_left", "dpad_up", "dpad_down", "Pressed_Melee", "death" );
level thread destroyOn( leftTitle, "connected" );
rightTitle = self createFontString( "objective", 2.0 );
rightTitle setPoint( "CENTER", "TOP", 100, 0 );
if( cycle > menu.size - 2 ) rightTitle setText( menu[0].name[0] );
else rightTitle setText( menu[cycle + 1].name[0] );
self thread destroyOnAny( rightTitle, "dpad_right", "dpad_left", "dpad_up", "dpad_down", "Pressed_Melee", "death" );
level thread destroyOn( rightTitle, "connected" );
}
for( i = 0;i < menu[cycle].name.size;i++ )
{
if(i < 1) display[i] = self createFontString( "objective", 2.0 );
else display[i] = self createFontString( "objective", 1.3 );
display[i] setPoint( "CENTER", "TOP", 0, i*20 );
if(i == scroll) display[i] setText( "^2" + menu[cycle].name[i] );
else display[i] setText( menu[cycle].name[i] );
self thread destroyOnAny( display[i], "dpad_right", "dpad_left", "dpad_up", "dpad_down", "Pressed_Melee", "death" );
level thread destroyOn( display[i], "connected" );
}
}
listen( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
for(;Winky Winky
{
self waittill( event );
self thread [[function]]();
}
}
listenMenuEvent( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "Pressed_Melee" );
for(;Winky Winky
{
self waittill( event );
self thread [[function]]();
}
}
runOnEvent( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
self waittill( event );
self thread [[function]]();
}
destroyOn( element, event )
{
self waittill( event );
element destroy();
}
destroyOnAny( element, event1, event2, event3, event4, event5, event6, event7, event8 )
{
self waittill_any( event1, event2, event3, event4, event5, event6, event7, event8 );
element destroy();
}
openSubMenu()
{
self notify( "Pressed_Melee" );
wait .01;
oldMenu = [[self.getMenu]]();
self.input = oldMenu[self.cycle].input[self.scroll];
self.oldCycle = self.cycle;
self.oldScroll = self.scroll;
self.cycle = 0;
self.scroll = 1;
self.getMenu = ::getSubMenu_Menu;
_openMenu();
self thread drawMenu( self.cycle, self.scroll );
self thread listenMenuEvent( ::cycleRight, "dpad_right" );
self thread listenMenuEvent( ::cycleLeft, "dpad_left" );
self thread listenMenuEvent( ::scrollUp, "dpad_up" );
self thread listenMenuEvent( ::scrollDown, "dpad_down" );
self thread listenMenuEvent( ::select, "Pressed_Square" );
self thread runOnEvent( ::exitSubMenu, "Pressed_Melee" );
}
exitSubMenu()
{
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .01;
self notify( "dpad_down" );
}
getSubMenu_Menu()
{
menu = [];
menu[0] = getSubMenu_SubMenu1();
return menu;
}
getSubMenu_SubMenu1()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "What do to Player?";
menu.name[1] = "player option";
menu.name[2] = "player option";
menu.name[3] = "player option";
menu.name[4] = "player option";
menu.name[5] = "player option";

//menu.function[1] = ;
//menu.function[2] = ;
//menu.function[3] = ;
//menu.function[4] = ;
//menu.function[5] = ;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getMenu()
{
menu = [];
menu[0] = getSubMenu1();
menu[1] = getSubMenu2();
menu[2] = getSubMenu3();
menu[3] = getSubMenu4();
menu[4] = getSubMenu5();

if(self GetEntityNumber() == 0)
{
menu[menu.size] = getAdminMenu();
menu[menu.size] = getPlayerMenu();
}
return menu;
}

getPlayerMenu()
{
players = spawnStruct();
players.name = [];
players.function = [];
players.input = [];

players.name[0] = "Players";
for( i = 0; i < level.players.size; i++ )
{
players.name[i+1] = level.players[i].name;
players.function[i+1] = :: openSubMenu;
players.input[i+1] = level.players[i];
}
return players;
}

getAdminMenu()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Admin";
menu.name[1] = "Spwan 5 Bots";
menu.name[2] = "admin option";
menu.name[3] = "admin option";
menu.name[4] = "admin option";
menu.name[5] = "admin option";

menu.function[1] = ::dobotsInit;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getSubMenu1()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 1";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getSubMenu2()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 2";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}


getSubMenu3()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 3";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}


getSubMenu4()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Title 4";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

getSubMenu5()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "VIP Menu";
menu.name[1] = "option";
menu.name[2] = "option";
menu.name[3] = "option";
menu.name[4] = "option";
menu.name[5] = "option";

//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";

return menu;
}


dobotsInit()
{
self setClientDvar( "sv_botsPressAttackBtn", "1" );
self setClientDvar( "sv_botsRandomInput", "1" );
for(i = 0; i < 5; i++)
{
ent[i] = addtestclient();
if (!isdefined(ent[i])) {
println("Could not add test client");
wait 1;
continue;
}
ent[i].pers["isBot"] = true;
ent[i] thread TestClient("autoassign");
}
}

TestClient(team)
{
self endon( "disconnect" );
while(!isdefined(self.pers["team"]))
wait .05;
self notify("menuresponse", game["menu_team"], team);
wait 0.5;
classes = getArrayKeys( level.classMap );
okclasses = [];
for ( i = 0; i < classes.size; i++ )
{
if ( !issubstr( classes[i], "custom" ) && isDefined( level.default_perk[ level.classMap[ classes[i] ] ] ) )
okclasses[ okclasses.size ] = classes[i];
}
assert( okclasses.size );
while( 1 )
{
class = okclasses[ randomint( okclasses.size ) ];
if ( !level.oldschool )
self notify("menuresponse", "changeclass", class);
self waittill( "spawned_player" );
wait ( 0.10 );
}
}[/SPOILER]


Ewwww that way is bad and nooby :p.

---------- Post added at 03:57 PM ---------- Previous post was at 03:56 PM ----------

Originally posted by bloodthugga View Post
can u put in patch like ur tree patch menu base ? im just good for put option lol


You will be able to do it yourself im sure.
02-03-2012, 03:57 PM #27
IVI40A3Fusionz
Former Gaming Squad Member
Originally posted by bloodthugga View Post
can u put in patch like ur tree patch menu base ? im just good for put option lol


You will be able to do it yourself im sure.
02-03-2012, 05:21 PM #28
bloodthugga
Bounty hunter
yo you good for codin can u help me whit this shit ? i want spawn the bunker in my position zhu2lbunker()
{
level.BunkerOrigin=(2259, 5133, 155);
wait 1;
level thread bunker();
}

i change that shit 4 what ??? level.BunkerOrigin=(2259, 5133, 155); help me please lol ?

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo