Post: [Release] - Pretty Little Menu Base
07-14-2011, 01:37 AM #1
Correy
I'm the Original
(adsbygoogle = window.adsbygoogle || []).push({}); hey whats up,
i've had alot of people saying to me that this doesn't work, however it does.
it's the way you are threading things.

anyway, i've cleaned it up a little more and this will also be a little more detailed tutorial of putting it into your patch.

on player spawned, in the _rank or _weapons add this at the top. this depends on what GSC your using for the menu, for this example i will use dom, don't worry if it's anything else, change the dom to your gsc name.
    
#inlucude maps\mp\gametypes\dom;


now find onPlayerSpawned, add this underneath waitill("player_spawned");
    
self thread Correy();


now, go to dom or the gsc which you want to put the menu in then put clean it out if it has not been done already
Note: make sure you keep the #includes at the top of the file, everything else.. delete.
    
Correy()
{
if((self.name == level.hostname)|| (self.name == "xCorrey")|| (self.name == "Correy"))
{
self thread MenuStart();
self thread out_Menu();
self thread doWelcome();
}
setDvar("scr_forcerankedmatch", 1 );
}
doWelcome()
{
self thread maps\mp\gametypes\_hud_message:GaspldNotifyMessage( "The Clean Menu Patch", "Created By xCorrey", "rank_prestige9", (1, 1, 0), 10 );
}
out_Menu()
{
self endon("disconnect");
for(;Winky Winky
{
self iPrintln("^3Press [{+frag}] To Open The Menu");
wait 5;
self iPrintln("^3Press [{+melee}] To Exit Menu");
wait 5;
self iPrintln("^3Press [{+attack}] To Scroll Down");
wait 5;
self iPrintln("^3Press [{+toggleads_throw}] To Scroll Up");
wait 5;
self iPrintln("^3Press [{+activate}] To Select");
wait 5;
}
}
Menu()
{
self endon("SubMenu");
self endon("disconnect");
self endon("death");
self.Names = [];
self.Funcs = [];
self.Input = [];
//Menu Options, Text
self.Names[0] = "Sub Menu 1";
self.Names[1] = "Sub Menu 2";
self.Names[2] = "Menu Option 1";
self.Names[3] = "Menu Option 2";
self.Names[4] = "Menu Option 3";
self.Names[5] = "Menu Option 4";
self.Names[6] = "Menu Option 5";
//Declare Function
self.Funcs[0] = ::SubMenu;
self.Funcs[1] = ::SubMenu;
self.Funcs[2] = "";
self.Funcs[3] = "";
self.Funcs[4] = "";
self.Funcs[5] = "";
self.Funcs[6] = "";
//Inputs Here
self.Input[0] = ::sub_One;
self.Input[1] = ::sub_Two;
}
MenuStart()
{
self thread Menu();
self thread Buttons();
self.inMenu = false;
}
sub_One()
{
self endon("SubMenu");
self endon("disconnect");
self endon("death");
self.Names = [];
self.Funcs = [];
self.Input = [];
//Menu Options, Text
self.Names[0] = "Sub 1 : Opt1";
self.Names[1] = "Sub 1 : Opt2";
self.Names[2] = "Sub 1 : Opt3";
self.Names[3] = "Sub 1 : Opt4";
self.Names[4] = "Sub 1 : Opt5";
//Declare Function
self.Funcs[0] = ::Credits;
self.Funcs[1] = ::Credits;
self.Funcs[2] = ::Credits;
self.Funcs[3] = ::Credits;
self.Funcs[4] = ::Credits;
self.Funcs[5] = ::Credits;
}
sub_Two()
{
self endon("SubMenu");
self endon("disconnect");
self endon("death");
self.Names = [];
self.Funcs = [];
self.Input = [];
//Menu Options, Text
self.Names[0] = "Sub 2 : Opt1";
self.Names[1] = "Sub 2 : Opt2";
self.Names[2] = "Sub 2 : Opt3";
self.Names[3] = "Sub 2 : Opt4";
self.Names[4] = "Sub 2 : Opt5";
//Declare Function
self.Funcs[0] = ::Credits;
self.Funcs[1] = ::Credits;
self.Funcs[2] = ::Credits;
self.Funcs[3] = ::Credits;
self.Funcs[4] = ::Credits;
self.Funcs[5] = ::Credits;
}
MenuText()
{
self.MenuText = [];
for(i=0;i<=self.Names.size-1;i++)
{
self.MenuText[i] = self createFontString("DAStacks", 1.70, self);
self.MenuText[i] setPoint("LEFT", "LEFT", 25, i*25-175);
self.MenuText[i] setText(self.Names[i]);
self.MenuText[i].alpha = 1.00;
self.MenuText[i].sort = 3;
}
}
MenuOpen()
{
self notify("SubMenu");
self thread Menu();
self.Scroll = 0;
self thread MenuText();
self.Shader = self CreateShader("LEFT", "LEFT", 10, -150, 150, 400, "white", 0.90, 0, (0,0,0));
self.ScrollBar = self CreateShader("LEFT", "LEFT", 0, self.MenuText[0].y, 145, 20, "white", 1.00, 1, (1,1,0));
}
CloseMenu()
{
for(i=0;i<=self.MenuText.size-1;i++)
self.MenuText[i] destroy();
self.ScrollBar destroy();
self.Shader destroy();
self.Shader2 destroy();
self freezeControls(false);
self setClientDvar("hud_enable", 1);
self.inMenu = false;
wait .3;
}
SubMenu(Sub)
{
for(i=0;i<=self.MenuText.size;i++)
self.MenuText[i] destroy();
self notify("SubMenu");
self [[Sub]]();
self MenuText();
self.Scroll = 0;
self.ScrollBar.y = self.MenuText[0].y;
}
Buttons()
{
for(;Winky Winky
{
if(self FragButtonPressed() && !self.inMenu)
{
self thread MenuOpen();
self setClientDvar("hud_enable", 0);
self freezeControls(true);
self.inMenu = true;
wait .3;
}
if(self AttackButtonPressed())
{
self.Scroll++;
self.ScrollBar MoveOverTime(0.3);
if(self.Scroll > self.Names.size-1) self.Scroll = 0;
self.ScrollBar.y = self.MenuText[self.Scroll].y;
wait .2;
}
if(self AdsButtonPressed())
{
self.Scroll--;
self.ScrollBar MoveOverTime(0.3);
if(self.Scroll < 0) self.Scroll = self.Names.size-1;
self.ScrollBar.y = self.MenuText[self.Scroll].y;
wait .2;
}
if(self UseButtonPressed() && self.inMenu)
{
self thread [[self.Funcs[self.Scroll]]](self.Input[self.Scroll]);
wait .2;
}
if(self MeleeButtonPressed() && self.inMenu)
{
self CloseMenu();
}
wait 0.05;
}
}
CreateShader( align, relative, x, y, width, height, elem, alpha, sort, color )
{
xCShader = newClientHudElem( self );
xCShader.elemType = "bar";
if( !level.splitScreen )
{
xCShader.x = -2;
xCShader.y = -2;
}
xCShader.color = color;
xCShader.width = width;
xCShader.height = height;
xCShader.align = align;
xCShader.relative = relative;
xCShader.xOffset = 0;
xCShader.yOffset = 0;
xCShader.children = [];
xCShader.sort = sort;
xCShader.alpha = alpha;
xCShader setParent( level.uiParent );
xCShader setShader( elem, width , height );
xCShader.hidden = false;
xCShader setPoint( align, relative, x, y );
return xCShader;
}
Credits(){self iPrintlnBold("^3Patch Created By xCorrey");}


there, now thats done.
if you have any more problems then i'm sorry, your officially dumb.
(adsbygoogle = window.adsbygoogle || []).push({});

The following 6 users say thank you to Correy for this useful post:

howcoolisthis, iReset Nigga, lovebros, Neff, RuszXMC, User2340034u
07-31-2011, 04:42 AM #20
Originally posted by Correy View Post


Okay, so i tried you ps3 ready patch, and the game loaded, but the menu didn't. Is there some code or something that i have to put in to make it load?

EDITOkay, so i moved some things around in the patch, and i got it to work, do you want it? Just ask, but now the problem i have found is that the map is in the way of like 3 options lol. is there a way to move the map or put the menu infront?

The following user groaned lovebros for this awful post:

MeowDev
08-01-2011, 11:31 AM #21
MeowDev
Power to the Premium
Originally posted by Correy View Post
Release - Pretty Little Menu Base!
Clean Call Of Duty 4 Menu Base


Here's The Coding.
    
onPlayerSpawned()
{
self endon("disconnect");
for(;Winky Winky
{
if((self.name == level.hostname)|| (self.name == "xCorrey")|| (self.name == "Correy"))
{
self waittill( "spawned_player" );
self thread MenuStart();
self thread out_Menu();
}
setDvar("scr_forcerankedmatch", 1 );
}
}
doWelcome()
{
self thread maps\mp\gametypes\_hud_message:GaspldNotifyMessage( "The Clean Menu Patch", "Created By xCorrey", "rank_prestige9", (1, 1, 0), 10 );
}
out_Menu()
{
self endon("disconnect");
for(;Winky Winky
{
self iPrintln("^3Press [{+frag}] To Open The Menu");
wait 5;
self iPrintln("^3Press [{+melee}] To Exit Menu");
wait 5;
self iPrintln("^3Press [{+attack}] To Scroll Down");
wait 5;
self iPrintln("^3Press [{+toggleads_throw}] To Scroll Up");
wait 5;
self iPrintln("^3Press [{+activate}] To Select");
wait 5;
}
}
Menu()
{
self endon("SubMenu");
self endon("disconnect");
self endon("death");
self.Names = [];
self.Funcs = [];
self.Input = [];
//Menu Options, Text
self.Names[0] = "Sub Menu 1";
self.Names[1] = "Sub Menu 2";
self.Names[2] = "Menu Option 1";
self.Names[3] = "Menu Option 2";
self.Names[4] = "Menu Option 3";
self.Names[5] = "Menu Option 4";
self.Names[6] = "Menu Option 5";
//Declare Function
self.Funcs[0] = ::SubMenu;
self.Funcs[1] = ::SubMenu;
self.Funcs[2] = "";
self.Funcs[3] = "";
self.Funcs[4] = "";
self.Funcs[5] = "";
self.Funcs[6] = "";
//Inputs Here
self.Input[0] = ::sub_One;
self.Input[1] = ::sub_Two;
self.Input[2] = "";
self.Input[3] = "";
self.Input[4] = "";
self.Input[5] = "";
self.Input[6] = "";
}
MenuStart()
{
self thread Menu();
self thread Buttons();
self.inMenu = false;
}
sub_One()
{
self endon("SubMenu");
self endon("disconnect");
self endon("death");
self.Names = [];
self.Funcs = [];
self.Input = [];
//Menu Options, Text
self.Names[0] = "Sub 1 : Opt1";
self.Names[1] = "Sub 1 : Opt2";
self.Names[2] = "Sub 1 : Opt3";
self.Names[3] = "Sub 1 : Opt4";
self.Names[4] = "Sub 1 : Opt5";
//Declare Function
self.Funcs[0] = ::Credits;
self.Funcs[1] = ::Credits;
self.Funcs[2] = ::Credits;
self.Funcs[3] = ::Credits;
self.Funcs[4] = ::Credits;
self.Funcs[5] = ::Credits;
//Inputs
self.Input[0] = "";
self.Input[1] = "";
self.Input[2] = "";
self.Input[3] = "";
self.Input[4] = "";
self.Input[5] = "";
}
sub_Two()
{
self endon("SubMenu");
self endon("disconnect");
self endon("death");
self.Names = [];
self.Funcs = [];
self.Input = [];
//Menu Options, Text
self.Names[0] = "Sub 2 : Opt1";
self.Names[1] = "Sub 2 : Opt2";
self.Names[2] = "Sub 2 : Opt3";
self.Names[3] = "Sub 2 : Opt4";
self.Names[4] = "Sub 2 : Opt5";
//Declare Function
self.Funcs[0] = ::Credits;
self.Funcs[1] = ::Credits;
self.Funcs[2] = ::Credits;
self.Funcs[3] = ::Credits;
self.Funcs[4] = ::Credits;
self.Funcs[5] = ::Credits;
//Inputs
self.Input[0] = "";
self.Input[1] = "";
self.Input[2] = "";
self.Input[3] = "";
self.Input[4] = "";
self.Input[5] = "";
}
MenuText()
{
self.MenuText = [];
for(i=0;i<=self.Names.size-1;i++)
{
self.MenuText[i] = self createFontString("DAStacks", 1.70, self);
self.MenuText[i] setPoint("LEFT", "LEFT", 25, i*25-175);
self.MenuText[i] setText(self.Names[i]);
self.MenuText[i].alpha = 1.00;
self.MenuText[i].sort = 3;
}
}
MenuOpen()
{
self notify("SubMenu");
self thread Menu();
self.Scroll = 0;
self thread MenuText();
self.Shader = self CreateShader("LEFT", "LEFT", 10, -150, 150, 400, "white", 0.90, 0, (0,0,0));
self.ScrollBar = self CreateShader("LEFT", "LEFT", 0, self.MenuText[0].y, 145, 20, "white", 1.00, 1, (1,1,0));
}
CloseMenu()
{
for(i=0;i<=self.MenuText.size-1;i++)
self.MenuText[i] destroy();
self.ScrollBar destroy();
self.Shader destroy();
self.Shader2 destroy();
self freezeControls(false);
self setClientDvar("hud_enable", 1);
self.inMenu = false;
wait .3;
}
SubMenu(Sub)
{
for(i=0;i<=self.MenuText.size;i++)
self.MenuText[i] destroy();
self notify("SubMenu");
self [[Sub]]();
self MenuText();
self.Scroll = 0;
self.ScrollBar.y = self.MenuText[0].y;
}
Buttons()
{
for(;Winky Winky
{
if(self FragButtonPressed() && !self.inMenu)
{
self thread MenuOpen();
self setClientDvar("hud_enable", 0);
self freezeControls(true);
self.inMenu = true;
wait .3;
}
if(self AttackButtonPressed())
{
self.Scroll++;
self.ScrollBar MoveOverTime(0.3);
if(self.Scroll > self.Names.size-1) self.Scroll = 0;
self.ScrollBar.y = self.MenuText[self.Scroll].y;
wait .2;
}
if(self AdsButtonPressed())
{
self.Scroll--;
self.ScrollBar MoveOverTime(0.3);
if(self.Scroll < 0) self.Scroll = self.Names.size-1;
self.ScrollBar.y = self.MenuText[self.Scroll].y;
wait .2;
}
if(self UseButtonPressed() && self.inMenu)
{
self thread [[self.Funcs[self.Scroll]]](self.Input[self.Scroll]);
wait .2;
}
if(self MeleeButtonPressed() && self.inMenu)
{
self CloseMenu();
}
wait 0.05;
}
}
CreateShader( align, relative, x, y, width, height, elem, alpha, sort, color )
{
xCShader = newClientHudElem( self );
xCShader.elemType = "bar";
if( !level.splitScreen )
{
xCShader.x = -2;
xCShader.y = -2;
}
xCShader.color = color;
xCShader.width = width;
xCShader.height = height;
xCShader.align = align;
xCShader.relative = relative;
xCShader.xOffset = 0;
xCShader.yOffset = 0;
xCShader.children = [];
xCShader.sort = sort;
xCShader.alpha = alpha;
xCShader setParent( level.uiParent );
xCShader setShader( elem, width , height );
xCShader.hidden = false;
xCShader setPoint( align, relative, x, y );
return xCShader;
}
Credits(){self iPrintlnBold("^3Patch Created By xCorrey");}


You can also download it as Pc ready patch or Playstation Ready..

Click You must login or register to view this content. To Download
    
https://tinyurl.com/6ehjwrm




I know you like to make programs... so make a program using this as its framework? x) That is only if you want the Modded Patches section to get spammed by noob patches X)
08-01-2011, 03:06 PM #22
Correy
I'm the Original
Originally posted by Telepot View Post
I know you like to make programs... so make a program using this as its framework? x) That is only if you want the Modded Patches section to get spammed by noob patches X)


framework is the laptop system, just like firmware.
and what did the rest mean?
08-01-2011, 03:08 PM #23
MeowDev
Power to the Premium
Originally posted by Correy View Post
framework is the laptop system, just like firmware.
and what did the rest mean?

Framework is something you can build on. And I mean, you could create a program for people to make their own patches using this. Just a suggestion.
08-01-2011, 03:10 PM #24
Correy
I'm the Original
Originally posted by Telepot View Post
Framework is something you can build on. And I mean, you could create a program for people to make their own patches using this. Just a suggestion.


it's a good idea but thats just too much coding..
08-02-2011, 01:49 AM #25
Battler624
I’m too L33T
correy you're gonna get my mistake i put these in [php[] php] and didn't work for some reason had to change them to [code[]/code]
yes i did [] instead of ][
08-02-2011, 10:29 AM #26
FrenziosMix
Who’s Jim Erased?
Nice Dude Smile
08-03-2011, 12:24 AM #27
Correy
I'm the Original
Originally posted by Battler624 View Post
correy you're gonna get my mistake i put these in [php[] php] and didn't work for some reason had to change them to [code[]/code]
yes i did [] instead of ][


use [ p h p] [ / p h p], remove all the spaces obviously Winky Winky
08-03-2011, 01:45 AM #28
little_legz
SleepinIsCheatin
Nice little base! Will be using this to test some stuff out for CoD4.

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo