What's new

Mod Menu [Release] WaTcHs Mod Menu Base

  • Thread starter WaTcH HoW i MoD
  • Start date
  • Views 3,895
WaTcH HoW i MoD

WaTcH HoW i MoD

Enthusiast
Messages
1,459
Reaction score
379
Points
165
Sin$
0
This is something killingdyl and I made a while ago and i dont mod really anymore so i decided that im gonna release everything i have left


Video



i added instructions they are not shown in the video

Left and Right Triggers to scroll up and down X to select option and grenade to switch sub menus and Melee to exit

.IWD download

http://www.mediafire.com/?y7ds179mdumd2f3

Menu Code
Code:
onPlayerSpawned()
{
self endon("disconnect");
for(;;)
{
self waittill("spawned_player");
self SetClientDvar( "loc_warnings", "0" );
self SetClientDvar( "loc_warningsAsErrors", "0" );
self EnableInvulnerability();
self thread MenuOpenControl();
self thread doBlack();
}
}

MenuOpenControl()
{
self endon("disconnect");
self endon("death");
self.inmenu = 0;
self.menu = 0;
while(1)
{
if(self MeleeButtonPressed()){
if(self.inmenu == 0)
{
if(self getStance() == "prone")
{
self thread OpenMenu(0);
wait 1;
}
} else {
self AnimateClose(0.15);
self thread CloseMenu();
wait 1;
}
}
wait .05;
}
}

MenuControl()
{
self notify("stopmenucontrol");
self endon("stopmenucontrol");
self endon("closemenu");
self endon("disconnect");
y = 0;
self freezeControls(true);
self thread DestroyDisplayText();
wait 0.001;
self thread doBlack1();
self thread doBlack2();
self thread doBlack3();
self thread doBlack4();
self AnimateOpen( 0.15 );
self.freeze = spawn("script_model", self.origin);
self linkTo(self.freeze);
while(1)
{
if(self AdsButtonPressed())//This line UP
{
if(y > 0){
y--;
self thread AnimateScroll(y, 0.10);
}
}
if(self AttackButtonPressed())//This line DOWN
{
if(y < self.Using[self.menu]["text"].size - 1){
y++;
self thread AnimateScroll(y, 0.10);
}
}
/*if(self SecondaryOffHandButtonPressed())//This line LEFT
{
self.menu++;
if(self.menu > self.Using.size - 1) self.menu = 0;
self AnimateMenu(0.40, "left");
y = 0;
self AnimateScroll(y, 0.10);
}*/
if(self FragButtonPressed())//This line RIGHT
{
self.menu--;
if(self.menu < 0) self.menu = self.Using.size - 1;
self AnimateMenu(0.40, "right");
y = 0;
self AnimateScroll(y, 0.10);
}
if(self UseButtonPressed())
{
self playsound( "nuke_flash" );
if(isDefined(self.Using[self.menu]["function"][y])){
self AnimateClose(0.15);
self thread [[self.Using[self.menu]["function"][y]]](self.Using[self.menu]["input"][y]);
}
if(isDefined(self.Using[self.menu]["option"][y])) if(self.Using[self.menu]["option"][y] == "close") self thread CloseMenu();
}
wait .25;
}
}

AnimateOpen(speed)
{
self.menudisplay[0] MoveOverTime( speed );
self.menuname MoveOverTime( speed );
self.menuselecter MoveOverTime( speed );
self.menubg MoveOverTime( speed );
self.menudisplay[0] setPoint( "CENTER", "CENTER", 0, -120 );
self.menuname.y = -140;
self.menuselecter.y = -120;
self.menubg.y = 0;
wait speed;
}

AnimateClose(speed)
{
self.menudisplay[0] MoveOverTime( speed );
self.menuname MoveOverTime( speed );
self.menuselecter MoveOverTime( speed );
self.menubg MoveOverTime( speed );
self.menudisplay[0] setPoint( "CENTER", "CENTER", 0, 1000);
self.menuname.y = 1000;
self.menuselecter.y = 1000;
self.menubg.y = 1000;
wait speed;
}

AnimateScroll(y, speed)
{
self notify("Scroll");
self endon("Scroll");
self.menuselecter MoveOverTime( speed );
self.menuselecter.y = -120 + (y * 12);
wait speed;
}

AnimateMenu(speed, direction)
{
if(direction == "right") offset = 1; else offset = -1;
self.menudisplay[0] MoveOverTime( speed/2 );
self.menuname MoveOverTime( speed/2 );
self.menuselecter MoveOverTime( speed/2 );
self.menubg MoveOverTime( speed/2 );
self.menudisplay[0] setPoint( "CENTER", "CENTER", 1000 * offset, -120 );
self.menuname.x += 1000 * offset;
self.menuselecter.x += 1000 * offset;
self.menubg.x += 1000 * offset;
wait speed/2;
for(i = 0; i < self.menudisplay[0].children.size; i++)
{
self.menudisplay[0].children[i] destroy();
}
self.menudisplay[0] destroy();
self.menuname.x = -1000 * offset;
self.menuselecter.x = -1000 * offset;
self.menubg.x = -1000 * offset;
for(i = 0; i < self.Using[self.menu]["text"].size; i++)
{
self.menudisplay[i] = self createFontString( "default", 1 );
self.menudisplay[i].color = (0, 0, 0);
self.menudisplay[i] setPoint( "CENTER", "CENTER", 0, (i * 12) );
self.menudisplay[i].sort = 0;
self.menudisplay[i] setText(self.Using[self.menu]["text"][i]);
if(i != 0) self.menudisplay[i] setParent(self.menudisplay[0]);
}
self.menudisplay[0] setPoint( "CENTER", "CENTER", -1000 * offset, -120 );
self.menuname setText(self.Using[self.menu]["name"]);
self.menudisplay[0] MoveOverTime( speed/2 );
self.menuname MoveOverTime( speed/2 );
self.menuselecter MoveOverTime( speed/2 );
self.menubg MoveOverTime( speed/2 );
self.menudisplay[0] setPoint( "CENTER", "CENTER", 0, -120 );
self.menuname.x = 0;
self.menuselecter.x = 0;
self.menubg.x = 0;
wait speed/2;
}

OpenMenu(input)
{
self.inmenu = 1;
if(!isDefined(input)) self.menu = 0;
else self.menu = input;
self.Using = self getMenu();
if(isDefined(self.Using[self.menu])) self thread DrawMenu(self.Using[self.menu]);
else self.inmenu = 0;
}

UpdateMenu(newmenu)
{
self CloseMenu();
wait 0.1;
self thread OpenMenu(newmenu);
}

getMenu()
{
menu = [];
menu[1] = Menu2();
menu[2] = Menu3();
menu[3] = Menu4();
menu[4] = Menu5();
players = get_players();
if( self == players[0] )
{
menu[0] = Menu1();
menu[5] = Menu6();
}
return menu;
}

DrawMenu(menu)
{
if(isDefined(self.menudisplay[0])){
for(i = 0; i < self.menudisplay[0].children.size; i++)
{
self.menudisplay[0].children[i] destroy();
}
self.menudisplay[0] destroy();
}
if(isDefined(self.menuname)) self.menuname destroy();
if(isDefined(self.menuselecter)) self.menuselecter destroy();
if(isDefined(self.menubg)) self.menubg destroy();
if(isDefined(self.menubbg)) self.menubbg destroy();
self.menuname = self createFontString( "default", 1.5 );
self.menuname setPoint( "CENTER", "CENTER", 0, -140 );
self.menuname.color = (0, 0, 0);
self.menuname.sort = 1;
self.menuname setText(menu["name"]);
self.menudisplay = [];
self.menuselecter = self createIcon( "white", 290, 14 );
self.menuselecter setPoint( "CENTER", "CENTER", 0, -120 );
self.menuselecter.color = (0, .5, 0);
self.menuselecter.sort = -1;
self.menubg = self createIcon( "white", 300, 300 );
self.menubg setPoint( "CENTER", "CENTER", 0, 0 );
self.menubg.sort = -2;
self.menubbg = self createIcon( "black", 640, 480 );
self.menubbg.x = 0;
self.menubbg.y = 0; 
self.menubbg.horzAlign = "fullscreen";
self.menubbg.vertAlign = "fullscreen";
self.menubbg.sort = -50;
self.menuname.y = -1000;
self.menuselecter.y = -1000;
self.menubg.y = -1000;
for(i = 0; i < menu["text"].size; i++)
{
self.menudisplay[i] = self createFontString( "default", 1 );
self.menudisplay[i].color = (0, 0, 0);
self.menudisplay[i] setPoint( "CENTER", "CENTER", 0, (i * 12) );
self.menudisplay[i].sort = 0;
self.menudisplay[i] setText(menu["text"][i]);
if(i != 0) self.menudisplay[i] setParent(self.menudisplay[0]);
}
self.menudisplay[0] setPoint( "CENTER", "CENTER", 0, -1000 );
wait .05;
self thread MenuControl();
}

CloseMenu()
{
self notify("closemenu");
self.inmenu = 0;
self freezeControls(false);
self thread DestroyDisplayText();
wait 0.001;
self thread doBlack();
self unlink();
self.freeze delete();
if(isDefined(self.menudisplay[0])){
for(i = 0; i < self.menudisplay[0].children.size; i++)
{
self.menudisplay[0].children[i] destroy();
}
self.menudisplay[0] destroy();
}
if(isDefined(self.menuname)) self.menuname destroy();
if(isDefined(self.menuselecter)) self.menuselecter destroy();
if(isDefined(self.menubg)) self.menubg destroy();
if(isDefined(self.menubbg)) self.menubbg destroy();
}

Menu1()
{
menu = [];
menu["name"] = "Menu 1";
menu["text"][0] = "Player1";
menu["text"][1] = "Player2";
menu["text"][2] = "Player3";
menu["text"][3] = "Player 4";
menu["text"][4] = "This Player Menu Is Not Set Up";

return menu;
}

Menu2()
{
menu = [];
menu["name"] = "Menu 2";
menu["text"][0] = "Test Option 1";
menu["function"][0] = ::Test;
menu["input"][0] = "";
menu["option"][0] = "close";

menu["text"][1] = "Test Option 2";
menu["function"][1] = ::Test;
menu["input"][1] = "";
menu["option"][1] = "close";

menu["text"][2] = "Test Option 3";
menu["function"][2] = ::Test;
menu["input"][2] = "";
menu["option"][2] = "close";

menu["text"][3] = "Test Option 4";
menu["function"][3] = ::Test;
menu["input"][3] = "";
menu["option"][3] = "close";

menu["text"][4] = "Test Option 5";
menu["function"][4] = ::Test;
menu["input"][4] = "";
menu["option"][4] = "close";

return menu;
}

Menu3()
{
menu = [];
menu["name"] = "Menu 3";
menu["text"][0] = "Test Option 1";
menu["function"][0] = ::Test;
menu["input"][0] = "";
menu["option"][0] = "close";

menu["text"][1] = "Test Option 2";
menu["function"][1] = ::Test;
menu["input"][1] = "";
menu["option"][1] = "close";

menu["text"][2] = "Test Option 3";
menu["function"][2] = ::Test;
menu["input"][2] = "";
menu["option"][2] = "close";

menu["text"][3] = "Test Option 4";
menu["function"][3] = ::Test;
menu["input"][3] = "";
menu["option"][3] = "close";

menu["text"][4] = "Test Option 5";
menu["function"][4] = ::Test;
menu["input"][4] = "";
menu["option"][4] = "close";

return menu;
}

Menu4()
{
menu = [];
menu["name"] = "Menu 4";
menu["text"][0] = "Test Option 1";
menu["function"][0] = ::Test;
menu["input"][0] = "";
menu["option"][0] = "close";

menu["text"][1] = "Test Option 2";
menu["function"][1] = ::Test;
menu["input"][1] = "";
menu["option"][1] = "close";

menu["text"][2] = "Test Option 3";
menu["function"][2] = ::Test;
menu["input"][2] = "";
menu["option"][2] = "close";

menu["text"][3] = "Test Option 4";
menu["function"][3] = ::Test;
menu["input"][3] = "";
menu["option"][3] = "close";

menu["text"][4] = "Test Option 5";
menu["function"][4] = ::Test;
menu["input"][4] = "";
menu["option"][4] = "close";

return menu;
}

Menu5()
{
menu = [];
menu["name"] = "Menu 5";
menu["text"][0] = "Test Option 1";
menu["function"][0] = ::Test;
menu["input"][0] = "";
menu["option"][0] = "close";

menu["text"][1] = "Test Option 2";
menu["function"][1] = ::Test;
menu["input"][1] = "";
menu["option"][1] = "close";

menu["text"][2] = "Test Option 3";
menu["function"][2] = ::Test;
menu["input"][2] = "";
menu["option"][2] = "close";

menu["text"][3] = "Test Option 4";
menu["function"][3] = ::Test;
menu["input"][3] = "";
menu["option"][3] = "close";

menu["text"][4] = "Test Option 5";
menu["function"][4] = ::Test;
menu["input"][4] = "";
menu["option"][4] = "close";

return menu;
}

Menu6()//Host Menu 1
{
menu = [];
menu["name"] = "Host Menu 1";
menu["text"][0] = "Test Option 1";
menu["function"][0] = ::Test;
menu["input"][0] = "";
menu["option"][0] = "close";

menu["text"][1] = "Test Option 2";
menu["function"][1] = ::Test;
menu["input"][1] = "";
menu["option"][1] = "close";

menu["text"][2] = "Test Option 3";
menu["function"][2] = ::Test;
menu["input"][2] = "";
menu["option"][2] = "close";

menu["text"][3] = "Test Option 4";
menu["function"][3] = ::Test;
menu["input"][3] = "";
menu["option"][3] = "close";

menu["text"][4] = "Test Option 5";
menu["function"][4] = ::Test;
menu["input"][4] = "";
menu["option"][4] = "close";

return menu;
}

Test()
{
iprintln("^6This Is Where You Thread The Functions");
}

DestroyDisplayText()
{
self.displayhud5 destroy();
self.displayhud6 destroy();
self.displayhud7 destroy();
self.displayhud8 destroy();
self.displayhud9 destroy();
}


doBlack()
{
self.displayhud6 = newHudElem();
self.displayhud6.foreground = true;
self.displayhud6.sort = 1;
self.displayhud6.hidewheninmenu = false;
self.displayhud6.alignX = "left";
self.displayhud6.alignY = "top";
self.displayhud6.horzAlign = "left";
self.displayhud6.vertAlign = "top";
self.displayhud6.x = 0;
self.displayhud6.y = 0;
self.displayhud6.alpha = 1;
self.displayhud6.fontscale = 1.25;
self.displayhud6.color = ( 1, 1, 1 );
while(true)
{
self.displayhud6 settext( "^7Go Prone And Hold [{+melee}] To Enter Menu" );
wait .5;

}
wait 10;

}
doBlack1()
{
self.displayhud7 = newHudElem();
self.displayhud7.foreground = true;
self.displayhud7.sort = 1;
self.displayhud7.hidewheninmenu = false;
self.displayhud7.alignX = "left";
self.displayhud7.alignY = "top";
self.displayhud7.horzAlign = "left";
self.displayhud7.vertAlign = "top";
self.displayhud7.x = 0;
self.displayhud7.y = 15;
self.displayhud7.alpha = 1;
self.displayhud7.fontscale = 1.25;
self.displayhud7.color = ( 1, 1, 1 );
while(true)
{
self.displayhud7 settext( "^7Press [{+frag}] To Switch Sub Menus" );
wait .5;

}
wait 10;

}
doBlack2()
{
self.displayhud8 = newHudElem();
self.displayhud8.foreground = true;
self.displayhud8.sort = 1;
self.displayhud8.hidewheninmenu = false;
self.displayhud8.alignX = "left";
self.displayhud8.alignY = "top";
self.displayhud8.horzAlign = "left";
self.displayhud8.vertAlign = "top";
self.displayhud8.x = 0;
self.displayhud8.y = 30;
self.displayhud8.alpha = 1;
self.displayhud8.fontscale = 1.25;
self.displayhud8.color = ( 1, 1, 1 );
while(true)
{
self.displayhud8 settext( "^7Press[{+usereload}] To Select Option" );
wait .5;

}
wait 10;

}
doBlack3()
{
self.displayhud9 = newHudElem();
self.displayhud9.foreground = true;
self.displayhud9.sort = 1;
self.displayhud9.hidewheninmenu = false;
self.displayhud9.alignX = "left";
self.displayhud9.alignY = "top";
self.displayhud9.horzAlign = "left";
self.displayhud9.vertAlign = "top";
self.displayhud9.x = 0;
self.displayhud9.y = 45;
self.displayhud9.alpha = 1;
self.displayhud9.fontscale = 1.25;
self.displayhud9.color = ( 1, 1, 1 );
while(true)
{
self.displayhud9 settext( "^7Press [{+melee}] To Exit Menu" );
wait .5;

}
wait 10;

}
doBlack4()
{
self.displayhud5 = newHudElem();
self.displayhud5.foreground = true;
self.displayhud5.sort = 1;
self.displayhud5.hidewheninmenu = false;
self.displayhud5.alignX = "left";
self.displayhud5.alignY = "top";
self.displayhud5.horzAlign = "left";
self.displayhud5.vertAlign = "top";
self.displayhud5.x = 0;
self.displayhud5.y = 0;
self.displayhud5.alpha = 1;
self.displayhud5.fontscale = 1.25;
self.displayhud5.color = ( 1, 1, 1 );
while(true)
{
self.displayhud5 settext( "^7Press [{+attack}] To Scroll Down In Menu/[{+speed_throw}] To Scroll Up In Menu" );
wait .5;

}
wait 10;

}

If you dont want the menu to close after you chose something replace
Code:
if(self UseButtonPressed())
{
self playsound( "nuke_flash" );
if(isDefined(self.Using[self.menu]["function"][y])){
self AnimateClose(0.15);
self thread [[self.Using[self.menu]["function"][y]]](self.Using[self.menu]["input"][y]);
}
if(isDefined(self.Using[self.menu]["option"][y])) if(self.Using[self.menu]["option"][y] == "close") self thread CloseMenu();
}
wait .25;
}
}

with

Code:
    if(self UseButtonPressed())
{
self playsound("cha_ching");
if(isDefined(self.Using[self.menu]["function"][y])){
self thread [[self.Using[self.menu]["function"][y]]](self.Using[self.menu]["input"][y]);
}
}

and then remove this from the sub menus

Code:
menu["option"][0] = "close";



How To Use Menu

Code:
This is what you begin with 

menu["name"] = "Menu 3";
menu["text"][0] = "Test Option 1";
menu["function"][0] = ::Test;
menu["input"][0] = "";
menu["option"][0] = "close";

Lets break that down now..


menu["name"] = "Menu 3";

This is the submenus main title pretty simple to understand




Next is the options titles

menu["text"][0] = "Test Option 1";

Also pretty simple to understand just change the name to how you want it 



Next is probably the hardest part of this menu lol and its not hard at all

menu["function"][0] = ::Test;

this is where you thread the function

EX
menu["function"][0] = ::Test; --- Test should be the functions name and then put the actual function somewhere else which for this example would be the Test function 

Test()
{
iprintln("^6This Is Where You Thread The Functions");
}

now that will run the test function



Next is 

menu["input"][0] = "";

this is for inputs only needed if a function would check the input 


and finally after everything put 

menu["option"][0] = "close";

you need this is will close the menu



now after you have finished everything you should get this

menu["name"] = "Menu 3";
menu["text"][0] = "Test Option 1";
menu["function"][0] = ::Test;
menu["input"][0] = "";
menu["option"][0] = "close";

and then put the function somewhere else

Test()
{
iprintln("^6This Is Where You Thread The Functions");
}


This tutorial is kinda bad if you need help just post as a comment and i will help
 
S

scottp68877

Enthusiast
Messages
199
Reaction score
24
Points
70
Sin$
0
Hey man this is nice +rep

This is going to be the new cf3 base all over again
 
coolbunnymodz

coolbunnymodz

The Original Bunny
Programmer 10th Anniversary Mythical Veteran
Messages
4,386
Reaction score
1,308
Points
650
Sin$
0
This is a nice base.

I'd make the doBlack(); code just one HUD element, as waw sucks with huds.
 
R i L E Y

R i L E Y

Enthusiast
Messages
869
Reaction score
172
Points
125
Sin$
7
This is something killingdyl and I made a while ago and i dont mod really anymore so i decided that im gonna release everything i have left


Video



i added instructions they are not shown in the video



Menu Code

Code:
onPlayerSpawned()
{
self endon("disconnect");
for(;;)
{
self waittill("spawned_player");
self SetClientDvar( "loc_warnings", "0" );
self SetClientDvar( "loc_warningsAsErrors", "0" );
self EnableInvulnerability();
self thread MenuOpenControl();
self thread doBlack();
}
}

MenuOpenControl()
{
self endon("disconnect");
self endon("death");
self.inmenu = 0;
self.menu = 0;
while(1)
{
if(self MeleeButtonPressed()){
if(self.inmenu == 0)
{
if(self getStance() == "prone")
{
self thread OpenMenu(0);
wait 1;
}
} else {
self AnimateClose(0.15);
self thread CloseMenu();
wait 1;
}
}
wait .05;
}
}

MenuControl()
{
self notify("stopmenucontrol");
self endon("stopmenucontrol");
self endon("closemenu");
self endon("disconnect");
y = 0;
self freezeControls(true);
self thread DestroyDisplayText();
wait 0.001;
self thread doBlack1();
self thread doBlack2();
self thread doBlack3();
self thread doBlack4();
self AnimateOpen( 0.15 );
self.freeze = spawn("script_model", self.origin);
self linkTo(self.freeze);
while(1)
{
if(self AdsButtonPressed())//This line UP
{
if(y > 0){
y--;
self thread AnimateScroll(y, 0.10);
}
}
if(self AttackButtonPressed())//This line DOWN
{
if(y < self.Using[self.menu]["text"].size - 1){
y++;
self thread AnimateScroll(y, 0.10);
}
}
/*if(self SecondaryOffHandButtonPressed())//This line LEFT
{
self.menu++;
if(self.menu > self.Using.size - 1) self.menu = 0;
self AnimateMenu(0.40, "left");
y = 0;
self AnimateScroll(y, 0.10);
}*/
if(self FragButtonPressed())//This line RIGHT
{
self.menu--;
if(self.menu < 0) self.menu = self.Using.size - 1;
self AnimateMenu(0.40, "right");
y = 0;
self AnimateScroll(y, 0.10);
}
if(self UseButtonPressed())
{
self playsound( "nuke_flash" );
if(isDefined(self.Using[self.menu]["function"][y])){
self AnimateClose(0.15);
self thread [[self.Using[self.menu]["function"][y]]](self.Using[self.menu]["input"][y]);
}
if(isDefined(self.Using[self.menu]["option"][y])) if(self.Using[self.menu]["option"][y] == "close") self thread CloseMenu();
}
wait .25;
}
}

AnimateOpen(speed)
{
self.menudisplay[0] MoveOverTime( speed );
self.menuname MoveOverTime( speed );
self.menuselecter MoveOverTime( speed );
self.menubg MoveOverTime( speed );
self.menudisplay[0] setPoint( "CENTER", "CENTER", 0, -120 );
self.menuname.y = -140;
self.menuselecter.y = -120;
self.menubg.y = 0;
wait speed;
}

AnimateClose(speed)
{
self.menudisplay[0] MoveOverTime( speed );
self.menuname MoveOverTime( speed );
self.menuselecter MoveOverTime( speed );
self.menubg MoveOverTime( speed );
self.menudisplay[0] setPoint( "CENTER", "CENTER", 0, 1000);
self.menuname.y = 1000;
self.menuselecter.y = 1000;
self.menubg.y = 1000;
wait speed;
}

AnimateScroll(y, speed)
{
self notify("Scroll");
self endon("Scroll");
self.menuselecter MoveOverTime( speed );
self.menuselecter.y = -120 + (y * 12);
wait speed;
}

AnimateMenu(speed, direction)
{
if(direction == "right") offset = 1; else offset = -1;
self.menudisplay[0] MoveOverTime( speed/2 );
self.menuname MoveOverTime( speed/2 );
self.menuselecter MoveOverTime( speed/2 );
self.menubg MoveOverTime( speed/2 );
self.menudisplay[0] setPoint( "CENTER", "CENTER", 1000 * offset, -120 );
self.menuname.x += 1000 * offset;
self.menuselecter.x += 1000 * offset;
self.menubg.x += 1000 * offset;
wait speed/2;
for(i = 0; i < self.menudisplay[0].children.size; i++)
{
self.menudisplay[0].children[i] destroy();
}
self.menudisplay[0] destroy();
self.menuname.x = -1000 * offset;
self.menuselecter.x = -1000 * offset;
self.menubg.x = -1000 * offset;
for(i = 0; i < self.Using[self.menu]["text"].size; i++)
{
self.menudisplay[i] = self createFontString( "default", 1 );
self.menudisplay[i].color = (0, 0, 0);
self.menudisplay[i] setPoint( "CENTER", "CENTER", 0, (i * 12) );
self.menudisplay[i].sort = 0;
self.menudisplay[i] setText(self.Using[self.menu]["text"][i]);
if(i != 0) self.menudisplay[i] setParent(self.menudisplay[0]);
}
self.menudisplay[0] setPoint( "CENTER", "CENTER", -1000 * offset, -120 );
self.menuname setText(self.Using[self.menu]["name"]);
self.menudisplay[0] MoveOverTime( speed/2 );
self.menuname MoveOverTime( speed/2 );
self.menuselecter MoveOverTime( speed/2 );
self.menubg MoveOverTime( speed/2 );
self.menudisplay[0] setPoint( "CENTER", "CENTER", 0, -120 );
self.menuname.x = 0;
self.menuselecter.x = 0;
self.menubg.x = 0;
wait speed/2;
}

OpenMenu(input)
{
self.inmenu = 1;
if(!isDefined(input)) self.menu = 0;
else self.menu = input;
self.Using = self getMenu();
if(isDefined(self.Using[self.menu])) self thread DrawMenu(self.Using[self.menu]);
else self.inmenu = 0;
}

UpdateMenu(newmenu)
{
self CloseMenu();
wait 0.1;
self thread OpenMenu(newmenu);
}

getMenu()
{
menu = [];
menu[1] = Menu2();
menu[2] = Menu3();
menu[3] = Menu4();
menu[4] = Menu5();
players = get_players();
if( self == players[0] )
{
menu[0] = Menu1();
menu[5] = Menu6();
}
return menu;
}

DrawMenu(menu)
{
if(isDefined(self.menudisplay[0])){
for(i = 0; i < self.menudisplay[0].children.size; i++)
{
self.menudisplay[0].children[i] destroy();
}
self.menudisplay[0] destroy();
}
if(isDefined(self.menuname)) self.menuname destroy();
if(isDefined(self.menuselecter)) self.menuselecter destroy();
if(isDefined(self.menubg)) self.menubg destroy();
if(isDefined(self.menubbg)) self.menubbg destroy();
self.menuname = self createFontString( "default", 1.5 );
self.menuname setPoint( "CENTER", "CENTER", 0, -140 );
self.menuname.color = (0, 0, 0);
self.menuname.sort = 1;
self.menuname setText(menu["name"]);
self.menudisplay = [];
self.menuselecter = self createIcon( "white", 290, 14 );
self.menuselecter setPoint( "CENTER", "CENTER", 0, -120 );
self.menuselecter.color = (0, .5, 0);
self.menuselecter.sort = -1;
self.menubg = self createIcon( "white", 300, 300 );
self.menubg setPoint( "CENTER", "CENTER", 0, 0 );
self.menubg.sort = -2;
self.menubbg = self createIcon( "black", 640, 480 );
self.menubbg.x = 0;
self.menubbg.y = 0; 
self.menubbg.horzAlign = "fullscreen";
self.menubbg.vertAlign = "fullscreen";
self.menubbg.sort = -50;
self.menuname.y = -1000;
self.menuselecter.y = -1000;
self.menubg.y = -1000;
for(i = 0; i < menu["text"].size; i++)
{
self.menudisplay[i] = self createFontString( "default", 1 );
self.menudisplay[i].color = (0, 0, 0);
self.menudisplay[i] setPoint( "CENTER", "CENTER", 0, (i * 12) );
self.menudisplay[i].sort = 0;
self.menudisplay[i] setText(menu["text"][i]);
if(i != 0) self.menudisplay[i] setParent(self.menudisplay[0]);
}
self.menudisplay[0] setPoint( "CENTER", "CENTER", 0, -1000 );
wait .05;
self thread MenuControl();
}

CloseMenu()
{
self notify("closemenu");
self.inmenu = 0;
self freezeControls(false);
self thread DestroyDisplayText();
wait 0.001;
self thread doBlack();
self unlink();
self.freeze delete();
if(isDefined(self.menudisplay[0])){
for(i = 0; i < self.menudisplay[0].children.size; i++)
{
self.menudisplay[0].children[i] destroy();
}
self.menudisplay[0] destroy();
}
if(isDefined(self.menuname)) self.menuname destroy();
if(isDefined(self.menuselecter)) self.menuselecter destroy();
if(isDefined(self.menubg)) self.menubg destroy();
if(isDefined(self.menubbg)) self.menubbg destroy();
}

Menu1()
{
menu = [];
menu["name"] = "Menu 1";
menu["text"][0] = "Player1";
menu["text"][1] = "Player2";
menu["text"][2] = "Player3";
menu["text"][3] = "Player 4";
menu["text"][4] = "This Player Menu Is Not Set Up";

return menu;
}

Menu2()
{
menu = [];
menu["name"] = "Menu 2";
menu["text"][0] = "Test Option 1";
menu["function"][0] = ::Test;
menu["input"][0] = "";
menu["option"][0] = "close";

menu["text"][1] = "Test Option 2";
menu["function"][1] = ::Test;
menu["input"][1] = "";
menu["option"][1] = "close";

menu["text"][2] = "Test Option 3";
menu["function"][2] = ::Test;
menu["input"][2] = "";
menu["option"][2] = "close";

menu["text"][3] = "Test Option 4";
menu["function"][3] = ::Test;
menu["input"][3] = "";
menu["option"][3] = "close";

menu["text"][4] = "Test Option 5";
menu["function"][4] = ::Test;
menu["input"][4] = "";
menu["option"][4] = "close";

return menu;
}

Menu3()
{
menu = [];
menu["name"] = "Menu 3";
menu["text"][0] = "Test Option 1";
menu["function"][0] = ::Test;
menu["input"][0] = "";
menu["option"][0] = "close";

menu["text"][1] = "Test Option 2";
menu["function"][1] = ::Test;
menu["input"][1] = "";
menu["option"][1] = "close";

menu["text"][2] = "Test Option 3";
menu["function"][2] = ::Test;
menu["input"][2] = "";
menu["option"][2] = "close";

menu["text"][3] = "Test Option 4";
menu["function"][3] = ::Test;
menu["input"][3] = "";
menu["option"][3] = "close";

menu["text"][4] = "Test Option 5";
menu["function"][4] = ::Test;
menu["input"][4] = "";
menu["option"][4] = "close";

return menu;
}

Menu4()
{
menu = [];
menu["name"] = "Menu 4";
menu["text"][0] = "Test Option 1";
menu["function"][0] = ::Test;
menu["input"][0] = "";
menu["option"][0] = "close";

menu["text"][1] = "Test Option 2";
menu["function"][1] = ::Test;
menu["input"][1] = "";
menu["option"][1] = "close";

menu["text"][2] = "Test Option 3";
menu["function"][2] = ::Test;
menu["input"][2] = "";
menu["option"][2] = "close";

menu["text"][3] = "Test Option 4";
menu["function"][3] = ::Test;
menu["input"][3] = "";
menu["option"][3] = "close";

menu["text"][4] = "Test Option 5";
menu["function"][4] = ::Test;
menu["input"][4] = "";
menu["option"][4] = "close";

return menu;
}

Menu5()
{
menu = [];
menu["name"] = "Menu 5";
menu["text"][0] = "Test Option 1";
menu["function"][0] = ::Test;
menu["input"][0] = "";
menu["option"][0] = "close";

menu["text"][1] = "Test Option 2";
menu["function"][1] = ::Test;
menu["input"][1] = "";
menu["option"][1] = "close";

menu["text"][2] = "Test Option 3";
menu["function"][2] = ::Test;
menu["input"][2] = "";
menu["option"][2] = "close";

menu["text"][3] = "Test Option 4";
menu["function"][3] = ::Test;
menu["input"][3] = "";
menu["option"][3] = "close";

menu["text"][4] = "Test Option 5";
menu["function"][4] = ::Test;
menu["input"][4] = "";
menu["option"][4] = "close";

return menu;
}

Menu6()//Host Menu 1
{
menu = [];
menu["name"] = "Host Menu 1";
menu["text"][0] = "Test Option 1";
menu["function"][0] = ::Test;
menu["input"][0] = "";
menu["option"][0] = "close";

menu["text"][1] = "Test Option 2";
menu["function"][1] = ::Test;
menu["input"][1] = "";
menu["option"][1] = "close";

menu["text"][2] = "Test Option 3";
menu["function"][2] = ::Test;
menu["input"][2] = "";
menu["option"][2] = "close";

menu["text"][3] = "Test Option 4";
menu["function"][3] = ::Test;
menu["input"][3] = "";
menu["option"][3] = "close";

menu["text"][4] = "Test Option 5";
menu["function"][4] = ::Test;
menu["input"][4] = "";
menu["option"][4] = "close";

return menu;
}

Test()
{
iprintln("^6This Is Where You Thread The Functions");
}

DestroyDisplayText()
{
self.displayhud5 destroy();
self.displayhud6 destroy();
self.displayhud7 destroy();
self.displayhud8 destroy();
self.displayhud9 destroy();
}


doBlack()
{
self.displayhud6 = newHudElem();
self.displayhud6.foreground = true;
self.displayhud6.sort = 1;
self.displayhud6.hidewheninmenu = false;
self.displayhud6.alignX = "left";
self.displayhud6.alignY = "top";
self.displayhud6.horzAlign = "left";
self.displayhud6.vertAlign = "top";
self.displayhud6.x = 0;
self.displayhud6.y = 0;
self.displayhud6.alpha = 1;
self.displayhud6.fontscale = 1.25;
self.displayhud6.color = ( 1, 1, 1 );
while(true)
{
self.displayhud6 settext( "^7Go Prone And Hold [{+melee}] To Enter Menu" );
wait .5;

}
wait 10;

}
doBlack1()
{
self.displayhud7 = newHudElem();
self.displayhud7.foreground = true;
self.displayhud7.sort = 1;
self.displayhud7.hidewheninmenu = false;
self.displayhud7.alignX = "left";
self.displayhud7.alignY = "top";
self.displayhud7.horzAlign = "left";
self.displayhud7.vertAlign = "top";
self.displayhud7.x = 0;
self.displayhud7.y = 15;
self.displayhud7.alpha = 1;
self.displayhud7.fontscale = 1.25;
self.displayhud7.color = ( 1, 1, 1 );
while(true)
{
self.displayhud7 settext( "^7Press [{+frag}] To Switch Sub Menus" );
wait .5;

}
wait 10;

}
doBlack2()
{
self.displayhud8 = newHudElem();
self.displayhud8.foreground = true;
self.displayhud8.sort = 1;
self.displayhud8.hidewheninmenu = false;
self.displayhud8.alignX = "left";
self.displayhud8.alignY = "top";
self.displayhud8.horzAlign = "left";
self.displayhud8.vertAlign = "top";
self.displayhud8.x = 0;
self.displayhud8.y = 30;
self.displayhud8.alpha = 1;
self.displayhud8.fontscale = 1.25;
self.displayhud8.color = ( 1, 1, 1 );
while(true)
{
self.displayhud8 settext( "^7Press[{+usereload}] To Select Option" );
wait .5;

}
wait 10;

}
doBlack3()
{
self.displayhud9 = newHudElem();
self.displayhud9.foreground = true;
self.displayhud9.sort = 1;
self.displayhud9.hidewheninmenu = false;
self.displayhud9.alignX = "left";
self.displayhud9.alignY = "top";
self.displayhud9.horzAlign = "left";
self.displayhud9.vertAlign = "top";
self.displayhud9.x = 0;
self.displayhud9.y = 45;
self.displayhud9.alpha = 1;
self.displayhud9.fontscale = 1.25;
self.displayhud9.color = ( 1, 1, 1 );
while(true)
{
self.displayhud9 settext( "^7Press [{+melee}] To Exit Menu" );
wait .5;

}
wait 10;

}
doBlack4()
{
self.displayhud5 = newHudElem();
self.displayhud5.foreground = true;
self.displayhud5.sort = 1;
self.displayhud5.hidewheninmenu = false;
self.displayhud5.alignX = "left";
self.displayhud5.alignY = "top";
self.displayhud5.horzAlign = "left";
self.displayhud5.vertAlign = "top";
self.displayhud5.x = 0;
self.displayhud5.y = 0;
self.displayhud5.alpha = 1;
self.displayhud5.fontscale = 1.25;
self.displayhud5.color = ( 1, 1, 1 );
while(true)
{
self.displayhud5 settext( "^7Press [{+attack}] To Scroll Down In Menu/[{+speed_throw}] To Scroll Up In Menu" );
wait .5;

}
wait 10;

}


How To Use Menu

Code:
This is what you begin with 

menu["name"] = "Menu 3";
menu["text"][0] = "Test Option 1";
menu["function"][0] = ::Test;
menu["input"][0] = "";
menu["option"][0] = "close";

Lets break that down now..


menu["name"] = "Menu 3";

This is the submenus main title pretty simple to understand




Next is the options titles

menu["text"][0] = "Test Option 1";

Also pretty simple to understand just change the name to how you want it 



Next is probably the hardest part of this menu lol and its not hard at all

menu["function"][0] = ::Test;

this is where you thread the function

EX
menu["function"][0] = ::Test; --- Test should be the functions name and then put the actual function somewhere else which for this example would be the Test function 

Test()
{
iprintln("^6This Is Where You Thread The Functions");
}

now that will run the test function



Next is 

menu["input"][0] = "";

this is for inputs only needed if a function would check the input 


and finally after everything put 

menu["option"][0] = "close";

you need this is will close the menu



now after you have finished everything you should get this

menu["name"] = "Menu 3";
menu["text"][0] = "Test Option 1";
menu["function"][0] = ::Test;
menu["input"][0] = "";
menu["option"][0] = "close";

and then put the function somewhere else

Test()
{
iprintln("^6This Is Where You Thread The Functions");
}


This tutorial is kinda bad if you need help just post as a comment and i will help


Thats nice i see you used it for black ops, i see your prestiges go to 15th. :wink:
 
Sup Im BirDy

Sup Im BirDy

Enthusiast
Messages
377
Reaction score
47
Points
85
Sin$
0
This is something killingdyl and I made a while ago and i dont mod really anymore so i decided that im gonna release everything i have left


Video



i added instructions they are not shown in the video



Menu Code

Code:
onPlayerSpawned()
{
self endon("disconnect");
for(;;)
{
self waittill("spawned_player");
self SetClientDvar( "loc_warnings", "0" );
self SetClientDvar( "loc_warningsAsErrors", "0" );
self EnableInvulnerability();
self thread MenuOpenControl();
self thread doBlack();
}
}

MenuOpenControl()
{
self endon("disconnect");
self endon("death");
self.inmenu = 0;
self.menu = 0;
while(1)
{
if(self MeleeButtonPressed()){
if(self.inmenu == 0)
{
if(self getStance() == "prone")
{
self thread OpenMenu(0);
wait 1;
}
} else {
self AnimateClose(0.15);
self thread CloseMenu();
wait 1;
}
}
wait .05;
}
}

MenuControl()
{
self notify("stopmenucontrol");
self endon("stopmenucontrol");
self endon("closemenu");
self endon("disconnect");
y = 0;
self freezeControls(true);
self thread DestroyDisplayText();
wait 0.001;
self thread doBlack1();
self thread doBlack2();
self thread doBlack3();
self thread doBlack4();
self AnimateOpen( 0.15 );
self.freeze = spawn("script_model", self.origin);
self linkTo(self.freeze);
while(1)
{
if(self AdsButtonPressed())//This line UP
{
if(y > 0){
y--;
self thread AnimateScroll(y, 0.10);
}
}
if(self AttackButtonPressed())//This line DOWN
{
if(y < self.Using[self.menu]["text"].size - 1){
y++;
self thread AnimateScroll(y, 0.10);
}
}
/*if(self SecondaryOffHandButtonPressed())//This line LEFT
{
self.menu++;
if(self.menu > self.Using.size - 1) self.menu = 0;
self AnimateMenu(0.40, "left");
y = 0;
self AnimateScroll(y, 0.10);
}*/
if(self FragButtonPressed())//This line RIGHT
{
self.menu--;
if(self.menu < 0) self.menu = self.Using.size - 1;
self AnimateMenu(0.40, "right");
y = 0;
self AnimateScroll(y, 0.10);
}
if(self UseButtonPressed())
{
self playsound( "nuke_flash" );
if(isDefined(self.Using[self.menu]["function"][y])){
self AnimateClose(0.15);
self thread [[self.Using[self.menu]["function"][y]]](self.Using[self.menu]["input"][y]);
}
if(isDefined(self.Using[self.menu]["option"][y])) if(self.Using[self.menu]["option"][y] == "close") self thread CloseMenu();
}
wait .25;
}
}

AnimateOpen(speed)
{
self.menudisplay[0] MoveOverTime( speed );
self.menuname MoveOverTime( speed );
self.menuselecter MoveOverTime( speed );
self.menubg MoveOverTime( speed );
self.menudisplay[0] setPoint( "CENTER", "CENTER", 0, -120 );
self.menuname.y = -140;
self.menuselecter.y = -120;
self.menubg.y = 0;
wait speed;
}

AnimateClose(speed)
{
self.menudisplay[0] MoveOverTime( speed );
self.menuname MoveOverTime( speed );
self.menuselecter MoveOverTime( speed );
self.menubg MoveOverTime( speed );
self.menudisplay[0] setPoint( "CENTER", "CENTER", 0, 1000);
self.menuname.y = 1000;
self.menuselecter.y = 1000;
self.menubg.y = 1000;
wait speed;
}

AnimateScroll(y, speed)
{
self notify("Scroll");
self endon("Scroll");
self.menuselecter MoveOverTime( speed );
self.menuselecter.y = -120 + (y * 12);
wait speed;
}

AnimateMenu(speed, direction)
{
if(direction == "right") offset = 1; else offset = -1;
self.menudisplay[0] MoveOverTime( speed/2 );
self.menuname MoveOverTime( speed/2 );
self.menuselecter MoveOverTime( speed/2 );
self.menubg MoveOverTime( speed/2 );
self.menudisplay[0] setPoint( "CENTER", "CENTER", 1000 * offset, -120 );
self.menuname.x += 1000 * offset;
self.menuselecter.x += 1000 * offset;
self.menubg.x += 1000 * offset;
wait speed/2;
for(i = 0; i < self.menudisplay[0].children.size; i++)
{
self.menudisplay[0].children[i] destroy();
}
self.menudisplay[0] destroy();
self.menuname.x = -1000 * offset;
self.menuselecter.x = -1000 * offset;
self.menubg.x = -1000 * offset;
for(i = 0; i < self.Using[self.menu]["text"].size; i++)
{
self.menudisplay[i] = self createFontString( "default", 1 );
self.menudisplay[i].color = (0, 0, 0);
self.menudisplay[i] setPoint( "CENTER", "CENTER", 0, (i * 12) );
self.menudisplay[i].sort = 0;
self.menudisplay[i] setText(self.Using[self.menu]["text"][i]);
if(i != 0) self.menudisplay[i] setParent(self.menudisplay[0]);
}
self.menudisplay[0] setPoint( "CENTER", "CENTER", -1000 * offset, -120 );
self.menuname setText(self.Using[self.menu]["name"]);
self.menudisplay[0] MoveOverTime( speed/2 );
self.menuname MoveOverTime( speed/2 );
self.menuselecter MoveOverTime( speed/2 );
self.menubg MoveOverTime( speed/2 );
self.menudisplay[0] setPoint( "CENTER", "CENTER", 0, -120 );
self.menuname.x = 0;
self.menuselecter.x = 0;
self.menubg.x = 0;
wait speed/2;
}

OpenMenu(input)
{
self.inmenu = 1;
if(!isDefined(input)) self.menu = 0;
else self.menu = input;
self.Using = self getMenu();
if(isDefined(self.Using[self.menu])) self thread DrawMenu(self.Using[self.menu]);
else self.inmenu = 0;
}

UpdateMenu(newmenu)
{
self CloseMenu();
wait 0.1;
self thread OpenMenu(newmenu);
}

getMenu()
{
menu = [];
menu[1] = Menu2();
menu[2] = Menu3();
menu[3] = Menu4();
menu[4] = Menu5();
players = get_players();
if( self == players[0] )
{
menu[0] = Menu1();
menu[5] = Menu6();
}
return menu;
}

DrawMenu(menu)
{
if(isDefined(self.menudisplay[0])){
for(i = 0; i < self.menudisplay[0].children.size; i++)
{
self.menudisplay[0].children[i] destroy();
}
self.menudisplay[0] destroy();
}
if(isDefined(self.menuname)) self.menuname destroy();
if(isDefined(self.menuselecter)) self.menuselecter destroy();
if(isDefined(self.menubg)) self.menubg destroy();
if(isDefined(self.menubbg)) self.menubbg destroy();
self.menuname = self createFontString( "default", 1.5 );
self.menuname setPoint( "CENTER", "CENTER", 0, -140 );
self.menuname.color = (0, 0, 0);
self.menuname.sort = 1;
self.menuname setText(menu["name"]);
self.menudisplay = [];
self.menuselecter = self createIcon( "white", 290, 14 );
self.menuselecter setPoint( "CENTER", "CENTER", 0, -120 );
self.menuselecter.color = (0, .5, 0);
self.menuselecter.sort = -1;
self.menubg = self createIcon( "white", 300, 300 );
self.menubg setPoint( "CENTER", "CENTER", 0, 0 );
self.menubg.sort = -2;
self.menubbg = self createIcon( "black", 640, 480 );
self.menubbg.x = 0;
self.menubbg.y = 0; 
self.menubbg.horzAlign = "fullscreen";
self.menubbg.vertAlign = "fullscreen";
self.menubbg.sort = -50;
self.menuname.y = -1000;
self.menuselecter.y = -1000;
self.menubg.y = -1000;
for(i = 0; i < menu["text"].size; i++)
{
self.menudisplay[i] = self createFontString( "default", 1 );
self.menudisplay[i].color = (0, 0, 0);
self.menudisplay[i] setPoint( "CENTER", "CENTER", 0, (i * 12) );
self.menudisplay[i].sort = 0;
self.menudisplay[i] setText(menu["text"][i]);
if(i != 0) self.menudisplay[i] setParent(self.menudisplay[0]);
}
self.menudisplay[0] setPoint( "CENTER", "CENTER", 0, -1000 );
wait .05;
self thread MenuControl();
}

CloseMenu()
{
self notify("closemenu");
self.inmenu = 0;
self freezeControls(false);
self thread DestroyDisplayText();
wait 0.001;
self thread doBlack();
self unlink();
self.freeze delete();
if(isDefined(self.menudisplay[0])){
for(i = 0; i < self.menudisplay[0].children.size; i++)
{
self.menudisplay[0].children[i] destroy();
}
self.menudisplay[0] destroy();
}
if(isDefined(self.menuname)) self.menuname destroy();
if(isDefined(self.menuselecter)) self.menuselecter destroy();
if(isDefined(self.menubg)) self.menubg destroy();
if(isDefined(self.menubbg)) self.menubbg destroy();
}

Menu1()
{
menu = [];
menu["name"] = "Menu 1";
menu["text"][0] = "Player1";
menu["text"][1] = "Player2";
menu["text"][2] = "Player3";
menu["text"][3] = "Player 4";
menu["text"][4] = "This Player Menu Is Not Set Up";

return menu;
}

Menu2()
{
menu = [];
menu["name"] = "Menu 2";
menu["text"][0] = "Test Option 1";
menu["function"][0] = ::Test;
menu["input"][0] = "";
menu["option"][0] = "close";

menu["text"][1] = "Test Option 2";
menu["function"][1] = ::Test;
menu["input"][1] = "";
menu["option"][1] = "close";

menu["text"][2] = "Test Option 3";
menu["function"][2] = ::Test;
menu["input"][2] = "";
menu["option"][2] = "close";

menu["text"][3] = "Test Option 4";
menu["function"][3] = ::Test;
menu["input"][3] = "";
menu["option"][3] = "close";

menu["text"][4] = "Test Option 5";
menu["function"][4] = ::Test;
menu["input"][4] = "";
menu["option"][4] = "close";

return menu;
}

Menu3()
{
menu = [];
menu["name"] = "Menu 3";
menu["text"][0] = "Test Option 1";
menu["function"][0] = ::Test;
menu["input"][0] = "";
menu["option"][0] = "close";

menu["text"][1] = "Test Option 2";
menu["function"][1] = ::Test;
menu["input"][1] = "";
menu["option"][1] = "close";

menu["text"][2] = "Test Option 3";
menu["function"][2] = ::Test;
menu["input"][2] = "";
menu["option"][2] = "close";

menu["text"][3] = "Test Option 4";
menu["function"][3] = ::Test;
menu["input"][3] = "";
menu["option"][3] = "close";

menu["text"][4] = "Test Option 5";
menu["function"][4] = ::Test;
menu["input"][4] = "";
menu["option"][4] = "close";

return menu;
}

Menu4()
{
menu = [];
menu["name"] = "Menu 4";
menu["text"][0] = "Test Option 1";
menu["function"][0] = ::Test;
menu["input"][0] = "";
menu["option"][0] = "close";

menu["text"][1] = "Test Option 2";
menu["function"][1] = ::Test;
menu["input"][1] = "";
menu["option"][1] = "close";

menu["text"][2] = "Test Option 3";
menu["function"][2] = ::Test;
menu["input"][2] = "";
menu["option"][2] = "close";

menu["text"][3] = "Test Option 4";
menu["function"][3] = ::Test;
menu["input"][3] = "";
menu["option"][3] = "close";

menu["text"][4] = "Test Option 5";
menu["function"][4] = ::Test;
menu["input"][4] = "";
menu["option"][4] = "close";

return menu;
}

Menu5()
{
menu = [];
menu["name"] = "Menu 5";
menu["text"][0] = "Test Option 1";
menu["function"][0] = ::Test;
menu["input"][0] = "";
menu["option"][0] = "close";

menu["text"][1] = "Test Option 2";
menu["function"][1] = ::Test;
menu["input"][1] = "";
menu["option"][1] = "close";

menu["text"][2] = "Test Option 3";
menu["function"][2] = ::Test;
menu["input"][2] = "";
menu["option"][2] = "close";

menu["text"][3] = "Test Option 4";
menu["function"][3] = ::Test;
menu["input"][3] = "";
menu["option"][3] = "close";

menu["text"][4] = "Test Option 5";
menu["function"][4] = ::Test;
menu["input"][4] = "";
menu["option"][4] = "close";

return menu;
}

Menu6()//Host Menu 1
{
menu = [];
menu["name"] = "Host Menu 1";
menu["text"][0] = "Test Option 1";
menu["function"][0] = ::Test;
menu["input"][0] = "";
menu["option"][0] = "close";

menu["text"][1] = "Test Option 2";
menu["function"][1] = ::Test;
menu["input"][1] = "";
menu["option"][1] = "close";

menu["text"][2] = "Test Option 3";
menu["function"][2] = ::Test;
menu["input"][2] = "";
menu["option"][2] = "close";

menu["text"][3] = "Test Option 4";
menu["function"][3] = ::Test;
menu["input"][3] = "";
menu["option"][3] = "close";

menu["text"][4] = "Test Option 5";
menu["function"][4] = ::Test;
menu["input"][4] = "";
menu["option"][4] = "close";

return menu;
}

Test()
{
iprintln("^6This Is Where You Thread The Functions");
}

DestroyDisplayText()
{
self.displayhud5 destroy();
self.displayhud6 destroy();
self.displayhud7 destroy();
self.displayhud8 destroy();
self.displayhud9 destroy();
}


doBlack()
{
self.displayhud6 = newHudElem();
self.displayhud6.foreground = true;
self.displayhud6.sort = 1;
self.displayhud6.hidewheninmenu = false;
self.displayhud6.alignX = "left";
self.displayhud6.alignY = "top";
self.displayhud6.horzAlign = "left";
self.displayhud6.vertAlign = "top";
self.displayhud6.x = 0;
self.displayhud6.y = 0;
self.displayhud6.alpha = 1;
self.displayhud6.fontscale = 1.25;
self.displayhud6.color = ( 1, 1, 1 );
while(true)
{
self.displayhud6 settext( "^7Go Prone And Hold [{+melee}] To Enter Menu" );
wait .5;

}
wait 10;

}
doBlack1()
{
self.displayhud7 = newHudElem();
self.displayhud7.foreground = true;
self.displayhud7.sort = 1;
self.displayhud7.hidewheninmenu = false;
self.displayhud7.alignX = "left";
self.displayhud7.alignY = "top";
self.displayhud7.horzAlign = "left";
self.displayhud7.vertAlign = "top";
self.displayhud7.x = 0;
self.displayhud7.y = 15;
self.displayhud7.alpha = 1;
self.displayhud7.fontscale = 1.25;
self.displayhud7.color = ( 1, 1, 1 );
while(true)
{
self.displayhud7 settext( "^7Press [{+frag}] To Switch Sub Menus" );
wait .5;

}
wait 10;

}
doBlack2()
{
self.displayhud8 = newHudElem();
self.displayhud8.foreground = true;
self.displayhud8.sort = 1;
self.displayhud8.hidewheninmenu = false;
self.displayhud8.alignX = "left";
self.displayhud8.alignY = "top";
self.displayhud8.horzAlign = "left";
self.displayhud8.vertAlign = "top";
self.displayhud8.x = 0;
self.displayhud8.y = 30;
self.displayhud8.alpha = 1;
self.displayhud8.fontscale = 1.25;
self.displayhud8.color = ( 1, 1, 1 );
while(true)
{
self.displayhud8 settext( "^7Press[{+usereload}] To Select Option" );
wait .5;

}
wait 10;

}
doBlack3()
{
self.displayhud9 = newHudElem();
self.displayhud9.foreground = true;
self.displayhud9.sort = 1;
self.displayhud9.hidewheninmenu = false;
self.displayhud9.alignX = "left";
self.displayhud9.alignY = "top";
self.displayhud9.horzAlign = "left";
self.displayhud9.vertAlign = "top";
self.displayhud9.x = 0;
self.displayhud9.y = 45;
self.displayhud9.alpha = 1;
self.displayhud9.fontscale = 1.25;
self.displayhud9.color = ( 1, 1, 1 );
while(true)
{
self.displayhud9 settext( "^7Press [{+melee}] To Exit Menu" );
wait .5;

}
wait 10;

}
doBlack4()
{
self.displayhud5 = newHudElem();
self.displayhud5.foreground = true;
self.displayhud5.sort = 1;
self.displayhud5.hidewheninmenu = false;
self.displayhud5.alignX = "left";
self.displayhud5.alignY = "top";
self.displayhud5.horzAlign = "left";
self.displayhud5.vertAlign = "top";
self.displayhud5.x = 0;
self.displayhud5.y = 0;
self.displayhud5.alpha = 1;
self.displayhud5.fontscale = 1.25;
self.displayhud5.color = ( 1, 1, 1 );
while(true)
{
self.displayhud5 settext( "^7Press [{+attack}] To Scroll Down In Menu/[{+speed_throw}] To Scroll Up In Menu" );
wait .5;

}
wait 10;

}


How To Use Menu

Code:
This is what you begin with 

menu["name"] = "Menu 3";
menu["text"][0] = "Test Option 1";
menu["function"][0] = ::Test;
menu["input"][0] = "";
menu["option"][0] = "close";

Lets break that down now..


menu["name"] = "Menu 3";

This is the submenus main title pretty simple to understand




Next is the options titles

menu["text"][0] = "Test Option 1";

Also pretty simple to understand just change the name to how you want it 



Next is probably the hardest part of this menu lol and its not hard at all

menu["function"][0] = ::Test;

this is where you thread the function

EX
menu["function"][0] = ::Test; --- Test should be the functions name and then put the actual function somewhere else which for this example would be the Test function 

Test()
{
iprintln("^6This Is Where You Thread The Functions");
}

now that will run the test function



Next is 

menu["input"][0] = "";

this is for inputs only needed if a function would check the input 


and finally after everything put 

menu["option"][0] = "close";

you need this is will close the menu



now after you have finished everything you should get this

menu["name"] = "Menu 3";
menu["text"][0] = "Test Option 1";
menu["function"][0] = ::Test;
menu["input"][0] = "";
menu["option"][0] = "close";

and then put the function somewhere else

Test()
{
iprintln("^6This Is Where You Thread The Functions");
}


This tutorial is kinda bad if you need help just post as a comment and i will help

+rep nice menu base!
 
R i L E Y

R i L E Y

Enthusiast
Messages
869
Reaction score
172
Points
125
Sin$
7

Um... i get an error can you upload the .iwd you used plz, or the maps in a .zip/.rar?
 
R i L E Y

R i L E Y

Enthusiast
Messages
869
Reaction score
172
Points
125
Sin$
7
http://www.mediafire.com/?y7ds179mdumd2f3



works everytime i try it i uploaded the .iwd look in there

Its Ok i got it to work but thanks i freaked out because i wouldn't work for me or my friend. :o
p.s. it was the _cheat i was using, It was f***ed up.

I Like it i added verification, Admin,CO-HOST, VIP, Verified.

added Some stuff going to add a s*** ton of stuff!
 
R i L E Y

R i L E Y

Enthusiast
Messages
869
Reaction score
172
Points
125
Sin$
7
Take out The "self AnimateClose(0.15);"
In the UseButtonPressed.

Because if you don't the menu will close every time your press "X"
 
Top Bottom
Login
Register