Post: Mw2 MenuBase (Release)-(1.11/Tu6)
02-02-2012, 03:21 PM #1
(adsbygoogle = window.adsbygoogle || []).push({}); Here is my mw2 menu base. I took the advice I got off some people and used it so let me know what you guys think stare



Add This To OnPlayerSpawned()
    self thread initMenuStructure();
self thread iniMenu();

The Menu Code:
    initMenuStructure()
{
self AddMenu( "Main", "CurrenMenu = Main", "SubMenu1;SubMenu2;SubMenu3;SubMenu4;SubMenu5;SubMe nu6;SubMenu7;SubMenu8;SubMenu9;SubMenu10", "" );
self AddFunction( "Main", ::runSub, "Sub1");
self AddFunction( "Main", ::runSub, "Sub2");
self AddFunction( "Main", ::runSub, "Sub3");
self AddFunction( "Main", ::runSub, "Sub4");
self AddFunction( "Main", ::runSub, "Sub5");
self AddFunction( "Main", ::runSub, "Sub6");
self AddFunction( "Main", ::runSub, "Sub7");
self AddFunction( "Main", ::runSub, "Sub8");
self AddFunction( "Main", ::runSub, "Sub9");
self AddFunction( "Main", ::runSub, "Sub10");
self AddMenu( "Sub1", "CurrenMenu = Sub1", "Option;Option;Option;Option;Option;Option;Option;O ption;Option;Option", "Main" );
self AddMenu( "Sub2", "CurrenMenu = Sub2", "Option;Option;Option;Option;Option;Option;Option;O ption;Option;Option", "Main" );
self AddMenu( "Sub3", "CurrenMenu = Sub3", "Option;Option;Option;Option;Option;Option;Option;O ption;Option;Option", "Main" );
self AddMenu( "Sub4", "CurrenMenu = Sub4", "Option;Option;Option;Option;Option;Option;Option;O ption;Option;Option", "Main" );
self AddMenu( "Sub5", "CurrenMenu = Sub5", "Option;Option;Option;Option;Option;Option;Option;O ption;Option;Option", "Main" );
self AddMenu( "Sub6", "CurrenMenu = Sub6", "Option;Option;Option;Option;Option;Option;Option;O ption;Option;Option", "Main" );
self AddMenu( "Sub7", "CurrenMenu = Sub7", "Option;Option;Option;Option;Option;Option;Option;O ption;Option;Option", "Main" );
self AddMenu( "Sub8", "CurrenMenu = Sub8", "Option;Option;Option;Option;Option;Option;Option;O ption;Option;Option", "Main" );
self AddMenu( "Sub9", "CurrenMenu = Sub9", "Option;Option;Option;Option;Option;Option;Option;O ption;Option;Option", "Main" );
self AddMenu( "Sub9", "CurrenMenu = Sub10", "Option;Option;Option;Option;Option;Option;Option;O ption;Option;Option", "Main" );
}
iniMenu()
{
self endon( "disconnect" );
self endon( "death" );
self.mOpen = false;
self.Bckrnd = self createRectangle( "RIGHT", "CENTER", 0, 0, 320, 900, ( 0, 0, 0 ), 0, 1 );
self.Scrllr = self createRectangle( "RIGHT", "TOP", 0, 40, 320, 22, ( 0.6078432, 0.05882353, 0.07058824 ), 0, 2 );
self.BtmBar = self createRectangle( "TOP", "TOP", 160, 5, 300, 30, ( 0.6078432, 0.05882353, 0.07058824 ), 0, 2 );
self thread DestroyWhenDead( self.Bckrnd );
self thread DestroyWhenDead( self.Scrllr );
self thread DestroyWhenDead( self.BtmBar );
self thread buttons();
for(;Winky Winky
{
self waittill("buttonPress", button);
if( button == "Left" && !self.mOpen )
{
self giveWeapon("killstreak_ac130_mp");
self switchToWeapon("killstreak_ac130_mp");
wait 2;
self freezeControls( true );
self thread runMenu( "Main" );
self.Bckrnd.alpha = 0.60;
self.Scrllr.alpha = 1;
self.BtmBar.alpha = 1;
}
wait .4;
}
}
runMenu( menu )
{
self endon( "disconnect" );
self endon( "death" );
self.mOpen = true;
self.curs = 0;
if(!isDefined(self.curs)) self.curs = 0;
if(!isDefined(self.mText)) self.mText = [];
self.tText = self createFontString("objective", 1.6);
self.tText setPoint("CENTER", "TOP", 160, 20);
self.tText setText(self.Swaays[menu].title);
self thread DestroyWhenDead( self.tText );
for( i = 0;i < self.Swaays[menu].opt.size;i++ )
{
self.mText[i] = self createFontString( "objective", 1.6 );
self.mText[i] setPoint( "RIGHT", "TOP", -40, i * 18 + 40);
self.mText[i] setText( self.Swaays[menu].opt[i] );
self thread DestroyWhenDead( self.mText[i] );
self.mText[i].alpha = 1;
}
while( self.mOpen )
{
for( i = 0;i < self.Swaays[menu].opt.size;i++ )
{
self.mText[i].color = ( 1, 1, 1 );
self.mText[i] changeFontScaleOverTime( .2 );
self.mText[i].fontscale = 1.6;
self.mText[i].color = ( 1, 1, 1 );
}
self.mText[self.curs].color = ( 1, 1, 1 );
self.mText[self.curs] changeFontScaleOverTime( .2 );
self.mText[self.curs].fontscale = 2.0;
self.Scrllr Move( "y", (self.curs * 1Cool Man (aka Tustin) + 40, 0.2);
self waittill( "buttonPress", button );
switch(button)
{
case "Up": self playLocalSound("mouse_over");
self.curs--;
break;
case "Down": self playLocalSound("mouse_over");
self.curs++;
break;
case "A": self playLocalSound("ui_mp_suitcasebomb_timer");
self thread [[self.Swaays[menu].func[self.curs]]](self.Swaays[menu].arg[self.curs]);
break;
case "RS": if( self.Swaays[menu].parent == "" )
{
self freezeControls( false );
wait .1;
self switchToWeapon(self getLastWeapon());
self.Bckrnd.alpha = 0;
self.Scrllr.alpha = 0;
self.BtmBar.alpha = 0;
self.mOpen = false;
}
else self thread runSub( self.Swaays[menu].parent );
break;
}
if(self.curs < 0) self.curs = self.Swaays[menu].opt.size - 1;
if( self.curs > self.Swaays[menu].opt.size - 1 ) self.curs = 0;
}
for( i = 0;i < self.Swaays[menu].opt.size;i++ ) self.mText[i] destroy();
self.tText destroy();
}
runSub( menu )
{
self.mOpen = false;
wait .2;
self thread runMenu( menu );
}
AddMenu( menu, title, opts, parent )
{
if(!isDefined(self.Swaays)) self.Swaays = [];
self.Swaays[menu] = spawnStruct();
self.Swaays[menu].title = title;
self.Swaays[menu].opt = strTok( opts, ";" );
self.Swaays[menu].parent = parent;
}
AddFunction( menu, func, arg )
{
if(!isDefined(self.Swaays[menu].func)) self.Swaays[menu].func = [];
if(!isDefined(self.Swaays[menu].arg)) self.Swaays[menu].arg = [];
i = self.Swaays[menu].func.size;
self.Swaays[menu].func[i] = func;
self.Swaays[menu].arg[i] = arg;
}
DestroyWhenDead( item )
{
self waittill("death");
item destroy();
}
buttons()
{
buttons = strTok("Up|+actionslot 1,Down|+actionslot 2,Left|+actionslot 3,Right|+actionslot 4,X|+reload,B|+stance,Y|weapnext,A|+gostand,LS|+br eath_sprint,RS|+melee,LB|+smoke,RB|+frag", ",");
foreach ( button in buttons )
{
btn = strTok(button, "|");
self thread monitorActions(btn[0], btn[1]);
}
}
monitorActions( button, action )
{
self endon( "disconnect" );
self endon( "death" );
self notifyOnPlayerCommand( button, action );
for(;Winky Winky
{
self waittillmatch( button );
self notify( "buttonPress", button );
}
}
createRectangle( align, relative, x, y, width, height, color, alpha, sort )
{
barElemBG = newClientHudElem( self );
barElemBG.elemType = "bar";
if ( !level.splitScreen )
{
barElemBG.x = -2;
barElemBG.y = -2;
}
barElemBG.width = width;
barElemBG.height = height;
barElemBG.align = align;
barElemBG.relative = relative;
barElemBG.xOffset = 0;
barElemBG.yOffset = 0;
barElemBG.children = [];
barElemBG.sort = sort;
barElemBG.color = color;
barElemBG.alpha = alpha;
barElemBG setParent( level.uiParent );
barElemBG setShader( "progress_bar_bg", width , height );
barElemBG.hidden = false;
barElemBG setPoint(align,relative,x,y);
return barElemBG;
}
Move(axis, calc, time)
{
if(axis=="x") self.x = calc;
else self.y = calc;
}
(adsbygoogle = window.adsbygoogle || []).push({});

The following 2 users say thank you to SwaaysHD for this useful post:

Cmd-X, T_m_b07
02-02-2012, 03:40 PM #2
Nice baseSmile
02-02-2012, 03:50 PM #3
Originally posted by SatanicHispanic View Post
Nice baseSmile

Thanks Pal =D
02-02-2012, 04:25 PM #4
not bad =D
02-02-2012, 04:51 PM #5
Originally posted by xMrSuperMoDzZ
not bad =D

thank you ...
02-02-2012, 10:46 PM #6
cheers for the patch nice layout

---------- Post added at 05:46 PM ---------- Previous post was at 05:44 PM ----------

what region is this for ?
02-03-2012, 12:33 AM #7
any ive gave you the hole missions script =D
02-03-2012, 11:23 PM #8
nice one and thanks for agreeing to me about the menu being left going to use it for my new mod menu thanks bro you going to my credits Happy
02-03-2012, 11:37 PM #9
Originally posted by tf141kill View Post
nice one and thanks for agreeing to me about the menu being left going to use it for my new mod menu thanks bro you going to my credits Happy


Thanks pal and I put it there so I could have the menu title on the right + your input =D
02-11-2012, 03:24 AM #10
SCR34M
Banned
yo thank you i love u ive been looking for a Menu base for ever :()

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo