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
08-03-2011, 10:00 AM #29
Correy
I'm the Original
Originally posted by legz View Post
Nice little base! Will be using this to test some stuff out for CoD4.


your welcome, when i test i just make new patches and then add them to onPlayerSpawn()
08-04-2011, 07:28 PM #30
ineedhelp
Little One
got this to work, good stuff, thx

The following user thanked ineedhelp for this useful post:

Correy
08-08-2011, 09:04 AM #31
I have decided i will study this ...find out how it works and then cattempt to make a patch from scratch ....with a bit of help using threads
08-08-2011, 02:22 PM #32
oX-matto-Xo
#1 Chaos MW3
Yo people, I havnt been on NGU in 3 months now, I see Cod4 modding has grown quite abit!

The following user thanked oX-matto-Xo for this useful post:

08-08-2011, 03:10 PM #33
Correy
I'm the Original
Originally posted by Xo View Post
Yo people, I havnt been on NGU in 3 months now, I see Cod4 modding has grown quite abit!


yeah matto, you've missed alot.
check out my stuff, i'm currently making my finishing touches to my roll the dice, hit me up if you want in on it with me Winky Winky
08-08-2011, 03:40 PM #34
iReset Nigga
2Fresshh!!
Originally posted by Xo View Post
Yo people, I havnt been on NGU in 3 months now, I see Cod4 modding has grown quite abit!



yea there has been alot of new codes made and some converted from mw2 and W@W
08-08-2011, 04:05 PM #35
HSx900
Banned
nice post m8 Smile
08-08-2011, 04:49 PM #36
Correy
I'm the Original
Originally posted by iReset View Post
yea there has been alot of new codes made and some converted from mw2 and W@W


by me and newelly Winky Winky

The following user thanked Correy for this useful post:

08-08-2011, 05:15 PM #37
Originally posted by Correy View Post
by me and newelly Winky Winky


:whistle::whistle::whistle:

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo