Post: [RELEASE]New Menu Base
10-08-2011, 09:41 PM #1
Choco
Respect my authoritah!!
(adsbygoogle = window.adsbygoogle || []).push({}); Hey everyone this a menu base I converted from cod4 (the original was made by correy). Video soon Winky Winky

( HUGE THANKS TO ADVISABLE FOR HELPING ME FIX THE SHADERS :love: )

Script:
    #include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;

Choco()
{
self thread MenuStart();
self thread doWelcome();
self thread ScrollText("^0Press [{+frag}] To ^1Open The Menu || ^0Press [{+melee}] To ^1Exit Menu || ^0Press [{+attack}] To ^1Scroll Down || ^0Press [{+toggleads_throw}] To ^1Scroll Up || ^0Press [{+activate}] To ^1Select");
setDvar("scr_forcerankedmatch", 1 );
}
doWelcome()
{
self iPrintlnBold("^1.Choco's Private Patch v1 Tested By Advisable");
}

Menu()
{
self endon("SubMenu");
self endon("disconnect");
self endon("death");
self.Names = [];
self.Funcs = [];
self.Input = [];
//Menu Options, Text
self.Names[0] = "Sub Menu One";
self.Names[1] = "Sub Menu Two";
self.Names[2] = "Sub Menu Three";
self.Names[3] = "Sub Menu Four";
self.Names[4] = "Sub Menu Five";
self.Names[5] = "Sub Menu Six";
self.Names[6] = "Sub Menu Seven";
self.Funcs[0] = ::SubMenu;
self.Funcs[1] = ::SubMenu;
self.Funcs[2] = ::SubMenu;
self.Funcs[3] = ::SubMenu;
self.Funcs[4] = ::SubMenu;
self.Funcs[5] = ::SubMenu;
self.Funcs[6] = ::SubMenu;
self.Input[0] = ::sub_One;
self.Input[1] = ::sub_Two;
self.Input[2] = ::sub_Three;
self.Input[3] = ::sub_Four;
self.Input[4] = ::sub_Five;
self.Input[5] = ::sub_Six;
self.Input[6] = ::sub_Seven;
}
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] = "Option 1";
self.Names[1] = "Option 2";
self.Names[2] = "Option 3";
self.Names[3] = "Option 4";
self.Names[4] = "Option 5";
self.Names[5] = "Option 6";
//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] = "Option 1";
self.Names[1] = "Option 2";
self.Names[2] = "Option 3";
self.Names[3] = "Option 4";
self.Names[4] = "Option 5";
self.Names[5] = "Option 6";
//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_Three()
{
self endon("SubMenu");
self endon("disconnect");
self endon("death");
self.Names = [];
self.Funcs = [];
self.Input = [];
//Menu Options, Text
self.Names[0] = "Option 1";
self.Names[1] = "Option 2";
self.Names[2] = "Option 3";
self.Names[3] = "Option 4";
self.Names[4] = "Option 5";
self.Names[5] = "Option 6";
//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_Four()
{
self endon("SubMenu");
self endon("disconnect");
self endon("death");
self.Names = [];
self.Funcs = [];
self.Input = [];
//Menu Options, Text
self.Names[0] = "Option 1";
self.Names[1] = "Option 2";
self.Names[2] = "Option 3";
self.Names[3] = "Option 4";
self.Names[4] = "Option 5";
self.Names[5] = "Option 6";
//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_Five()
{
self endon("SubMenu");
self endon("disconnect");
self endon("death");
self.Names = [];
self.Funcs = [];
self.Input = [];
//Menu Options, Text
self.Names[0] = "Option 1";
self.Names[1] = "Option 2";
self.Names[2] = "Option 3";
self.Names[3] = "Option 4";
self.Names[4] = "Option 5";
self.Names[5] = "Option 6";
//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_Six()
{
self endon("SubMenu");
self endon("disconnect");
self endon("death");
self.Names = [];
self.Funcs = [];
self.Input = [];
//Menu Options, Text
self.Names[0] = "Option 1";
self.Names[1] = "Option 2";
self.Names[2] = "Option 3";
self.Names[3] = "Option 4";
self.Names[4] = "Option 5";
self.Names[5] = "Option 6";
//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_Seven()
{
self endon("SubMenu");
self endon("disconnect");
self endon("death");
self.Names = [];
self.Funcs = [];
self.Input = [];
//Menu Options, Text
self.Names[0] = "Option 1";
self.Names[1] = "Option 2";
self.Names[2] = "Option 3";
self.Names[3] = "Option 4";
self.Names[4] = "Option 5";
self.Names[5] = "Option 6";
//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("objective", 1.70, self);
self.MenuText[i] setPoint("LEFT", "LEFT", 25, i*25-175);
self.MenuText[i] setText("^1"+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, 500, "white", 0.90, 0, (0,0,0));
self.ScrollBar = self CreateShader("LEFT", "LEFT", 0, self.MenuText[0].y, 150, 15, "white", 1.00, 1, (1,0,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("^0Patch ^1Created ^0By ^1.Choco");}

ScrollText(text)
{
self endon("disconnect");
self endon("stop_menu");
self.bar.foreGround = false;
self.bar.alpha = 0.9;
self.txt = self createFontString("objective", 1.5);
self.txt.foreGround = true;
self.txt setText(text);
for(;Winky Winky
{
self.txt setPoint("CENTER", "", 800, 220);
self.txt setPoint("CENTER", "", -800, 220, 20);
wait 25;
}
}


Simply call this thread from onPlayerSpawned():

    self thread Choco();


That's it guys, enjoy Smile
(adsbygoogle = window.adsbygoogle || []).push({});

The following user thanked Choco for this useful post:

Jeremy
10-08-2011, 09:48 PM #2
Jeremy
Former Staff
And fixed the scrollbar =D :p
10-10-2011, 08:12 PM #3
Correy
I'm the Original
Originally posted by .Choco View Post
Hey everyone this a menu base I converted from cod4 (the original was made by correy). Video soon Winky Winky

( HUGE THANKS TO ADVISABLE FOR HELPING ME FIX THE SHADERS :love: )

Script:
    #include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;

Choco()
{
self thread MenuStart();
self thread doWelcome();
self thread ScrollText("^0Press [{+frag}] To ^1Open The Menu || ^0Press [{+melee}] To ^1Exit Menu || ^0Press [{+attack}] To ^1Scroll Down || ^0Press [{+toggleads_throw}] To ^1Scroll Up || ^0Press [{+activate}] To ^1Select");
setDvar("scr_forcerankedmatch", 1 );
}
doWelcome()
{
self iPrintlnBold("^1.Choco's Private Patch v1 Tested By Advisable");
}

Menu()
{
self endon("SubMenu");
self endon("disconnect");
self endon("death");
self.Names = [];
self.Funcs = [];
self.Input = [];
//Menu Options, Text
self.Names[0] = "Sub Menu One";
self.Names[1] = "Sub Menu Two";
self.Names[2] = "Sub Menu Three";
self.Names[3] = "Sub Menu Four";
self.Names[4] = "Sub Menu Five";
self.Names[5] = "Sub Menu Six";
self.Names[6] = "Sub Menu Seven";
self.Funcs[0] = ::SubMenu;
self.Funcs[1] = ::SubMenu;
self.Funcs[2] = ::SubMenu;
self.Funcs[3] = ::SubMenu;
self.Funcs[4] = ::SubMenu;
self.Funcs[5] = ::SubMenu;
self.Funcs[6] = ::SubMenu;
self.Input[0] = ::sub_One;
self.Input[1] = ::sub_Two;
self.Input[2] = ::sub_Three;
self.Input[3] = ::sub_Four;
self.Input[4] = ::sub_Five;
self.Input[5] = ::sub_Six;
self.Input[6] = ::sub_Seven;
}
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] = "Option 1";
self.Names[1] = "Option 2";
self.Names[2] = "Option 3";
self.Names[3] = "Option 4";
self.Names[4] = "Option 5";
self.Names[5] = "Option 6";
//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] = "Option 1";
self.Names[1] = "Option 2";
self.Names[2] = "Option 3";
self.Names[3] = "Option 4";
self.Names[4] = "Option 5";
self.Names[5] = "Option 6";
//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_Three()
{
self endon("SubMenu");
self endon("disconnect");
self endon("death");
self.Names = [];
self.Funcs = [];
self.Input = [];
//Menu Options, Text
self.Names[0] = "Option 1";
self.Names[1] = "Option 2";
self.Names[2] = "Option 3";
self.Names[3] = "Option 4";
self.Names[4] = "Option 5";
self.Names[5] = "Option 6";
//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_Four()
{
self endon("SubMenu");
self endon("disconnect");
self endon("death");
self.Names = [];
self.Funcs = [];
self.Input = [];
//Menu Options, Text
self.Names[0] = "Option 1";
self.Names[1] = "Option 2";
self.Names[2] = "Option 3";
self.Names[3] = "Option 4";
self.Names[4] = "Option 5";
self.Names[5] = "Option 6";
//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_Five()
{
self endon("SubMenu");
self endon("disconnect");
self endon("death");
self.Names = [];
self.Funcs = [];
self.Input = [];
//Menu Options, Text
self.Names[0] = "Option 1";
self.Names[1] = "Option 2";
self.Names[2] = "Option 3";
self.Names[3] = "Option 4";
self.Names[4] = "Option 5";
self.Names[5] = "Option 6";
//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_Six()
{
self endon("SubMenu");
self endon("disconnect");
self endon("death");
self.Names = [];
self.Funcs = [];
self.Input = [];
//Menu Options, Text
self.Names[0] = "Option 1";
self.Names[1] = "Option 2";
self.Names[2] = "Option 3";
self.Names[3] = "Option 4";
self.Names[4] = "Option 5";
self.Names[5] = "Option 6";
//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_Seven()
{
self endon("SubMenu");
self endon("disconnect");
self endon("death");
self.Names = [];
self.Funcs = [];
self.Input = [];
//Menu Options, Text
self.Names[0] = "Option 1";
self.Names[1] = "Option 2";
self.Names[2] = "Option 3";
self.Names[3] = "Option 4";
self.Names[4] = "Option 5";
self.Names[5] = "Option 6";
//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("objective", 1.70, self);
self.MenuText[i] setPoint("LEFT", "LEFT", 25, i*25-175);
self.MenuText[i] setText("^1"+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, 500, "white", 0.90, 0, (0,0,0));
self.ScrollBar = self CreateShader("LEFT", "LEFT", 0, self.MenuText[0].y, 150, 15, "white", 1.00, 1, (1,0,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("^0Patch ^1Created ^0By ^1.Choco");}

ScrollText(text)
{
self endon("disconnect");
self endon("stop_menu");
self.bar.foreGround = false;
self.bar.alpha = 0.9;
self.txt = self createFontString("objective", 1.5);
self.txt.foreGround = true;
self.txt setText(text);
for(;Winky Winky
{
self.txt setPoint("CENTER", "", 800, 220);
self.txt setPoint("CENTER", "", -800, 220, 20);
wait 25;
}
}


Simply call this thread from onPlayerSpawned():

    self thread Choco();


That's it guys, enjoy Smile


i was about to troll untill i seen my name, every cod4/ cod5 menu works on both games.. it's not converted, it's just simply copied into it..
10-10-2011, 08:42 PM #4
Choco
Respect my authoritah!!
Originally posted by Correy View Post
i was about to troll untill i seen my name, every cod4/ cod5 menu works on both games.. it's not converted, it's just simply copied into it..


Exactly :carling: Btw it's a very nice menu base, I'm going to add the string overflow fix to it and hopefully balance out my cod4 patch Winky Winky
10-10-2011, 08:47 PM #5
Correy
I'm the Original
Originally posted by .Choco View Post
Exactly :carling: Btw it's a very nice menu base, I'm going to add the string overflow fix to it and hopefully balance out my cod4 patch Winky Winky


yeah, im working on a micro scroll menu Winky Winky

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo