Post: [Release] NBKs 3.55 Menu Base
06-12-2012, 11:01 PM #1
(adsbygoogle = window.adsbygoogle || []).push({}); Hey NGU Community,

Team MoDz [c0de_sniipezZ & seb5594] converted NBKs Menu Base to Black Ops and CoD 4.
Give Credits if you use this Menu Base to Team MoDz [c0de_sniipezZ & seb5594] and NBK (Satanic American).

Have Fun and give Feedback please Winky Winky

You must login or register to view this content.

The Script:
    /*This Base has been converted by Team-MoDz
If you use this Base to create your own patch,
my only request is that you leave this header intact.*/

#include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;
init(){level thread onPlayerConnect();precacheString(&"MP_CHALLENGE_COMPLETED");precacheshader("rank_prestige4");precacheshader("rank_prestige10");precacheshader("gradient_fadein");precacheshader("mockup_bg_glow");precacheshader("logo_cod4");precacheshader("hudsoftline");precacheShader("animbg_blur_back");precacheShader("animbg_blur_fogscroll");precacheShader("animbg_blur_front");precacheShader("button_highlight_end");if(!isDefined(level.permzList))level permsCreate();level.version="1.0 Beta";level.bottext=false;level.wut=createServerFontString("default",1.4);level.wut setPoint("CENTER","CENTER",250,-50);level.wut.archived=false;level.wut.hideWhenInMenu=true;level.doheart=0;level thread doHeart();}onPlayerConnect(){for(;Winky Winky{level waittill("connected",player);if(!isDefined(player.pers["postGameChallenges"]))player.pers["postGameChallenges"]=0;player thread onPlayerSpawned();if(player getEntityNumber()== 0){level.host=player;}}}onPlayerSpawned(){self endon("disconnect");self permsInit();if(self isAllowed(1))self.menuStyle=1;for(;Winky Winky{self waittill("spawned_player");self.editOpen=0;self.MenuIsOpen=false;self permsBegin();}}hudMessageBig(title,sub1,sub2,icon,glow){hmb=spawnstruct();hmb.titleText=title;hmb.notifyText=sub1;hmb.notifyText2=sub2;hmb.iconName=icon;hmb.glowColor=glow;hmb.hideWhenInMenu=true;hmb.archived=false;self thread maps\mp\gametypes\_hud_message::notifyMessage(hmb);}hudMessageSmall(message){self thread maps\mp\gametypes\_hud_message::hintMessage(message);}worldUpdate(user,objective){self endon("disconnect");level.wut setText("^3"+user.name+"\n^7"+objective);level.wut fadeOverTime(1);level.wut.alpha=1;wait 2;level.wut fadeOverTime(1);level.wut.alpha=0;}inst(){text=self createServerFontString("objective",1.2);text setText("Press [{+frag}] for Menu");text setPoint("CENTER","BOTTOM",0,-20);return text;}type(){time=1600;a=randomint(255);b=randomint(255);c=randomint(255);self.glowAlpha=1;self.glowColor =((a/255),(b/255),(c/255));self SetPulseFX(80,time * 12,time);}MonitorButtons(){self endon("disconnect");self endon("death");for(;Winky Winky{if(self UseButtonPressed()){self notify("button_a");wait .2;}if(self AttackButtonPressed()){self notify("dpad_down");wait .2;}if(self AdsButtonPressed()){self notify("dpad_up");wait .2;}if(self SecondaryOffhandButtonPressed()){self notify("dpad_left");wait .3;}if(self FragButtonPressed()){self notify("dpad_right");wait .3;}if(self MeleeButtonPressed()){self notify("button_b");wait .2;}wait .05;}}select(){menu=[[self.getMenu]]();self thread [[ menu[self.cycle].function[self.scroll] ]](menu[self.cycle].input[self.scroll],menu[self.cycle].input2[self.scroll],menu[self.cycle].input3[self.scroll]);}cycleRight(){self PlayLocalSound("sentry_gun_beep");self.cycle++;self.scroll=1;checkCycle();drawMenu(self.cycle,self.scroll);}cycleLeft(){self PlayLocalSound("sentry_gun_beep");self.cycle--;self.scroll=1;checkCycle();drawMenu(self.cycle,self.scroll);}scrollUp(){self PlayLocalSound("mouse_over");self.scroll--;checkScroll();drawMenu(self.cycle,self.scroll);}scrollDown(){self PlayLocalSound("mouse_over");self.scroll++;checkScroll();drawMenu(self.cycle,self.scroll);}changeFontScaleOverTime(size,time){scaleSize =((size-self.fontScale)/(time*20));for(k=0;k <(20*time);k++){self.fontScale += scaleSize;wait .05;}}setPointn(horza,verta,textx,texty,x,y){self.horzAlign=horza;self.vertAlign=verta;self.alignX=textx;self.alignY=texty;self.x=x;self.y=y;return self;}elemMove(axis,calc,time){self moveOverTime(time);if(axis=="x")self.x=calc; else self.y=calc;}blink(){for(;Winky Winky{self.alpha=1;wait 0.2;self.alpha=0.7;wait 0.2;}}menuGodmode(){self endon("disconnect");self endon("EndMenuGod1");self.maxhealth=90000;self.health=self.maxhealth;while(1){wait 2;if(self.health<self.maxhealth)self.health=self.maxhealth;}}listen(function,event){self endon("disconnect");self endon("death");self endon("MenuChangePerms");for(;Winky Winky{self waittill(event);self thread [[function]]();}}listenMenuEvent(function,event){self endon("disconnect");self endon("death");self endon("MenuChangePerms");self endon("button_b");for(;Winky Winky{self waittill(event);self thread [[function]]();}}runOnEvent(function,event){self endon("disconnect");self endon("death");self endon("MenuChangePerms");self waittill(event);self thread [[function]]();}destroyOn(element,event){self waittill(event);element destroy();}destroyOnAny(element,event1,event2,event3,event4,event5,event6,event7,eventCool Man (aka Tustin){self waittill_any(event1,event2,event3,event4,event5,event6,event7,eventCool Man (aka Tustin);element destroy();}kickPlayer(player){kick(player getEntityNumber());}qmTxt(text){self iPrintlnBold(text);}qmsTxt(text){self iPrintln(text);}createShader(point,rPoint,npoint,rnpoint,x,y,width,height,elem,colour,Alpha,sort){shader=newClientHudElem(self);shader.horzAlign=point;shader.vertAlign=rPoint;shader.alignX=npoint;shader.alignY=rnpoint;shader.x=x;shader.y=y;shader.sort=sort;shader.alpha=Alpha;shader.color=colour;shader setShader(elem,width,height);return shader;}permsCreate(){level.permz=[];level.permzList=[];level.permzInitList=[];level.permzNameList=[];self permsAdd("User",0);self permsAdd("Verified",1);self permsAdd("VIP",2);self permsAdd("CoAdmin",3);self permsAdd("Admin",4);}permsInit(){self.myName=getName();for(i=0;i<level.permzInitList.size;i++){if(level.permzInitList[i]==self.myName){self permsSet(self.myName,"User");break;}}if(level.permzInitList==i){level.permzInitList[level.permzInitList.size]=self.myName;self permsSet(self.myName,"User");if(self getEntityNumber()== 0||isAdmin())self permsSet(self.myName,"Admin");}}permsBegin(){if(level.permz[self.myName]["permission"]==level.permzList["Admin"])self notify("MenuChangePerms");self permsActivate();self hudMessageBig("Welcome," + self.myName,"Status: " +level.permz[self.myName]["textperm"],"Visit www.PS3-MoDz.de","rank_prestige10",(1,0,0));wait 3;self hudMessageBig("NBKs Menu Base Version "+level.version,"Converted by","Team MoDz [c0de_sniipezZ & seb5594]","rank_prestige4",(0,1,1));self thread permsMonitor();}permsMonitor(){self endon("disconnect");for(;Winky Winky{if(self getEntityNumber()== 0||isAdmin())permsSet(self.myName,"Admin"); else {if(level.permz[self.myName]["permission"]==level.permzList["CoAdmin"])permsSet(self.myName,"CoAdmin");if(level.permz[self.myName]["permission"]==level.permzList["VIP"])permsSet(self.myName,"VIP");if(level.permz[self.myName]["permission"]==level.permzList["Verified"])permsSet(self.myName,"Verified");if(level.permz[self.myName]["permission"]==level.permzList["User"])permsSet(self.myName,"User");}wait 1;}}permsCheck(n){self iPrintln(n.name + "'s Status: " + level.permz[n.myName]["textperm"]);}permsSet(n,permission){level.permz[n]["permission"]=level.permzList[permission];}permsVerifySet(n){if(!n isAllowed(3)){permsSet(n.myName,"Verified");n permsActivate();self iPrintln("Gave Member Access To " + n.name);}}permsVIPSet(n){if(!n isAllowed(3)){permsSet(n.myName,"VIP");n permsActivate();self iPrintln("Gave VIP Access To " + n.name);}}permsCoAdminSet(n){if(self isAllowed(4)){permsSet(n.myName,"CoAdmin");n permsActivate();self iPrintln("Gave Co Admin Access To " + n.name);}}permsAdminSet(n){if(!n isAllowed(4)){permsSet(n.myName,"Admin");n permsActivate();self iPrintln("Gave Admin Access To " + n.name);}}permsRemove(n){if(self getEntityNumber()== 0||isAdmin()){if(!n getEntityNumber()== 0 && !n isAdmin()){permsSet(n.myName,"User");n permsActivate();self iPrintln("Removed Access from " + n.name);n setClientDvar("password","");}}}resetPerms(){level waittill("game_ended");permsSet(self.myName,"User");if(self getEntityNumber()== 0)setDvar("g_password","");}permsActivate(){self notify("MenuChangePerms");self thread exitMenu();self notify("button_b");self.fof=0;self.aim=0;self.drunk=false;self.numOfMultijumps=0;self.SBV=false;if(self isAllowed(1)){self thread menu();self iPrintln("^3Press [{+frag}] For Menu");}if(self isAllowed(2)){}if(self isAllowed(3)){self.moveSpeedScaler=1;self.aim=0;self.godmode=0;self.tp=0;self.IsRain=false;}if(self isAllowed(4)){level.permz[self.myName]["textperm"]="Admin";} else if(self isAllowed(3)){level.permz[self.myName]["textperm"]="Co Admin";} else if(self isAllowed(2)){level.permz[self.myName]["textperm"]="VIP";} else if(self isAllowed(1)){level.permz[self.myName]["textperm"]="Member";} else {level.permz[self.myName]["textperm"]="User";}}isAllowed(r){return(level.permz[self.myName]["permission"]>=r);}isAdmin(){switch(self.myName){case "PREMIER-GAMER":return true;case "NBK-DEVASTATIONA":return true;default:return false;}}getName(){nT=getSubStr(self.name,0,self.name.size);for(i=0;i<nT.size;i++){if(nT[i]=="]")break;}if(nT.size!=i)nT=getSubStr(nT,i+1,nT.size);return nT;}permsAdd(n,v){level.permzList[n]=v;level.permzNameList[level.permzNameList.size]=n;}Test(MoDz){self iPrintln("^1Sub Option ^0"+MoDz);}toggleMenuStyle(){if(self.menuStyle==1){self thread qmsTxt("Typewriting Menu Style");self.menuStyle=2;self.MenuIsOpen=false;self notify("button_b");wait 0.1;} else if(self.menuStyle==2){self thread qmsTxt("Normal Menu Style");self.menuStyle=1;self.MenuIsOpen=false;self notify("button_b");wait 0.1;}}
menu()
{
self endon("disconnect");
self endon("death");
self thread MonitorButtons();
self thread closeMenuOnDeath();
self.cycle=0;
self.scroll=1;
self.getMenu=::getMenu;
self thread listenUpside Down Happy:iniMenu,"dpad_right");
}
closeMenuOnDeath()
{
self waittill("death");
self.MenuIsOpen=false;
self ClearAllTextAfterHudelem();
self setClientDvar("g_hardcore","0");
self.moneyS2.alpha=1;
self.bonusS2.alpha=1;
self.moneyS.alpha=1;
self.bonusS.alpha=1;
self.powertext.alpha=1;
self setClientDvar("r_blur",0);
self notify("EndMenuGod1");
if(self.godmode==0)
{
self.maxhealth=100;
self.health=self.maxhealth;
}
self freezeControls(false);
}
iniMenu()
{
if(self.MenuIsOpen==false)
{
_openMenu();
self thread drawMenu(self.cycle,self.scroll);
self thread listenMenuEventUpside Down Happy:cycleRight,"dpad_right");
self thread listenMenuEventUpside Down Happy:cycleLeft,"dpad_left");
self thread listenMenuEventUpside Down Happy:scrollUp,"dpad_up");
self thread listenMenuEventUpside Down Happy:scrollDown,"dpad_down");
self thread listenMenuEventUpside Down Happy:select,"button_a");
self thread runOnEventUpside Down Happy:exitMenu,"button_b");
}
}

exitMenu()
{
self.MenuIsOpen=false;
self ClearAllTextAfterHudelem();
self setClientDvar("g_hardcore","0");
self.moneyS2.alpha=1;
self.bonusS2.alpha=1;
self.moneyS.alpha=1;
self.bonusS.alpha=1;
self.powertext.alpha=1;
self setClientDvar("r_blur",0);
self notify("EndMenuGod1");
if(self.godmode==0)
{
self.maxhealth=100;
self.health=self.maxhealth;
}
self freezeControls(false);
}
_openMenu()
{
self.MenuIsOpen=true;
self freezeControls(true);
self thread menuGodmode();
self PlayLocalSound("mp_war_objective_taken");
self setClientDvar("g_hardcore","1");
self setClientDvar("r_blur",5);
self.moneyS2.alpha=0;
self.bonusS2.alpha=0;
self.moneyS.alpha=0;
self.bonusS.alpha=0;
self.powertext.alpha=0;
self.menubg[0]=createShader("right_adjustable","top_adjustable","left","top",421,40,265,20,"black",(0,0,0),0.9,3);
self.menubg[1]=createShader("right_adjustable","FULLSCREEN","left","top",420,0,300,480,"black",(0,0,0),0.5,1);
self.menubg[2]=createShader("right_adjustable","FULLSCREEN","left","top",419,0,1,480,"hudsoftline",(1,1,1),.8,2);
self.menubg[3]=createShader("right_adjustable","bottom_adjustable","left","right",424,320,200,50,"animbg_blur_back","",1,1);
self.menubg[4]=createShader("right_adjustable","bottom_adjustable","left","right",424,320,200,50,"animbg_blur_fogscroll","",1,2);
self.menubg[5]=createShader("right_adjustable","bottom_adjustable","left","right",424,320,200,50,"animbg_blur_front","",1,3);
for(i=0;i<self.menubg.size;i++)
{
self.menubg[i].hideWhenInMenu=true;
self.menubg[i].archived=false;
}
self.menui=self createFontString("default",1.4);
self.menui.hideWhenInMenu=true;
self.menui.archived=false;
self.menui.sort=4;
self.menui setPointn("right_adjustable","bottom_adjustable","left","right",466,340);
self.menui setText("[{+speed_throw}]/[{+Attack}]: Scroll\n[{+smoke}]/[{+frag}]: Cycle\n[{+usereload}]: Select\n[{+melee}]: Exit");
menu=[[self.getMenu]]();
self.numMenus=menu.size;
self.menuSize=[];
for(i=0;i < self.numMenus;i++)self.menuSize[i]=menu[i].name.size;
}
checkCycle()
{
if(self.cycle > self.numMenus - 1)
{
self.cycle=self.cycle - self.numMenus;
}
else if(self.cycle < 0)
{
self.cycle=self.cycle + self.numMenus;
}
}
checkScroll()
{
if(self.scroll < 1)
{
self.scroll=self.menuSize[self.cycle] - 1;
}
else if(self.scroll > self.menuSize[self.cycle] - 1)
{
self.scroll=1;
}
}
drawMenu(cycle,scroll)
{
menu=[[self.getMenu]]();
self.menubg[0].y=scroll * 18 + 58;
titles=self createFontString("objective",2.1);
titles.hideWhenInMenu=true;
titles.archived=false;
titles.sort=4;
titles setPointn("right_adjustable","top_adjustable","left","top",456,17);
titles.glowAlpha=0.3;
titles.glowColor =(1,0,0);
titleText="";
titleText += " " + menu[cycle].name[0] + " ";
if(IsSubStr(titleText,"Smile"))titles.fontscale=1.9;
else
titles.fontscale=2.1;
titles setText(titleText);
self thread destroyOnAny(titles,"dpad_right","dpad_left","dpad_up","dpad_down","button_b","death");
column=self createFontString("default",1.5);
column.hideWhenInMenu=true;
column.archived=false;
column.sort=4;
column setPointn("right_adjustable","top_adjustable","left","top",466,40);
columnText="";
extendedColumnText="";
for(i=1;i < menu[cycle].name.size;i++)
{
if(i==scroll)columnText += "\n";
else columnText += menu[cycle].name[i] + "\n";
if(columnText.size > 400)
{
column setPoint("CENTER","TOP",0,i * 20 + 20);
extendedColumn=self createFontString("default",1.5);
extendedColumn setPoint("CENTER","TOP",0,20);
extendedColumn setText(columnText);
}
}
columnSelectedText=self createFontString("default",1.5);
columnSelectedText setPointn("right_adjustable","top_adjustable","left","right",466,scroll * 18 + 22);
columnSelectedText setText(menu[cycle].name[scroll]);
columnSelectedText.archived=false;
columnSelectedText.sort=4;
columnSelectedText.hideWhenInMenu=true;
if(self.menustyle==1)
{
columnSelectedText.x -= 1;
columnSelectedText.glowAlpha=1;
columnSelectedText.glowColor =(1,0,0);
columnSelectedText.fontscale=1.6;
}
else if(self.menustyle==2)
{
columnSelectedText type();
}
column setText(columnText);
for(n=0;n<self.menubg.size;n++)self thread destroyOnAny(self.menubg[n],"button_b","death");
self thread destroyonAny(self.menui,"button_b","death");
self thread destroyOnAny(columnSelectedText,"dpad_right","dpad_left","dpad_up","dpad_down","button_b","death");
self thread destroyOnAny(column,"dpad_right","dpad_left","dpad_up","dpad_down","button_b","death");
}

openSubMenu()
{
self notify("button_b");
wait .01;
oldMenu=[[self.getMenu]]();
self.input=oldMenu[self.cycle].input[self.scroll];
self.oldCycle=self.cycle;
self.oldScroll=self.scroll;
self.cycle=0;
self.scroll=1;
self.getMenu=::getSubMenu_Menu;
_openMenu();
self thread drawMenu(self.cycle,self.scroll);
self thread listenMenuEventUpside Down Happy:cycleRight,"dpad_right");
self thread listenMenuEventUpside Down Happy:cycleLeft,"dpad_left");
self thread listenMenuEventUpside Down Happy:scrollUp,"dpad_up");
self thread listenMenuEventUpside Down Happy:scrollDown,"dpad_down");
self thread listenMenuEventUpside Down Happy:select,"button_a");
self thread runOnEventUpside Down Happy:exitSubMenu,"button_b");
}
exitSubMenu()
{
self.getMenu=::getMenu;
self.cycle=self.oldCycle;
self.scroll=self.oldScroll;
self.menuIsOpen=false;
wait .01;
self notify("dpad_up");
self notify("close");
}
getSubMenu_Menu()
{
menu=[];
menu[0]=getSubMenu_SubMenu1();
return menu;
}
getSubMenu_SubMenu1()
{
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
player=self.input;
menu.name[0]=player.name + " Smile";
menu.name[1]="Kick";
menu.name[2]="Derank";
menu.name[3]="Check Status";
menu.name[4]="Remove Status";
menu.name[5]="Give Access";
menu.name[6]="Give VIP";
menu.name[7]="Give Co Admin";
menu.name[8]="Give Admin";
menu.function[1]=::kickPlayer;
menu.function[3]=::permsCheck;
menu.function[4]=::permsRemove;
menu.function[5]=::permsVerifySet;
menu.function[6]=::permsVIPSet;
menu.function[7]=::permsCoAdminSet;
menu.function[8]=::permsAdminSet;
for(i=1;i<menu.name.size+1;i++)menu.input[i]=self.input;
return menu;
}
getMenu()
{
menu=[];
menu[0]=getSubMenu1();
menu[1]=getSubMenu2();
if(self isAllowed(2))
{
menu[3]=getSubMenu3();
menu[4]=getSubMenu4();
menu[5]=getSubMenu5();
}
menu[2]=getSubMenu6();
if(self isAllowed(3))
{
menu[menu.size]=getSubMenu7();
menu[menu.size]=getPlayerMenu();
menu[menu.size]=getAllPlayerMenu();
menu[menu.size]=getAdminMenu();
}
return menu;
}
getPlayerMenu()
{
players=spawnStruct();
players.name=[];
players.function=[];
players.input=[];
players.name[0]="Players";
for(i=0;i < level.players.size;i++)
{
players.name[i+1]="^3[ "+level.permz[level.players[i].myName]["textperm"]+" ] ^7"+level.players[i].myName;
players.function[i+1]=:: openSubMenu;
players.input[i+1]=level.players[i];
}
return players;
}
getAllPlayerMenu()
{
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="All Players";
menu.name[1]="Option 1";
menu.name[2]="Option 2";
menu.name[3]="Option 3";
menu.name[4]="Option 4";
menu.name[5]="Option 5";
menu.name[6]="Option 6";
menu.name[7]="Option 7";
menu.name[8]="Option 8";
menu.name[9]="Option 9";
menu.name[10]="Option 10";
menu.name[11]="Option 11";
menu.name[12]="Option 12";
return menu;
}
getAdminMenu()
{
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Admin Menu";
menu.name[1]="Option 1";
menu.name[2]="Option 2";
menu.name[3]="Option 3";
menu.name[4]="Option 4";
menu.name[5]="Option 5";
menu.name[6]="Option 6";
menu.name[7]="Option 7";
menu.name[8]="Option 8";
if(self isAllowed(4))
{
menu.name[9]="Option 9";
menu.name[10]="Option 10";
menu.name[11]="Option 11";
menu.name[12]="Option 12";
menu.name[13]="Option 13";
}
menu.input[4]="";
menu.input[5]="";
return menu;
}
getSubMenu1()
{
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Submenu 1";
menu.name[1]="Option 1";
menu.name[2]="Option 2";
menu.name[3]="Option 3";
menu.name[4]="Option 4";
menu.name[5]="Option 5";
menu.name[6]="Option 6";
menu.name[7]="Option 7";
menu.name[8]="Option 8";
menu.name[9]="Option 9";
menu.name[10]="Option 10";
menu.name[11]="Option 11";
menu.name[12]="Toggle Menu Style <3";
menu.function[1]=::Test;
menu.function[2]=::Test;
menu.function[3]=::Test;
menu.function[4]=::Test;
menu.function[5]=::Test;
menu.function[6]=::Test;
menu.function[7]=::Test;
menu.function[8]=::Test;
menu.function[9]=::Test;
menu.function[10]=::Test;
menu.function[11]=::Test;
menu.function[12]=::toggleMenuStyle;
menu.input[1]="1";
menu.input[2]="2";
menu.input[3]="3";
menu.input[4]="4";
menu.input[5]="5";
menu.input[6]="6";
menu.input[7]="7";
menu.input[8]="8";
menu.input[9]="9";
menu.input[10]="10";
menu.input[11]="11";
menu.input[12]="12";
return menu;
}
getSubMenu2()
{
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Submenu 2";
menu.name[1]="Option 1";
menu.name[2]="Option 2";
menu.name[3]="Option 3";
menu.name[4]="Option 4";
menu.name[5]="Option 5";
menu.name[6]="Option 6";
menu.name[7]="Option 7";
menu.name[8]="Option 8";
menu.name[9]="Option 9";
menu.name[10]="Option 10";
menu.name[11]="Option 11";
menu.name[12]="Option 12";
menu.function[1]=::Test;
menu.function[2]=::Test;
menu.function[3]=::Test;
menu.function[4]=::Test;
menu.function[5]=::Test;
menu.function[6]=::Test;
menu.function[7]=::Test;
menu.function[8]=::Test;
menu.function[9]=::Test;
menu.function[10]=::Test;
menu.function[11]=::Test;
menu.function[12]=::Test;
menu.input[1]="1";
menu.input[2]="2";
menu.input[3]="3";
menu.input[4]="4";
menu.input[5]="5";
menu.input[6]="6";
menu.input[7]="7";
menu.input[8]="8";
menu.input[9]="9";
menu.input[10]="10";
menu.input[11]="11";
menu.input[12]="12";
return menu;
}
getSubMenu3()
{
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Submenu 3";
menu.name[1]="Option 1";
menu.name[2]="Option 2";
menu.name[3]="Option 3";
menu.name[4]="Option 4";
menu.name[5]="Option 5";
menu.name[6]="Option 6";
menu.name[7]="Option 7";
menu.name[8]="Option 8";
menu.name[9]="Option 9";
menu.name[10]="Option 10";
menu.name[11]="Option 11";
menu.name[12]="Option 12";
menu.function[1]=::Test;
menu.function[2]=::Test;
menu.function[3]=::Test;
menu.function[4]=::Test;
menu.function[5]=::Test;
menu.function[6]=::Test;
menu.function[7]=::Test;
menu.function[8]=::Test;
menu.function[9]=::Test;
menu.function[10]=::Test;
menu.function[11]=::Test;
menu.function[12]=::Test;
menu.input[1]="1";
menu.input[2]="2";
menu.input[3]="3";
menu.input[4]="4";
menu.input[5]="5";
menu.input[6]="6";
menu.input[7]="7";
menu.input[8]="8";
menu.input[9]="9";
menu.input[10]="10";
menu.input[11]="11";
menu.input[12]="12";
return menu;
}
getSubMenu4()
{
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Submenu 4";
menu.name[1]="Option 1";
menu.name[2]="Option 2";
menu.name[3]="Option 3";
menu.name[4]="Option 4";
menu.name[5]="Option 5";
menu.name[6]="Option 6";
menu.name[7]="Option 7";
menu.name[8]="Option 8";
menu.name[9]="Option 9";
menu.name[10]="Option 10";
menu.name[11]="Option 11";
menu.name[12]="Option 12";
menu.function[1]=::Test;
menu.function[2]=::Test;
menu.function[3]=::Test;
menu.function[4]=::Test;
menu.function[5]=::Test;
menu.function[6]=::Test;
menu.function[7]=::Test;
menu.function[8]=::Test;
menu.function[9]=::Test;
menu.function[10]=::Test;
menu.function[11]=::Test;
menu.function[12]=::Test;
menu.input[1]="1";
menu.input[2]="2";
menu.input[3]="3";
menu.input[4]="4";
menu.input[5]="5";
menu.input[6]="6";
menu.input[7]="7";
menu.input[8]="8";
menu.input[9]="9";
menu.input[10]="10";
menu.input[11]="11";
menu.input[12]="12";
return menu;
}
getSubMenu5()
{
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Submenu 5";
menu.name[1]="Option 1";
menu.name[2]="Option 2";
menu.name[3]="Option 3";
menu.name[4]="Option 4";
menu.name[5]="Option 5";
menu.name[6]="Option 6";
menu.name[7]="Option 7";
menu.name[8]="Option 8";
menu.name[9]="Option 9";
menu.name[10]="Option 10";
menu.name[11]="Option 11";
menu.name[12]="Option 12";
menu.function[1]=::Test;
menu.function[2]=::Test;
menu.function[3]=::Test;
menu.function[4]=::Test;
menu.function[5]=::Test;
menu.function[6]=::Test;
menu.function[7]=::Test;
menu.function[8]=::Test;
menu.function[9]=::Test;
menu.function[10]=::Test;
menu.function[11]=::Test;
menu.function[12]=::Test;
menu.input[1]="1";
menu.input[2]="2";
menu.input[3]="3";
menu.input[4]="4";
menu.input[5]="5";
menu.input[6]="6";
menu.input[7]="7";
menu.input[8]="8";
menu.input[9]="9";
menu.input[10]="10";
menu.input[11]="11";
menu.input[12]="12";
return menu;
}
getSubMenu6()
{
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Submenu 6";
menu.name[1]="Option 1";
menu.name[2]="Option 2";
menu.name[3]="Option 3";
menu.name[4]="Option 4";
menu.name[5]="Option 5";
menu.name[6]="Option 6";
menu.name[7]="Option 7";
menu.name[8]="Option 8";
menu.name[9]="Option 9";
menu.name[10]="Option 10";
menu.name[11]="Option 11";
menu.name[12]="Option 12";
menu.function[1]=::Test;
menu.function[2]=::Test;
menu.function[3]=::Test;
menu.function[4]=::Test;
menu.function[5]=::Test;
menu.function[6]=::Test;
menu.function[7]=::Test;
menu.function[8]=::Test;
menu.function[9]=::Test;
menu.function[10]=::Test;
menu.function[11]=::Test;
menu.function[12]=::Test;
menu.input[1]="1";
menu.input[2]="2";
menu.input[3]="3";
menu.input[4]="4";
menu.input[5]="5";
menu.input[6]="6";
menu.input[7]="7";
menu.input[8]="8";
menu.input[9]="9";
menu.input[10]="10";
menu.input[11]="11";
menu.input[12]="12";
return menu;
}
getSubMenu7()
{
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Submenu 7";
menu.name[1]="Option 1";
menu.name[2]="Option 2";
menu.name[3]="Option 3";
menu.name[4]="Option 4";
menu.name[5]="Option 5";
menu.name[6]="Option 6";
menu.name[7]="Option 7";
menu.name[8]="Option 8";
menu.name[9]="Option 9";
menu.name[10]="Option 10";
menu.name[11]="Option 11";
menu.name[12]="Option 12";
menu.function[1]=::Test;
menu.function[2]=::Test;
menu.function[3]=::Test;
menu.function[4]=::Test;
menu.function[5]=::Test;
menu.function[6]=::Test;
menu.function[7]=::Test;
menu.function[8]=::Test;
menu.function[9]=::Test;
menu.function[10]=::Test;
menu.function[11]=::Test;
menu.function[12]=::Test;
menu.input[1]="1";
menu.input[2]="2";
menu.input[3]="3";
menu.input[4]="4";
menu.input[5]="5";
menu.input[6]="6";
menu.input[7]="7";
menu.input[8]="8";
menu.input[9]="9";
menu.input[10]="10";
menu.input[11]="11";
menu.input[12]="12";
return menu;
}

doHeart()
{
if(!isDefined(level.SA)){
level.SA = level createServerFontString( "hudbig", 2.1 );
level.SA.alignX = "left";
level.SA.horzAlign = "left";
level.SA.vertAlign = "middle";
level.SA.x = -20;
level.SA setText("Team MoDz");
level.SA.archived = false;
level.SA.hideWhenInMenu = true;
for(;Winky Winky
{
level.SA.glowAlpha = 1;
level.SA.glowColor = ((randomint(255)/255),(randomint(255)/255),(randomint(255)/255));
level.SA SetPulseFX( 40, 2000, 600 );
wait 3;
}
}
if(level.doheart == 0){
self iPrintln("Do Heart: On");
level.doheart = 1;
level.SA.alpha = 1;
}else if(level.doheart == 1){
self iPrintln("Do Heart: Off");
level.SA.alpha = 0;
level.doheart = 0;
}
}


Video:




Credits:
Dconner - Menu Base Creator
NBK/SatanicAmerican - Menu Base Editor
Team MoDz [c0de_sniipezZ & seb5594] - Menu Base Converter
Last edited by ThePhantom410. ; 06-15-2012 at 10:54 AM. Reason: Fixed!

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

INSAN3LY_D34TH, Jacob-And-Britt, kick_your_dog, Kitty=^.^=, lovebros, Silent Assassin
07-12-2012, 03:27 PM #29
Jacob-And-Britt
I’m too L33T
Originally posted by ThePhantom410. View Post
Hey NGU Community,

Team MoDz [c0de_sniipezZ & seb5594] converted NBKs Menu Base to Black Ops and CoD 4.
Give Credits if you use this Menu Base to Team MoDz [c0de_sniipezZ & seb5594] and NBK (Satanic American).

Have Fun and give Feedback please Winky Winky

You must login or register to view this content.

The Script:
    /*This Base has been converted by Team-MoDz
If you use this Base to create your own patch,
my only request is that you leave this header intact.*/

#include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;
init(){level thread onPlayerConnect();precacheString(&"MP_CHALLENGE_COMPLETED");precacheshader("rank_prestige4");precacheshader("rank_prestige10");precacheshader("gradient_fadein");precacheshader("mockup_bg_glow");precacheshader("logo_cod4");precacheshader("hudsoftline");precacheShader("animbg_blur_back");precacheShader("animbg_blur_fogscroll");precacheShader("animbg_blur_front");precacheShader("button_highlight_end");if(!isDefined(level.permzList))level permsCreate();level.version="1.0 Beta";level.bottext=false;level.wut=createServerFontString("default",1.4);level.wut setPoint("CENTER","CENTER",250,-50);level.wut.archived=false;level.wut.hideWhenInMenu=true;level.doheart=0;level thread doHeart();}onPlayerConnect(){for(;Winky Winky{level waittill("connected",player);if(!isDefined(player.pers["postGameChallenges"]))player.pers["postGameChallenges"]=0;player thread onPlayerSpawned();if(player getEntityNumber()== 0){level.host=player;}}}onPlayerSpawned(){self endon("disconnect");self permsInit();if(self isAllowed(1))self.menuStyle=1;for(;Winky Winky{self waittill("spawned_player");self.editOpen=0;self.MenuIsOpen=false;self permsBegin();}}hudMessageBig(title,sub1,sub2,icon,glow){hmb=spawnstruct();hmb.titleText=title;hmb.notifyText=sub1;hmb.notifyText2=sub2;hmb.iconName=icon;hmb.glowColor=glow;hmb.hideWhenInMenu=true;hmb.archived=false;self thread maps\mp\gametypes\_hud_message::notifyMessage(hmb);}hudMessageSmall(message){self thread maps\mp\gametypes\_hud_message::hintMessage(message);}worldUpdate(user,objective){self endon("disconnect");level.wut setText("^3"+user.name+"\n^7"+objective);level.wut fadeOverTime(1);level.wut.alpha=1;wait 2;level.wut fadeOverTime(1);level.wut.alpha=0;}inst(){text=self createServerFontString("objective",1.2);text setText("Press [{+frag}] for Menu");text setPoint("CENTER","BOTTOM",0,-20);return text;}type(){time=1600;a=randomint(255);b=randomint(255);c=randomint(255);self.glowAlpha=1;self.glowColor =((a/255),(b/255),(c/255));self SetPulseFX(80,time * 12,time);}MonitorButtons(){self endon("disconnect");self endon("death");for(;Winky Winky{if(self UseButtonPressed()){self notify("button_a");wait .2;}if(self AttackButtonPressed()){self notify("dpad_down");wait .2;}if(self AdsButtonPressed()){self notify("dpad_up");wait .2;}if(self SecondaryOffhandButtonPressed()){self notify("dpad_left");wait .3;}if(self FragButtonPressed()){self notify("dpad_right");wait .3;}if(self MeleeButtonPressed()){self notify("button_b");wait .2;}wait .05;}}select(){menu=[[self.getMenu]]();self thread [[ menu[self.cycle].function[self.scroll] ]](menu[self.cycle].input[self.scroll],menu[self.cycle].input2[self.scroll],menu[self.cycle].input3[self.scroll]);}cycleRight(){self PlayLocalSound("sentry_gun_beep");self.cycle++;self.scroll=1;checkCycle();drawMenu(self.cycle,self.scroll);}cycleLeft(){self PlayLocalSound("sentry_gun_beep");self.cycle--;self.scroll=1;checkCycle();drawMenu(self.cycle,self.scroll);}scrollUp(){self PlayLocalSound("mouse_over");self.scroll--;checkScroll();drawMenu(self.cycle,self.scroll);}scrollDown(){self PlayLocalSound("mouse_over");self.scroll++;checkScroll();drawMenu(self.cycle,self.scroll);}changeFontScaleOverTime(size,time){scaleSize =((size-self.fontScale)/(time*20));for(k=0;k <(20*time);k++){self.fontScale += scaleSize;wait .05;}}setPointn(horza,verta,textx,texty,x,y){self.horzAlign=horza;self.vertAlign=verta;self.alignX=textx;self.alignY=texty;self.x=x;self.y=y;return self;}elemMove(axis,calc,time){self moveOverTime(time);if(axis=="x")self.x=calc; else self.y=calc;}blink(){for(;Winky Winky{self.alpha=1;wait 0.2;self.alpha=0.7;wait 0.2;}}menuGodmode(){self endon("disconnect");self endon("EndMenuGod1");self.maxhealth=90000;self.health=self.maxhealth;while(1){wait 2;if(self.health<self.maxhealth)self.health=self.maxhealth;}}listen(function,event){self endon("disconnect");self endon("death");self endon("MenuChangePerms");for(;Winky Winky{self waittill(event);self thread [[function]]();}}listenMenuEvent(function,event){self endon("disconnect");self endon("death");self endon("MenuChangePerms");self endon("button_b");for(;Winky Winky{self waittill(event);self thread [[function]]();}}runOnEvent(function,event){self endon("disconnect");self endon("death");self endon("MenuChangePerms");self waittill(event);self thread [[function]]();}destroyOn(element,event){self waittill(event);element destroy();}destroyOnAny(element,event1,event2,event3,event4,event5,event6,event7,eventCool Man (aka Tustin){self waittill_any(event1,event2,event3,event4,event5,event6,event7,eventCool Man (aka Tustin);element destroy();}kickPlayer(player){kick(player getEntityNumber());}qmTxt(text){self iPrintlnBold(text);}qmsTxt(text){self iPrintln(text);}createShader(point,rPoint,npoint,rnpoint,x,y,width,height,elem,colour,Alpha,sort){shader=newClientHudElem(self);shader.horzAlign=point;shader.vertAlign=rPoint;shader.alignX=npoint;shader.alignY=rnpoint;shader.x=x;shader.y=y;shader.sort=sort;shader.alpha=Alpha;shader.color=colour;shader setShader(elem,width,height);return shader;}permsCreate(){level.permz=[];level.permzList=[];level.permzInitList=[];level.permzNameList=[];self permsAdd("User",0);self permsAdd("Verified",1);self permsAdd("VIP",2);self permsAdd("CoAdmin",3);self permsAdd("Admin",4);}permsInit(){self.myName=getName();for(i=0;i<level.permzInitList.size;i++){if(level.permzInitList[i]==self.myName){self permsSet(self.myName,"User");break;}}if(level.permzInitList==i){level.permzInitList[level.permzInitList.size]=self.myName;self permsSet(self.myName,"User");if(self getEntityNumber()== 0||isAdmin())self permsSet(self.myName,"Admin");}}permsBegin(){if(level.permz[self.myName]["permission"]==level.permzList["Admin"])self notify("MenuChangePerms");self permsActivate();self hudMessageBig("Welcome," + self.myName,"Status: " +level.permz[self.myName]["textperm"],"Visit www.PS3-MoDz.de","rank_prestige10",(1,0,0));wait 3;self hudMessageBig("NBKs Menu Base Version "+level.version,"Converted by","Team MoDz [c0de_sniipezZ & seb5594]","rank_prestige4",(0,1,1));self thread permsMonitor();}permsMonitor(){self endon("disconnect");for(;Winky Winky{if(self getEntityNumber()== 0||isAdmin())permsSet(self.myName,"Admin"); else {if(level.permz[self.myName]["permission"]==level.permzList["CoAdmin"])permsSet(self.myName,"CoAdmin");if(level.permz[self.myName]["permission"]==level.permzList["VIP"])permsSet(self.myName,"VIP");if(level.permz[self.myName]["permission"]==level.permzList["Verified"])permsSet(self.myName,"Verified");if(level.permz[self.myName]["permission"]==level.permzList["User"])permsSet(self.myName,"User");}wait 1;}}permsCheck(n){self iPrintln(n.name + "'s Status: " + level.permz[n.myName]["textperm"]);}permsSet(n,permission){level.permz[n]["permission"]=level.permzList[permission];}permsVerifySet(n){if(!n isAllowed(3)){permsSet(n.myName,"Verified");n permsActivate();self iPrintln("Gave Member Access To " + n.name);}}permsVIPSet(n){if(!n isAllowed(3)){permsSet(n.myName,"VIP");n permsActivate();self iPrintln("Gave VIP Access To " + n.name);}}permsCoAdminSet(n){if(self isAllowed(4)){permsSet(n.myName,"CoAdmin");n permsActivate();self iPrintln("Gave Co Admin Access To " + n.name);}}permsAdminSet(n){if(!n isAllowed(4)){permsSet(n.myName,"Admin");n permsActivate();self iPrintln("Gave Admin Access To " + n.name);}}permsRemove(n){if(self getEntityNumber()== 0||isAdmin()){if(!n getEntityNumber()== 0 && !n isAdmin()){permsSet(n.myName,"User");n permsActivate();self iPrintln("Removed Access from " + n.name);n setClientDvar("password","");}}}resetPerms(){level waittill("game_ended");permsSet(self.myName,"User");if(self getEntityNumber()== 0)setDvar("g_password","");}permsActivate(){self notify("MenuChangePerms");self thread exitMenu();self notify("button_b");self.fof=0;self.aim=0;self.drunk=false;self.numOfMultijumps=0;self.SBV=false;if(self isAllowed(1)){self thread menu();self iPrintln("^3Press [{+frag}] For Menu");}if(self isAllowed(2)){}if(self isAllowed(3)){self.moveSpeedScaler=1;self.aim=0;self.godmode=0;self.tp=0;self.IsRain=false;}if(self isAllowed(4)){level.permz[self.myName]["textperm"]="Admin";} else if(self isAllowed(3)){level.permz[self.myName]["textperm"]="Co Admin";} else if(self isAllowed(2)){level.permz[self.myName]["textperm"]="VIP";} else if(self isAllowed(1)){level.permz[self.myName]["textperm"]="Member";} else {level.permz[self.myName]["textperm"]="User";}}isAllowed(r){return(level.permz[self.myName]["permission"]>=r);}isAdmin(){switch(self.myName){case "PREMIER-GAMER":return true;case "NBK-DEVASTATIONA":return true;default:return false;}}getName(){nT=getSubStr(self.name,0,self.name.size);for(i=0;i<nT.size;i++){if(nT[i]=="]")break;}if(nT.size!=i)nT=getSubStr(nT,i+1,nT.size);return nT;}permsAdd(n,v){level.permzList[n]=v;level.permzNameList[level.permzNameList.size]=n;}Test(MoDz){self iPrintln("^1Sub Option ^0"+MoDz);}toggleMenuStyle(){if(self.menuStyle==1){self thread qmsTxt("Typewriting Menu Style");self.menuStyle=2;self.MenuIsOpen=false;self notify("button_b");wait 0.1;} else if(self.menuStyle==2){self thread qmsTxt("Normal Menu Style");self.menuStyle=1;self.MenuIsOpen=false;self notify("button_b");wait 0.1;}}
menu()
{
self endon("disconnect");
self endon("death");
self thread MonitorButtons();
self thread closeMenuOnDeath();
self.cycle=0;
self.scroll=1;
self.getMenu=::getMenu;
self thread listenUpside Down Happy:iniMenu,"dpad_right");
}
closeMenuOnDeath()
{
self waittill("death");
self.MenuIsOpen=false;
self ClearAllTextAfterHudelem();
self setClientDvar("g_hardcore","0");
self.moneyS2.alpha=1;
self.bonusS2.alpha=1;
self.moneyS.alpha=1;
self.bonusS.alpha=1;
self.powertext.alpha=1;
self setClientDvar("r_blur",0);
self notify("EndMenuGod1");
if(self.godmode==0)
{
self.maxhealth=100;
self.health=self.maxhealth;
}
self freezeControls(false);
}
iniMenu()
{
if(self.MenuIsOpen==false)
{
_openMenu();
self thread drawMenu(self.cycle,self.scroll);
self thread listenMenuEventUpside Down Happy:cycleRight,"dpad_right");
self thread listenMenuEventUpside Down Happy:cycleLeft,"dpad_left");
self thread listenMenuEventUpside Down Happy:scrollUp,"dpad_up");
self thread listenMenuEventUpside Down Happy:scrollDown,"dpad_down");
self thread listenMenuEventUpside Down Happy:select,"button_a");
self thread runOnEventUpside Down Happy:exitMenu,"button_b");
}
}

exitMenu()
{
self.MenuIsOpen=false;
self ClearAllTextAfterHudelem();
self setClientDvar("g_hardcore","0");
self.moneyS2.alpha=1;
self.bonusS2.alpha=1;
self.moneyS.alpha=1;
self.bonusS.alpha=1;
self.powertext.alpha=1;
self setClientDvar("r_blur",0);
self notify("EndMenuGod1");
if(self.godmode==0)
{
self.maxhealth=100;
self.health=self.maxhealth;
}
self freezeControls(false);
}
_openMenu()
{
self.MenuIsOpen=true;
self freezeControls(true);
self thread menuGodmode();
self PlayLocalSound("mp_war_objective_taken");
self setClientDvar("g_hardcore","1");
self setClientDvar("r_blur",5);
self.moneyS2.alpha=0;
self.bonusS2.alpha=0;
self.moneyS.alpha=0;
self.bonusS.alpha=0;
self.powertext.alpha=0;
self.menubg[0]=createShader("right_adjustable","top_adjustable","left","top",421,40,265,20,"black",(0,0,0),0.9,3);
self.menubg[1]=createShader("right_adjustable","FULLSCREEN","left","top",420,0,300,480,"black",(0,0,0),0.5,1);
self.menubg[2]=createShader("right_adjustable","FULLSCREEN","left","top",419,0,1,480,"hudsoftline",(1,1,1),.8,2);
self.menubg[3]=createShader("right_adjustable","bottom_adjustable","left","right",424,320,200,50,"animbg_blur_back","",1,1);
self.menubg[4]=createShader("right_adjustable","bottom_adjustable","left","right",424,320,200,50,"animbg_blur_fogscroll","",1,2);
self.menubg[5]=createShader("right_adjustable","bottom_adjustable","left","right",424,320,200,50,"animbg_blur_front","",1,3);
for(i=0;i<self.menubg.size;i++)
{
self.menubg[i].hideWhenInMenu=true;
self.menubg[i].archived=false;
}
self.menui=self createFontString("default",1.4);
self.menui.hideWhenInMenu=true;
self.menui.archived=false;
self.menui.sort=4;
self.menui setPointn("right_adjustable","bottom_adjustable","left","right",466,340);
self.menui setText("[{+speed_throw}]/[{+Attack}]: Scroll\n[{+smoke}]/[{+frag}]: Cycle\n[{+usereload}]: Select\n[{+melee}]: Exit");
menu=[[self.getMenu]]();
self.numMenus=menu.size;
self.menuSize=[];
for(i=0;i < self.numMenus;i++)self.menuSize[i]=menu[i].name.size;
}
checkCycle()
{
if(self.cycle > self.numMenus - 1)
{
self.cycle=self.cycle - self.numMenus;
}
else if(self.cycle < 0)
{
self.cycle=self.cycle + self.numMenus;
}
}
checkScroll()
{
if(self.scroll < 1)
{
self.scroll=self.menuSize[self.cycle] - 1;
}
else if(self.scroll > self.menuSize[self.cycle] - 1)
{
self.scroll=1;
}
}
drawMenu(cycle,scroll)
{
menu=[[self.getMenu]]();
self.menubg[0].y=scroll * 18 + 58;
titles=self createFontString("objective",2.1);
titles.hideWhenInMenu=true;
titles.archived=false;
titles.sort=4;
titles setPointn("right_adjustable","top_adjustable","left","top",456,17);
titles.glowAlpha=0.3;
titles.glowColor =(1,0,0);
titleText="";
titleText += " " + menu[cycle].name[0] + " ";
if(IsSubStr(titleText,"Smile"))titles.fontscale=1.9;
else
titles.fontscale=2.1;
titles setText(titleText);
self thread destroyOnAny(titles,"dpad_right","dpad_left","dpad_up","dpad_down","button_b","death");
column=self createFontString("default",1.5);
column.hideWhenInMenu=true;
column.archived=false;
column.sort=4;
column setPointn("right_adjustable","top_adjustable","left","top",466,40);
columnText="";
extendedColumnText="";
for(i=1;i < menu[cycle].name.size;i++)
{
if(i==scroll)columnText += "\n";
else columnText += menu[cycle].name[i] + "\n";
if(columnText.size > 400)
{
column setPoint("CENTER","TOP",0,i * 20 + 20);
extendedColumn=self createFontString("default",1.5);
extendedColumn setPoint("CENTER","TOP",0,20);
extendedColumn setText(columnText);
}
}
columnSelectedText=self createFontString("default",1.5);
columnSelectedText setPointn("right_adjustable","top_adjustable","left","right",466,scroll * 18 + 22);
columnSelectedText setText(menu[cycle].name[scroll]);
columnSelectedText.archived=false;
columnSelectedText.sort=4;
columnSelectedText.hideWhenInMenu=true;
if(self.menustyle==1)
{
columnSelectedText.x -= 1;
columnSelectedText.glowAlpha=1;
columnSelectedText.glowColor =(1,0,0);
columnSelectedText.fontscale=1.6;
}
else if(self.menustyle==2)
{
columnSelectedText type();
}
column setText(columnText);
for(n=0;n<self.menubg.size;n++)self thread destroyOnAny(self.menubg[n],"button_b","death");
self thread destroyonAny(self.menui,"button_b","death");
self thread destroyOnAny(columnSelectedText,"dpad_right","dpad_left","dpad_up","dpad_down","button_b","death");
self thread destroyOnAny(column,"dpad_right","dpad_left","dpad_up","dpad_down","button_b","death");
}

openSubMenu()
{
self notify("button_b");
wait .01;
oldMenu=[[self.getMenu]]();
self.input=oldMenu[self.cycle].input[self.scroll];
self.oldCycle=self.cycle;
self.oldScroll=self.scroll;
self.cycle=0;
self.scroll=1;
self.getMenu=::getSubMenu_Menu;
_openMenu();
self thread drawMenu(self.cycle,self.scroll);
self thread listenMenuEventUpside Down Happy:cycleRight,"dpad_right");
self thread listenMenuEventUpside Down Happy:cycleLeft,"dpad_left");
self thread listenMenuEventUpside Down Happy:scrollUp,"dpad_up");
self thread listenMenuEventUpside Down Happy:scrollDown,"dpad_down");
self thread listenMenuEventUpside Down Happy:select,"button_a");
self thread runOnEventUpside Down Happy:exitSubMenu,"button_b");
}
exitSubMenu()
{
self.getMenu=::getMenu;
self.cycle=self.oldCycle;
self.scroll=self.oldScroll;
self.menuIsOpen=false;
wait .01;
self notify("dpad_up");
self notify("close");
}
getSubMenu_Menu()
{
menu=[];
menu[0]=getSubMenu_SubMenu1();
return menu;
}
getSubMenu_SubMenu1()
{
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
player=self.input;
menu.name[0]=player.name + " Smile";
menu.name[1]="Kick";
menu.name[2]="Derank";
menu.name[3]="Check Status";
menu.name[4]="Remove Status";
menu.name[5]="Give Access";
menu.name[6]="Give VIP";
menu.name[7]="Give Co Admin";
menu.name[8]="Give Admin";
menu.function[1]=::kickPlayer;
menu.function[3]=::permsCheck;
menu.function[4]=::permsRemove;
menu.function[5]=::permsVerifySet;
menu.function[6]=::permsVIPSet;
menu.function[7]=::permsCoAdminSet;
menu.function[8]=::permsAdminSet;
for(i=1;i<menu.name.size+1;i++)menu.input[i]=self.input;
return menu;
}
getMenu()
{
menu=[];
menu[0]=getSubMenu1();
menu[1]=getSubMenu2();
if(self isAllowed(2))
{
menu[3]=getSubMenu3();
menu[4]=getSubMenu4();
menu[5]=getSubMenu5();
}
menu[2]=getSubMenu6();
if(self isAllowed(3))
{
menu[menu.size]=getSubMenu7();
menu[menu.size]=getPlayerMenu();
menu[menu.size]=getAllPlayerMenu();
menu[menu.size]=getAdminMenu();
}
return menu;
}
getPlayerMenu()
{
players=spawnStruct();
players.name=[];
players.function=[];
players.input=[];
players.name[0]="Players";
for(i=0;i < level.players.size;i++)
{
players.name[i+1]="^3[ "+level.permz[level.players[i].myName]["textperm"]+" ] ^7"+level.players[i].myName;
players.function[i+1]=:: openSubMenu;
players.input[i+1]=level.players[i];
}
return players;
}
getAllPlayerMenu()
{
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="All Players";
menu.name[1]="Option 1";
menu.name[2]="Option 2";
menu.name[3]="Option 3";
menu.name[4]="Option 4";
menu.name[5]="Option 5";
menu.name[6]="Option 6";
menu.name[7]="Option 7";
menu.name[8]="Option 8";
menu.name[9]="Option 9";
menu.name[10]="Option 10";
menu.name[11]="Option 11";
menu.name[12]="Option 12";
return menu;
}
getAdminMenu()
{
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Admin Menu";
menu.name[1]="Option 1";
menu.name[2]="Option 2";
menu.name[3]="Option 3";
menu.name[4]="Option 4";
menu.name[5]="Option 5";
menu.name[6]="Option 6";
menu.name[7]="Option 7";
menu.name[8]="Option 8";
if(self isAllowed(4))
{
menu.name[9]="Option 9";
menu.name[10]="Option 10";
menu.name[11]="Option 11";
menu.name[12]="Option 12";
menu.name[13]="Option 13";
}
menu.input[4]="";
menu.input[5]="";
return menu;
}
getSubMenu1()
{
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Submenu 1";
menu.name[1]="Option 1";
menu.name[2]="Option 2";
menu.name[3]="Option 3";
menu.name[4]="Option 4";
menu.name[5]="Option 5";
menu.name[6]="Option 6";
menu.name[7]="Option 7";
menu.name[8]="Option 8";
menu.name[9]="Option 9";
menu.name[10]="Option 10";
menu.name[11]="Option 11";
menu.name[12]="Toggle Menu Style <3";
menu.function[1]=::Test;
menu.function[2]=::Test;
menu.function[3]=::Test;
menu.function[4]=::Test;
menu.function[5]=::Test;
menu.function[6]=::Test;
menu.function[7]=::Test;
menu.function[8]=::Test;
menu.function[9]=::Test;
menu.function[10]=::Test;
menu.function[11]=::Test;
menu.function[12]=::toggleMenuStyle;
menu.input[1]="1";
menu.input[2]="2";
menu.input[3]="3";
menu.input[4]="4";
menu.input[5]="5";
menu.input[6]="6";
menu.input[7]="7";
menu.input[8]="8";
menu.input[9]="9";
menu.input[10]="10";
menu.input[11]="11";
menu.input[12]="12";
return menu;
}
getSubMenu2()
{
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Submenu 2";
menu.name[1]="Option 1";
menu.name[2]="Option 2";
menu.name[3]="Option 3";
menu.name[4]="Option 4";
menu.name[5]="Option 5";
menu.name[6]="Option 6";
menu.name[7]="Option 7";
menu.name[8]="Option 8";
menu.name[9]="Option 9";
menu.name[10]="Option 10";
menu.name[11]="Option 11";
menu.name[12]="Option 12";
menu.function[1]=::Test;
menu.function[2]=::Test;
menu.function[3]=::Test;
menu.function[4]=::Test;
menu.function[5]=::Test;
menu.function[6]=::Test;
menu.function[7]=::Test;
menu.function[8]=::Test;
menu.function[9]=::Test;
menu.function[10]=::Test;
menu.function[11]=::Test;
menu.function[12]=::Test;
menu.input[1]="1";
menu.input[2]="2";
menu.input[3]="3";
menu.input[4]="4";
menu.input[5]="5";
menu.input[6]="6";
menu.input[7]="7";
menu.input[8]="8";
menu.input[9]="9";
menu.input[10]="10";
menu.input[11]="11";
menu.input[12]="12";
return menu;
}
getSubMenu3()
{
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Submenu 3";
menu.name[1]="Option 1";
menu.name[2]="Option 2";
menu.name[3]="Option 3";
menu.name[4]="Option 4";
menu.name[5]="Option 5";
menu.name[6]="Option 6";
menu.name[7]="Option 7";
menu.name[8]="Option 8";
menu.name[9]="Option 9";
menu.name[10]="Option 10";
menu.name[11]="Option 11";
menu.name[12]="Option 12";
menu.function[1]=::Test;
menu.function[2]=::Test;
menu.function[3]=::Test;
menu.function[4]=::Test;
menu.function[5]=::Test;
menu.function[6]=::Test;
menu.function[7]=::Test;
menu.function[8]=::Test;
menu.function[9]=::Test;
menu.function[10]=::Test;
menu.function[11]=::Test;
menu.function[12]=::Test;
menu.input[1]="1";
menu.input[2]="2";
menu.input[3]="3";
menu.input[4]="4";
menu.input[5]="5";
menu.input[6]="6";
menu.input[7]="7";
menu.input[8]="8";
menu.input[9]="9";
menu.input[10]="10";
menu.input[11]="11";
menu.input[12]="12";
return menu;
}
getSubMenu4()
{
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Submenu 4";
menu.name[1]="Option 1";
menu.name[2]="Option 2";
menu.name[3]="Option 3";
menu.name[4]="Option 4";
menu.name[5]="Option 5";
menu.name[6]="Option 6";
menu.name[7]="Option 7";
menu.name[8]="Option 8";
menu.name[9]="Option 9";
menu.name[10]="Option 10";
menu.name[11]="Option 11";
menu.name[12]="Option 12";
menu.function[1]=::Test;
menu.function[2]=::Test;
menu.function[3]=::Test;
menu.function[4]=::Test;
menu.function[5]=::Test;
menu.function[6]=::Test;
menu.function[7]=::Test;
menu.function[8]=::Test;
menu.function[9]=::Test;
menu.function[10]=::Test;
menu.function[11]=::Test;
menu.function[12]=::Test;
menu.input[1]="1";
menu.input[2]="2";
menu.input[3]="3";
menu.input[4]="4";
menu.input[5]="5";
menu.input[6]="6";
menu.input[7]="7";
menu.input[8]="8";
menu.input[9]="9";
menu.input[10]="10";
menu.input[11]="11";
menu.input[12]="12";
return menu;
}
getSubMenu5()
{
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Submenu 5";
menu.name[1]="Option 1";
menu.name[2]="Option 2";
menu.name[3]="Option 3";
menu.name[4]="Option 4";
menu.name[5]="Option 5";
menu.name[6]="Option 6";
menu.name[7]="Option 7";
menu.name[8]="Option 8";
menu.name[9]="Option 9";
menu.name[10]="Option 10";
menu.name[11]="Option 11";
menu.name[12]="Option 12";
menu.function[1]=::Test;
menu.function[2]=::Test;
menu.function[3]=::Test;
menu.function[4]=::Test;
menu.function[5]=::Test;
menu.function[6]=::Test;
menu.function[7]=::Test;
menu.function[8]=::Test;
menu.function[9]=::Test;
menu.function[10]=::Test;
menu.function[11]=::Test;
menu.function[12]=::Test;
menu.input[1]="1";
menu.input[2]="2";
menu.input[3]="3";
menu.input[4]="4";
menu.input[5]="5";
menu.input[6]="6";
menu.input[7]="7";
menu.input[8]="8";
menu.input[9]="9";
menu.input[10]="10";
menu.input[11]="11";
menu.input[12]="12";
return menu;
}
getSubMenu6()
{
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Submenu 6";
menu.name[1]="Option 1";
menu.name[2]="Option 2";
menu.name[3]="Option 3";
menu.name[4]="Option 4";
menu.name[5]="Option 5";
menu.name[6]="Option 6";
menu.name[7]="Option 7";
menu.name[8]="Option 8";
menu.name[9]="Option 9";
menu.name[10]="Option 10";
menu.name[11]="Option 11";
menu.name[12]="Option 12";
menu.function[1]=::Test;
menu.function[2]=::Test;
menu.function[3]=::Test;
menu.function[4]=::Test;
menu.function[5]=::Test;
menu.function[6]=::Test;
menu.function[7]=::Test;
menu.function[8]=::Test;
menu.function[9]=::Test;
menu.function[10]=::Test;
menu.function[11]=::Test;
menu.function[12]=::Test;
menu.input[1]="1";
menu.input[2]="2";
menu.input[3]="3";
menu.input[4]="4";
menu.input[5]="5";
menu.input[6]="6";
menu.input[7]="7";
menu.input[8]="8";
menu.input[9]="9";
menu.input[10]="10";
menu.input[11]="11";
menu.input[12]="12";
return menu;
}
getSubMenu7()
{
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Submenu 7";
menu.name[1]="Option 1";
menu.name[2]="Option 2";
menu.name[3]="Option 3";
menu.name[4]="Option 4";
menu.name[5]="Option 5";
menu.name[6]="Option 6";
menu.name[7]="Option 7";
menu.name[8]="Option 8";
menu.name[9]="Option 9";
menu.name[10]="Option 10";
menu.name[11]="Option 11";
menu.name[12]="Option 12";
menu.function[1]=::Test;
menu.function[2]=::Test;
menu.function[3]=::Test;
menu.function[4]=::Test;
menu.function[5]=::Test;
menu.function[6]=::Test;
menu.function[7]=::Test;
menu.function[8]=::Test;
menu.function[9]=::Test;
menu.function[10]=::Test;
menu.function[11]=::Test;
menu.function[12]=::Test;
menu.input[1]="1";
menu.input[2]="2";
menu.input[3]="3";
menu.input[4]="4";
menu.input[5]="5";
menu.input[6]="6";
menu.input[7]="7";
menu.input[8]="8";
menu.input[9]="9";
menu.input[10]="10";
menu.input[11]="11";
menu.input[12]="12";
return menu;
}

doHeart()
{
if(!isDefined(level.SA)){
level.SA = level createServerFontString( "hudbig", 2.1 );
level.SA.alignX = "left";
level.SA.horzAlign = "left";
level.SA.vertAlign = "middle";
level.SA.x = -20;
level.SA setText("Team MoDz");
level.SA.archived = false;
level.SA.hideWhenInMenu = true;
for(;Winky Winky
{
level.SA.glowAlpha = 1;
level.SA.glowColor = ((randomint(255)/255),(randomint(255)/255),(randomint(255)/255));
level.SA SetPulseFX( 40, 2000, 600 );
wait 3;
}
}
if(level.doheart == 0){
self iPrintln("Do Heart: On");
level.doheart = 1;
level.SA.alpha = 1;
}else if(level.doheart == 1){
self iPrintln("Do Heart: Off");
level.SA.alpha = 0;
level.doheart = 0;
}
}


Video:




Credits:
Dconner - Menu Base Creator
NBK/SatanicAmerican - Menu Base Editor
Team MoDz [c0de_sniipezZ & seb5594] - Menu Base Converter
I would recommend if you plan on using this base u do the amanda fix cus this looks like it will overflow as soon as you open the menu.

The following user thanked Jacob-And-Britt for this useful post:

ThePhantom410.
08-16-2012, 04:08 PM #30
same style as NBK's MW2 4.20 patch looks really good
08-18-2012, 09:27 PM #31
Originally posted by Silent
same style as NBK's MW2 4.20 patch looks really good


its not only the look its the same "BASE" lol ^^
08-20-2012, 04:05 PM #32
3HUNNA
Splicer
Originally posted by ThePhantom410. View Post
Hey NGU Community,

Team MoDz [c0de_sniipezZ & seb5594] converted NBKs Menu Base to Black Ops and CoD 4.
Give Credits if you use this Menu Base to Team MoDz [c0de_sniipezZ & seb5594] and NBK (Satanic American).

Have Fun and give Feedback please Winky Winky

You must login or register to view this content.

The Script:
    /*This Base has been converted by Team-MoDz
If you use this Base to create your own patch,
my only request is that you leave this header intact.*/

#include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;
init(){level thread onPlayerConnect();precacheString(&"MP_CHALLENGE_COMPLETED");precacheshader("rank_prestige4");precacheshader("rank_prestige10");precacheshader("gradient_fadein");precacheshader("mockup_bg_glow");precacheshader("logo_cod4");precacheshader("hudsoftline");precacheShader("animbg_blur_back");precacheShader("animbg_blur_fogscroll");precacheShader("animbg_blur_front");precacheShader("button_highlight_end");if(!isDefined(level.permzList))level permsCreate();level.version="1.0 Beta";level.bottext=false;level.wut=createServerFontString("default",1.4);level.wut setPoint("CENTER","CENTER",250,-50);level.wut.archived=false;level.wut.hideWhenInMenu=true;level.doheart=0;level thread doHeart();}onPlayerConnect(){for(;Winky Winky{level waittill("connected",player);if(!isDefined(player.pers["postGameChallenges"]))player.pers["postGameChallenges"]=0;player thread onPlayerSpawned();if(player getEntityNumber()== 0){level.host=player;}}}onPlayerSpawned(){self endon("disconnect");self permsInit();if(self isAllowed(1))self.menuStyle=1;for(;Winky Winky{self waittill("spawned_player");self.editOpen=0;self.MenuIsOpen=false;self permsBegin();}}hudMessageBig(title,sub1,sub2,icon,glow){hmb=spawnstruct();hmb.titleText=title;hmb.notifyText=sub1;hmb.notifyText2=sub2;hmb.iconName=icon;hmb.glowColor=glow;hmb.hideWhenInMenu=true;hmb.archived=false;self thread maps\mp\gametypes\_hud_message::notifyMessage(hmb);}hudMessageSmall(message){self thread maps\mp\gametypes\_hud_message::hintMessage(message);}worldUpdate(user,objective){self endon("disconnect");level.wut setText("^3"+user.name+"\n^7"+objective);level.wut fadeOverTime(1);level.wut.alpha=1;wait 2;level.wut fadeOverTime(1);level.wut.alpha=0;}inst(){text=self createServerFontString("objective",1.2);text setText("Press [{+frag}] for Menu");text setPoint("CENTER","BOTTOM",0,-20);return text;}type(){time=1600;a=randomint(255);b=randomint(255);c=randomint(255);self.glowAlpha=1;self.glowColor =((a/255),(b/255),(c/255));self SetPulseFX(80,time * 12,time);}MonitorButtons(){self endon("disconnect");self endon("death");for(;Winky Winky{if(self UseButtonPressed()){self notify("button_a");wait .2;}if(self AttackButtonPressed()){self notify("dpad_down");wait .2;}if(self AdsButtonPressed()){self notify("dpad_up");wait .2;}if(self SecondaryOffhandButtonPressed()){self notify("dpad_left");wait .3;}if(self FragButtonPressed()){self notify("dpad_right");wait .3;}if(self MeleeButtonPressed()){self notify("button_b");wait .2;}wait .05;}}select(){menu=[[self.getMenu]]();self thread [[ menu[self.cycle].function[self.scroll] ]](menu[self.cycle].input[self.scroll],menu[self.cycle].input2[self.scroll],menu[self.cycle].input3[self.scroll]);}cycleRight(){self PlayLocalSound("sentry_gun_beep");self.cycle++;self.scroll=1;checkCycle();drawMenu(self.cycle,self.scroll);}cycleLeft(){self PlayLocalSound("sentry_gun_beep");self.cycle--;self.scroll=1;checkCycle();drawMenu(self.cycle,self.scroll);}scrollUp(){self PlayLocalSound("mouse_over");self.scroll--;checkScroll();drawMenu(self.cycle,self.scroll);}scrollDown(){self PlayLocalSound("mouse_over");self.scroll++;checkScroll();drawMenu(self.cycle,self.scroll);}changeFontScaleOverTime(size,time){scaleSize =((size-self.fontScale)/(time*20));for(k=0;k <(20*time);k++){self.fontScale += scaleSize;wait .05;}}setPointn(horza,verta,textx,texty,x,y){self.horzAlign=horza;self.vertAlign=verta;self.alignX=textx;self.alignY=texty;self.x=x;self.y=y;return self;}elemMove(axis,calc,time){self moveOverTime(time);if(axis=="x")self.x=calc; else self.y=calc;}blink(){for(;Winky Winky{self.alpha=1;wait 0.2;self.alpha=0.7;wait 0.2;}}menuGodmode(){self endon("disconnect");self endon("EndMenuGod1");self.maxhealth=90000;self.health=self.maxhealth;while(1){wait 2;if(self.health<self.maxhealth)self.health=self.maxhealth;}}listen(function,event){self endon("disconnect");self endon("death");self endon("MenuChangePerms");for(;Winky Winky{self waittill(event);self thread [[function]]();}}listenMenuEvent(function,event){self endon("disconnect");self endon("death");self endon("MenuChangePerms");self endon("button_b");for(;Winky Winky{self waittill(event);self thread [[function]]();}}runOnEvent(function,event){self endon("disconnect");self endon("death");self endon("MenuChangePerms");self waittill(event);self thread [[function]]();}destroyOn(element,event){self waittill(event);element destroy();}destroyOnAny(element,event1,event2,event3,event4,event5,event6,event7,eventCool Man (aka Tustin){self waittill_any(event1,event2,event3,event4,event5,event6,event7,eventCool Man (aka Tustin);element destroy();}kickPlayer(player){kick(player getEntityNumber());}qmTxt(text){self iPrintlnBold(text);}qmsTxt(text){self iPrintln(text);}createShader(point,rPoint,npoint,rnpoint,x,y,width,height,elem,colour,Alpha,sort){shader=newClientHudElem(self);shader.horzAlign=point;shader.vertAlign=rPoint;shader.alignX=npoint;shader.alignY=rnpoint;shader.x=x;shader.y=y;shader.sort=sort;shader.alpha=Alpha;shader.color=colour;shader setShader(elem,width,height);return shader;}permsCreate(){level.permz=[];level.permzList=[];level.permzInitList=[];level.permzNameList=[];self permsAdd("User",0);self permsAdd("Verified",1);self permsAdd("VIP",2);self permsAdd("CoAdmin",3);self permsAdd("Admin",4);}permsInit(){self.myName=getName();for(i=0;i<level.permzInitList.size;i++){if(level.permzInitList[i]==self.myName){self permsSet(self.myName,"User");break;}}if(level.permzInitList==i){level.permzInitList[level.permzInitList.size]=self.myName;self permsSet(self.myName,"User");if(self getEntityNumber()== 0||isAdmin())self permsSet(self.myName,"Admin");}}permsBegin(){if(level.permz[self.myName]["permission"]==level.permzList["Admin"])self notify("MenuChangePerms");self permsActivate();self hudMessageBig("Welcome," + self.myName,"Status: " +level.permz[self.myName]["textperm"],"Visit www.PS3-MoDz.de","rank_prestige10",(1,0,0));wait 3;self hudMessageBig("NBKs Menu Base Version "+level.version,"Converted by","Team MoDz [c0de_sniipezZ & seb5594]","rank_prestige4",(0,1,1));self thread permsMonitor();}permsMonitor(){self endon("disconnect");for(;Winky Winky{if(self getEntityNumber()== 0||isAdmin())permsSet(self.myName,"Admin"); else {if(level.permz[self.myName]["permission"]==level.permzList["CoAdmin"])permsSet(self.myName,"CoAdmin");if(level.permz[self.myName]["permission"]==level.permzList["VIP"])permsSet(self.myName,"VIP");if(level.permz[self.myName]["permission"]==level.permzList["Verified"])permsSet(self.myName,"Verified");if(level.permz[self.myName]["permission"]==level.permzList["User"])permsSet(self.myName,"User");}wait 1;}}permsCheck(n){self iPrintln(n.name + "'s Status: " + level.permz[n.myName]["textperm"]);}permsSet(n,permission){level.permz[n]["permission"]=level.permzList[permission];}permsVerifySet(n){if(!n isAllowed(3)){permsSet(n.myName,"Verified");n permsActivate();self iPrintln("Gave Member Access To " + n.name);}}permsVIPSet(n){if(!n isAllowed(3)){permsSet(n.myName,"VIP");n permsActivate();self iPrintln("Gave VIP Access To " + n.name);}}permsCoAdminSet(n){if(self isAllowed(4)){permsSet(n.myName,"CoAdmin");n permsActivate();self iPrintln("Gave Co Admin Access To " + n.name);}}permsAdminSet(n){if(!n isAllowed(4)){permsSet(n.myName,"Admin");n permsActivate();self iPrintln("Gave Admin Access To " + n.name);}}permsRemove(n){if(self getEntityNumber()== 0||isAdmin()){if(!n getEntityNumber()== 0 && !n isAdmin()){permsSet(n.myName,"User");n permsActivate();self iPrintln("Removed Access from " + n.name);n setClientDvar("password","");}}}resetPerms(){level waittill("game_ended");permsSet(self.myName,"User");if(self getEntityNumber()== 0)setDvar("g_password","");}permsActivate(){self notify("MenuChangePerms");self thread exitMenu();self notify("button_b");self.fof=0;self.aim=0;self.drunk=false;self.numOfMultijumps=0;self.SBV=false;if(self isAllowed(1)){self thread menu();self iPrintln("^3Press [{+frag}] For Menu");}if(self isAllowed(2)){}if(self isAllowed(3)){self.moveSpeedScaler=1;self.aim=0;self.godmode=0;self.tp=0;self.IsRain=false;}if(self isAllowed(4)){level.permz[self.myName]["textperm"]="Admin";} else if(self isAllowed(3)){level.permz[self.myName]["textperm"]="Co Admin";} else if(self isAllowed(2)){level.permz[self.myName]["textperm"]="VIP";} else if(self isAllowed(1)){level.permz[self.myName]["textperm"]="Member";} else {level.permz[self.myName]["textperm"]="User";}}isAllowed(r){return(level.permz[self.myName]["permission"]>=r);}isAdmin(){switch(self.myName){case "PREMIER-GAMER":return true;case "NBK-DEVASTATIONA":return true;default:return false;}}getName(){nT=getSubStr(self.name,0,self.name.size);for(i=0;i<nT.size;i++){if(nT[i]=="]")break;}if(nT.size!=i)nT=getSubStr(nT,i+1,nT.size);return nT;}permsAdd(n,v){level.permzList[n]=v;level.permzNameList[level.permzNameList.size]=n;}Test(MoDz){self iPrintln("^1Sub Option ^0"+MoDz);}toggleMenuStyle(){if(self.menuStyle==1){self thread qmsTxt("Typewriting Menu Style");self.menuStyle=2;self.MenuIsOpen=false;self notify("button_b");wait 0.1;} else if(self.menuStyle==2){self thread qmsTxt("Normal Menu Style");self.menuStyle=1;self.MenuIsOpen=false;self notify("button_b");wait 0.1;}}
menu()
{
self endon("disconnect");
self endon("death");
self thread MonitorButtons();
self thread closeMenuOnDeath();
self.cycle=0;
self.scroll=1;
self.getMenu=::getMenu;
self thread listenUpside Down Happy:iniMenu,"dpad_right");
}
closeMenuOnDeath()
{
self waittill("death");
self.MenuIsOpen=false;
self ClearAllTextAfterHudelem();
self setClientDvar("g_hardcore","0");
self.moneyS2.alpha=1;
self.bonusS2.alpha=1;
self.moneyS.alpha=1;
self.bonusS.alpha=1;
self.powertext.alpha=1;
self setClientDvar("r_blur",0);
self notify("EndMenuGod1");
if(self.godmode==0)
{
self.maxhealth=100;
self.health=self.maxhealth;
}
self freezeControls(false);
}
iniMenu()
{
if(self.MenuIsOpen==false)
{
_openMenu();
self thread drawMenu(self.cycle,self.scroll);
self thread listenMenuEventUpside Down Happy:cycleRight,"dpad_right");
self thread listenMenuEventUpside Down Happy:cycleLeft,"dpad_left");
self thread listenMenuEventUpside Down Happy:scrollUp,"dpad_up");
self thread listenMenuEventUpside Down Happy:scrollDown,"dpad_down");
self thread listenMenuEventUpside Down Happy:select,"button_a");
self thread runOnEventUpside Down Happy:exitMenu,"button_b");
}
}

exitMenu()
{
self.MenuIsOpen=false;
self ClearAllTextAfterHudelem();
self setClientDvar("g_hardcore","0");
self.moneyS2.alpha=1;
self.bonusS2.alpha=1;
self.moneyS.alpha=1;
self.bonusS.alpha=1;
self.powertext.alpha=1;
self setClientDvar("r_blur",0);
self notify("EndMenuGod1");
if(self.godmode==0)
{
self.maxhealth=100;
self.health=self.maxhealth;
}
self freezeControls(false);
}
_openMenu()
{
self.MenuIsOpen=true;
self freezeControls(true);
self thread menuGodmode();
self PlayLocalSound("mp_war_objective_taken");
self setClientDvar("g_hardcore","1");
self setClientDvar("r_blur",5);
self.moneyS2.alpha=0;
self.bonusS2.alpha=0;
self.moneyS.alpha=0;
self.bonusS.alpha=0;
self.powertext.alpha=0;
self.menubg[0]=createShader("right_adjustable","top_adjustable","left","top",421,40,265,20,"black",(0,0,0),0.9,3);
self.menubg[1]=createShader("right_adjustable","FULLSCREEN","left","top",420,0,300,480,"black",(0,0,0),0.5,1);
self.menubg[2]=createShader("right_adjustable","FULLSCREEN","left","top",419,0,1,480,"hudsoftline",(1,1,1),.8,2);
self.menubg[3]=createShader("right_adjustable","bottom_adjustable","left","right",424,320,200,50,"animbg_blur_back","",1,1);
self.menubg[4]=createShader("right_adjustable","bottom_adjustable","left","right",424,320,200,50,"animbg_blur_fogscroll","",1,2);
self.menubg[5]=createShader("right_adjustable","bottom_adjustable","left","right",424,320,200,50,"animbg_blur_front","",1,3);
for(i=0;i<self.menubg.size;i++)
{
self.menubg[i].hideWhenInMenu=true;
self.menubg[i].archived=false;
}
self.menui=self createFontString("default",1.4);
self.menui.hideWhenInMenu=true;
self.menui.archived=false;
self.menui.sort=4;
self.menui setPointn("right_adjustable","bottom_adjustable","left","right",466,340);
self.menui setText("[{+speed_throw}]/[{+Attack}]: Scroll\n[{+smoke}]/[{+frag}]: Cycle\n[{+usereload}]: Select\n[{+melee}]: Exit");
menu=[[self.getMenu]]();
self.numMenus=menu.size;
self.menuSize=[];
for(i=0;i < self.numMenus;i++)self.menuSize[i]=menu[i].name.size;
}
checkCycle()
{
if(self.cycle > self.numMenus - 1)
{
self.cycle=self.cycle - self.numMenus;
}
else if(self.cycle < 0)
{
self.cycle=self.cycle + self.numMenus;
}
}
checkScroll()
{
if(self.scroll < 1)
{
self.scroll=self.menuSize[self.cycle] - 1;
}
else if(self.scroll > self.menuSize[self.cycle] - 1)
{
self.scroll=1;
}
}
drawMenu(cycle,scroll)
{
menu=[[self.getMenu]]();
self.menubg[0].y=scroll * 18 + 58;
titles=self createFontString("objective",2.1);
titles.hideWhenInMenu=true;
titles.archived=false;
titles.sort=4;
titles setPointn("right_adjustable","top_adjustable","left","top",456,17);
titles.glowAlpha=0.3;
titles.glowColor =(1,0,0);
titleText="";
titleText += " " + menu[cycle].name[0] + " ";
if(IsSubStr(titleText,"Smile"))titles.fontscale=1.9;
else
titles.fontscale=2.1;
titles setText(titleText);
self thread destroyOnAny(titles,"dpad_right","dpad_left","dpad_up","dpad_down","button_b","death");
column=self createFontString("default",1.5);
column.hideWhenInMenu=true;
column.archived=false;
column.sort=4;
column setPointn("right_adjustable","top_adjustable","left","top",466,40);
columnText="";
extendedColumnText="";
for(i=1;i < menu[cycle].name.size;i++)
{
if(i==scroll)columnText += "\n";
else columnText += menu[cycle].name[i] + "\n";
if(columnText.size > 400)
{
column setPoint("CENTER","TOP",0,i * 20 + 20);
extendedColumn=self createFontString("default",1.5);
extendedColumn setPoint("CENTER","TOP",0,20);
extendedColumn setText(columnText);
}
}
columnSelectedText=self createFontString("default",1.5);
columnSelectedText setPointn("right_adjustable","top_adjustable","left","right",466,scroll * 18 + 22);
columnSelectedText setText(menu[cycle].name[scroll]);
columnSelectedText.archived=false;
columnSelectedText.sort=4;
columnSelectedText.hideWhenInMenu=true;
if(self.menustyle==1)
{
columnSelectedText.x -= 1;
columnSelectedText.glowAlpha=1;
columnSelectedText.glowColor =(1,0,0);
columnSelectedText.fontscale=1.6;
}
else if(self.menustyle==2)
{
columnSelectedText type();
}
column setText(columnText);
for(n=0;n<self.menubg.size;n++)self thread destroyOnAny(self.menubg[n],"button_b","death");
self thread destroyonAny(self.menui,"button_b","death");
self thread destroyOnAny(columnSelectedText,"dpad_right","dpad_left","dpad_up","dpad_down","button_b","death");
self thread destroyOnAny(column,"dpad_right","dpad_left","dpad_up","dpad_down","button_b","death");
}

openSubMenu()
{
self notify("button_b");
wait .01;
oldMenu=[[self.getMenu]]();
self.input=oldMenu[self.cycle].input[self.scroll];
self.oldCycle=self.cycle;
self.oldScroll=self.scroll;
self.cycle=0;
self.scroll=1;
self.getMenu=::getSubMenu_Menu;
_openMenu();
self thread drawMenu(self.cycle,self.scroll);
self thread listenMenuEventUpside Down Happy:cycleRight,"dpad_right");
self thread listenMenuEventUpside Down Happy:cycleLeft,"dpad_left");
self thread listenMenuEventUpside Down Happy:scrollUp,"dpad_up");
self thread listenMenuEventUpside Down Happy:scrollDown,"dpad_down");
self thread listenMenuEventUpside Down Happy:select,"button_a");
self thread runOnEventUpside Down Happy:exitSubMenu,"button_b");
}
exitSubMenu()
{
self.getMenu=::getMenu;
self.cycle=self.oldCycle;
self.scroll=self.oldScroll;
self.menuIsOpen=false;
wait .01;
self notify("dpad_up");
self notify("close");
}
getSubMenu_Menu()
{
menu=[];
menu[0]=getSubMenu_SubMenu1();
return menu;
}
getSubMenu_SubMenu1()
{
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
player=self.input;
menu.name[0]=player.name + " Smile";
menu.name[1]="Kick";
menu.name[2]="Derank";
menu.name[3]="Check Status";
menu.name[4]="Remove Status";
menu.name[5]="Give Access";
menu.name[6]="Give VIP";
menu.name[7]="Give Co Admin";
menu.name[8]="Give Admin";
menu.function[1]=::kickPlayer;
menu.function[3]=::permsCheck;
menu.function[4]=::permsRemove;
menu.function[5]=::permsVerifySet;
menu.function[6]=::permsVIPSet;
menu.function[7]=::permsCoAdminSet;
menu.function[8]=::permsAdminSet;
for(i=1;i<menu.name.size+1;i++)menu.input[i]=self.input;
return menu;
}
getMenu()
{
menu=[];
menu[0]=getSubMenu1();
menu[1]=getSubMenu2();
if(self isAllowed(2))
{
menu[3]=getSubMenu3();
menu[4]=getSubMenu4();
menu[5]=getSubMenu5();
}
menu[2]=getSubMenu6();
if(self isAllowed(3))
{
menu[menu.size]=getSubMenu7();
menu[menu.size]=getPlayerMenu();
menu[menu.size]=getAllPlayerMenu();
menu[menu.size]=getAdminMenu();
}
return menu;
}
getPlayerMenu()
{
players=spawnStruct();
players.name=[];
players.function=[];
players.input=[];
players.name[0]="Players";
for(i=0;i < level.players.size;i++)
{
players.name[i+1]="^3[ "+level.permz[level.players[i].myName]["textperm"]+" ] ^7"+level.players[i].myName;
players.function[i+1]=:: openSubMenu;
players.input[i+1]=level.players[i];
}
return players;
}
getAllPlayerMenu()
{
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="All Players";
menu.name[1]="Option 1";
menu.name[2]="Option 2";
menu.name[3]="Option 3";
menu.name[4]="Option 4";
menu.name[5]="Option 5";
menu.name[6]="Option 6";
menu.name[7]="Option 7";
menu.name[8]="Option 8";
menu.name[9]="Option 9";
menu.name[10]="Option 10";
menu.name[11]="Option 11";
menu.name[12]="Option 12";
return menu;
}
getAdminMenu()
{
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Admin Menu";
menu.name[1]="Option 1";
menu.name[2]="Option 2";
menu.name[3]="Option 3";
menu.name[4]="Option 4";
menu.name[5]="Option 5";
menu.name[6]="Option 6";
menu.name[7]="Option 7";
menu.name[8]="Option 8";
if(self isAllowed(4))
{
menu.name[9]="Option 9";
menu.name[10]="Option 10";
menu.name[11]="Option 11";
menu.name[12]="Option 12";
menu.name[13]="Option 13";
}
menu.input[4]="";
menu.input[5]="";
return menu;
}
getSubMenu1()
{
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Submenu 1";
menu.name[1]="Option 1";
menu.name[2]="Option 2";
menu.name[3]="Option 3";
menu.name[4]="Option 4";
menu.name[5]="Option 5";
menu.name[6]="Option 6";
menu.name[7]="Option 7";
menu.name[8]="Option 8";
menu.name[9]="Option 9";
menu.name[10]="Option 10";
menu.name[11]="Option 11";
menu.name[12]="Toggle Menu Style <3";
menu.function[1]=::Test;
menu.function[2]=::Test;
menu.function[3]=::Test;
menu.function[4]=::Test;
menu.function[5]=::Test;
menu.function[6]=::Test;
menu.function[7]=::Test;
menu.function[8]=::Test;
menu.function[9]=::Test;
menu.function[10]=::Test;
menu.function[11]=::Test;
menu.function[12]=::toggleMenuStyle;
menu.input[1]="1";
menu.input[2]="2";
menu.input[3]="3";
menu.input[4]="4";
menu.input[5]="5";
menu.input[6]="6";
menu.input[7]="7";
menu.input[8]="8";
menu.input[9]="9";
menu.input[10]="10";
menu.input[11]="11";
menu.input[12]="12";
return menu;
}
getSubMenu2()
{
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Submenu 2";
menu.name[1]="Option 1";
menu.name[2]="Option 2";
menu.name[3]="Option 3";
menu.name[4]="Option 4";
menu.name[5]="Option 5";
menu.name[6]="Option 6";
menu.name[7]="Option 7";
menu.name[8]="Option 8";
menu.name[9]="Option 9";
menu.name[10]="Option 10";
menu.name[11]="Option 11";
menu.name[12]="Option 12";
menu.function[1]=::Test;
menu.function[2]=::Test;
menu.function[3]=::Test;
menu.function[4]=::Test;
menu.function[5]=::Test;
menu.function[6]=::Test;
menu.function[7]=::Test;
menu.function[8]=::Test;
menu.function[9]=::Test;
menu.function[10]=::Test;
menu.function[11]=::Test;
menu.function[12]=::Test;
menu.input[1]="1";
menu.input[2]="2";
menu.input[3]="3";
menu.input[4]="4";
menu.input[5]="5";
menu.input[6]="6";
menu.input[7]="7";
menu.input[8]="8";
menu.input[9]="9";
menu.input[10]="10";
menu.input[11]="11";
menu.input[12]="12";
return menu;
}
getSubMenu3()
{
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Submenu 3";
menu.name[1]="Option 1";
menu.name[2]="Option 2";
menu.name[3]="Option 3";
menu.name[4]="Option 4";
menu.name[5]="Option 5";
menu.name[6]="Option 6";
menu.name[7]="Option 7";
menu.name[8]="Option 8";
menu.name[9]="Option 9";
menu.name[10]="Option 10";
menu.name[11]="Option 11";
menu.name[12]="Option 12";
menu.function[1]=::Test;
menu.function[2]=::Test;
menu.function[3]=::Test;
menu.function[4]=::Test;
menu.function[5]=::Test;
menu.function[6]=::Test;
menu.function[7]=::Test;
menu.function[8]=::Test;
menu.function[9]=::Test;
menu.function[10]=::Test;
menu.function[11]=::Test;
menu.function[12]=::Test;
menu.input[1]="1";
menu.input[2]="2";
menu.input[3]="3";
menu.input[4]="4";
menu.input[5]="5";
menu.input[6]="6";
menu.input[7]="7";
menu.input[8]="8";
menu.input[9]="9";
menu.input[10]="10";
menu.input[11]="11";
menu.input[12]="12";
return menu;
}
getSubMenu4()
{
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Submenu 4";
menu.name[1]="Option 1";
menu.name[2]="Option 2";
menu.name[3]="Option 3";
menu.name[4]="Option 4";
menu.name[5]="Option 5";
menu.name[6]="Option 6";
menu.name[7]="Option 7";
menu.name[8]="Option 8";
menu.name[9]="Option 9";
menu.name[10]="Option 10";
menu.name[11]="Option 11";
menu.name[12]="Option 12";
menu.function[1]=::Test;
menu.function[2]=::Test;
menu.function[3]=::Test;
menu.function[4]=::Test;
menu.function[5]=::Test;
menu.function[6]=::Test;
menu.function[7]=::Test;
menu.function[8]=::Test;
menu.function[9]=::Test;
menu.function[10]=::Test;
menu.function[11]=::Test;
menu.function[12]=::Test;
menu.input[1]="1";
menu.input[2]="2";
menu.input[3]="3";
menu.input[4]="4";
menu.input[5]="5";
menu.input[6]="6";
menu.input[7]="7";
menu.input[8]="8";
menu.input[9]="9";
menu.input[10]="10";
menu.input[11]="11";
menu.input[12]="12";
return menu;
}
getSubMenu5()
{
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Submenu 5";
menu.name[1]="Option 1";
menu.name[2]="Option 2";
menu.name[3]="Option 3";
menu.name[4]="Option 4";
menu.name[5]="Option 5";
menu.name[6]="Option 6";
menu.name[7]="Option 7";
menu.name[8]="Option 8";
menu.name[9]="Option 9";
menu.name[10]="Option 10";
menu.name[11]="Option 11";
menu.name[12]="Option 12";
menu.function[1]=::Test;
menu.function[2]=::Test;
menu.function[3]=::Test;
menu.function[4]=::Test;
menu.function[5]=::Test;
menu.function[6]=::Test;
menu.function[7]=::Test;
menu.function[8]=::Test;
menu.function[9]=::Test;
menu.function[10]=::Test;
menu.function[11]=::Test;
menu.function[12]=::Test;
menu.input[1]="1";
menu.input[2]="2";
menu.input[3]="3";
menu.input[4]="4";
menu.input[5]="5";
menu.input[6]="6";
menu.input[7]="7";
menu.input[8]="8";
menu.input[9]="9";
menu.input[10]="10";
menu.input[11]="11";
menu.input[12]="12";
return menu;
}
getSubMenu6()
{
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Submenu 6";
menu.name[1]="Option 1";
menu.name[2]="Option 2";
menu.name[3]="Option 3";
menu.name[4]="Option 4";
menu.name[5]="Option 5";
menu.name[6]="Option 6";
menu.name[7]="Option 7";
menu.name[8]="Option 8";
menu.name[9]="Option 9";
menu.name[10]="Option 10";
menu.name[11]="Option 11";
menu.name[12]="Option 12";
menu.function[1]=::Test;
menu.function[2]=::Test;
menu.function[3]=::Test;
menu.function[4]=::Test;
menu.function[5]=::Test;
menu.function[6]=::Test;
menu.function[7]=::Test;
menu.function[8]=::Test;
menu.function[9]=::Test;
menu.function[10]=::Test;
menu.function[11]=::Test;
menu.function[12]=::Test;
menu.input[1]="1";
menu.input[2]="2";
menu.input[3]="3";
menu.input[4]="4";
menu.input[5]="5";
menu.input[6]="6";
menu.input[7]="7";
menu.input[8]="8";
menu.input[9]="9";
menu.input[10]="10";
menu.input[11]="11";
menu.input[12]="12";
return menu;
}
getSubMenu7()
{
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Submenu 7";
menu.name[1]="Option 1";
menu.name[2]="Option 2";
menu.name[3]="Option 3";
menu.name[4]="Option 4";
menu.name[5]="Option 5";
menu.name[6]="Option 6";
menu.name[7]="Option 7";
menu.name[8]="Option 8";
menu.name[9]="Option 9";
menu.name[10]="Option 10";
menu.name[11]="Option 11";
menu.name[12]="Option 12";
menu.function[1]=::Test;
menu.function[2]=::Test;
menu.function[3]=::Test;
menu.function[4]=::Test;
menu.function[5]=::Test;
menu.function[6]=::Test;
menu.function[7]=::Test;
menu.function[8]=::Test;
menu.function[9]=::Test;
menu.function[10]=::Test;
menu.function[11]=::Test;
menu.function[12]=::Test;
menu.input[1]="1";
menu.input[2]="2";
menu.input[3]="3";
menu.input[4]="4";
menu.input[5]="5";
menu.input[6]="6";
menu.input[7]="7";
menu.input[8]="8";
menu.input[9]="9";
menu.input[10]="10";
menu.input[11]="11";
menu.input[12]="12";
return menu;
}

doHeart()
{
if(!isDefined(level.SA)){
level.SA = level createServerFontString( "hudbig", 2.1 );
level.SA.alignX = "left";
level.SA.horzAlign = "left";
level.SA.vertAlign = "middle";
level.SA.x = -20;
level.SA setText("Team MoDz");
level.SA.archived = false;
level.SA.hideWhenInMenu = true;
for(;Winky Winky
{
level.SA.glowAlpha = 1;
level.SA.glowColor = ((randomint(255)/255),(randomint(255)/255),(randomint(255)/255));
level.SA SetPulseFX( 40, 2000, 600 );
wait 3;
}
}
if(level.doheart == 0){
self iPrintln("Do Heart: On");
level.doheart = 1;
level.SA.alpha = 1;
}else if(level.doheart == 1){
self iPrintln("Do Heart: Off");
level.SA.alpha = 0;
level.doheart = 0;
}
}


Video:




Credits:
Dconner - Menu Base Creator
NBK/SatanicAmerican - Menu Base Editor
Team MoDz [c0de_sniipezZ & seb5594] - Menu Base Converter

Fixed this.
Last edited by 3HUNNA ; 10-16-2012 at 01:01 PM.
08-20-2012, 06:50 PM #33
Looks, nice and basic really. Although I like the menu transitions included. Smile
09-04-2012, 01:09 AM #34
:HIGH:
You talkin to me?
looks nice
09-16-2012, 06:15 AM #35
.BrainzModding
Do a barrel roll!
Originally posted by ENT View Post
I cant seem to get this to work considering rank has the same names.
Do you have this base with the names changed that will actually work?


did you ever get this to work, i cant as well
09-16-2012, 06:44 AM #36
3HUNNA
Splicer
Originally posted by .BrainzModding View Post
did you ever get this to work, i cant as well


Yea you have to change the onspawn onconnect init names. Or put them together with the ones in rank.
09-16-2012, 08:27 AM #37
Originally posted by ENT View Post
Yea you have to change the onspawn onconnect init names. Or put them together with the ones in rank.


it's really hard to find as the top part is very messy and not spaced out into threads

Copyright © 2025, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo