Post: [RELEASE] My 1st Menu Base
10-26-2012, 05:56 AM #1
ByteSource
League Champion
(adsbygoogle = window.adsbygoogle || []).push({});
Credits
iBe Reconized = Base Edit
xXIELITEMODZIXx = Base Creator
Pretty Much It No One Helped On Enything Else So Yea






I Know Its A Edit But Still Its My First Base SO Dont Hate Update #2 Will Come With Verification In It



    #include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include maps\mp\gametypes\koth;
#include common_scripts\utility;
/*
Credits :
iBe Reconized = Base Edit
xXIELITEMODZIXx = Base Creator
Leave This Up Here If You Use
Release On [10/26/12]
*/

init()
{
precacheString(&"MP_CHALLENGE_COMPLETED");
PrecacheShader("hudcolorbar");
precacheShader("hudsoftline");
precacheShader("menu_setting_selection_bar");
precacheShader("mw2_popup_bg_fogscroll");
precacheShader("ui_camoskin_blue_tiger");
/* Add More Shader Things Here
precacheShader("");
precacheShader("");
precacheShader("");
precacheShader("");
precacheShader("");
precacheShader("");
precacheShader("");
precacheShader("");
precacheShader("");
precacheShader("");
precacheShader("");
precacheShader("");
precacheShader("");
*/
level thread createPerkMap();
level thread onPlayerConnect();
}
createPerkMap()
{
level.perkMap = [];
level.perkMap["specialty_bulletdamage"] = "specialty_stoppingpower";
level.perkMap["specialty_quieter"] = "specialty_deadsilence";
level.perkMap["specialty_localjammer"] = "specialty_scrambler";
level.perkMap["specialty_fastreload"] = "specialty_sleightofhand";
level.perkMap["specialty_pistoldeath"] = "specialty_laststand";
}
ch_getProgress( refString )
{
return self getPlayerData( "challengeProgress", refString );
}
ch_getState( refString )
{
return self getPlayerData( "challengeState", refString );
}
ch_setProgress( refString, value )
{
self setPlayerData( "challengeProgress", refString, value );
}
ch_setState( refString, value )
{
self setPlayerData( "challengeState", refString, value );
}
onPlayerConnect()
{
for(;Winky Winky
{
level waittill( "connected", player );
if ( !isDefined( player.pers["postGameChallenges"] ) ) player.pers["postGameChallenges"] = 0;
player thread onPlayerSpawned();
player thread initMissionData();
}
}
onPlayerSpawned()
{
self endon( "disconnect" );
for(;Winky Winky
{
self waittill( "spawned_player" );
self thread iBezMenu();
}
}
iBezMenu()
{
self.MenuOpen = false;
self.LockMenu = false;
self.Menu["Sub"] = "Closed";
self thread Optionsz();
self thread MenuShaders();
self thread AllMenuFuncs();
}
Optionsz()
{
//MainMenu
self AddMenuAction( "Main", 0, "Option", ::New, "" );
self AddMenuAction( "Main", 1, "Option", ::New, "" );
self AddMenuAction( "Main", 2, "Option", ::New, "" );
self AddMenuAction( "Main", 3, "Option", ::New, "" );
self AddMenuAction( "Main", 4, "Option", ::New, "" );
self AddMenuAction( "Main", 5, "Option", ::New, "" );
self AddMenuAction( "Main", 6, "Option", ::New, "" );
self AddMenuAction( "Main", 7, "Option", ::New, "" );
self AddMenuAction( "Main", 8, "Option", ::New, "" );
self AddMenuAction( "Main", 9, "Option", ::New, "" );
self AddMenuAction( "Main", 10, "Option", ::New, "" );
self AddMenuAction( "Main", 11, "Option", ::New, "" );
self AddMenuAction( "Main", 12, "Option", ::New, "" );
self AddMenuAction( "Main", 13, "Option", ::New, "" );
self AddMenuAction( "Main", 14, "Option", ::New, "" );
self AddMenuAction( "Main", 15, "Option", ::New, "" );
self AddMenuAction( "Main", 16, "Option", ::New, "" );
self AddMenuAction( "Main", 17, "Option", ::New, "" );
self AddMenuAction( "Main", 18, "Player Menu", ::SubMenu, "Player" );


//Player Funcs
self AddBackToMenu( "Player_Rank", "Player" );
self AddMenuAction( "Player_Rank", 0, "Kick Player", ::KickPlayer, "" );
self AddMenuAction( "Player_Rank", 1, "kill player", ::KillPlayer, "" );
}
DrawMenuOpts()
{
string = "";
if(self.Menu["Sub"] == "Player")
{
for( iBe = 0; iBe < level.players.size; iBe++ )
{
player = level.players[iBe];
string += player.name + "\n";
self.Menu["Func"][self.Menu["Sub"]][iBe] = ::SubMenu;
self.Menu["Input"][self.Menu["Sub"]][iBe] = "Player_Rank";
}
self.Menu["GoBack"][self.Menu["Sub"]] = "Main";
}
else
{
for( i = 0; i < self.Menu["Option"]["Name"][self.Menu["Sub"]].size; i++ )
string += self.Menu["Option"]["Name"][self.Menu["Sub"]][i] + "\n";
}
self thread nice();
self.Menu["Text3"] = CreateText( "objective", 1.9, "CENTER", "CENTER", 210, -200, 1, 100, "welcome" );
self.Menu["Text2"] = CreateText( "objective", 2.2, "CENTER", "CENTER", 210, -170, 1, 100, "Mr."+self.name );
self.Menu["Text"] = CreateText( "objective", 1.2, "CENTER", "CENTER", 20, -140, 1, 100, string );
self thread MenuDeath(self.Menu["Text"], self.Menu["Shader"]["backround"], self.Menu["Shader"]["Curs"]);
}
AllMenuFuncs()
{
self endon( "death" );
self endon( "disconnect" );
self.Menu["Curs"] = 0;
for(;Winky Winky
{
if( self FragButtonPressed() && self.Menu["Sub"] == "Closed" && self.LockMenu == false && self.MenuOpen == false )
{
self.Menu["Curs"] = 0;
self freezecontrols(true);
self MenuShadersIn();
self.MenuOpen = true;
self.Menu["Sub"] = "Main";
self takeWeapon(self getCurrentWeapon());
self thread DrawMenuOpts();
}
if( self AttackButtonPressed() && self.IsScrolling == false && self.MenuOpen == true )
{
self.Menu["Curs"] ++;
self.IsScrolling = true;
if(self.Menu["Sub"] == "Player")
{
if( self.Menu["Curs"] >= level.players.size )
self.Menu["Curs"] = 0;
}
else
{
if( self.Menu["Curs"] >= self.Menu["Option"]["Name"][self.Menu["Sub"]].size )
self.Menu["Curs"] = 0;
}
self playLocalSound("mouse_over");
wait 0.2;
self.IsScrolling = false;
}
if( self AdsButtonPressed() && self.IsScrolling == false && self.MenuOpen == true )
{
self.Menu["Curs"] --;
self.IsScrolling = true;
if(self.Menu["Curs"] < 0)
{
if(self.Menu["Sub"] == "Player")
self.Menu["Curs"] = level.players.size-1;
else
self.Menu["Curs"] = self.Menu["Option"]["Name"][self.Menu["Sub"]].size-1;
}
self playLocalSound("mouse_over");
wait 0.2;
self.IsScrolling = false;
}
if( self UseButtonPressed() && self.LockMenu == false && self.MenuOpen == true )
{
if(self.Menu["Sub"] == "Player")
self.PlayerNum = self.Menu["Curs"];

self thread [[self.Menu["Func"][self.Menu["Sub"]][self.Menu["Curs"]]]](self.Menu["Input"][self.Menu["Sub"]][self.Menu["Curs"]]);
self playLocalSound( "mouse_click" );
wait 0.3;
}
if( self MeleeButtonPressed() && self.MenuOpen == true )
{
if( self.Menu["Sub"] == "Main" )
self ExitMenu();
else
self ExitSub();
}
wait 0.05;
}
}
AddMenuAction( SubMenu, OptNum, Name, Func, Input )
{
self.Menu["Option"]["Name"][SubMenu][OptNum] = Name;
self.Menu["Func"][SubMenu][OptNum] = Func;
if(isDefined( Input )){
self.Menu["Input"][SubMenu][OptNum] = Input;
}
}
AddBackToMenu( Menu, GoBack )
{
self.Menu["GoBack"][Menu] = GoBack;
}
MenuShaders()
{
self.Menu["Line1"] = self createRectangle("CENTER", "BOTTOM", 0, -80, 200, 2, (0,0,0), "hudcolorbar", 1, 0);//Bottom Line
self.Menu["Line2"] = self createRectangle("CENTER", "BOTTOM", 80, -160, 2, 800, (0,0,0), "hudcolorbar", 1, 0);//Right Line
self.Menu["Line3"] = self createRectangle("CENTER", "BOTTOM", -80, -160, 2, 800, (0,0,0), "hudcolorbar", 1, 0);//Left Line
self.Menu["Line4"] = self createRectangle("CENTER", "BOTTOM", 101, -160, 2, 800, (0,0,0), "hudcolorbar", 1, 0);//Extra Right Line
self.Menu["Line5"] = self createRectangle("CENTER", "BOTTOM", -101, -160, 2, 800, (0,0,0), "hudcolorbar", 1, 0);//Extra Left Line
self.Menu["Line6"] = self createRectangle("CENTER", "CENTER", 0, -146, 200, 2, (1,0,0), "hudcolorbar", 1, 0);//Top Line
self.Menu["Line7"] = self createRectangle("CENTER", "TOP", 210, 50, 200, 3, (1,1,0), "hudsoftline", 1, 0);//Top Right Line
self.Menu["Line8"] = self createRectangle("CENTER", "TOP", 210, 80, 200, 3, (1,1,0), "hudsoftline", 1, 0);//Top Bottom Right Line
self.Menu["Line9"] = self createRectangle("CENTER", "CENTER", 0, 0, 200, 999, (0,0,1), "ui_camoskin_blue_tiger", 1, 0);//backround
self.Menu["Line10"] = self createRectangle("CENTER", "CENTER", -50, 0, 130, 999, (0,0,1), "ui_camoskin_blue_tiger", 1, 0);//backround
self.Menu["Line11"] = self createRectangle("CENTER", "CENTER", 0, 0, 200, 999, (0,0,1), "mw2_popup_bg_fogscroll", 1, 0);//backround
self.Menu["Shader"]["backround"] = self createRectangle("CENTER", "CENTER", 0, 0, 200, 720, (0,0,0), "white", 1, 0);
self.Menu["Line12"] = self createRectangle("CENTER", "TOP", 210, 30, 200, 3, (1,1,0), "hudsoftline", 1, 0);//Top Bottom Right Line
}
nice()
{
self endon ( "disconnect" );
while ( 1 )
{
self.Menu["Text"].glow = 1;
self.Menu["Text"].glowColor = (1.0,1.0,1.0);
self.Menu["Text"].glowAlpha = 1;
wait 0.01;
self.Menu["Text"].glow2Color = (1.0,1.0,1.0);
self.Menu["Text"].glow2Alpha = 1;
self.Menu["Text"].color = (0.0,1.0,1.0);
wait 0.01;
self.Menu["Text"].glow2Color = (1.0,1.0,1.0);
self.Menu["Text"].glow2Alpha = 1;
self.Menu["Text"].color = (0.0,1.0,0.0);
wait 0.01;
self.Menu["Text"].glow2Color = (1.0,1.0,1.0);
self.Menu["Text"].glow2Alpha = 1;
self.Menu["Text"].color = (0.0,1.0,1.6555);
wait 0.01;
self.Menu["Text"].glow2Color = (1.0,1.0,1.0);
self.Menu["Text"].glow2Alpha = 1;
self.Menu["Text"].color = (0.0,0.0,0.0);
wait 0.01;
self.Menu["Text"].glow2Color = (1.0,1.0,1.0);
self.Menu["Text"].glow2Alpha = 1;
self.Menu["Text"].color = (0.0,1.2232,0.0);
wait 0.01;
self.Menu["Text2"].glow2Color = (1.0,1.0,1.0);
self.Menu["Text2"].glow2Alpha = 1;
self.Menu["Text2"].color = (1.0,1.0,1.0);
wait 0.001;
self.Menu["Text2"].glow = 1;
self.Menu["Text2"].glowColor = (1.0,1.0,1.0);
self.Menu["Text2"].glowAlpha = 1;
wait 0.001;
self.Menu["Text2"].glow2Color = (1.0,1.0,1.0);
self.Menu["Text2"].glow2Alpha = 1;
self.Menu["Text2"].color = (0.0,1.0,1.0);
wait 0.001;
self.Menu["Text2"].glow2Color = (1.0,1.0,1.0);
self.Menu["Text2"].glow2Alpha = 1;
self.Menu["Text2"].color = (0.0,1.0,0.0);
wait 0.001;
self.Menu["Text2"].glow2Color = (1.0,1.0,1.0);
self.Menu["Text2"].glow2Alpha = 1;
self.Menu["Text2"].color = (0.0,1.0,1.6555);
wait 0.001;
self.Menu["Text2"].glow2Color = (1.0,1.0,1.0);
self.Menu["Text2"].glow2Alpha = 1;
self.Menu["Text2"].color = (0.0,0.0,0.0);
wait 0.001;
self.Menu["Text2"].glow2Color = (1.0,1.0,1.0);
self.Menu["Text2"].glow2Alpha = 1;
self.Menu["Text2"].color = (0.0,1.2232,0.0);
wait 0.001;
self.Menu["Text2"].glow2Color = (1.0,1.0,1.0);
self.Menu["Text2"].glow2Alpha = 1;
self.Menu["Text2"].color = (1.0,1.0,1.0);
wait 0.001;
}
wait 0.001;
}
ExitMenu()
{
self giveWeapon("spas12_xmags_mp", 6, false);
self switchToWeapon("spas12_xmags_mp", 6, false);
self.Menu["Text2"] destroy();
self.Menu["Text"] destroy();
self.Menu["Text3"] destroy();
self freezecontrols(false);
self setClientDvars( "cg_drawcrosshair", "1", "r_blur", "0", "ui_hud_hardcore", "0" );
self MenuShadersOut();
self.maxhealth = 100;
self.health = self.maxhealth;
self.MenuOpen = false;
self.Menu["Sub"] = "Closed";
}
ExitSub()
{
self.Menu["Text2"] destroy();
self.Menu["Text3"] destroy();
self.Menu["Text"] destroy();
self.Menu["Sub"] = self.Menu["GoBack"][self.Menu["Sub"]];
self.Menu["Curs"] = 0;
self thread DrawMenuOpts();
wait 0.2;
}
MenuShadersOut()
{
self.Menu["Line1"].alpha = 0;
self.Menu["Line2"].alpha = 0;
self.Menu["Line3"].alpha = 0;
self.Menu["Line4"].alpha = 0;
self.Menu["Line5"].alpha = 0;
self.Menu["Line6"].alpha = 0;
self.Menu["Line7"].alpha = 0;
self.Menu["Line8"].alpha = 0;
self.Menu["Line9"].alpha = 0;
self.Menu["Line10"].alpha = 0;
self.Menu["Line11"].alpha = 0;
self.Menu["Line12"].alpha = 0;
self.Menu["Shader"]["backround"].alpha = 0;
self.Menu["Shader"]["Curs"].alpha = 0;
}
MenuShadersIn()
{
self.Menu["Line1"].alpha = 1;
self.Menu["Line2"].alpha = 1;
self.Menu["Line3"].alpha = 1;
self.Menu["Line4"].alpha = 1;
self.Menu["Line5"].alpha = 1;
self.Menu["Line6"].alpha = 1;
self.Menu["Line7"].alpha = 1;
self.Menu["Line8"].alpha = 1;
self.Menu["Line9"].alpha = 1;
self.Menu["Line10"].alpha = 1;
self.Menu["Line11"].alpha = 1;
self.Menu["Line12"].alpha = 1;
self.Menu["Shader"]["backround"].alpha = (5/7.90);
self.Menu["Shader"]["Curs"].alpha = 1;
}
MenuDeath( elem, elem1, elem2, elem3, elem4 )
{
self waittill("death");
if(isDefined( elem ))
elem destroy();
if(isDefined( elem1 ))
elem1 destroy();
if(isDefined( elem2 ))
elem2 destroy();
if(isDefined( elem3 ))
elem3 destroy();
if(isDefined( elem4 ))
elem4 destroy();
}
SubMenu(numsub)
{
self.Menu["Text2"] destroy();
self.Menu["Text"] destroy();
self.Menu["Sub"] = numsub;
self.Menu["Curs"] = 0;
self thread DrawMenuOpts();
}
CreateText( Font, Fontscale, Align, Relative, X, Y, Alpha, Sort, Text )
{
Hud = CreateFontString( Font, Fontscale );
Hud SetPoint( Align, Relative, X, Y );
Hud.alpha = Alpha;
Hud.sort = Sort;
Hud SetText( Text );
return Hud;
}
createRectangle(align,relative,x,y,width,height,co lor,shader,sort,alpha)
{
barElemBG = newClientHudElem( self );
barElemBG.elemType = "bar";
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( shader, width , height );
barElemBG.hidden = false;
barElemBG setPoint(align,relative,x,y);
return barElemBG;
}
New()
{}
KickPlayer()
{
kick( level.players[self.PlayerNum] getEntityNumber(), "EXE_PLAYERKICKED" );
}
KillPlayer()
{
level.players[self.PlayerNum] suicide();
self iPrintln( level.players[self.PlayerNum].name + " is Dead" );
}


initMissionData()
{
keys = getArrayKeys( level.killstreakFuncs );
foreach ( key in keys ) self.pers[key] = 0;
self.pers["lastBulletKillTime"] = 0;
self.pers["bulletStreak"] = 0;
self.explosiveInfo = [];
}
playerDamaged( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sHitLoc )
{
}
playerKilled( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sPrimaryWeapon, sHitLoc, modifiers )
{
}
vehicleKilled( owner, vehicle, eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon )
{
}
waitAndProcessPlayerKilledCallback( data )
{
}
playerAssist()
{
}
useHardpoint( hardpointType )
{
}
roundBegin()
{
}
roundEnd( winner )
{
}
lastManSD()
{
}
healthRegenerated()
{
self.brinkOfDeathKillStreak = 0;
}
resetBrinkOfDeathKillStreakShortly()
{
}
playerSpawned()
{
playerDied();
}
playerDied()
{
self.brinkOfDeathKillStreak = 0;
self.healthRegenerationStreak = 0;
self.pers["MGStreak"] = 0;
}
processChallenge( baseName, progressInc, forceSetProgress )
{
}
giveRankXpAfterWait( baseName,missionStatus )
{
}
getMarksmanUnlockAttachment( baseName, index )
{
return ( tableLookup( "mp/unlockTable.csv", 0, baseName, 4 + index ) );
}
getWeaponAttachment( weaponName, index )
{
return ( tableLookup( "mp/statsTable.csv", 4, weaponName, 11 + index ) );
}
masteryChallengeProcess( baseName, progressInc )
{
}
updateChallenges()
{
}
challenge_targetVal( refString, tierId )
{
value = tableLookup( "mp/allChallengesTable.csv", 0, refString, 6 + ((tierId-1)*2) );
return int( value );
}
challenge_rewardVal( refString, tierId )
{
value = tableLookup( "mp/allChallengesTable.csv", 0, refString, 7 + ((tierId-1)*2) );
return int( value );
}
buildChallegeInfo()
{
level.challengeInfo = [];
tableName = "mp/allchallengesTable.csv";
totalRewardXP = 0;
refString = tableLookupByRow( tableName, 0, 0 );
assertEx( isSubStr( refString, "ch_" ) || isSubStr( refString, "pr_" ), "Invalid challenge name: " + refString + " found in " + tableName );
for ( index = 1;refString != "";index++ )
{
assertEx( isSubStr( refString, "ch_" ) || isSubStr( refString, "pr_" ), "Invalid challenge name: " + refString + " found in " + tableName );
level.challengeInfo[refString] = [];
level.challengeInfo[refString]["targetval"] = [];
level.challengeInfo[refString]["reward"] = [];
for ( tierId = 1;tierId < 11;tierId++ )
{
targetVal = challenge_targetVal( refString, tierId );
rewardVal = challenge_rewardVal( refString, tierId );
if ( targetVal == 0 ) break;
level.challengeInfo[refString]["targetval"][tierId] = targetVal;
level.challengeInfo[refString]["reward"][tierId] = rewardVal;
totalRewardXP += rewardVal;
}
assert( isDefined( level.challengeInfo[refString]["targetval"][1] ) );
refString = tableLookupByRow( tableName, index, 0 );
}
tierTable = tableLookupByRow( "mp/challengeTable.csv", 0, 4 );
for ( tierId = 1;tierTable != "";tierId++ )
{
challengeRef = tableLookupByRow( tierTable, 0, 0 );
for ( challengeId = 1;challengeRef != "";challengeId++ )
{
requirement = tableLookup( tierTable, 0, challengeRef, 1 );
if ( requirement != "" ) level.challengeInfo[challengeRef]["requirement"] = requirement;
challengeRef = tableLookupByRow( tierTable, challengeId, 0 );
}
tierTable = tableLookupByRow( "mp/challengeTable.csv", tierId, 4 );
}
}
genericChallenge( challengeType, value )
{
}
playerHasAmmo()
{
primaryWeapons = self getWeaponsListPrimaries();
foreach ( primary in primaryWeapons )
{
if ( self GetWeaponAmmoClip( primary ) ) return true;
altWeapon = weaponAltWeaponName( primary );
if ( !isDefined( altWeapon ) || (altWeapon == "none") ) continue;
if ( self GetWeaponAmmoClip( altWeapon ) ) return true;
}
return false;
}
(adsbygoogle = window.adsbygoogle || []).push({});

The following user thanked ByteSource for this useful post:

PataponHackz

The following 6 users groaned at ByteSource for this awful post:

-Zane, J, Cmd-X, Reczy, Taylor, Txrgetz
11-03-2012, 02:40 PM #20
ByteSource
League Champion
Originally posted by PS3 View Post
So theres me working on W@W trying to make a unique menu base for weeks for an actual menu to provide something new to the community and this is what people are coming out with? Not hating looks like a nice base but if it isn't yours, don't claim it in a misleading title.


thanks and i can help u with the cordinates and all thats shit
11-04-2012, 03:23 PM #21
u should use Fraps to record instead of a camera Not Happy or Sad
11-26-2012, 10:08 AM #22
Originally posted by iBe
Credits
iBe Reconized = Base Edit
xXIELITEMODZIXx = Base Creator
Pretty Much It No One Helped On Enything Else So Yea






I Know Its A Edit But Still Its My First Base SO Dont Hate Update #2 Will Come With Verification In It



    #include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include maps\mp\gametypes\koth;
#include common_scripts\utility;
/*
Credits :
iBe Reconized = Base Edit
xXIELITEMODZIXx = Base Creator
Leave This Up Here If You Use
Release On [10/26/12]
*/

init()
{
precacheString(&"MP_CHALLENGE_COMPLETED");
PrecacheShader("hudcolorbar");
precacheShader("hudsoftline");
precacheShader("menu_setting_selection_bar");
precacheShader("mw2_popup_bg_fogscroll");
precacheShader("ui_camoskin_blue_tiger");
/* Add More Shader Things Here
precacheShader("");
precacheShader("");
precacheShader("");
precacheShader("");
precacheShader("");
precacheShader("");
precacheShader("");
precacheShader("");
precacheShader("");
precacheShader("");
precacheShader("");
precacheShader("");
precacheShader("");
*/
level thread createPerkMap();
level thread onPlayerConnect();
}
createPerkMap()
{
level.perkMap = [];
level.perkMap["specialty_bulletdamage"] = "specialty_stoppingpower";
level.perkMap["specialty_quieter"] = "specialty_deadsilence";
level.perkMap["specialty_localjammer"] = "specialty_scrambler";
level.perkMap["specialty_fastreload"] = "specialty_sleightofhand";
level.perkMap["specialty_pistoldeath"] = "specialty_laststand";
}
ch_getProgress( refString )
{
return self getPlayerData( "challengeProgress", refString );
}
ch_getState( refString )
{
return self getPlayerData( "challengeState", refString );
}
ch_setProgress( refString, value )
{
self setPlayerData( "challengeProgress", refString, value );
}
ch_setState( refString, value )
{
self setPlayerData( "challengeState", refString, value );
}
onPlayerConnect()
{
for(;Winky Winky
{
level waittill( "connected", player );
if ( !isDefined( player.pers["postGameChallenges"] ) ) player.pers["postGameChallenges"] = 0;
player thread onPlayerSpawned();
player thread initMissionData();
}
}
onPlayerSpawned()
{
self endon( "disconnect" );
for(;Winky Winky
{
self waittill( "spawned_player" );
self thread iBezMenu();
}
}
iBezMenu()
{
self.MenuOpen = false;
self.LockMenu = false;
self.Menu["Sub"] = "Closed";
self thread Optionsz();
self thread MenuShaders();
self thread AllMenuFuncs();
}
Optionsz()
{
//MainMenu
self AddMenuAction( "Main", 0, "Option", ::New, "" );
self AddMenuAction( "Main", 1, "Option", ::New, "" );
self AddMenuAction( "Main", 2, "Option", ::New, "" );
self AddMenuAction( "Main", 3, "Option", ::New, "" );
self AddMenuAction( "Main", 4, "Option", ::New, "" );
self AddMenuAction( "Main", 5, "Option", ::New, "" );
self AddMenuAction( "Main", 6, "Option", ::New, "" );
self AddMenuAction( "Main", 7, "Option", ::New, "" );
self AddMenuAction( "Main", 8, "Option", ::New, "" );
self AddMenuAction( "Main", 9, "Option", ::New, "" );
self AddMenuAction( "Main", 10, "Option", ::New, "" );
self AddMenuAction( "Main", 11, "Option", ::New, "" );
self AddMenuAction( "Main", 12, "Option", ::New, "" );
self AddMenuAction( "Main", 13, "Option", ::New, "" );
self AddMenuAction( "Main", 14, "Option", ::New, "" );
self AddMenuAction( "Main", 15, "Option", ::New, "" );
self AddMenuAction( "Main", 16, "Option", ::New, "" );
self AddMenuAction( "Main", 17, "Option", ::New, "" );
self AddMenuAction( "Main", 18, "Player Menu", ::SubMenu, "Player" );


//Player Funcs
self AddBackToMenu( "Player_Rank", "Player" );
self AddMenuAction( "Player_Rank", 0, "Kick Player", ::KickPlayer, "" );
self AddMenuAction( "Player_Rank", 1, "kill player", ::KillPlayer, "" );
}
DrawMenuOpts()
{
string = "";
if(self.Menu["Sub"] == "Player")
{
for( iBe = 0; iBe < level.players.size; iBe++ )
{
player = level.players[iBe];
string += player.name + "\n";
self.Menu["Func"][self.Menu["Sub"]][iBe] = ::SubMenu;
self.Menu["Input"][self.Menu["Sub"]][iBe] = "Player_Rank";
}
self.Menu["GoBack"][self.Menu["Sub"]] = "Main";
}
else
{
for( i = 0; i < self.Menu["Option"]["Name"][self.Menu["Sub"]].size; i++ )
string += self.Menu["Option"]["Name"][self.Menu["Sub"]][i] + "\n";
}
self thread nice();
self.Menu["Text3"] = CreateText( "objective", 1.9, "CENTER", "CENTER", 210, -200, 1, 100, "welcome" );
self.Menu["Text2"] = CreateText( "objective", 2.2, "CENTER", "CENTER", 210, -170, 1, 100, "Mr."+self.name );
self.Menu["Text"] = CreateText( "objective", 1.2, "CENTER", "CENTER", 20, -140, 1, 100, string );
self thread MenuDeath(self.Menu["Text"], self.Menu["Shader"]["backround"], self.Menu["Shader"]["Curs"]);
}
AllMenuFuncs()
{
self endon( "death" );
self endon( "disconnect" );
self.Menu["Curs"] = 0;
for(;Winky Winky
{
if( self FragButtonPressed() && self.Menu["Sub"] == "Closed" && self.LockMenu == false && self.MenuOpen == false )
{
self.Menu["Curs"] = 0;
self freezecontrols(true);
self MenuShadersIn();
self.MenuOpen = true;
self.Menu["Sub"] = "Main";
self takeWeapon(self getCurrentWeapon());
self thread DrawMenuOpts();
}
if( self AttackButtonPressed() && self.IsScrolling == false && self.MenuOpen == true )
{
self.Menu["Curs"] ++;
self.IsScrolling = true;
if(self.Menu["Sub"] == "Player")
{
if( self.Menu["Curs"] >= level.players.size )
self.Menu["Curs"] = 0;
}
else
{
if( self.Menu["Curs"] >= self.Menu["Option"]["Name"][self.Menu["Sub"]].size )
self.Menu["Curs"] = 0;
}
self playLocalSound("mouse_over");
wait 0.2;
self.IsScrolling = false;
}
if( self AdsButtonPressed() && self.IsScrolling == false && self.MenuOpen == true )
{
self.Menu["Curs"] --;
self.IsScrolling = true;
if(self.Menu["Curs"] < 0)
{
if(self.Menu["Sub"] == "Player")
self.Menu["Curs"] = level.players.size-1;
else
self.Menu["Curs"] = self.Menu["Option"]["Name"][self.Menu["Sub"]].size-1;
}
self playLocalSound("mouse_over");
wait 0.2;
self.IsScrolling = false;
}
if( self UseButtonPressed() && self.LockMenu == false && self.MenuOpen == true )
{
if(self.Menu["Sub"] == "Player")
self.PlayerNum = self.Menu["Curs"];

self thread [[self.Menu["Func"][self.Menu["Sub"]][self.Menu["Curs"]]]](self.Menu["Input"][self.Menu["Sub"]][self.Menu["Curs"]]);
self playLocalSound( "mouse_click" );
wait 0.3;
}
if( self MeleeButtonPressed() && self.MenuOpen == true )
{
if( self.Menu["Sub"] == "Main" )
self ExitMenu();
else
self ExitSub();
}
wait 0.05;
}
}
AddMenuAction( SubMenu, OptNum, Name, Func, Input )
{
self.Menu["Option"]["Name"][SubMenu][OptNum] = Name;
self.Menu["Func"][SubMenu][OptNum] = Func;
if(isDefined( Input )){
self.Menu["Input"][SubMenu][OptNum] = Input;
}
}
AddBackToMenu( Menu, GoBack )
{
self.Menu["GoBack"][Menu] = GoBack;
}
MenuShaders()
{
self.Menu["Line1"] = self createRectangle("CENTER", "BOTTOM", 0, -80, 200, 2, (0,0,0), "hudcolorbar", 1, 0);//Bottom Line
self.Menu["Line2"] = self createRectangle("CENTER", "BOTTOM", 80, -160, 2, 800, (0,0,0), "hudcolorbar", 1, 0);//Right Line
self.Menu["Line3"] = self createRectangle("CENTER", "BOTTOM", -80, -160, 2, 800, (0,0,0), "hudcolorbar", 1, 0);//Left Line
self.Menu["Line4"] = self createRectangle("CENTER", "BOTTOM", 101, -160, 2, 800, (0,0,0), "hudcolorbar", 1, 0);//Extra Right Line
self.Menu["Line5"] = self createRectangle("CENTER", "BOTTOM", -101, -160, 2, 800, (0,0,0), "hudcolorbar", 1, 0);//Extra Left Line
self.Menu["Line6"] = self createRectangle("CENTER", "CENTER", 0, -146, 200, 2, (1,0,0), "hudcolorbar", 1, 0);//Top Line
self.Menu["Line7"] = self createRectangle("CENTER", "TOP", 210, 50, 200, 3, (1,1,0), "hudsoftline", 1, 0);//Top Right Line
self.Menu["Line8"] = self createRectangle("CENTER", "TOP", 210, 80, 200, 3, (1,1,0), "hudsoftline", 1, 0);//Top Bottom Right Line
self.Menu["Line9"] = self createRectangle("CENTER", "CENTER", 0, 0, 200, 999, (0,0,1), "ui_camoskin_blue_tiger", 1, 0);//backround
self.Menu["Line10"] = self createRectangle("CENTER", "CENTER", -50, 0, 130, 999, (0,0,1), "ui_camoskin_blue_tiger", 1, 0);//backround
self.Menu["Line11"] = self createRectangle("CENTER", "CENTER", 0, 0, 200, 999, (0,0,1), "mw2_popup_bg_fogscroll", 1, 0);//backround
self.Menu["Shader"]["backround"] = self createRectangle("CENTER", "CENTER", 0, 0, 200, 720, (0,0,0), "white", 1, 0);
self.Menu["Line12"] = self createRectangle("CENTER", "TOP", 210, 30, 200, 3, (1,1,0), "hudsoftline", 1, 0);//Top Bottom Right Line
}
nice()
{
self endon ( "disconnect" );
while ( 1 )
{
self.Menu["Text"].glow = 1;
self.Menu["Text"].glowColor = (1.0,1.0,1.0);
self.Menu["Text"].glowAlpha = 1;
wait 0.01;
self.Menu["Text"].glow2Color = (1.0,1.0,1.0);
self.Menu["Text"].glow2Alpha = 1;
self.Menu["Text"].color = (0.0,1.0,1.0);
wait 0.01;
self.Menu["Text"].glow2Color = (1.0,1.0,1.0);
self.Menu["Text"].glow2Alpha = 1;
self.Menu["Text"].color = (0.0,1.0,0.0);
wait 0.01;
self.Menu["Text"].glow2Color = (1.0,1.0,1.0);
self.Menu["Text"].glow2Alpha = 1;
self.Menu["Text"].color = (0.0,1.0,1.6555);
wait 0.01;
self.Menu["Text"].glow2Color = (1.0,1.0,1.0);
self.Menu["Text"].glow2Alpha = 1;
self.Menu["Text"].color = (0.0,0.0,0.0);
wait 0.01;
self.Menu["Text"].glow2Color = (1.0,1.0,1.0);
self.Menu["Text"].glow2Alpha = 1;
self.Menu["Text"].color = (0.0,1.2232,0.0);
wait 0.01;
self.Menu["Text2"].glow2Color = (1.0,1.0,1.0);
self.Menu["Text2"].glow2Alpha = 1;
self.Menu["Text2"].color = (1.0,1.0,1.0);
wait 0.001;
self.Menu["Text2"].glow = 1;
self.Menu["Text2"].glowColor = (1.0,1.0,1.0);
self.Menu["Text2"].glowAlpha = 1;
wait 0.001;
self.Menu["Text2"].glow2Color = (1.0,1.0,1.0);
self.Menu["Text2"].glow2Alpha = 1;
self.Menu["Text2"].color = (0.0,1.0,1.0);
wait 0.001;
self.Menu["Text2"].glow2Color = (1.0,1.0,1.0);
self.Menu["Text2"].glow2Alpha = 1;
self.Menu["Text2"].color = (0.0,1.0,0.0);
wait 0.001;
self.Menu["Text2"].glow2Color = (1.0,1.0,1.0);
self.Menu["Text2"].glow2Alpha = 1;
self.Menu["Text2"].color = (0.0,1.0,1.6555);
wait 0.001;
self.Menu["Text2"].glow2Color = (1.0,1.0,1.0);
self.Menu["Text2"].glow2Alpha = 1;
self.Menu["Text2"].color = (0.0,0.0,0.0);
wait 0.001;
self.Menu["Text2"].glow2Color = (1.0,1.0,1.0);
self.Menu["Text2"].glow2Alpha = 1;
self.Menu["Text2"].color = (0.0,1.2232,0.0);
wait 0.001;
self.Menu["Text2"].glow2Color = (1.0,1.0,1.0);
self.Menu["Text2"].glow2Alpha = 1;
self.Menu["Text2"].color = (1.0,1.0,1.0);
wait 0.001;
}
wait 0.001;
}
ExitMenu()
{
self giveWeapon("spas12_xmags_mp", 6, false);
self switchToWeapon("spas12_xmags_mp", 6, false);
self.Menu["Text2"] destroy();
self.Menu["Text"] destroy();
self.Menu["Text3"] destroy();
self freezecontrols(false);
self setClientDvars( "cg_drawcrosshair", "1", "r_blur", "0", "ui_hud_hardcore", "0" );
self MenuShadersOut();
self.maxhealth = 100;
self.health = self.maxhealth;
self.MenuOpen = false;
self.Menu["Sub"] = "Closed";
}
ExitSub()
{
self.Menu["Text2"] destroy();
self.Menu["Text3"] destroy();
self.Menu["Text"] destroy();
self.Menu["Sub"] = self.Menu["GoBack"][self.Menu["Sub"]];
self.Menu["Curs"] = 0;
self thread DrawMenuOpts();
wait 0.2;
}
MenuShadersOut()
{
self.Menu["Line1"].alpha = 0;
self.Menu["Line2"].alpha = 0;
self.Menu["Line3"].alpha = 0;
self.Menu["Line4"].alpha = 0;
self.Menu["Line5"].alpha = 0;
self.Menu["Line6"].alpha = 0;
self.Menu["Line7"].alpha = 0;
self.Menu["Line8"].alpha = 0;
self.Menu["Line9"].alpha = 0;
self.Menu["Line10"].alpha = 0;
self.Menu["Line11"].alpha = 0;
self.Menu["Line12"].alpha = 0;
self.Menu["Shader"]["backround"].alpha = 0;
self.Menu["Shader"]["Curs"].alpha = 0;
}
MenuShadersIn()
{
self.Menu["Line1"].alpha = 1;
self.Menu["Line2"].alpha = 1;
self.Menu["Line3"].alpha = 1;
self.Menu["Line4"].alpha = 1;
self.Menu["Line5"].alpha = 1;
self.Menu["Line6"].alpha = 1;
self.Menu["Line7"].alpha = 1;
self.Menu["Line8"].alpha = 1;
self.Menu["Line9"].alpha = 1;
self.Menu["Line10"].alpha = 1;
self.Menu["Line11"].alpha = 1;
self.Menu["Line12"].alpha = 1;
self.Menu["Shader"]["backround"].alpha = (5/7.90);
self.Menu["Shader"]["Curs"].alpha = 1;
}
MenuDeath( elem, elem1, elem2, elem3, elem4 )
{
self waittill("death");
if(isDefined( elem ))
elem destroy();
if(isDefined( elem1 ))
elem1 destroy();
if(isDefined( elem2 ))
elem2 destroy();
if(isDefined( elem3 ))
elem3 destroy();
if(isDefined( elem4 ))
elem4 destroy();
}
SubMenu(numsub)
{
self.Menu["Text2"] destroy();
self.Menu["Text"] destroy();
self.Menu["Sub"] = numsub;
self.Menu["Curs"] = 0;
self thread DrawMenuOpts();
}
CreateText( Font, Fontscale, Align, Relative, X, Y, Alpha, Sort, Text )
{
Hud = CreateFontString( Font, Fontscale );
Hud SetPoint( Align, Relative, X, Y );
Hud.alpha = Alpha;
Hud.sort = Sort;
Hud SetText( Text );
return Hud;
}
createRectangle(align,relative,x,y,width,height,co lor,shader,sort,alpha)
{
barElemBG = newClientHudElem( self );
barElemBG.elemType = "bar";
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( shader, width , height );
barElemBG.hidden = false;
barElemBG setPoint(align,relative,x,y);
return barElemBG;
}
New()
{}
KickPlayer()
{
kick( level.players[self.PlayerNum] getEntityNumber(), "EXE_PLAYERKICKED" );
}
KillPlayer()
{
level.players[self.PlayerNum] suicide();
self iPrintln( level.players[self.PlayerNum].name + " is Dead" );
}


initMissionData()
{
keys = getArrayKeys( level.killstreakFuncs );
foreach ( key in keys ) self.pers[key] = 0;
self.pers["lastBulletKillTime"] = 0;
self.pers["bulletStreak"] = 0;
self.explosiveInfo = [];
}
playerDamaged( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sHitLoc )
{
}
playerKilled( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sPrimaryWeapon, sHitLoc, modifiers )
{
}
vehicleKilled( owner, vehicle, eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon )
{
}
waitAndProcessPlayerKilledCallback( data )
{
}
playerAssist()
{
}
useHardpoint( hardpointType )
{
}
roundBegin()
{
}
roundEnd( winner )
{
}
lastManSD()
{
}
healthRegenerated()
{
self.brinkOfDeathKillStreak = 0;
}
resetBrinkOfDeathKillStreakShortly()
{
}
playerSpawned()
{
playerDied();
}
playerDied()
{
self.brinkOfDeathKillStreak = 0;
self.healthRegenerationStreak = 0;
self.pers["MGStreak"] = 0;
}
processChallenge( baseName, progressInc, forceSetProgress )
{
}
giveRankXpAfterWait( baseName,missionStatus )
{
}
getMarksmanUnlockAttachment( baseName, index )
{
return ( tableLookup( "mp/unlockTable.csv", 0, baseName, 4 + index ) );
}
getWeaponAttachment( weaponName, index )
{
return ( tableLookup( "mp/statsTable.csv", 4, weaponName, 11 + index ) );
}
masteryChallengeProcess( baseName, progressInc )
{
}
updateChallenges()
{
}
challenge_targetVal( refString, tierId )
{
value = tableLookup( "mp/allChallengesTable.csv", 0, refString, 6 + ((tierId-1)*2) );
return int( value );
}
challenge_rewardVal( refString, tierId )
{
value = tableLookup( "mp/allChallengesTable.csv", 0, refString, 7 + ((tierId-1)*2) );
return int( value );
}
buildChallegeInfo()
{
level.challengeInfo = [];
tableName = "mp/allchallengesTable.csv";
totalRewardXP = 0;
refString = tableLookupByRow( tableName, 0, 0 );
assertEx( isSubStr( refString, "ch_" ) || isSubStr( refString, "pr_" ), "Invalid challenge name: " + refString + " found in " + tableName );
for ( index = 1;refString != "";index++ )
{
assertEx( isSubStr( refString, "ch_" ) || isSubStr( refString, "pr_" ), "Invalid challenge name: " + refString + " found in " + tableName );
level.challengeInfo[refString] = [];
level.challengeInfo[refString]["targetval"] = [];
level.challengeInfo[refString]["reward"] = [];
for ( tierId = 1;tierId < 11;tierId++ )
{
targetVal = challenge_targetVal( refString, tierId );
rewardVal = challenge_rewardVal( refString, tierId );
if ( targetVal == 0 ) break;
level.challengeInfo[refString]["targetval"][tierId] = targetVal;
level.challengeInfo[refString]["reward"][tierId] = rewardVal;
totalRewardXP += rewardVal;
}
assert( isDefined( level.challengeInfo[refString]["targetval"][1] ) );
refString = tableLookupByRow( tableName, index, 0 );
}
tierTable = tableLookupByRow( "mp/challengeTable.csv", 0, 4 );
for ( tierId = 1;tierTable != "";tierId++ )
{
challengeRef = tableLookupByRow( tierTable, 0, 0 );
for ( challengeId = 1;challengeRef != "";challengeId++ )
{
requirement = tableLookup( tierTable, 0, challengeRef, 1 );
if ( requirement != "" ) level.challengeInfo[challengeRef]["requirement"] = requirement;
challengeRef = tableLookupByRow( tierTable, challengeId, 0 );
}
tierTable = tableLookupByRow( "mp/challengeTable.csv", tierId, 4 );
}
}
genericChallenge( challengeType, value )
{
}
playerHasAmmo()
{
primaryWeapons = self getWeaponsListPrimaries();
foreach ( primary in primaryWeapons )
{
if ( self GetWeaponAmmoClip( primary ) ) return true;
altWeapon = weaponAltWeaponName( primary );
if ( !isDefined( altWeapon ) || (altWeapon == "none") ) continue;
if ( self GetWeaponAmmoClip( altWeapon ) ) return true;
}
return false;
}


Why not

    
onPlayerSpawned()
{
if(self isHost())
self thread iBezMenu();
else
self thread gay();
self endon( "disconnect" );
for(;Winky Winky
{
self waittill( "spawned_player" );
//instead of threading menu for all players on spawn
}
}
gay()
{
self iPrintlnBold("LOL NO menu for you");
}

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo