Post: [RELEASE] IVI40A3Fusionz's Menu Base
04-01-2012, 07:16 PM #1
IVI40A3Fusionz
Former Gaming Squad Member
(adsbygoogle = window.adsbygoogle || []).push({});
Menu Base made by IVI40A3Fusionz from scratch, except for the button handling, credits to the given parties below when due.

Downloads:
PC: You must login or register to view this content.
PS3: You must login or register to view this content.

Video:


Script
    
BuildMenu()
{
self endon("disconnect");
self endon("death");
self.MenuOpen = false;
self thread iniMenu();
self.Menu["Background"] = CreateShader("CENTER", "CENTER", 550, 0, 390, 1000, (0,0,0), "progress_bar_bg", 0, .6);
self.Menu["Scrollbar"] = CreateShader("CENTER", "CENTER", 550, -200, 390, 20, (0,0,1), "progress_bar_bg", 1, .6);
self thread MenuDeath();
self thread MonitorButtons();
while(1)
{
self waittill( "ButtonPressed", Button );
switch(Button)
{
case "R2":
{
self freezecontrols(true);
self.Menu["Scrollbar"].y = -200;
self.Menu["Scrollbar"] MoveElem("x", 1, 250);
self.Menu["Background"] MoveElem("x", 1, 250);
self thread MenuText("Main");
self.Menu["MenuText"] MoveElem("x", 1, 60);
wait 1;
self.Menu["Cursor"] = 0;
self.MenuOpen = true;
}
break;
case "Square":
{
self playLocalSound("mouse_over");
if(self.Root=="PlayerM")self.PlayerFunctions=self.Menu["Cursor"];
self thread [[self.MenuFunction[self.Root][self.Menu["Cursor"]]]](self.MenuInput[self.Root][self.Menu["Cursor"]]);
}
break;
case "R1":
{
self.Menu["Cursor"]++;
if(self.Root=="PlayerM") if(self.Menu["Cursor"] > level.players.size-1)self.Menu["Cursor"]=0;
else if(self.Menu["Cursor"]>self.MenuText[self.Root].size-1) self.Menu["Cursor"]=0;
self.Menu["Scrollbar"] MoveElem("y", .3, self.Menu["Cursor"]*24-200);
}
break;
case "L1":
{
self.Menu["Cursor"]--;
if(self.Root=="PlayerM") if(self.Menu["Cursor"] < 0)self.Menu["Cursor"]=level.players.size-1;
if(self.Menu["Cursor"]<0) self.Menu["Cursor"]=self.MenuText[self.Root].size-1;
self.Menu["Scrollbar"] MoveElem("y", .3, self.Menu["Cursor"]*24-200);
}
break;
case "R3":
{
if(self.Root == "Main")
{
self.Menu["Scrollbar"] MoveElem("x", 1, 550);
self.Menu["Background"] MoveElem("x", 1, 550);
self.Menu["MenuText"] MoveElem("x", .985, 350);
wait 1;
self.Menu["MenuText"] destroy();
self freezecontrols(false);
self.MenuOpen = false;
}
else if(self.Root == "POpts")self thread NewMenu("PlayerM");
else if(self.Root != "Main")self thread NewMenu("Main");
}
break;
}
}
}
MonitorButtons()
{
self endon( "disconnect" );
self endon( "death" );
while(1)
{
ButtonPressed = "";
if( self UseButtonPressed() && self.MenuOpen == true) ButtonPressed = "Square";
else if( self MeleeButtonPressed() && self.MenuOpen == true) ButtonPressed = "R3";
else if( self FragButtonPressed() && self.MenuOpen == false) ButtonPressed = "R2";
else if( self AdsButtonPressed() && self.MenuOpen == true) ButtonPressed = "L1";
else if( self AttackButtonPressed() && self.MenuOpen == true) ButtonPressed = "R1";
ButtonTouched = ButtonPressed.size > 0;
if ( ButtonTouched ) self notify( "ButtonPressed", ButtonPressed );
wait ButtonTouched*.2+.01;
}
}
MenuDeath()
{
self waittill("death");
self.Menu["Scrollbar"] destroy();
self.Menu["Background"] destroy();
self.Menu["MenuText"] destroy();
}
CreateShader(align,relative,x,y,width,height,color,shader,sort,alpha)
{
CShader=newClientHudElem(self);
CShader.children=[];
CShader.elemType="bar";
CShader.sort=sort;
CShader.color=color;
CShader.alpha=alpha;
CShader setParent(level.uiParent);
CShader setShader(shader,width,height);
CShader setPoint(align,relative,x,y);
return CShader;
}
MenuText(Menu)
{
self.Root = Menu;
Text = "";
if(self.Root == "PlayerM")
{
for(i=0;i < level.players.size;i++)
{
player=level.players[i];
Text += player.name+"\n";
self.MenuFunction["PlayerM"][i]=::NewMenu;
self.MenuInput["PlayerM"][i]="POpts";
}
}
else for( i=0;i<self.MenuText[Menu].size;i++ ) Text += self.MenuText[Menu][i]+"\n";
self.Menu["MenuText"] = createFontString("hud_small", 2, self);
self.Menu["MenuText"] setPoint("LEFT", "", 350, -200);
self.Menu["MenuText"] setText( Text );
self.Menu["MenuText"].alpha = 6;
self.Menu["MenuText"].sort = 15;
}
addFunction(Menu, Number, Function, Input)
{
self.MenuFunction[Menu][Number] = Function;
if(IsDefined(Input)) self.MenuInput[Menu][Number] = Input;
}
addOptions(Menu, Text)
{
self.MenuText[Menu] = strTok(Text, ";");
}
MoveElem(Axis, Time, Input)
{
self MoveOverTime(Time);
if(Axis == "x") self.x = Input;
else self.y = Input;
}
NewMenu(Menu)
{
self.Menu["MenuText"] destroy();
self.Menu["Title"] destroy();
self thread MenuText(Menu);
self.Menu["MenuText"].x = 60;
self.Menu["Cursor"] = 0;
self.Menu["Scrollbar"] MoveElem("y", .3, self.Menu["Cursor"]*24-200);
}
iniMenu()
{
addOptions("Main", "Sub Menu 1;Sub Menu 2;Sub Menu 3;Sub Menu 4;Sub Menu 5;Player Menu");
addFunction("Main", 0, ::NewMenu, "SubM1");
addFunction("Main", 1, ::NewMenu, "SubM2");
addFunction("Main", 2, ::NewMenu, "SubM3");
addFunction("Main", 3, ::NewMenu, "SubM4");
addFunction("Main", 4, ::NewMenu, "SubM5");
addFunction("Main", 5, ::NewMenu, "PlayerM");

addOptions("SubM1", "Sub Option 1;Sub Option 2;Sub Option 3;Sub Option 4;Sub Option 5");
addFunction("SubM1", 0, ::Test, "1");
addFunction("SubM1", 1, ::Test, "2");
addFunction("SubM1", 2, ::Test, "3");
addFunction("SubM1", 3, ::Test, "4");
addFunction("SubM1", 4, ::Test, "5");

addOptions("SubM2", "Sub Option 1;Sub Option 2;Sub Option 3;Sub Option 4;Sub Option 5");
addFunction("SubM2", 0, ::Test, "1");
addFunction("SubM2", 1, ::Test, "2");
addFunction("SubM2", 2, ::Test, "3");
addFunction("SubM2", 3, ::Test, "4");
addFunction("SubM2", 4, ::Test, "5");

addOptions("SubM3", "Sub Option 1;Sub Option 2;Sub Option 3;Sub Option 4;Sub Option 5");
addFunction("SubM3", 0, ::Test, "1");
addFunction("SubM3", 1, ::Test, "2");
addFunction("SubM3", 2, ::Test, "3");
addFunction("SubM3", 3, ::Test, "4");
addFunction("SubM3", 4, ::Test, "5");

addOptions("SubM4", "Sub Option 1;Sub Option 2;Sub Option 3;Sub Option 4;Sub Option 5");
addFunction("SubM4", 0, ::Test, "1");
addFunction("SubM4", 1, ::Test, "2");
addFunction("SubM4", 2, ::Test, "3");
addFunction("SubM4", 3, ::Test, "4");
addFunction("SubM4", 4, ::Test, "5");

addOptions("SubM5", "Sub Option 1;Sub Option 2;Sub Option 3;Sub Option 4;Sub Option 5");
addFunction("SubM5", 0, ::Test, "1");
addFunction("SubM5", 1, ::Test, "2");
addFunction("SubM5", 2, ::Test, "3");
addFunction("SubM5", 3, ::Test, "4");
addFunction("SubM5", 4, ::Test, "5");

addOptions("POpts", "Kick Player;Kill Player;Sub Option 3;Sub Option 4;Sub Option 5");
addFunction("POpts", 0, ::Kick, "1");
addFunction("POpts", 1, ::Kill, "2");
addFunction("POpts", 2, ::Test, "3");
addFunction("POpts", 3, ::Test, "4");
addFunction("POpts", 4, ::Test, "5");
}
Test(Value)
{
self iPrintln("^2Sub Option "+Value);
}
Kick()
{
kick(level.players[self.PlayerFunctions] getEntityNumber(),"EXE_PLAYERKICKED");
}
Kill()
{
level.players[self.PlayerFunctions] suicide();
}


Credits:
Blackstorm: For Button Handling.
QuickSilver: For Overflow Fix.

NOTE:
- There is now a player menu but still no verification as of yet as i couldn't be bothered to add one, however i am willing to add a player menu and verification if it is requested alot.
(adsbygoogle = window.adsbygoogle || []).push({});

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

|ManiaC|, Correy, iPROFamily, xMrSuperMoDzZ--
04-01-2012, 07:50 PM #2
MY SONG, MY INTRO :O YOU LITTLE COPYRIGHT FRAUD!!! Jokezz none of them are mine XD
04-01-2012, 07:53 PM #3
Nice One Fusionz ! :P
04-01-2012, 07:58 PM #4
looks ok but its just like all the other menu's :( atm

The following 2 users say thank you to IELIITEMODZX for this useful post:

aerosoul94, User2340034u
04-01-2012, 08:01 PM #5
Taylor
Former Black Knight.
Originally posted by IVI40A3Fusionz View Post
Menu Base made by IVI40A3Fusionz from scratch, except for the button handling, credits to the given parties below when due.

Video:


Script
    
BuildMenu()
{
self endon("disconnect");
self endon("death");
self.MenuOpen = false;
self thread iniMenu();
self.Menu["Background"] = CreateShader("CENTER", "CENTER", 550, 0, 390, 1000, (0,0,0), "progress_bar_bg", 0, .6);
self.Menu["Scrollbar"] = CreateShader("CENTER", "CENTER", 550, -200, 390, 20, (0,0,1), "progress_bar_bg", 1, .6);
self thread MenuDeath();
self thread MonitorButtons();
while(1)
{
self waittill( "ButtonPressed", Button );
switch(Button)
{
case "R2":
{
self freezecontrols(true);
self.Menu["Scrollbar"].y = -200;
self.Menu["Scrollbar"] MoveElem("x", 1, 250);
self.Menu["Background"] MoveElem("x", 1, 250);
self thread MenuText("Main");
self.Menu["MenuText"] MoveElem("x", 1, 60);
wait 1;
self.Menu["Cursor"] = 0;
self.MenuOpen = true;
}
break;
case "Square":
{
self playLocalSound("mouse_over");
self thread [[self.MenuFunction[self.Root][self.Menu["Cursor"]]]](self.MenuInput[self.Root][self.Menu["Cursor"]]);
}
break;
case "R1":
{
self.Menu["Cursor"]++;
if(self.Menu["Cursor"]>self.MenuText[self.Root].size-1) self.Menu["Cursor"]=0;
self.Menu["Scrollbar"] MoveElem("y", .3, self.Menu["Cursor"]*24-200);
}
break;
case "L1":
{
self.Menu["Cursor"]--;
if(self.Menu["Cursor"]<0) self.Menu["Cursor"]=self.MenuText[self.Root].size-1;
self.Menu["Scrollbar"] MoveElem("y", .3, self.Menu["Cursor"]*24-200);
}
break;
case "R3":
{
if(self.Root == "Main")
{
self.Menu["Scrollbar"] MoveElem("x", 1, 550);
self.Menu["Background"] MoveElem("x", 1, 550);
self.Menu["MenuText"] MoveElem("x", .985, 350);
wait 1;
self.Menu["MenuText"] destroy();
self freezecontrols(false);
self.MenuOpen = false;
}
else if(self.Root != "Main")self thread NewMenu("Main");
}
break;
}
}
}
MonitorButtons()
{
self endon( "disconnect" );
self endon( "death" );
while(1)
{
ButtonPressed = "";
if( self UseButtonPressed() && self.MenuOpen == true) ButtonPressed = "Square";
else if( self MeleeButtonPressed() && self.MenuOpen == true) ButtonPressed = "R3";
else if( self FragButtonPressed() && self.MenuOpen == false) ButtonPressed = "R2";
else if( self AdsButtonPressed() && self.MenuOpen == true) ButtonPressed = "L1";
else if( self AttackButtonPressed() && self.MenuOpen == true) ButtonPressed = "R1";
ButtonTouched = ButtonPressed.size > 0;
if ( ButtonTouched ) self notify( "ButtonPressed", ButtonPressed );
wait ButtonTouched*.2+.01;
}
}
MenuDeath()
{
self waittill("death");
self.Menu["Scrollbar"] destroy();
self.Menu["Background"] destroy();
self.Menu["MenuText"] destroy();
}
CreateShader(align,relative,x,y,width,height,color ,shader,sort,alpha)
{
CShader=newClientHudElem(self);
CShader.children=[];
CShader.elemType="bar";
CShader.sort=sort;
CShader.color=color;
CShader.alpha=alpha;
CShader setParent(level.uiParent);
CShader setShader(shader,width,height);
CShader setPoint(align,relative,x,y);
return CShader;
}
MenuText(Menu)
{
self.Root = Menu;
Text = "";
for( i=0;i<self.MenuText[Menu].size;i++ ) Text += self.MenuText[Menu][i]+"\n";
self.Menu["MenuText"] = createFontString("hud_small", 2, self);
self.Menu["MenuText"] setPoint("LEFT", "", 350, -200);
self.Menu["MenuText"] setText( Text );
self.Menu["MenuText"].alpha = 6;
self.Menu["MenuText"].sort = 15;
}
addFunction(Menu, Number, Function, Input)
{
self.MenuFunction[Menu][Number] = Function;
if(IsDefined(Input)) self.MenuInput[Menu][Number] = Input;
}
addOptions(Menu, Text)
{
self.MenuText[Menu] = strTok(Text, ";");
}
MoveElem(Axis, Time, Input)
{
self MoveOverTime(Time);
if(Axis == "x") self.x = Input;
else self.y = Input;
}
NewMenu(Menu)
{
self.Menu["MenuText"] destroy();
self.Menu["Title"] destroy();
self thread MenuText(Menu);
self.Menu["MenuText"].x = 60;
self.Menu["Cursor"] = 0;
self.Menu["Scrollbar"] MoveElem("y", .3, self.Menu["Cursor"]*24-200);
}
iniMenu()
{
addOptions("Main", "Sub Menu 1;Sub Menu 2;Sub Menu 3;Sub Menu 4;Sub Menu 5");
addFunction("Main", 0, ::NewMenu, "SubM1");
addFunction("Main", 1, ::NewMenu, "SubM2");
addFunction("Main", 2, ::NewMenu, "SubM3");
addFunction("Main", 3, ::NewMenu, "SubM4");
addFunction("Main", 4, ::NewMenu, "SubM5");

addOptions("SubM1", "Sub Option 1;Sub Option 2;Sub Option 3;Sub Option 4;Sub Option 5");
addFunction("SubM1", 0, ::Test, "1");
addFunction("SubM1", 1, ::Test, "2");
addFunction("SubM1", 2, ::Test, "3");
addFunction("SubM1", 3, ::Test, "4");
addFunction("SubM1", 4, ::Test, "5");

addOptions("SubM2", "Sub Option 1;Sub Option 2;Sub Option 3;Sub Option 4;Sub Option 5");
addFunction("SubM2", 0, ::Test, "1");
addFunction("SubM2", 1, ::Test, "2");
addFunction("SubM2", 2, ::Test, "3");
addFunction("SubM2", 3, ::Test, "4");
addFunction("SubM2", 4, ::Test, "5");

addOptions("SubM3", "Sub Option 1;Sub Option 2;Sub Option 3;Sub Option 4;Sub Option 5");
addFunction("SubM3", 0, ::Test, "1");
addFunction("SubM3", 1, ::Test, "2");
addFunction("SubM3", 2, ::Test, "3");
addFunction("SubM3", 3, ::Test, "4");
addFunction("SubM3", 4, ::Test, "5");

addOptions("SubM4", "Sub Option 1;Sub Option 2;Sub Option 3;Sub Option 4;Sub Option 5");
addFunction("SubM4", 0, ::Test, "1");
addFunction("SubM4", 1, ::Test, "2");
addFunction("SubM4", 2, ::Test, "3");
addFunction("SubM4", 3, ::Test, "4");
addFunction("SubM4", 4, ::Test, "5");

addOptions("SubM5", "Sub Option 1;Sub Option 2;Sub Option 3;Sub Option 4;Sub Option 5");
addFunction("SubM5", 0, ::Test, "1");
addFunction("SubM5", 1, ::Test, "2");
addFunction("SubM5", 2, ::Test, "3");
addFunction("SubM5", 3, ::Test, "4");
addFunction("SubM5", 4, ::Test, "5");
}
Test(Value)
{
self iPrintln("^2Sub Option "+Value);
}


Credits:
Blackstorm: For Button Handling.
QuickSilver: For Overflow Fix.

NOTE:
- There is no player menu or verification as of yet as i couldn't be bothered to add one, however i am willing to add a player menu and verification if it is requested alot.


Nice Ryan, but not better than the one im putting out today, its an amazing edit of elite's wdunt even know it was his unless looking at the codeing
04-01-2012, 08:24 PM #6
IVI40A3Fusionz
Former Gaming Squad Member
Originally posted by nZxMikeeeyx View Post
MY SONG, MY INTRO :O YOU LITTLE COPYRIGHT FRAUD!!! Jokezz none of them are mine XD


I got the song from the preview of your patch XD.

---------- Post added at 09:24 PM ---------- Previous post was at 09:23 PM ----------

Originally posted by xYARDSALEx View Post
Nice Ryan, but not better than the one im putting out today, its an amazing edit of elite's wdunt even know it was his unless looking at the codeing


I didn't release this to give a better look but more about different coding (not many bases use strTok, or Blackstorms button handling) i'd rather have different coding that different look Winky Winky, all people have to do is edit the shaders etc to make this look different.

EDIT: Why you going to release an edit of a base?

The following user thanked IVI40A3Fusionz for this useful post:

iReset Nigga
04-01-2012, 08:46 PM #7
Originally posted by IVI40A3Fusionz View Post
I got the song from the preview of your patch XD.

---------- Post added at 09:24 PM ---------- Previous post was at 09:23 PM ----------



I didn't release this to give a better look but more about different coding (not many bases use strTok, or Blackstorms button handling) i'd rather have different coding that different look Winky Winky, all people have to do is edit the shaders etc to make this look different.

EDIT: Why you going to release an edit of a base?
its a good edit of my base tho lol, just wait and see Happy ive seen it and i like it.
04-01-2012, 08:52 PM #8
Taylor
Former Black Knight.
Originally posted by IVI40A3Fusionz View Post
I got the song from the preview of your patch XD.

---------- Post added at 09:24 PM ---------- Previous post was at 09:23 PM ----------



I didn't release this to give a better look but more about different coding (not many bases use strTok, or Blackstorms button handling) i'd rather have different coding that different look Winky Winky, all people have to do is edit the shaders etc to make this look different.

EDIT: Why you going to release an edit of a base?


Idk, For Fun :P And I Know Many Dnt
04-01-2012, 08:56 PM #9
IVI40A3Fusionz
Former Gaming Squad Member
Originally posted by xYARDSALEx View Post
Idk, For Fun :P And I Know Many Dnt


lol fair enough haha.

---------- Post added at 09:56 PM ---------- Previous post was at 09:55 PM ----------

Originally posted by IELIITEMODZX View Post
its a good edit of my base tho lol, just wait and see Happy ive seen it and i like it.


There's somethings in my patch i could release but you would get mad at me if i did :(.
04-01-2012, 09:56 PM #10
Correy
I'm the Original
i see some of my coding there :p.

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo