Post: [RELEASE] Nice Menu Base | Was Gonna Use If For A Patch
10-06-2012, 05:26 PM #1
IVI40A3Fusionz
Former Gaming Squad Member
(adsbygoogle = window.adsbygoogle || []).push({}); So here's the base i made that i was gonna use for a MW2 patch but never got round to it, it doesn't have verification or anything like that but that's easy to add. This is the 2nd to latest version of this the latest version had the scrolling feature done in a few lines compared to loads on this one :lol: i just don't see the point in my keeping this or editing it anymore so here it is.

Video: (Thanks to Vampy :loveSmile


Here's the patch ready for PC with _missions.gsc and IVI40A3Fusionz.gsc

You must login or register to view this content.
You must login or register to view this content.


If you want the source code here it is:

For _missions.gsc:
    
self.TextColour = 0;
self.StarColour = (randomIntRange(10,255)/255,randomIntRange(10,255)/255,randomIntRange(10,255)/255);
self.ScrollbarColour = ((239/255),(239/255),(239/255));
self.TitleColour = (0,0,0);
self.TitleBGColour = ((180/255),(83/255),(24/255));
self.BackgroundColour = (0,0,0);
self.WholeTextcolour = (1,1,1);
self thread Welcome("Welcome "+self.name,"Press [{+actionslot 2}] To Access The Mod Menu","Enjoy Your V.I.P Access","cardicon_prestige10_02",(1,0,0),(1,1,1));
self thread iniMenu();


You'll need this:
    Welcome(Title,Text,Text2,Icon,Glowcolour,Colour)
{
Welcome = spawnstruct();
Welcome.iconName = Icon;
Welcome.titleText = Title;
Welcome.notifyText = Text;
Welcome.notifyText2 = Text2;
Welcome.glowColor = Glowcolour;
Welcome.colour = Colour;
Welcome.duration = 7;
self thread maps\mp\gametypes\_hud_message::notifyMessage(Welcome);
}


For any GSC:
    
iniMenu()
{
self endon("disconnect");
self endon("death");
self setClientDvars("hud_enable",1,"ui_hud_hardcore","0","cg_crosshairAlpha",1,"bg_fallDamageMinHeight","1000","bg_fallDamageMaxHeight","1000");
self freezecontrols(false);
self.Menu["Open"] = false;
self.Menu["Scroll"] = -1;
self thread destroyHudOnDeath();
self thread iniOptions();
self thread iniButtons();
for(;Winky Winky
{
self waittill("ButtonPressed",Button);
if(isSubStr(Button,"+actionslot 2") && !self.Menu["Open"])
{
self.getLastWeapon = self getCurrentWeapon();
GiveLaptop = "killstreak_ac130_mp";
self.getCurrentWeapon = self getCurrentWeapon();
self GiveWeapon(GiveLaptop,0,false);
self SwitchToWeapon(GiveLaptop);
wait 2.1;
self MenuOpen("Main",-1);
}
if(isSubStr(Button,"+actionslot 1") || isSubStr(Button,"+actionslot 2") && self.Menu["Open"])
{
if(isSubStr(Button,"+actionslot 2")) self.Menu["Scroll"] ++;
else self.Menu["Scroll"] --;
if(isSubStr(self.Menu["Parent"],"Players"))
{
if(self.Menu["Scroll"] > level.players.size-1)self.Menu["Scroll"] = 0;
else if(self.Menu["Scroll"] < 0)self.Menu["Scroll"] = level.players.size-1;
}
else if(self.Menu["Scroll"] > self.Menu["Names"][self.Menu["Parent"]].size-1)self.Menu["Scroll"] = 0;
else if(self.Menu["Scroll"] < 0)self.Menu["Scroll"] = self.Menu["Names"][self.Menu["Parent"]].size-1;
if(isSubStr(self.Menu["Parent"],"Players")) self.MenuNames = level.players;
else self.MenuNames = self.Menu["Names"][self.Menu["Parent"]];
if(self.MenuNames.size > 9)
{
if(self.Menu["Scroll"] >= 5 && self.Menu["Scroll"] < self.MenuNames.size-4)
{
self.Menu["HUD"][2].y = -72;
self.Menu["HUD"][3].y = -72;
}
else if(self.Menu["Scroll"] >= self.MenuNames.size-4)
{
self.Menu["HUD"][2].y = (self.Menu["Scroll"]-self.MenuNames.size+9)*21.5-158;
self.Menu["HUD"][3].y = (self.Menu["Scroll"]-self.MenuNames.size+9)*21.5-158;
}
else
{
self.Menu["HUD"][2].y = self.Menu["Scroll"]*21.5-158;
self.Menu["HUD"][3].y = self.Menu["Scroll"]*21.5-158;
}
}
else
{
self.Menu["HUD"][2].y = self.Menu["Scroll"]*21.5-158;
self.Menu["HUD"][3].y = self.Menu["Scroll"]*21.5-158;
}
self.Menu["HUD"][3].color = (randomIntRange(10,255)/255,randomIntRange(10,255)/255,randomIntRange(10,255)/255);
self notify("Update");
}
if(isSubStr(Button,"+gostand") && self.Menu["Open"])
{
self.Menu["HUD"][2] Selecting();
self.Menu["HUD"][3] Selecting();
if(isSubStr(self.Menu["Parent"],"Players"))self.PlayerFunc = self.Menu["Scroll"];
self thread [[self.Menu["Function"][self.Menu["Parent"]][self.Menu["Scroll"]]]](self.Menu["Input"][self.Menu["Parent"]][self.Menu["Scroll"]]);
}
if(isSubStr(Button,"+melee") && self.Menu["Open"])
{
if(isSubStr(self.Menu["Parent"],"Main"))self MenuClose();
else self thread addSub(self.Menu["PreviousMenu"][self.Menu["Parent"]],self.Menu["PreviousScroll"][self.Menu["Parent"]]);
}
wait .001;
}
}
iniButtons()
{
iniButtons = strTok("+actionslot 1;+actionslot 2;+actionslot 3;+actionslot 4;+usereload;+stance;weapnext;+gostand;+breath_sprint;+melee;+smoke;+frag", ";");
for(i=0;i<iniButtons.size;i++) self thread ButtonActions(iniButtons[i]);
}
ButtonActions(Button)
{
self endon("disconnect");
self endon("death");
self notifyOnPlayerCommand(Button,Button);
for(;Winky Winky
{
self waittillmatch(Button);
self notify("ButtonPressed",Button);
}
}
MenuOpen(Menu,Scroll)
{
self.Menu["Scroll"] = Scroll;
self.Menu["Open"] = true;
self setClientDvars("g_hardcore",1,"cg_crosshairAlpha",0);
self freezecontrols(true);
setPlayerHealth(90000);
self thread addSub(Menu,Scroll);
}
MenuClose()
{
self thread destroyHud();
self freezecontrols(false);
self.Menu["Open"] = false;
self setClientDvars("g_hardcore",0,"cg_crosshairAlpha",1);
if(!self.GodMode)setPlayerHealth(100);
self SwitchToWeapon(self.getLastWeapon);
}
iniMenuText()
{
for(;Winky Winky
{
self waittill("Update");
String = "";
if(isSubStr(self.Menu["Parent"],"Players"))
{
for(i=0;i<level.players.size;i++)
{
self.Menu["Function"]["Players"][i] = ::addSub;
self.Menu["Input"]["Players"][i] = "PlayerOptions";
self.Menu["PreviousMenu"]["Players"] = "Main";
self.Menu["PreviousScroll"]["Players"] = 5;
}
self.MenuSizes = level.players.size;
}
else self.MenuSizes = self.Menu["Names"][self.Menu["Parent"]].size;
if(self.MenuSizes > 9)
{
if(self.Menu["Scroll"] >= 5 && self.Menu["Scroll"] < self.MenuSizes)
{
if(self.Menu["Scroll"] >= self.MenuSizes-4)
{
for(i=self.MenuSizes-9;i<self.MenuSizes;i++)
{
if(isSubStr(self.Menu["Parent"],"Players")) self.MenuNames = level.players[i].name;
else self.MenuNames = self.Menu["Names"][self.Menu["Parent"]][i];
if(self.Menu["Scroll"] == i) String += "^"+self.TextColour+self.MenuNames+"^7\n";
else String += self.MenuNames+"\n";
}
}
else
{
for(i=self.Menu["Scroll"]-4;i<self.Menu["Scroll"]+5;i++)
{
if(isSubStr(self.Menu["Parent"],"Players")) self.MenuNames = level.players[i].name;
else self.MenuNames = self.Menu["Names"][self.Menu["Parent"]][i];
if(self.Menu["Scroll"] == i) String += "^"+self.TextColour+self.MenuNames+"^7\n";
else String += self.MenuNames+"\n";
}
}
}
else
{
for(i=0;i<9;i++)
{
if(isSubStr(self.Menu["Parent"],"Players")) self.MenuNames = level.players[i].name;
else self.MenuNames = self.Menu["Names"][self.Menu["Parent"]][i];
if(self.Menu["Scroll"] == i) String +="^"+self.TextColour+self.MenuNames+"^7\n";
else String += self.MenuNames+"\n";
}
}
}
else if(self.MenuSizes <= 9)
{
for(i=0;i<self.MenuSizes;i++)
{
if(isSubStr(self.Menu["Parent"],"Players")) self.MenuNames = level.players[i].name;
else self.MenuNames = self.Menu["Names"][self.Menu["Parent"]][i];
if(self.Menu["Scroll"] == i) String += "^"+self.TextColour+self.MenuNames+"^7\n";
else String += self.MenuNames+"\n";
}
}
self.Menu["HUD"][4] setText(String);
wait .000001;
}
}
destroyHudOnDeath()
{
self waittill("death");
self thread destroyHud();
self.NightvisionGoogles["Hud"] destroy();
}
destroyHud()
{
for(i=0;i<=5;i++) self.Menu["HUD"][i] destroy();
for(i=0;i<100;i++) self.Menu["HUD"][6][i] destroy();
}
setPlayerHealth(Health)
{
self.maxhealth = Health;
self.health = self.maxhealth;
}
setHud(Menu)
{
self.Menu["HUD"][0] = CreateTextString("default",2,"LEFT","",-245,-180,self.TitleColour,1,100,self.Menu["Title"][self.Menu["Parent"]]);
self.Menu["HUD"][1] = CreateShader("","",-100,-180,300,20,self.TitleBGColour,"white",1,.Cool Man (aka Tustin);
self.Menu["HUD"][2] = CreateShader("","",-88,self.Menu["Scroll"]*21.5-158,275,18,self.ScrollbarColour,"white",2,.Cool Man (aka Tustin);
self.Menu["HUD"][3] = CreateShader("","",-240,self.Menu["Scroll"]*21.5-158,23,23,self.StarColour,"ui_host",2,1);
self.Menu["HUD"][4] = CreateTextString("default",1.8,"LEFT","",-220,-159,self.WholeTextcolour,1,100,undefined);
self.Menu["HUD"][5] = CreateShader("","",0,0,1000,1000,(0,0,0),"white",0,.6);
if(isSubStr(self.Menu["Parent"],"Players"))
{
if(level.players.size <= 9) for(i=0;i<level.players.size;i++) self.Menu["HUD"][6][i] = CreateShader("","",-100,-158+21.5*i,300,20,self.BackgroundColour,"white",1,.Cool Man (aka Tustin);
else for(i=0;i<9;i++) self.Menu["HUD"][6][i] = CreateShader("","",-100,-158+21.5*i,300,20,self.BackgroundColour,"white",1,.Cool Man (aka Tustin);
}
else
{
if(self.Menu["Names"][self.Menu["Parent"]].size <= 9) for(i=0;i<self.Menu["Names"][self.Menu["Parent"]].size;i++) self.Menu["HUD"][6][i] = CreateShader("","",-100,-158+21.5*i,300,20,self.BackgroundColour,"white",1,.Cool Man (aka Tustin);
else for(i=0;i<9;i++) self.Menu["HUD"][6][i] = CreateShader("","",-100,-158+21.5*i,300,20,self.BackgroundColour,"white",1,.Cool Man (aka Tustin);
}
}
addSub(Menu,Scroll)
{
self thread destroyHud();
self.Menu["Parent"] = Menu;
self thread iniMenuText();
if(!IsDefined(Scroll))self.Menu["Scroll"] = 0;
else self.Menu["Scroll"] = Scroll;
self thread iniOptions();
self thread setHud(Menu);
self notify("Update");
}
getHost(Player)
{
if(Player GetEntityNumber() == 0)return true;
return false;
}
Selecting()
{
self fadeOverTime(.09);
self.alpha = .1;
wait .09;
self fadeOverTime(.09);
self.alpha = .8;
}
addMenu(Menu,Back,Scroll,Title,Text)
{
self.Menu["Title"][Menu] = Title;
self.Menu["Names"][Menu] = strTok(Text,";");
self.Menu["PreviousMenu"][Menu] = Back;
self.Menu["PreviousScroll"][Menu] = Scroll;
}
addOption(Menu,Number,Function,Input)
{
self.Menu["Function"][Menu][Number] = Function;
if(IsDefined(Input))self.Menu["Input"][Menu][Number] = Input;
}
CreateShader(Align,Relative,X,Y,Width,Height,Colour,Shader,Sort,Alpha)
{
CShader = newClientHudElem(self);
CShader.children=[];
CShader.elemType = "bar";
CShader.sort = Sort;
CShader.color = Colour;
CShader.alpha = Alpha;
CShader setParent(level.uiParent);
CShader setShader(Shader,Width,Height);
CShader setPoint(Align,Relative,X,Y);
return CShader;
}
CreateTextString(font,fontscale,align,relative,x,y,colour,alpha,sort,text)
{
CreateText = createFontString(font,fontscale);
CreateText setPoint(align,relative,x,y);
CreateText.color = colour;
CreateText.alpha = alpha;
CreateText.sort = sort;
CreateText setText(text);
return CreateText;
}
Test(i)
{
self iPrintln("Sub Option "+i);
}
HudColour(Hud,Colour)
{
Hud = Colour;
self notify("Update");
}
iniOptions()
{
self.Menu["Title"]["Players"] = "Players";
addMenu("Main","",0,"Main Menu","Sub Menu 1;Sub Menu 2;Sub Menu 3;Sub Menu 4;Sub Menu 5;Players");
addOption("Main",0,::addSub,"SubMenu1");
addOption("Main",1,::addSub,"SubMenu2");
addOption("Main",2,::addSub,"SubMenu3");
addOption("Main",3,::addSub,"SubMenu4");
addOption("Main",4,::addSub,"SubMenu5");
addOption("Main",5,::addSub,"Players");

addMenu("SubMenu1","Main",0,"Sub Menu 1","Sub Option 1;Sub Option 2;Sub Option 3;Sub Option 4;Sub Option 5;Sub Option 6;Sub Option 7;Sub Option 8;Sub Option 9;Sub Option 10;Sub Option 11;Sub Option 12;Sub Option 13;Sub Option 14;Sub Option 15");
addOption("SubMenu1",0,::Test,"1");
addOption("SubMenu1",1,::Test,"2");
addOption("SubMenu1",2,::Test,"3");
addOption("SubMenu1",3,::Test,"4");
addOption("SubMenu1",4,::Test,"5");
addOption("SubMenu1",5,::Test,"6");
addOption("SubMenu1",6,::Test,"7");
addOption("SubMenu1",7,::Test,"8");
addOption("SubMenu1",8,::Test,"9");
addOption("SubMenu1",9,::Test,"10");
addOption("SubMenu1",10,::Test,"11");
addOption("SubMenu1",11,::Test,"12");
addOption("SubMenu1",12,::Test,"13");
addOption("SubMenu1",13,::Test,"14");
addOption("SubMenu1",14,::Test,"15");

addMenu("SubMenu2","Main",1,"Sub Menu 2","Sub Option 1;Sub Option 2;Sub Option 3;Sub Option 4;Sub Option 5;Sub Option 6;Sub Option 7;Sub Option 8;Sub Option 9;Sub Option 10;Sub Option 11;Sub Option 12;Sub Option 13;Sub Option 14;Sub Option 15");
addOption("SubMenu2",0,::Test,"1");
addOption("SubMenu2",1,::Test,"2");
addOption("SubMenu2",2,::Test,"3");
addOption("SubMenu2",3,::Test,"4");
addOption("SubMenu2",4,::Test,"5");
addOption("SubMenu2",5,::Test,"6");
addOption("SubMenu2",6,::Test,"7");
addOption("SubMenu2",7,::Test,"8");
addOption("SubMenu2",8,::Test,"9");
addOption("SubMenu2",9,::Test,"10");
addOption("SubMenu2",10,::Test,"11");
addOption("SubMenu2",11,::Test,"12");
addOption("SubMenu2",12,::Test,"13");
addOption("SubMenu2",13,::Test,"14");
addOption("SubMenu2",14,::Test,"15");

addMenu("SubMenu3","Main",2,"Sub Menu 3","Sub Option 1;Sub Option 2;Sub Option 3;Sub Option 4;Sub Option 5;Sub Option 6;Sub Option 7;Sub Option 8;Sub Option 9;Sub Option 10;Sub Option 11;Sub Option 12;Sub Option 13;Sub Option 14;Sub Option 15");
addOption("SubMenu3",0,::Test,"1");
addOption("SubMenu3",1,::Test,"2");
addOption("SubMenu3",2,::Test,"3");
addOption("SubMenu3",3,::Test,"4");
addOption("SubMenu3",4,::Test,"5");
addOption("SubMenu3",5,::Test,"6");
addOption("SubMenu3",6,::Test,"7");
addOption("SubMenu3",7,::Test,"8");
addOption("SubMenu3",8,::Test,"9");
addOption("SubMenu3",9,::Test,"10");
addOption("SubMenu3",10,::Test,"11");
addOption("SubMenu3",11,::Test,"12");
addOption("SubMenu3",12,::Test,"13");
addOption("SubMenu3",13,::Test,"14");
addOption("SubMenu3",14,::Test,"15");

addMenu("SubMenu4","Main",3,"Sub Menu 4","Sub Option 1;Sub Option 2;Sub Option 3;Sub Option 4;Sub Option 5;Sub Option 6;Sub Option 7;Sub Option 8;Sub Option 9;Sub Option 10;Sub Option 11;Sub Option 12;Sub Option 13;Sub Option 14;Sub Option 15");
addOption("SubMenu4",0,::Test,"1");
addOption("SubMenu4",1,::Test,"2");
addOption("SubMenu4",2,::Test,"3");
addOption("SubMenu4",3,::Test,"4");
addOption("SubMenu4",4,::Test,"5");
addOption("SubMenu4",5,::Test,"6");
addOption("SubMenu4",6,::Test,"7");
addOption("SubMenu4",7,::Test,"8");
addOption("SubMenu4",8,::Test,"9");
addOption("SubMenu4",9,::Test,"10");
addOption("SubMenu4",10,::Test,"11");
addOption("SubMenu4",11,::Test,"12");
addOption("SubMenu4",12,::Test,"13");
addOption("SubMenu4",13,::Test,"14");
addOption("SubMenu4",14,::Test,"15");

addMenu("SubMenu5","Main",4,"Sub Menu 5","Sub Option 1;Sub Option 2;Sub Option 3;Sub Option 4;Sub Option 5;Sub Option 6;Sub Option 7;Sub Option 8;Sub Option 9;Sub Option 10;Sub Option 11;Sub Option 12;Sub Option 13;Sub Option 14;Sub Option 15");
addOption("SubMenu5",0,::Test,"1");
addOption("SubMenu5",1,::Test,"2");
addOption("SubMenu5",2,::Test,"3");
addOption("SubMenu5",3,::Test,"4");
addOption("SubMenu5",4,::Test,"5");
addOption("SubMenu5",5,::Test,"6");
addOption("SubMenu5",6,::Test,"7");
addOption("SubMenu5",7,::Test,"8");
addOption("SubMenu5",8,::Test,"9");
addOption("SubMenu5",9,::Test,"10");
addOption("SubMenu5",10,::Test,"11");
addOption("SubMenu5",11,::Test,"12");
addOption("SubMenu5",12,::Test,"13");
addOption("SubMenu5",13,::Test,"14");
addOption("SubMenu5",14,::Test,"15");

addMenu("PlayerOptions","Players",0,"Do What To "+level.players[self.PlayerFunc].name+"?","Kick Player;Kill Player;Sub Option 3;Sub Option 4;Sub Option 5;Sub Option 6;Sub Option 7;Sub Option 8;Sub Option 9;Sub Option 10;Sub Option 11;Sub Option 12;Sub Option 13;Sub Option 14;Sub Option 15");
addOption("PlayerOptions",0,::KickPlayer,"");
addOption("PlayerOptions",1,::Kill,"");
addOption("PlayerOptions",2,::Test,"3");
addOption("PlayerOptions",3,::Test,"4");
addOption("PlayerOptions",4,::Test,"5");
addOption("PlayerOptions",5,::Test,"6");
addOption("PlayerOptions",6,::Test,"7");
addOption("PlayerOptions",7,::Test,"8");
addOption("PlayerOptions",8,::Test,"9");
addOption("PlayerOptions",9,::Test,"10");
addOption("PlayerOptions",10,::Test,"11");
addOption("PlayerOptions",11,::Test,"12");
addOption("PlayerOptions",12,::Test,"13");
addOption("PlayerOptions",13,::Test,"14");
addOption("PlayerOptions",14,::Test,"15");
}
KickPlayer()
{
kick(level.players[self.PlayerFunc] getEntityNumber());
wait .01;
self addSub("Players");
}
Kill()
{
level.players[self.PlayerFunc] suicide();
}
(adsbygoogle = window.adsbygoogle || []).push({});

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

Blackstorm, CrEaTiiOnUNREAL, GetTangoed, iPROFamily, J, xCyMods, xePixTvx
10-06-2012, 11:16 PM #11
John Leepe
< ^ > < ^ >
Originally posted by IVI40A3Fusionz View Post
There's a forum that i release all my stuff on before any other site now :derp:.


what forum is that? PM Meh Smile
10-06-2012, 11:35 PM #12
3HUNNA
Splicer
Originally posted by Nas View Post
what forum is that? PM Meh Smile


Copy the title and paste it into Google. You must login or register to view this content. Cool Man (aka Tustin)
10-06-2012, 11:52 PM #13
xCes-
Banned
Nice menu base good job Smile
10-08-2012, 03:11 AM #14
SW@G
Do a barrel roll!
nice (10 dicks)
10-08-2012, 04:11 AM #15
Guzman
Versace Versace
Its very nice Happy
10-10-2012, 11:43 AM #16
IVI40A3Fusionz
Former Gaming Squad Member
Originally posted by Guzman
Its very nice Happy


Thanks buddy :P.

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo