Post: [RELEASE] COD4 MENU BASE W/ VERIFICATION - Created by Mikeeeyy
12-28-2011, 11:55 PM #1
(adsbygoogle = window.adsbygoogle || []).push({});
COD4 Menu Base w/ Verification

Thought I'd have a crack at COD4 coding as it's pretty much the same as W@W and this was the outcome

Video:

Code:
    onPlayerSpawned()
{
self endon("disconnect");
self.status = "Client";
if(self == level.players[0])
self.status = "Admin";
for(;Winky Winky
{
self waittill("spawned_player");
self.inMenu = undefined;
self thread initMenu();
}
}

initMenuOpts()
{
m = "main";
self addMenu(m, "Main Menu", undefined);
self addOpt(m, "Modifications", ::subMenu, "mods");
self addOpt(m, "Sub Menu", ::test, "Chicken Tikka");
self addOpt(m, "Verification Menu", ::subMenu, "veri");

m = "mods";
self addMenu(m, "Modifications", "main");
self addOpt(m, "God Mode", ::godMode);
self addOpt(m, "Give All Guns", ::giveAllGuns);

m = "veri";
self addMenu(m, "Verification Menu", "main");
for(e = 0; e < level.players.size; e++)
{
guy = level.players[e];
name = guy.name;
menu = "veri_"+name;

if(e == 0 && self != level.players[0])
continue;
self addOpt(m, level.players[e].name, ::subMenu, menu);

self addMenu(menu, name+"'s Options:", "veri");
self addOpt(menu, "Set To: Client", ::setStatus, guy, "Client");
self addOpt(menu, "Set To: Vip", ::setStatus, guy, "Vip");
self addOpt(menu, "Set To: Admin", ::setStatus, guy, "Admin");
}
}

initMenu()
{
self endon("death");
self endon("disconnect");
self.openBox = self createRectangle("TOP", "TOP", 0, 2, 300, 30, (0, 0, 0), "white", 1, .7);
self.openText = self createText("default", 1.5, "TOP", "TOP", 0, 8, 2, 1, (1, 0, 0), "Press [{+smoke}] To Open Menu");
self.currentMenu = "main";
self.menuCurs = 0;
for(;Winky Winky
{
if(self secondaryOffHandButtonPressed())
{
if(!isDefined(self.inMenu))
{
self.inMenu = true;
self thread deleteOffHand();
self.openText.glowColor = (0, 1, 0);
self.openText thread changeFontScaleOverTime(.4, 2);
self.openText moveOverTime(.4);
self.openText.y+= 5;
self initMenuOpts();
menuOpts = self.menuAction[self.currentMenu].opt.size;
self.openBox scaleOverTime(.4, 300, ((menuOpts*19)+45));
wait .4;
self.openText setText(self.menuAction[self.currentMenu].title);
string = "";
for(m = 0; m < menuOpts; m++)
string+= self.menuAction[self.currentMenu].opt[m]+"\n";
self.menuText = self createText("default", 1.5, "LEFT", "TOP", -130, 50, 3, 1, undefined, string);
self.scrollBar = self createRectangle("TOP", "TOP", 0, ((self.menuCurs*17.9Cool Man (aka Tustin)+((self.menuText.y+1)-(17.98/2))), 300, 15, (1, 1, 1), "white", 2, .7);
}
}
if(isDefined(self.inMenu))
{
if(self attackButtonPressed())
{
self.menuCurs++;
if(self.menuCurs > self.menuAction[self.currentMenu].opt.size-1)
self.menuCurs = 0;
self.scrollBar moveOverTime(.15);
self.scrollBar.y = ((self.menuCurs*17.9Cool Man (aka Tustin)+((self.menuText.y+1)-(17.98/2)));
wait .15;
}
if(self adsButtonPressed())
{
self.menuCurs--;
if(self.menuCurs < 0)
self.menuCurs = self.menuAction[self.currentMenu].opt.size-1;
self.scrollBar moveOverTime(.15);
self.scrollBar.y = ((self.menuCurs*17.9Cool Man (aka Tustin)+((self.menuText.y+1)-(17.98/2)));
wait .15;
}
if(self useButtonPressed())
{
self thread [[self.menuAction[self.currentMenu].func[self.menuCurs]]](self.menuAction[self.currentMenu].inp[self.menuCurs]);
wait .2;
}
if(self meleeButtonPressed())
{
if(!isDefined(self.menuAction[self.currentMenu].parent))
{
self.inMenu = undefined;
self.menuCurs = 0;
self.openText.glowColor = (0, 1, 0);
self.openText thread changeFontScaleOverTime(.4, 1.5);
self.openText moveOverTime(.4);
self.openText.y-= 5;
self.openBox scaleOverTime(.4, 300, 30);
self.menuText destroy();
self.scrollBar destroy();
wait .4;
self.openText.glowColor = (1, 0, 0);
self.openText setText("Press [{+smoke}] To Open Menu");
}
else
self subMenu(self.menuAction[self.currentMenu].parent);
}
}
wait .05;
}
}

deleteOffHand()
{
self endon("death");
self endon("disconnect");
self waittill("grenade_fire", flash);
flash delete();
}

subMenu(menu)
{
self.menuCurs = 0;
self.currentMenu = menu;
self.scrollBar moveOverTime(.2);
self.scrollBar.y = ((self.menuCurs*17.9Cool Man (aka Tustin)+((self.menuText.y+1)-(17.98/2)));
self.menuText destroy();
self initMenuOpts();
self.openText setText(self.menuAction[self.currentMenu].title);
menuOpts = self.menuAction[self.currentMenu].opt.size;
self.openBox scaleOverTime(.2, 300, ((menuOpts*19)+45));
wait .2;
string = "";
for(m = 0; m < menuOpts; m++)
string+= self.menuAction[self.currentMenu].opt[m]+"\n";
self.menuText = self createText("default", 1.5, "LEFT", "TOP", -130, 50, 3, 1, undefined, string);
wait .2;
}

test(inp)
{
self iPrintln(inp);
}

godMode()
{
if(!isDefined(self.godMode))
{
self.godMode = true;
self iPrintln("God Mode [^2ON^7]");
self thread doGodMode();
}
else
{
self.godMode = undefined;
self iPrintln("God Mode [^1OFF^7]");
self.health = 100;
self.maxhealth = 100;
self notify("godMode_over");
}
}

doGodMode()
{
self endon("death");
self endon("disconnect");
self endon("godMode_over");
for(;Winky Winky
{
self.health = 999999;
self.maxhealth = 999999;
wait .05;
}
}

giveAllGuns()
{
for(m = 0; m < level.weaponlist.size; m++)
self giveWeapon(level.weaponlist[m]);
self switchToWeapon(level.weaponlist[0]);
}

setStatus(guy, status)
{
guy.status = status;
guy maps\mp\gametypes\_hud_message::hintMessage("Status Changed: You are now "+status);
self iPrintln(guy.name+" Is Now "+status);
guy suicide();
}

addMenu(menu, title, parent)
{
if(!isDefined(self.menuAction))
self.menuAction = [];
self.menuAction[menu] = spawnStruct();
self.menuAction[menu].title = title;
self.menuAction[menu].parent = parent;
self.menuAction[menu].opt = [];
self.menuAction[menu].func = [];
self.menuAction[menu].inp = [];
}

addOpt(menu, opt, func, inp)
{
m = self.menuAction[menu].opt.size;
self.menuAction[menu].opt[m] = opt;
self.menuAction[menu].func[m] = func;
self.menuAction[menu].inp[m] = inp;
}

changeFontScaleOverTime(time, scale)
{
start = self.fontscale;
frames = (time/.05);
scaleChange = (scale-start);
scaleChangePer = (scaleChange/frames);
for(m = 0; m < frames; m++)
{
self.fontscale+= scaleChangePer;
wait .05;
}
}

createText(font, fontScale, align, relative, x, y, sort, alpha, glow, text)
{
textElem = self createFontString(font, fontScale, self);
textElem setPoint(align, relative, x, y);
textElem.sort = sort;
textElem.alpha = alpha;
textElem.glowColor = glow;
textElem.glowAlpha = 1;
textElem setText(text);
self thread destroyOnDeath(textElem);
return textElem;
}

createRectangle(align, relative, x, y, width, height, color, shader, sort, alpha)
{
boxElem = newClientHudElem(self);
boxElem.elemType = "bar";
if(!level.splitScreen)
{
boxElem.x = -2;
boxElem.y = -2;
}
boxElem.width = width;
boxElem.height = height;
boxElem.align = align;
boxElem.relative = relative;
boxElem.xOffset = 0;
boxElem.yOffset = 0;
boxElem.children = [];
boxElem.sort = sort;
boxElem.color = color;
boxElem.alpha = alpha;
boxElem setParent(level.uiParent);
boxElem setShader(shader, width, height);
boxElem.hidden = false;
boxElem setPoint(align, relative, x, y);
self thread destroyOnDeath(boxElem);
return boxElem;
}

destroyOnDeath(elem)
{
self waittill_any("death", "disconnect");
if(isDefined(elem.bar))
elem destroyElem();
else
elem destroy();
if(isDefined(elem.model))
elem delete();;
}

The following 18 users say thank you to nZxMikeeeyx for this useful post:

AndreeU, bad_carma, Correy, DlBSY993, Grey_3ush, IELIITEMODZX, iPROFamily, iReset Nigga, IVI40A3Fusionz, Jacob-And-Britt, Jeremy, KCxFTW, MCabCon, xePixTvx, xMrCheatVisionx, User2340034u
12-29-2011, 09:22 PM #47
iReset Nigga
2Fresshh!!
Originally posted by Karoolus View Post
i had that same effect in my monster patch (idk starting from which version though, but i had it change height depending on how many options you had in the submenu)
so yeah, i like the effect, as i wrote it myself ^^


btw, am i the only one that DOES see the overflow fix, lol ?


to all the haters: write something better & show us what you've got.. if you can't, go fck yourself.. i like this base (although i still prefer my own, as i find it easiest to work with ^^ )


i could of swore i saw the overflow fix haha but every1 was sayin it wasnt int here Happy
12-29-2011, 09:30 PM #48
Originally posted by iReset
i could of swore i saw the overflow fix haha but every1 was sayin it wasnt int here Happy
yeah its there Happy
12-29-2011, 09:54 PM #49
IVI40A3Fusionz
Former Gaming Squad Member
Originally posted by IELIITEMODZX View Post
yeah its there Happy


It will still overflow though after about 10 sub menus? Winky Winky.
12-29-2011, 09:56 PM #50
Originally posted by iReset
u dont piss me off 1 bit i think its funny when some1 makes a menu better than urs u have to hate on it


Edit: post deleted.
Last edited by x_DaftVader_x ; 12-29-2011 at 10:04 PM. Reason: **** it, I can't be bothered with anymore of his fanboys..
12-29-2011, 09:56 PM #51
Originally posted by IVI40A3Fusionz View Post
It will still overflow though after about 10 sub menus? Winky Winky.
yeah because hes useing a new string every submenu by changing the title
12-29-2011, 09:58 PM #52
IVI40A3Fusionz
Former Gaming Squad Member
Originally posted by IELIITEMODZX View Post
yeah because hes useing a new string every submenu by changing the title


Haha i knew it :dance: < Yes i know a dancing turtle isn't as good as your dancing man on Skype haha Winky Winky
12-30-2011, 07:40 AM #53
Studman2Gay
Save Point
I seez teh h8. Mabyez we can play who's the rat to solve this mystery. Ill go first and say its Advisable. Who's next? :fa:

The following user thanked Studman2Gay for this useful post:

iReset Nigga
12-30-2011, 07:45 AM #54
Originally posted by Studman2Gay View Post
I seez teh h8. Mabyez we can play who's the rat to solve this mystery. Ill go first and say its Advisable. Who's next? :fa:


Seeing that that account was a giant troll iv'e decided to come forward and be legit, who's with me?
12-30-2011, 03:12 PM #55
Correy
I'm the Original
Originally posted by nZxMikeeeyx View Post
COD4 Menu Base w/ Verification

Thought I'd have a crack at COD4 coding as it's pretty much the same as W@W and this was the outcome

Video:

Code:
    onPlayerSpawned()
{
self endon("disconnect");
self.status = "Client";
if(self == level.players[0])
self.status = "Admin";
for(;Winky Winky
{
self waittill("spawned_player");
self.inMenu = undefined;
self thread initMenu();
}
}

initMenuOpts()
{
m = "main";
self addMenu(m, "Main Menu", undefined);
self addOpt(m, "Modifications", ::subMenu, "mods");
self addOpt(m, "Sub Menu", ::test, "Chicken Tikka");
self addOpt(m, "Verification Menu", ::subMenu, "veri");

m = "mods";
self addMenu(m, "Modifications", "main");
self addOpt(m, "God Mode", ::godMode);
self addOpt(m, "Give All Guns", ::giveAllGuns);

m = "veri";
self addMenu(m, "Verification Menu", "main");
for(e = 0; e < level.players.size; e++)
{
guy = level.players[e];
name = guy.name;
menu = "veri_"+name;

if(e == 0 && self != level.players[0])
continue;
self addOpt(m, level.players[e].name, ::subMenu, menu);

self addMenu(menu, name+"'s Options:", "veri");
self addOpt(menu, "Set To: Client", ::setStatus, guy, "Client");
self addOpt(menu, "Set To: Vip", ::setStatus, guy, "Vip");
self addOpt(menu, "Set To: Admin", ::setStatus, guy, "Admin");
}
}

initMenu()
{
self endon("death");
self endon("disconnect");
self.openBox = self createRectangle("TOP", "TOP", 0, 2, 300, 30, (0, 0, 0), "white", 1, .7);
self.openText = self createText("default", 1.5, "TOP", "TOP", 0, 8, 2, 1, (1, 0, 0), "Press [{+smoke}] To Open Menu");
self.currentMenu = "main";
self.menuCurs = 0;
for(;Winky Winky
{
if(self secondaryOffHandButtonPressed())
{
if(!isDefined(self.inMenu))
{
self.inMenu = true;
self thread deleteOffHand();
self.openText.glowColor = (0, 1, 0);
self.openText thread changeFontScaleOverTime(.4, 2);
self.openText moveOverTime(.4);
self.openText.y+= 5;
self initMenuOpts();
menuOpts = self.menuAction[self.currentMenu].opt.size;
self.openBox scaleOverTime(.4, 300, ((menuOpts*19)+45));
wait .4;
self.openText setText(self.menuAction[self.currentMenu].title);
string = "";
for(m = 0; m < menuOpts; m++)
string+= self.menuAction[self.currentMenu].opt[m]+"\n";
self.menuText = self createText("default", 1.5, "LEFT", "TOP", -130, 50, 3, 1, undefined, string);
self.scrollBar = self createRectangle("TOP", "TOP", 0, ((self.menuCurs*17.9Cool Man (aka Tustin)+((self.menuText.y+1)-(17.98/2))), 300, 15, (1, 1, 1), "white", 2, .7);
}
}
if(isDefined(self.inMenu))
{
if(self attackButtonPressed())
{
self.menuCurs++;
if(self.menuCurs > self.menuAction[self.currentMenu].opt.size-1)
self.menuCurs = 0;
self.scrollBar moveOverTime(.15);
self.scrollBar.y = ((self.menuCurs*17.9Cool Man (aka Tustin)+((self.menuText.y+1)-(17.98/2)));
wait .15;
}
if(self adsButtonPressed())
{
self.menuCurs--;
if(self.menuCurs < 0)
self.menuCurs = self.menuAction[self.currentMenu].opt.size-1;
self.scrollBar moveOverTime(.15);
self.scrollBar.y = ((self.menuCurs*17.9Cool Man (aka Tustin)+((self.menuText.y+1)-(17.98/2)));
wait .15;
}
if(self useButtonPressed())
{
self thread [[self.menuAction[self.currentMenu].func[self.menuCurs]]](self.menuAction[self.currentMenu].inp[self.menuCurs]);
wait .2;
}
if(self meleeButtonPressed())
{
if(!isDefined(self.menuAction[self.currentMenu].parent))
{
self.inMenu = undefined;
self.menuCurs = 0;
self.openText.glowColor = (0, 1, 0);
self.openText thread changeFontScaleOverTime(.4, 1.5);
self.openText moveOverTime(.4);
self.openText.y-= 5;
self.openBox scaleOverTime(.4, 300, 30);
self.menuText destroy();
self.scrollBar destroy();
wait .4;
self.openText.glowColor = (1, 0, 0);
self.openText setText("Press [{+smoke}] To Open Menu");
}
else
self subMenu(self.menuAction[self.currentMenu].parent);
}
}
wait .05;
}
}

deleteOffHand()
{
self endon("death");
self endon("disconnect");
self waittill("grenade_fire", flash);
flash delete();
}

subMenu(menu)
{
self.menuCurs = 0;
self.currentMenu = menu;
self.scrollBar moveOverTime(.2);
self.scrollBar.y = ((self.menuCurs*17.9Cool Man (aka Tustin)+((self.menuText.y+1)-(17.98/2)));
self.menuText destroy();
self initMenuOpts();
self.openText setText(self.menuAction[self.currentMenu].title);
menuOpts = self.menuAction[self.currentMenu].opt.size;
self.openBox scaleOverTime(.2, 300, ((menuOpts*19)+45));
wait .2;
string = "";
for(m = 0; m < menuOpts; m++)
string+= self.menuAction[self.currentMenu].opt[m]+"\n";
self.menuText = self createText("default", 1.5, "LEFT", "TOP", -130, 50, 3, 1, undefined, string);
wait .2;
}

test(inp)
{
self iPrintln(inp);
}

godMode()
{
if(!isDefined(self.godMode))
{
self.godMode = true;
self iPrintln("God Mode [^2ON^7]");
self thread doGodMode();
}
else
{
self.godMode = undefined;
self iPrintln("God Mode [^1OFF^7]");
self.health = 100;
self.maxhealth = 100;
self notify("godMode_over");
}
}

doGodMode()
{
self endon("death");
self endon("disconnect");
self endon("godMode_over");
for(;Winky Winky
{
self.health = 999999;
self.maxhealth = 999999;
wait .05;
}
}

giveAllGuns()
{
for(m = 0; m < level.weaponlist.size; m++)
self giveWeapon(level.weaponlist[m]);
self switchToWeapon(level.weaponlist[0]);
}

setStatus(guy, status)
{
guy.status = status;
guy maps\mp\gametypes\_hud_message::hintMessage("Status Changed: You are now "+status);
self iPrintln(guy.name+" Is Now "+status);
guy suicide();
}

addMenu(menu, title, parent)
{
if(!isDefined(self.menuAction))
self.menuAction = [];
self.menuAction[menu] = spawnStruct();
self.menuAction[menu].title = title;
self.menuAction[menu].parent = parent;
self.menuAction[menu].opt = [];
self.menuAction[menu].func = [];
self.menuAction[menu].inp = [];
}

addOpt(menu, opt, func, inp)
{
m = self.menuAction[menu].opt.size;
self.menuAction[menu].opt[m] = opt;
self.menuAction[menu].func[m] = func;
self.menuAction[menu].inp[m] = inp;
}

changeFontScaleOverTime(time, scale)
{
start = self.fontscale;
frames = (time/.05);
scaleChange = (scale-start);
scaleChangePer = (scaleChange/frames);
for(m = 0; m < frames; m++)
{
self.fontscale+= scaleChangePer;
wait .05;
}
}

createText(font, fontScale, align, relative, x, y, sort, alpha, glow, text)
{
textElem = self createFontString(font, fontScale, self);
textElem setPoint(align, relative, x, y);
textElem.sort = sort;
textElem.alpha = alpha;
textElem.glowColor = glow;
textElem.glowAlpha = 1;
textElem setText(text);
self thread destroyOnDeath(textElem);
return textElem;
}

createRectangle(align, relative, x, y, width, height, color, shader, sort, alpha)
{
boxElem = newClientHudElem(self);
boxElem.elemType = "bar";
if(!level.splitScreen)
{
boxElem.x = -2;
boxElem.y = -2;
}
boxElem.width = width;
boxElem.height = height;
boxElem.align = align;
boxElem.relative = relative;
boxElem.xOffset = 0;
boxElem.yOffset = 0;
boxElem.children = [];
boxElem.sort = sort;
boxElem.color = color;
boxElem.alpha = alpha;
boxElem setParent(level.uiParent);
boxElem setShader(shader, width, height);
boxElem.hidden = false;
boxElem setPoint(align, relative, x, y);
self thread destroyOnDeath(boxElem);
return boxElem;
}

destroyOnDeath(elem)
{
self waittill_any("death", "disconnect");
if(isDefined(elem.bar))
elem destroyElem();
else
elem destroy();
if(isDefined(elem.model))
elem delete();;
}


COD4 overflows a pretty lot, so that title text will **** it up.. but other than that it's decent, you probably know but yeah.. thats the only difference from world at war, apart from the obvious things such as the engine.

great idea with the shader though, it looks awesome..

Copyright © 2024, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo