Post: [RELEASE] IVI40A3Fusionz's Black Ops Menu Base
04-07-2012, 10:38 PM #1
IVI40A3Fusionz
Former Gaming Squad Member
(adsbygoogle = window.adsbygoogle || []).push({});
Menu base made by me from scratch, the menu base was originally coded for COD4 and 5 however works fine on Black Ops.

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.Menu["Cursor"]>self.MenuText[self.Root].size-1) self.Menu["Cursor"]=0;
else if(self.Root=="PlayerM")
{
if(self.Menu["Cursor"] > level.players.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;
else if(self.Root=="PlayerM")
{
if(self.Menu["Cursor"] < 0)self.Menu["Cursor"]=level.players.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();
}


Tutorial (Once You Have An Edited Black Ops patch_mp.ff):
Step 1: - Delete the Black Ops update and install the Black Ops 1.02 Update.pkg
Step 2: - Following the directory (dev_hdd0/game/BLES01031/USRDIR) place the EBOOT.bin in there.
Step 3: - Following the directory (dev_hdd0/game/BLES01031/USRDIR/GAME/BLES01031/USRDIR/english) place the patch_mp.ff in there.
Step 4: - Load up Black Ops and enjoy Smile.

NOTE:
- My region code is BLES - 01031, your will be different.
- You will need the PS3 Black Ops FF Viewer made by TheUnkn0wn to edit the PS3 .ff.
(adsbygoogle = window.adsbygoogle || []).push({});

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

iPROFamily, Jeremy, mattyjkilledme, Murt, Pauly, Taylor, xMrCheatVisionx
04-08-2012, 10:21 AM #20
Originally posted by x. View Post
Not too long now, just testing the last few things I made :y:


yay can't wait Smile
04-09-2012, 02:49 AM #21
xRaW
xI2aW-
Originally posted by xBlackberryHaze View Post
Are you kidding me? wat
Who "hates" on you? Even if you have a few haters, you also have about 9,543,980 people that love you.. Everybody has at least one hater.


you must hate on every fucker. all i see is you groaning everyones hard work.
04-09-2012, 02:57 AM #22
Cmd-X
It's been awhile.
Originally posted by xRaW View Post
you must hate on every $#@!er. all i see is you groaning everyones hard work.


Nobody's talking to you faggot, and you don't know me, so stop making assumptions about me.
04-09-2012, 02:10 PM #23
xRaW
xI2aW-
Originally posted by xBlackberryHaze View Post
Nobody's talking to you faggot, and you don't know me, so stop making assumptions about me.


i didnt say i knew you. But everytime i see threads in W@W section, cod4 section and what not i see some very nice patches and all you do is groan WTF is your problem?
04-11-2012, 03:28 AM #24
Pauly
Banned
Originally posted by IVI40A3Fusionz View Post
Menu base made by me from scratch, the menu base was originally coded for COD4 and 5 however works fine on Black Ops.

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.Menu["Cursor"]>self.MenuText[self.Root].size-1) self.Menu["Cursor"]=0;
else if(self.Root=="PlayerM")
{
if(self.Menu["Cursor"] > level.players.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;
else if(self.Root=="PlayerM")
{
if(self.Menu["Cursor"] < 0)self.Menu["Cursor"]=level.players.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();
}


Tutorial (Once You Have An Edited Black Ops patch_mp.ff):
Step 1: - Delete the Black Ops update and install the Black Ops 1.02 Update.pkg
Step 2: - Following the directory (dev_hdd0/game/BLES01031/USRDIR) place the EBOOT.bin in there.
Step 3: - Following the directory (dev_hdd0/game/BLES01031/USRDIR/GAME/BLES01031/USRDIR/english) place the patch_mp.ff in there.
Step 4: - Load up Black Ops and enjoy Smile.

NOTE:
- My region code is BLES - 01031, your will be different.
- You will need the PS3 Black Ops FF Viewer made by TheUnkn0wn to edit the PS3 .ff.

Any chance the menu could be used in zombies? :think:
04-11-2012, 08:05 AM #25
IVI40A3Fusionz
Former Gaming Squad Member
Originally posted by PaulyD View Post
Any chance the menu could be used in zombies? :think:


I don't think Zombies supports line breaks from as far as i've been told so taking that into account it will work in zombies but will be in one line, you can test it though Happy.
04-11-2012, 08:17 AM #26
Pauly
Banned
Originally posted by IVI40A3Fusionz View Post
I don't think Zombies supports line breaks from as far as i've been told so taking that into account it will work in zombies but will be in one line, you can test it though Happy.


What do you mean by 1 line? :p
04-11-2012, 08:20 AM #27
IVI40A3Fusionz
Former Gaming Squad Member
Originally posted by PaulyD View Post
What do you mean by 1 line? :p


Like you see how my base uses the \n to make the text in theory one below the other like a normal menu base but infact it's just on line of code? Well in Zombies i've heard if you have a menu with \n like mine it will just have all the options like,

Option 1. Option 2. Option 3 etc.
When it should looks like this on screen,
Option 1
Option 2
Option 3
04-11-2012, 08:24 AM #28
Pauly
Banned
Originally posted by IVI40A3Fusionz View Post
Like you see how my base uses the \n to make the text in theory one below the other like a normal menu base but infact it's just on line of code? Well in Zombies i've heard if you have a menu with \n like mine it will just have all the options like,

Option 1. Option 2. Option 3 etc.
When it should looks like this on screen,
Option 1
Option 2
Option 3

Ohhh I see :p That be rather annoying though :fa:. There's gotta be another way for a menu like Choco's I don't wanna copy and paste though (Leeches :smhSmile

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo