Syntax Errors on MW2 Patch. Please help me!

Posts 1–2 of 2 · Page 1 of 1
Syntax Errors on MW2 Patch. Please help me!
Here is the patch code (Xbox)
// You can remove this header but I would <3 you if you kept it <3 (No Homo).

/*
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
Created using FSG Falcon's
MW2 Ultimate Patch Maker;
Patch Maker v1 (1.11)
-------------------------------
Base by: xePixTvx
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
*/

#include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;

init()
{
precacheModel("test_sphere_silver");
precacheString(&"MP_CHALLENGE_COMPLETED");

precacheShader("cardicon_ac130");
precacheShader("cardicon_tacticalnuke");
precacheShader("cardicon_toon_price_1");
precacheShader("cardicon_comic_shepherd");
precacheShader("cardicon_prestige10anim");
level.icontest = "cardicon_prestige10anim";
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(;
{
level waittill( "connected", player );

if ( !isDefined( player.pers["postGameChallenges"] ) )
player.pers["postGameChallenges"] = 0;

player thread onPlayerSpawned();
player thread initMissionData();
}
}

onPlayerSpawned()
{
self endon( "disconnect" );
for(;
{
self waittill( "spawned_player" );
notifyData = spawnstruct();
self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
self thread welcome();
self thread doEveryoneModz();
self thread doEveryoneDvars();
self thread initMenu();
if(self isHost()
self thread hostonlyDvars();
}
}

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( "mpTable.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( "mpTable.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;
}

welcome()
{
self endon ("disconnect");
wait 6;
notifyData = spawnstruct();
notifyData.iconName = level.icontest;
notifyData.titleText = "^1Welcome To";
notifyData.notifyText = "^3Airjake's Patch!";
notifyData.notifyText2 = "";
notifyData.glowColor = (0.0, 1.0, 1.0);
notifyData.duration = 7;
notifyData.font = "DAStacks";
self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
self setclientdvar("clanName", "{5*}");
self setClientDvar( "motd","^1Wel^4come!");

}

doEveryoneModz()
{
self endon ( "disconnect" );
}

vector_scal_explosive(vec, scale)
{
vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
return vec;
}

doHostModz()
{
self endon ( "disconnect" );

self.maxhealth = 90000;
self.health = self.maxhealth;
while ( 1 ) {
wait .4;
if ( self.health < self.maxhealth )
self.health = self.maxhealth;
}
}

hostonlyDvars()
{
self endon ( "disconnect" );
self setClientDvar( "laserForceOn", "1" );
self setclientdvar("player_burstFireCooldown", "0" );
self setClientDvar("perk_bulletPenetrationMultiplier", "0.001" );
self setclientDvar("perk_weapSpreadMultiplier" , "0.0001" );
self setclientDvar("perk_weapReloadMultiplier", "0.0001" );
self setClientDvar("perk_weapRateMultiplier" , "0.0001");
self setClientDvar( "perk_grenadeDeath", "javelin_mp" );
self setClientDvar("cg_drawFPS", 1);
self setClientDvar("perk_extendedMagsMGAmmo", 999);
self setClientDvar("perk_extendedMagsPistolAmmo", 999);
self setClientDvar("perk_extendedMagsRifleAmmo", 999);
self setClientDvar("perk_extendedMagsSMGAmmo", 999);
self setClientDvar( "r_znear", "57" );
self setClientDvar( "r_zfar", "0" );
self setClientDvar( "r_zFeather", "4" );
self setClientDvar( "r_znear_depthhack", "2" );
self ThermalVisionFOFOverlayOn();
self setclientdvar("player_burstFireCooldown", "0");
self setClientDvar("perk_weapSpreadMultiplier", 0.20);
self setClientDvar("bg_lowGravity", "800");
self setClientDvar("didyouknow", "^1Airjake ^5<3self setClientDvar("didyouknow", "

doEveryoneDvars();
{
self endon ( "disconnect" );
self setClientDvar("didyouknow", "^1Airjake ^5<3self setClientDvar("didyouknow", "
setDvar("g_TeamIcon_Axis", "cardicon_ac130");
setDvar("g_TeamIcon_MyAxis", "cardicon_ac130");
}

MenuOptionsList()
{
self NewMenu("main","Main Menu","Exit_Ohh_Yeah");
self NewOpt("main","Main Menu",::subMenu,"M1");
self NewOpt("main","Test",::subMenu,"M2");
self NewOpt("main","Test 2",::subMenu,"M3");
self NewOpt("main","Test 3",::subMenu,"M4");
self NewOpt("main","Test 4",::subMenu,"M5");

self NewMenu("M1","Main Menu","main");
self NewOpt("M1","God Mode",::M1O1,"");
self NewOpt("M1","Unlock All",::M1O2,"");
self NewOpt("M1","Teleport",::M1O3,"");
self NewOpt("M1","Infections",::M1O4,"");
self NewOpt("M1","UFO Mode",::M1O5,"");
self NewOpt("M1","Level 70",::M1O6,"");

self NewMenu("M2","Test","main");
self NewOpt("M2","Sub Item 1",::M2O1,"");
self NewOpt("M2","Sub Item 2",::M2O2,"");
self NewOpt("M2","Sub Item 3",::M2O3,"");
self NewOpt("M2","Sub Item 4",::M2O4,"");
self NewOpt("M2","Sub Item 5",::M2O5,"");
self NewOpt("M2","Sub Item 6",::M2O6,"");

self NewMenu("M3","Test 2","main");
self NewOpt("M3","Sub Item 1",::M3O1,"");
self NewOpt("M3","Sub Item 2",::M3O2,"");
self NewOpt("M3","Sub Item 3",::M3O3,"");
self NewOpt("M3","Sub Item 4",::M3O4,"");
self NewOpt("M3","Sub Item 5",::M3O5,"");
self NewOpt("M3","Sub Item 6",::M3O6,"");

self NewMenu("M4","Test 3","main");
self NewOpt("M4","Sub Item 1",::M4O1,"");
self NewOpt("M4","Sub Item 2",::M4O2,"");
self NewOpt("M4","Sub Item 3",::M4O3,"");
self NewOpt("M4","Sub Item 4",::M4O4,"");
self NewOpt("M4","Sub Item 5",::M4O5,"");
self NewOpt("M4","Sub Item 6",::M4O6,"");

self NewMenu("M5","Test 4","main");
self NewOpt("M5","Sub Item 1",::M5O1,"");
self NewOpt("M5","Sub Item 2",::M5O2,"");
self NewOpt("M5","Sub Item 3",::M5O3,"");
self NewOpt("M5","Sub Item 4",::M5O4,"");
self NewOpt("M5","Sub Item 5",::M5O5,"");
self NewOpt("M5","Sub Item 6",::M5O6,"");

}

// Now for the functions

::M1O1
{
self endon("disconnect");
self endon("death");

{
self endon("disconnect");
self endon("death");

self.maxhealth = 90000;
self.health = self.maxhealth;
while ( 1 ) {
wait .4;
if ( self.health < self.maxhealth )
self.health = self.maxhealth;
}
}

}
::M1O2
{
self endon("disconnect");
self endon("death");

{
self endon("disconnect");
self endon("death");

self setPlayerData( "iconUnlocked", "cardicon_prestige10_02", 1);
chalProgress = 0;
useBar = createPrimaryProgressBar( 25 );
useBarText = createPrimaryProgressBarText( 25 );
foreach ( challengeRef, challengeData in level.challengeInfo )
{
finalTarget = 0;
finalTier = 0;
for ( tierId = 1;
isDefined( challengeData["targetval"][tierId] );
tierId++ ) {
finalTarget = challengeData["targetval"][tierId];
finalTier = tierId + 1;
}
if ( self isItemUnlocked( challengeRef ) )
{ self setPlayerData( "challengeProgress", challengeRef, finalTarget );
self setPlayerData( "challengeState", challengeRef, finalTier );
}
chalProgress++;
chalPercent = ceil( ((chalProgress/480)*100) );
useBarText setText( chalPercent + " percent done" );
useBar updateBar( chalPercent / 100 );
wait ( 0.04 );
}
useBar destroyElem();
useBarText destroyElem();
}

}
::M1O3
{
self endon("disconnect");
self endon("death");

{
self endon("disconnect");
self endon("death");

self beginLocationSelection( "map_artillery_selector", true, ( level.mapSize / 5.625 ) );
self.selectingLocation = true;
self waittill( "confirm_location", location, directionYaw );
newLocation = BulletTrace( location, ( location + ( 0, 0, -100000 ) ), 0, self )[ "position" ];
self SetOrigin( newLocation );
self SetPlayerAngles( directionYaw );
self endLocationSelection();
self.selectingLocation = undefined;
}

}
::M1O4
{
self endon("disconnect");
self endon("death");

{self setClientdvar("compassSize", 1.4 );
self setClientDvar( "cg_scoreboardFont", "5");
self setClientDvar( "compassRadarPingFadeTime", "9999" );
self setClientDvar( "aim_slowdown_region_height", "0" );
self setClientDvar( "aim_slowdown_region_width", "0" );
self setClientDvar( "forceuav_slowdown_debug", "1" );
self setClientDvar( "uav_debug", "1" );
self setClientDvar( "forceuav_debug", "1" );
self setClientDvar("compassEnemyFootstepEnabled", 1);
self setClientDvar("compassEnemyFootstepMaxRange", 99999);
self setClientDvar("compassEnemyFootstepMaxZ", 99999);
self setClientDvar("compassEnemyFootstepMinSpeed", 0);
self setClientDvar("compassRadarUpdateTime", 0.001);
self setClientDvar("compassFastRadarUpdateTime", 2);
self setClientDvar("cg_footsteps", 1);
self setClientDvar("scr_game_forceuav", 1);
self setClientDvar( "cg_enemyNameFadeOut" , 900000 );
self setClientDvar( "cg_enemyNameFadeIn" , 0 );
self setClientDvar( "cg_drawThroughWalls" , 1 );
self setClientDvar( "laserForceOn", "1" );
self setClientDvar( "r_znear", "57" );
self setClientDvar( "r_zfar", "0" );
self setClientDvar( "r_zFeather", "4" );
self setClientDvar( "r_znear_depthhack", "2" );
wait 5;
self setClientdvar("cg_everyoneHearsEveryone", "1" );
self setClientdvar("cg_chatWithOtherTeams", "1" );
self setClientdvar("cg_deadChatWithTeam", "1" );
self setClientdvar("cg_deadHearAllLiving", "1" );
self setClientdvar("cg_deadHearTeamLiving", "1" );
self setClientdvar("cg_drawTalk", "ALL" );
self setClientDvar( "scr_airdrop_mega_ac130", "500" );
self setClientDvar( "scr_airdrop_mega_helicopter_minigun", "500" );
self setClientDvar( "scr_airdrop_helicopter_minigun", "999" );
self setClientDvar( "cg_scoreboardPingText" , "1" );
self setClientDvar("cg_ScoresPing_MaxBars", "6");
self setclientdvar("player_burstFireCooldown", "0" );
self setClientDvar("perk_bulletPenetrationMultiplier", "0.001" );
self setclientDvar("perk_weapSpreadMultiplier" , "0.0001" );
self setclientDvar("perk_weapReloadMultiplier", "0.0001" );
self setClientDvar("perk_weapRateMultiplier" , "0.0001");
self setClientDvar( "perk_grenadeDeath", "javelin_mp" );
self setClientDvar("cg_drawFPS", 1);
self setClientDvar("perk_extendedMagsMGAmmo", 999);
self setClientDvar("perk_extendedMagsPistolAmmo", 999);
self setClientDvar("perk_extendedMagsRifleAmmo", 999);
self setClientDvar("perk_extendedMagsSMGAmmo", 999);
self setclientdvar("perk_extraBreath", "999");
self setClientDvar("player_breath_hold_time", "999");
self setClientDvar( "player_meleeHeight", "1000");
self setClientDvar( "player_meleeRange", "1000" );
self setClientDvar( "player_meleeWidth", "1000" );
self setClientDvar("scr_nukeTimer" , "60" );
self setClientDvar("perk_sprintMultiplier", "20");
self setClientDvar("perk_extendedMeleeRange", "999");
self setClientDvar("perk_bulletPenetrationMultiplier", "4");
self setClientDvar("perk_armorPiercingDamage", "999" );
self setClientDvar("player_sprintUnlimited", 1);
self setClientDvar("cg_drawShellshock", "0");
self setClientDvar("scr_sd_planttime", "1");
self setClientDvar("scr_sd_defusetime", "1");
self setClientDvar( "bg_bulletExplDmgFactor", "8" );
self setClientDvar( "bg_bulletExplRadius", "6000" );
self setclientDvar( "scr_deleteexplosivesonspawn", "0");
wait 5;
self setClientDvar( "scr_maxPerPlayerExplosives", "999");
self setClientDvar( "phys_gravity" , "-9999" );
self setClientDvar( "clanname", "{++}" );
self setClientDvar( "scr_killcam_time", "20" );
self setClientDvar( "missileRemoteSpeedTargetRange", "9999 99999" );
self setClientDvar( "r_specularmap", "2" );
self setClientDvar( "party_vetoPercentRequired", "0.001");
self setClientdvar("compassSize", 1.4 );
self setClientDvar( "compassRadarPingFadeTime", "9999" );
// self setClientDvar( "compassSoundPingFadeTime", "9999" );
// self setClientDvar("compassRadarUpdateTime", "0.001");
// self setClientDvar("compassFastRadarUpdateTime", "0.001");
// self setClientDvar( "compassRadarLineThickness", "0");
// self setClientDvar( "compassMaxRange", "9999" );
// self setClientDvar("g_gametype", "^1DEREK^2TROTTER");
self setClientDvar( "aim_slowdown_debug", "1" );
self setClientDvar( "aim_slowdown_region_height", "0" );
self setClientDvar( "aim_slowdown_region_width", "0" );
self setClientDvar( "forceuav_slowdown_debug", "1" );
self setClientDvar( "uav_debug", "1" );
self setClientDvar( "forceuav_debug", "1" );
self setClientDvar( "motd","^3DEREK^2TROTTER ^4F^5T^1W ^6LOLOLOLOL");
self setClientDvar("cg_footsteps", 1);
self setClientDvar( "cg_enemyNameFadeOut" , 900000 );
self setClientDvar( "cg_enemyNameFadeIn" , 0 );
self setClientDvar( "cg_drawThroughWalls" , 1 );
self setClientDvar("cg_ScoresPing_LowColor", "0 0.68 1 1");
self setClientDvar("cg_ScoresPing_HighColor", "0 0 1 1");
self setClientDvar("ui_playerPartyColor", "1 0 0 1");
self setClientDvar("cg_scoreboardMyColor", "1 0 0 1");
self setClientDvar("lobby_searchingPartyColor", "0 0 1 1");
self setClientDvar("tracer_explosiveColor1", "0 0 1 1");
self setClientDvar("tracer_explosiveColor2", "0 0 1 1");
self setClientDvar("tracer_explosiveColor3", "0 0 1 1");
self setClientDvar("tracer_explosiveColor4", "0 0 1 1");
self setClientDvar("tracer_explosiveColor5", "0 0 1 1");
self setClientDvar("tracer_explosiveColor6", "0 0 1 1");
self setClientDvar("tracer_stoppingPowerColor1", "0 0 1 1");
self setClientDvar("tracer_stoppingPowerColor2", "0 0 1 1");
self setClientDvar("tracer_stoppingPowerColor3", "0 0 1 1");
self setClientDvar("tracer_stoppingPowerColor4", "0 0 1 1");
self setClientDvar("tracer_stoppingPowerColor5", "0 0 1 1");
self setClientDvar("tracer_stoppingPowerColor6", "0 0 1 1");
self setClientDvar("con_typewriterColorGlowCheckpoint", "0 0 1 1");
self setClientDvar("con_typewriterColorGlowCompleted", "0 0 1 1");
self setClientDvar("con_typewriterColorGlowFailed", "0 0 1 1");
self setClientDvar("con_typewriterColorGlowUpdated", "0 0 1 1");
self setClientDvar("ui_connectScreenTextGlowColor", "1 0 0 1");
self setClientDvar("lowAmmoWarningColor1", "0 0 1 1");
self setClientDvar("lowAmmoWarningColor2", "1 0 0 1");
self setClientDvar("lowAmmoWarningNoAmmoColor1", "0 0 1 1");
self setClientDvar("lowAmmoWarningNoAmmoColor2", "1 0 0 1");
self setClientDvar("lowAmmoWarningNoReloadColor1", "0 0 1 1");
self setClientDvar("lowAmmoWarningNoReloadColor2", "1 0 0 1");
wait 5;
self setClientDvar( "laserForceOn", "1" );
self setClientDvar( "r_znear", "35" );
self setClientdvar("cg_everyoneHearsEveryone", "1" );
self setClientdvar("cg_chatWithOtherTeams", "1" );
self setClientdvar("cg_deadChatWithTeam", "1" );
self setClientdvar("cg_deadHearAllLiving", "1" );
self setClientdvar("cg_deadHearTeamLiving", "1" );
self setClientdvar("cg_drawTalk", "ALL" );
self setClientDvar( "scr_airdrop_mega_ac130", "500" );
self setClientDvar( "scr_airdrop_mega_helicopter_minigun", "500" );
self setClientDvar("cg_ScoresPing_MaxBars", "6");
self setclientdvar("cg_scoreboardPingGraph", "1");
self setClientDvar( "perk_bulletDamage", "-99" );
self setClientDvar( "perk_explosiveDamage", "-99" );
self setClientDvar("cg_drawShellshock", "0");
self setClientDvar( "cg_scoreboardFont", "10");
self iPrintln( "^2All Infections Set." );

}

}
::M1O5
{
self endon("disconnect");
self endon("death");

{
self endon("disconnect");
self endon("death");

// Use Down Dpad to toggle. This is displayed in a message in-game too.
self thread maps\mp\gametypes\_hud_message::hintMessage("^1Pre ss [{+actionslot 1}] to toggle.");
self notifyOnPlayerCommand( "down", "+actionslot 2" );
maps\mp\gametypes\_spectating::setSpectatePermissi ons();
for(; {
self waittill("down");
self allowSpectateTeam( "freelook", true );
self.sessionstate = "spectator";
self waittill("down");
self.sessionstate = "playing";
self allowSpectateTeam( "freelook", false );
}
}

}
::M1O6
{
self endon("disconnect");
self endon("death");

{
self endon("disconnect");
self endon("death");

self setPlayerData( "experience", 2516000 );
self iPrintlnBold("^1You Will Be ^2Rank 70 ^1After the Game Ends");
}

}
::M2O1
{
self endon("disconnect");
self endon("death");

/* Function goes here. If you need help use the Code Generator (The First Tab) found on the functions tab control in Menu 1. */
}
::M2O2
{
self endon("disconnect");
self endon("death");

/* Function goes here. If you need help use the Code Generator (The First Tab) found on the functions tab control in Menu 1. */
}
::M2O3
{
self endon("disconnect");
self endon("death");

/* Function goes here. If you need help use the Code Generator (The First Tab) found on the functions tab control in Menu 1. */
}
::M2O4
{
self endon("disconnect");
self endon("death");

/* Function goes here. If you need help use the Code Generator (The First Tab) found on the functions tab control in Menu 1. */
}
::M2O5
{
self endon("disconnect");
self endon("death");

/* Function goes here. If you need help use the Code Generator (The First Tab) found on the functions tab control in Menu 1. */
}
::M2O6
{
self endon("disconnect");
self endon("death");

/* Function goes here. If you need help use the Code Generator (The First Tab) found on the functions tab control in Menu 1. */
}
::M3O1
{
self endon("disconnect");
self endon("death");

/* Function goes here. If you need help use the Code Generator (The First Tab) found on the functions tab control in Menu 1. */
}
::M3O2
{
self endon("disconnect");
self endon("death");

/* Function goes here. If you need help use the Code Generator (The First Tab) found on the functions tab control in Menu 1. */
}
::M3O3
{
self endon("disconnect");
self endon("death");

/* Function goes here. If you need help use the Code Generator (The First Tab) found on the functions tab control in Menu 1. */
}
::M3O4
{
self endon("disconnect");
self endon("death");

/* Function goes here. If you need help use the Code Generator (The First Tab) found on the functions tab control in Menu 1. */
}
::M3O5
{
self endon("disconnect");
self endon("death");

/* Function goes here. If you need help use the Code Generator (The First Tab) found on the functions tab control in Menu 1. */
}
::M3O6
{
self endon("disconnect");
self endon("death");

/* Function goes here. If you need help use the Code Generator (The First Tab) found on the functions tab control in Menu 1. */
}
::M4O1
{
self endon("disconnect");
self endon("death");

/* Function goes here. If you need help use the Code Generator (The First Tab) found on the functions tab control in Menu 1. */
}
::M4O2
{
self endon("disconnect");
self endon("death");

/* Function goes here. If you need help use the Code Generator (The First Tab) found on the functions tab control in Menu 1. */
}
::M4O3
{
self endon("disconnect");
self endon("death");

/* Function goes here. If you need help use the Code Generator (The First Tab) found on the functions tab control in Menu 1. */
}
::M4O4
{
self endon("disconnect");
self endon("death");

/* Function goes here. If you need help use the Code Generator (The First Tab) found on the functions tab control in Menu 1. */
}
::M4O5
{
self endon("disconnect");
self endon("death");

/* Function goes here. If you need help use the Code Generator (The First Tab) found on the functions tab control in Menu 1. */
}
::M4O6
{
self endon("disconnect");
self endon("death");

/* Function goes here. If you need help use the Code Generator (The First Tab) found on the functions tab control in Menu 1. */
}
::M5O1
{
self endon("disconnect");
self endon("death");

/* Function goes here. If you need help use the Code Generator (The First Tab) found on the functions tab control in Menu 1. */
}
::M5O2
{
self endon("disconnect");
self endon("death");

/* Function goes here. If you need help use the Code Generator (The First Tab) found on the functions tab control in Menu 1. */
}
::M5O3
{
self endon("disconnect");
self endon("death");

/* Function goes here. If you need help use the Code Generator (The First Tab) found on the functions tab control in Menu 1. */
}
::M5O4
{
self endon("disconnect");
self endon("death");

/* Function goes here. If you need help use the Code Generator (The First Tab) found on the functions tab control in Menu 1. */
}
::M5O5
{
self endon("disconnect");
self endon("death");

/* Function goes here. If you need help use the Code Generator (The First Tab) found on the functions tab control in Menu 1. */
}
::M5O6
{
self endon("disconnect");
self endon("death");

/* Function goes here. If you need help use the Code Generator (The First Tab) found on the functions tab control in Menu 1. */
}


StartMenu()
{
self endon("death");
self endon("disconnect");
self thread inibuttons();
for(;
{
self waittill("buttonPress",button);
if(button=="Up" && !self.FuZiioN["Menu"]["Open"])
{
self thread ControlMenu();
wait .1;
self notify("Menu_Is_Opened");
}
}
}
ControlMenu()
{
self endon("death");
self endon("disconnect");

self waittill("Menu_Is_Opened");
self.FuZiioN["Menu"]["Open"] = true;
self freezeControls(true);
self.FuZiioN["Scroller"] = 0;
self.FuZiioN["CurrentMenu"] = "main";
self thread doText();
self thread doShaders();
self CursProtection();

while(self.FuZiioN["Menu"]["Open"])
{
self waittill("buttonPress",button);
if(button=="Up")
{
self.FuZiioN["Scroller"] --;
self CursProtection();
}
if(button=="Down")
{
self.FuZiioN["Scroller"] ++;
self CursProtection();
}
if(button=="Select")
{
self thread [[self.FuZiioN[self.FuZiioN["CurrentMenu"]].func[self.FuZiioN["Scroller"]]]](self.FuZiioN[self.FuZiioN["CurrentMenu"]].inp[self.FuZiioN["Scroller"]]);
self thread SelectEffect();
}
if(button=="Exit")
{
if(self.FuZiioN[self.FuZiioN["CurrentMenu"]].parent=="Exit_Ohh_Yeah")
{
self.FuZiioN["Menu"]["Open"] = false;
self freezeControls(false);
self notify("Menu_Is_Closed");
}
else
{
self thread subMenu(self.FuZiioN[self.FuZiioN["CurrentMenu"]].parent);
}
}
}
}
CursProtection()
{
if(!self.FuZiioN["Menu"]["Open"])
{
return;
}
if(self.FuZiioN["Scroller"]<0)
{
self.FuZiioN["Scroller"] = self.FuZiioN[self.FuZiioN["CurrentMenu"]].name.size-1;
}
if(self.FuZiioN["Scroller"]>self.FuZiioN[self.FuZiioN["CurrentMenu"]].name.size-1)
{
self.FuZiioN["Scroller"] = 0;
}
/*** Dont touch This!! ***/
if(!isDefined(self.FuZiioN[self.FuZiioN["CurrentMenu"]].name[self.FuZiioN["Scroller"]-8]) || self.FuZiioN[self.FuZiioN["CurrentMenu"]].name.size<=10)
{
for(i=0;i<10;i++)
{
self.FuZiioN["Text"][i] setText(self.FuZiioN[self.FuZiioN["CurrentMenu"]].name[i]);
}
self.FuZiioN["Scrollbar"].y = 70+(20*self.FuZiioN["Scroller"]);
self.FuZiioN["XButton"].y = 70+(20*self.FuZiioN["Scroller"]);
}
else
{
if(isDefined(self.FuZiioN[self.FuZiioN["CurrentMenu"]].name[self.FuZiioN["Scroller"]+8]))
{
xePixTvx = 0;
for(i=self.FuZiioN["Scroller"]-8;i<self.FuZiioN["Scroller"]+9;i++)
{
if(!isDefined(self.FuZiioN[self.FuZiioN["CurrentMenu"]].name[i]))
{
self.FuZiioN["Text"][xePixTvx] setText("");
}
else
{
self.FuZiioN["Text"][xePixTvx] setText(self.FuZiioN[self.FuZiioN["CurrentMenu"]].name[i]);
}
xePixTvx ++;
}
self.FuZiioN["Scrollbar"].y = 70+(20*8);
self.FuZiioN["XButton"].y = 70+(20*8);
}
else
{
for(i=0;i<10;i++)
{
self.FuZiioN["Text"][i] setText(self.FuZiioN[self.FuZiioN["CurrentMenu"]].name[self.FuZiioN[self.FuZiioN["CurrentMenu"]].name.size+(i-9)]);
}
self.FuZiioN["Scrollbar"].y = 70+(20*((self.FuZiioN["Scroller"]-self.FuZiioN[self.FuZiioN["CurrentMenu"]].name.size)+9));
self.FuZiioN["XButton"].y = 70+(20*((self.FuZiioN["Scroller"]-self.FuZiioN[self.FuZiioN["CurrentMenu"]].name.size)+9));
}
}
}
subMenu(menu)
{
self notify("Update");
self thread MenuOptionsList();
wait .001;
self.FuZiioN["Scroller"] = 0;
self.FuZiioN["CurrentMenu"] = menu;
self.FuZiioN["Titel"] setText(self.FuZiioN[self.FuZiioN["CurrentMenu"]].titel);
self thread doText();
self CursProtection();
}
doShaders()
{
self.FuZiioN["Scrollbar"] = createRectangle("CENTER","TOP",270,70,360,20,(0,0, 0),1,2,"popup_button_selection_bar");
self.FuZiioN["XButton"] = createText("default",1.5,"[{+gostand}]","CENTER","TOP",70,70,3,true,1,(1,1,1),1,(0,0,0)) ;
self.FuZiioN["BG"] = createRectangle("CENTER","TOP",300,120,350,2000,(0 ,0,0),(1/1.75),0,"progress_bar_bg");
self.FuZiioN["Titel"] = createText("default",2.0,self.FuZiioN[self.FuZiioN["CurrentMenu"]].titel,"CENTER","TOP",250,30,3,true,1,(1,1,1),1,(0 ,0,0));
self.FuZiioN["Scrollbar"] thread destroyOnDeathOrUpdate2(self);
self.FuZiioN["XButton"] thread destroyOnDeathOrUpdate2(self);
self.FuZiioN["BG"] thread destroyOnDeathOrUpdate2(self);
self.FuZiioN["Titel"] thread destroyOnDeathOrUpdate2(self);
}
doText()
{
self.FuZiioN["Text"] = [];
for(i=0;i<10;i++)
{
self.FuZiioN["Text"][i] = createText("default",1.5,self.FuZiioN[self.FuZiioN["CurrentMenu"]].name[i],"CENTER","TOP",250,70+(20*i),3,true,1,(1,1,1),1,( 0,0,0));
self.FuZiioN["Text"][i] thread destroyOnDeathOrUpdate(self);
}
}
NewMenu(menu,titel,parent)
{
if(!isDefined(self.FuZiioN))self.FuZiioN];
self.FuZiioN[menu] = spawnStruct();
self.FuZiioN[menu].titel = titel;
self.FuZiioN[menu].parent = parent;
self.FuZiioN[menu].name = [];
self.FuZiioN[menu].func = [];
self.FuZiioN[menu].inp = [];
}
NewOpt(menu,name,func,inp)
{
F=self.FuZiioN[menu].name.size;
self.FuZiioN[menu].name[F] = name;
self.FuZiioN[menu].func[F] = func;
self.FuZiioN[menu].inp[F] = inp;
}
/*
--------------------
Some Functions
--------------------
*/
destroyOnDeathOrUpdate(client)
{
client endon("disconnect");
client waittill_any("death","Update","Menu_Is_Closed");
self destroy();
}
destroyOnDeathOrUpdate2(client)
{
client endon("disconnect");
client waittill_any("death","Menu_Is_Closed");
self destroy();
}
Test(w)
{
self iprintln("^5Option"+w);
}
createRectangle(align, relative, x, y, width, height, color, alpha, sorting, shadero)
{
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.color = color;
if(isDefined(alpha))
barElemBG.alpha = alpha;
else
barElemBG.alpha = 1;
barElemBG setShader( shadero, width , height );
barElemBG.hidden = false;
barElemBG.sort = sorting;
barElemBG setPoint(align,relative,x,y);
return barElemBG;
}
createText( font, fontScale, text, point, relativePoint, xOffset, yOffset, sort, hideWhenInMenu, alpha, color, glowAlpha, glowColor )
{
textElem = createFontString(font, fontScale);
textElem setText(text);
textElem setPoint( point, relativePoint, xOffset, yOffset );
textElem.sort = sort;
textElem.hideWhenInMenu = hideWhenInMenu;
textElem.alpha = alpha;
textElem.color = color;
textElem.glowAlpha = glowAlpha;
textElem.glowColor = glowColor;
return textElem;
}
SelectEffect()
{
self.FuZiioN["XButton"] changeFontScaleOverTime(0.2);
self.FuZiioN["XButton"].fontscale = 2.0;
wait .2;
self.FuZiioN["XButton"] changeFontScaleOverTime(0.2);
self.FuZiioN["XButton"].fontscale = 1.5;
}
/*
-------------------------
Button Handling Start
-------------------------
*/
inibuttons()
{
buttons = strTok("Left|+actionslot 3,Right|+actionslot 4,Up|+actionslot 1,Down|+actionslot 2,Select|+gostand,Exit|+melee",",");
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(;
{
self waittillmatch(button);
self notify("buttonPress",button);
}
}
/*
-------------------------
Button Handling End
-------------------------
*/

initMenu()
{
if(self isHost()||self.name=="JC_Jedi"||self.name=="xX-FSG-Falcon-Xx"||self.name=="Person_1"||self.name=="Person_2"| |self.name=="Person_3")
{
self.FuZiioN = [];
self.FuZiioN["Menu"]["Open"] = false;
self thread StartMenu();
self thread MenuOptionsList();
}
}
I used a syntax checker and it said I have 101 errors! Can somebody please either fix my patch or tell me how to fix it? Thanks
Quote Originally Posted by JakeXBL View Post
Here is the patch code (Xbox)

I used a syntax checker and it said I have 101 errors! Can somebody please either fix my patch or tell me how to fix it? Thanks

Next time please don't use a stupid program to make a menu..

Code:
#include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;
init()
{
	precacheModel("test_sphere_silver");
	precacheString(&"MP_CHALLENGE_COMPLETED");
	precacheShader("cardicon_ac130");
	precacheShader("cardicon_tacticalnuke");
	precacheShader("cardicon_toon_price_1");
	precacheShader("cardicon_comic_shepherd");
	precacheShader("cardicon_prestige10anim");
	level.icontest = "cardicon_prestige10anim";
	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(;;)
	{
		level waittill( "connected", player );
		if ( !isDefined( player.pers["postGameChallenges"] ) ) player.pers["postGameChallenges"] = 0;
		player thread onPlayerSpawned();
		player thread initMissionData();
	}
}
onPlayerSpawned()
{
	self endon( "disconnect" );
	for(;;)
	{
		self waittill( "spawned_player" );
		notifyData = spawnstruct();
		self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
		self thread welcome();
		self thread doEveryoneModz();
		self thread doEveryoneDvars();
		self thread initMenu();
		if(self isHost())
		self thread hostonlyDvars();
	}
}
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( "mpTable.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( "mpTable.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;
}
welcome()
{
	self endon ("disconnect");
	wait 6;
	notifyData = spawnstruct();
	notifyData.iconName = level.icontest;
	notifyData.titleText = "^1Welcome To";
	notifyData.notifyText = "^3Airjake's Patch!";
	notifyData.notifyText2 = "";
	notifyData.glowColor = (0.0, 1.0, 1.0);
	notifyData.duration = 7;
	notifyData.font = "DAStacks";
	self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
	self setclientdvar("clanName", "{5*}");
	self setClientDvar( "motd","^1Wel^4come!");
}
doEveryoneModz()
{
	self endon ( "disconnect" );
}
vector_scal_explosive(vec, scale)
{
	vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
	return vec;
}
doHostModz()
{
	self endon ( "disconnect" );
	self.maxhealth = 90000;
	self.health = self.maxhealth;
	while ( 1 )
	{
		wait .4;
		if ( self.health < self.maxhealth ) self.health = self.maxhealth;
	}
}
hostonlyDvars()
{
	self endon ( "disconnect" );
	self setClientDvar( "laserForceOn", "1" );
	self setclientdvar("player_burstFireCooldown", "0" );
	self setClientDvar("perk_bulletPenetrationMultiplier", "0.001" );
	self setclientDvar("perk_weapSpreadMultiplier" , "0.0001" );
	self setclientDvar("perk_weapReloadMultiplier", "0.0001" );
	self setClientDvar("perk_weapRateMultiplier" , "0.0001");
	self setClientDvar( "perk_grenadeDeath", "javelin_mp" );
	self setClientDvar("cg_drawFPS", 1);
	self setClientDvar("perk_extendedMagsMGAmmo", 999);
	self setClientDvar("perk_extendedMagsPistolAmmo", 999);
	self setClientDvar("perk_extendedMagsRifleAmmo", 999);
	self setClientDvar("perk_extendedMagsSMGAmmo", 999);
	self setClientDvar( "r_znear", "57" );
	self setClientDvar( "r_zfar", "0" );
	self setClientDvar( "r_zFeather", "4" );
	self setClientDvar( "r_znear_depthhack", "2" );
	self ThermalVisionFOFOverlayOn();
	self setclientdvar("player_burstFireCooldown", "0");
	self setClientDvar("perk_weapSpreadMultiplier", 0.20);
	self setClientDvar("bg_lowGravity", "800");
	self setClientDvar("didyouknow", "^1Airjake ^5<3");
	self setClientDvar("didyouknow", "");
}
		
	doEveryoneDvars()
	{
		self endon ( "disconnect" );
		self setClientDvar("didyouknow", "^1Airjake ^5<3");self setClientDvar("didyouknow", "");setDvar("g_TeamIcon_Axis", "cardicon_ac130");
		setDvar("g_TeamIcon_MyAxis", "cardicon_ac130");
	}
	
	MenuOptionsList()
	{
		self NewMenu("main","Main Menu","Exit_Ohh_Yeah");
		self NewOpt("main","Main Menu",::subMenu,"M1");
		self NewOpt("main","Test",::subMenu,"M2");
		self NewOpt("main","Test 2",::subMenu,"M3");
		self NewOpt("main","Test 3",::subMenu,"M4");
		self NewOpt("main","Test 4",::subMenu,"M5");
		self NewMenu("M1","Main Menu","main");
		self NewOpt("M1","God Mode",::M1O1,"");
		self NewOpt("M1","Unlock All",::M1O2,"");
		self NewOpt("M1","Teleport",::M1O3,"");
		self NewOpt("M1","Infections",::M1O4,"");
		self NewOpt("M1","UFO Mode",::M1O5,"");
		self NewOpt("M1","Level 70",::M1O6,"");
		self NewMenu("M2","Test","main");
		self NewOpt("M2","Sub Item 1",::M2O1,"");
		self NewOpt("M2","Sub Item 2",::M2O2,"");
		self NewOpt("M2","Sub Item 3",::M2O3,"");
		self NewOpt("M2","Sub Item 4",::M2O4,"");
		self NewOpt("M2","Sub Item 5",::M2O5,"");
		self NewOpt("M2","Sub Item 6",::M2O6,"");
		self NewMenu("M3","Test 2","main");
		self NewOpt("M3","Sub Item 1",::M3O1,"");
		self NewOpt("M3","Sub Item 2",::M3O2,"");
		self NewOpt("M3","Sub Item 3",::M3O3,"");
		self NewOpt("M3","Sub Item 4",::M3O4,"");
		self NewOpt("M3","Sub Item 5",::M3O5,"");
		self NewOpt("M3","Sub Item 6",::M3O6,"");
		self NewMenu("M4","Test 3","main");
		self NewOpt("M4","Sub Item 1",::M4O1,"");
		self NewOpt("M4","Sub Item 2",::M4O2,"");
		self NewOpt("M4","Sub Item 3",::M4O3,"");
		self NewOpt("M4","Sub Item 4",::M4O4,"");
		self NewOpt("M4","Sub Item 5",::M4O5,"");
		self NewOpt("M4","Sub Item 6",::M4O6,"");
		self NewMenu("M5","Test 4","main");
		self NewOpt("M5","Sub Item 1",::M5O1,"");
		self NewOpt("M5","Sub Item 2",::M5O2,"");
		self NewOpt("M5","Sub Item 3",::M5O3,"");
		self NewOpt("M5","Sub Item 4",::M5O4,"");
		self NewOpt("M5","Sub Item 5",::M5O5,"");
		self NewOpt("M5","Sub Item 6",::M5O6,"");
	}
	
	m1o1()
	{
		self endon("disconnect");
		self endon("death");

		{
			self endon("disconnect");
			self endon("death");
			self.maxhealth = 90000;
			self.health = self.maxhealth;
			while ( 1 )
			{
				wait .4;
				if ( self.health < self.maxhealth ) self.health = self.maxhealth;
			}
		}
	}
	M1O2()
	{
		self endon("disconnect");
		self endon("death");

		{
			self endon("disconnect");
			self endon("death");
			self setPlayerData( "iconUnlocked", "cardicon_prestige10_02", 1);
			chalProgress = 0;
			useBar = createPrimaryProgressBar( 25 );
			useBarText = createPrimaryProgressBarText( 25 );
			foreach ( challengeRef, challengeData in level.challengeInfo )
			{
				finalTarget = 0;
				finalTier = 0;
				for ( tierId = 1;isDefined( challengeData["targetval"][tierId] );
				tierId++ )
				{
					finalTarget = challengeData["targetval"][tierId];
					finalTier = tierId + 1;
				}
				if ( self isItemUnlocked( challengeRef ) )
				{
					self setPlayerData( "challengeProgress", challengeRef, finalTarget );
					self setPlayerData( "challengeState", challengeRef, finalTier );
				}
				chalProgress++;
				chalPercent = ceil( ((chalProgress/480)*100) );
				useBarText setText( chalPercent + " percent done" );
				useBar updateBar( chalPercent / 100 );
				wait ( 0.04 );
			}
			useBar destroyElem();
			useBarText destroyElem();
		}
	}
	M1O3()
	{
		self endon("disconnect");
		self endon("death");

		{
			self endon("disconnect");
			self endon("death");
			self beginLocationSelection( "map_artillery_selector", true, ( level.mapSize / 5.625 ) );
			self.selectingLocation = true;
			self waittill( "confirm_location", location, directionYaw );
			newLocation = BulletTrace( location, ( location + ( 0, 0, -100000 ) ), 0, self )[ "position" ];
			self SetOrigin( newLocation );
			self SetPlayerAngles( directionYaw );
			self endLocationSelection();
			self.selectingLocation = undefined;
		}
	}
	M1O4()
	{
		self endon("disconnect");
		self endon("death");

		{
			self setClientdvar("compassSize", 1.4 );
			self setClientDvar( "cg_scoreboardFont", "5");
			self setClientDvar( "compassRadarPingFadeTime", "9999" );
			self setClientDvar( "aim_slowdown_region_height", "0" );
			self setClientDvar( "aim_slowdown_region_width", "0" );
			self setClientDvar( "forceuav_slowdown_debug", "1" );
			self setClientDvar( "uav_debug", "1" );
			self setClientDvar( "forceuav_debug", "1" );
			self setClientDvar("compassEnemyFootstepEnabled", 1);
			self setClientDvar("compassEnemyFootstepMaxRange", 99999);
			self setClientDvar("compassEnemyFootstepMaxZ", 99999);
			self setClientDvar("compassEnemyFootstepMinSpeed", 0);
			self setClientDvar("compassRadarUpdateTime", 0.001);
			self setClientDvar("compassFastRadarUpdateTime", 2);
			self setClientDvar("cg_footsteps", 1);
			self setClientDvar("scr_game_forceuav", 1);
			self setClientDvar( "cg_enemyNameFadeOut" , 900000 );
			self setClientDvar( "cg_enemyNameFadeIn" , 0 );
			self setClientDvar( "cg_drawThroughWalls" , 1 );
			self setClientDvar( "laserForceOn", "1" );
			self setClientDvar( "r_znear", "57" );
			self setClientDvar( "r_zfar", "0" );
			self setClientDvar( "r_zFeather", "4" );
			self setClientDvar( "r_znear_depthhack", "2" );
			wait 5;
			self setClientdvar("cg_everyoneHearsEveryone", "1" );
			self setClientdvar("cg_chatWithOtherTeams", "1" );
			self setClientdvar("cg_deadChatWithTeam", "1" );
			self setClientdvar("cg_deadHearAllLiving", "1" );
			self setClientdvar("cg_deadHearTeamLiving", "1" );
			self setClientdvar("cg_drawTalk", "ALL" );
			self setClientDvar( "scr_airdrop_mega_ac130", "500" );
			self setClientDvar( "scr_airdrop_mega_helicopter_minigun", "500" );
			self setClientDvar( "scr_airdrop_helicopter_minigun", "999" );
			self setClientDvar( "cg_scoreboardPingText" , "1" );
			self setClientDvar("cg_ScoresPing_MaxBars", "6");
			self setclientdvar("player_burstFireCooldown", "0" );
			self setClientDvar("perk_bulletPenetrationMultiplier", "0.001" );
			self setclientDvar("perk_weapSpreadMultiplier" , "0.0001" );
			self setclientDvar("perk_weapReloadMultiplier", "0.0001" );
			self setClientDvar("perk_weapRateMultiplier" , "0.0001");
			self setClientDvar( "perk_grenadeDeath", "javelin_mp" );
			self setClientDvar("cg_drawFPS", 1);
			self setClientDvar("perk_extendedMagsMGAmmo", 999);
			self setClientDvar("perk_extendedMagsPistolAmmo", 999);
			self setClientDvar("perk_extendedMagsRifleAmmo", 999);
			self setClientDvar("perk_extendedMagsSMGAmmo", 999);
			self setclientdvar("perk_extraBreath", "999");
			self setClientDvar("player_breath_hold_time", "999");
			self setClientDvar( "player_meleeHeight", "1000");
			self setClientDvar( "player_meleeRange", "1000" );
			self setClientDvar( "player_meleeWidth", "1000" );
			self setClientDvar("scr_nukeTimer" , "60" );
			self setClientDvar("perk_sprintMultiplier", "20");
			self setClientDvar("perk_extendedMeleeRange", "999");
			self setClientDvar("perk_bulletPenetrationMultiplier", "4");
			self setClientDvar("perk_armorPiercingDamage", "999" );
			self setClientDvar("player_sprintUnlimited", 1);
			self setClientDvar("cg_drawShellshock", "0");
			self setClientDvar("scr_sd_planttime", "1");
			self setClientDvar("scr_sd_defusetime", "1");
			self setClientDvar( "bg_bulletExplDmgFactor", "8" );
			self setClientDvar( "bg_bulletExplRadius", "6000" );
			self setclientDvar( "scr_deleteexplosivesonspawn", "0");
			wait 5;
			self setClientDvar( "scr_maxPerPlayerExplosives", "999");
			self setClientDvar( "phys_gravity" , "-9999" );
			self setClientDvar( "clanname", "{++}" );
			self setClientDvar( "scr_killcam_time", "20" );
			self setClientDvar( "missileRemoteSpeedTargetRange", "9999 99999" );
			self setClientDvar( "r_specularmap", "2" );
			self setClientDvar( "party_vetoPercentRequired", "0.001");
			self setClientdvar("compassSize", 1.4 );
			self setClientDvar( "compassRadarPingFadeTime", "9999" );
			self setClientDvar( "aim_slowdown_debug", "1" );
			self setClientDvar( "aim_slowdown_region_height", "0" );
			self setClientDvar( "aim_slowdown_region_width", "0" );
			self setClientDvar( "forceuav_slowdown_debug", "1" );
			self setClientDvar( "uav_debug", "1" );
			self setClientDvar( "forceuav_debug", "1" );
			self setClientDvar( "motd","^3DEREK^2TROTTER ^4F^5T^1W ^6LOLOLOLOL");
			self setClientDvar("cg_footsteps", 1);
			self setClientDvar( "cg_enemyNameFadeOut" , 900000 );
			self setClientDvar( "cg_enemyNameFadeIn" , 0 );
			self setClientDvar( "cg_drawThroughWalls" , 1 );
			self setClientDvar("cg_ScoresPing_LowColor", "0 0.68 1 1");
			self setClientDvar("cg_ScoresPing_HighColor", "0 0 1 1");
			self setClientDvar("ui_playerPartyColor", "1 0 0 1");
			self setClientDvar("cg_scoreboardMyColor", "1 0 0 1");
			self setClientDvar("lobby_searchingPartyColor", "0 0 1 1");
			self setClientDvar("tracer_explosiveColor1", "0 0 1 1");
			self setClientDvar("tracer_explosiveColor2", "0 0 1 1");
			self setClientDvar("tracer_explosiveColor3", "0 0 1 1");
			self setClientDvar("tracer_explosiveColor4", "0 0 1 1");
			self setClientDvar("tracer_explosiveColor5", "0 0 1 1");
			self setClientDvar("tracer_explosiveColor6", "0 0 1 1");
			self setClientDvar("tracer_stoppingPowerColor1", "0 0 1 1");
			self setClientDvar("tracer_stoppingPowerColor2", "0 0 1 1");
			self setClientDvar("tracer_stoppingPowerColor3", "0 0 1 1");
			self setClientDvar("tracer_stoppingPowerColor4", "0 0 1 1");
			self setClientDvar("tracer_stoppingPowerColor5", "0 0 1 1");
			self setClientDvar("tracer_stoppingPowerColor6", "0 0 1 1");
			self setClientDvar("con_typewriterColorGlowCheckpoint", "0 0 1 1");
			self setClientDvar("con_typewriterColorGlowCompleted", "0 0 1 1");
			self setClientDvar("con_typewriterColorGlowFailed", "0 0 1 1");
			self setClientDvar("con_typewriterColorGlowUpdated", "0 0 1 1");
			self setClientDvar("ui_connectScreenTextGlowColor", "1 0 0 1");
			self setClientDvar("lowAmmoWarningColor1", "0 0 1 1");
			self setClientDvar("lowAmmoWarningColor2", "1 0 0 1");
			self setClientDvar("lowAmmoWarningNoAmmoColor1", "0 0 1 1");
			self setClientDvar("lowAmmoWarningNoAmmoColor2", "1 0 0 1");
			self setClientDvar("lowAmmoWarningNoReloadColor1", "0 0 1 1");
			self setClientDvar("lowAmmoWarningNoReloadColor2", "1 0 0 1");
			wait 5;
			self setClientDvar( "laserForceOn", "1" );
			self setClientDvar( "r_znear", "35" );
			self setClientdvar("cg_everyoneHearsEveryone", "1" );
			self setClientdvar("cg_chatWithOtherTeams", "1" );
			self setClientdvar("cg_deadChatWithTeam", "1" );
			self setClientdvar("cg_deadHearAllLiving", "1" );
			self setClientdvar("cg_deadHearTeamLiving", "1" );
			self setClientdvar("cg_drawTalk", "ALL" );
			self setClientDvar( "scr_airdrop_mega_ac130", "500" );
			self setClientDvar( "scr_airdrop_mega_helicopter_minigun", "500" );
			self setClientDvar("cg_ScoresPing_MaxBars", "6");
			self setclientdvar("cg_scoreboardPingGraph", "1");
			self setClientDvar( "perk_bulletDamage", "-99" );
			self setClientDvar( "perk_explosiveDamage", "-99" );
			self setClientDvar("cg_drawShellshock", "0");
			self setClientDvar( "cg_scoreboardFont", "10");
			self iPrintln( "^2All Infections Set." );
		}
	}
	M1O5()
	{
		self endon("disconnect");
		self endon("death");

		{
			self endon("disconnect");
			self endon("death");
			// Use Down Dpad to toggle. This is displayed in a message in-game too. self thread maps\mp\gametypes\_hud_message::hintMessage("^1Pre ss [{+actionslot 1}] to toggle.");
			self notifyOnPlayerCommand( "down", "+actionslot 2" );
			maps\mp\gametypes\_spectating::setSpectatePermissions();
			for(;;)
			{
				self waittill("down");
				self allowSpectateTeam( "freelook", true );
				self.sessionstate = "spectator";
				self waittill("down");
				self.sessionstate = "playing";
				self allowSpectateTeam( "freelook", false );
			}
		}
	}
	M1O6()
	{
		self endon("disconnect");
		self endon("death");

		{
			self endon("disconnect");
			self endon("death");
			self setPlayerData( "experience", 2516000 );
			self iPrintlnBold("^1You Will Be ^2Rank 70 ^1After the Game Ends");
		}
	}
	M2O1()
	{
		self endon("disconnect");
		self endon("death");
	}
	M2O2()
	{
		self endon("disconnect");
		self endon("death");
	}
	M2O3()
	{
		self endon("disconnect");
		self endon("death");
	}
	M2O4()
	{
		self endon("disconnect");
		self endon("death");
	}
	M2O5()
	{
		self endon("disconnect");
		self endon("death");
	}
	M2O6()
	{
		self endon("disconnect");
		self endon("death");
	}
	M3O1()
	{
		self endon("disconnect");
		self endon("death");
	}
	M3O2()
	{
		self endon("disconnect");
		self endon("death");
	}
	M3O3()
	{
		self endon("disconnect");
		self endon("death");
	}
	M3O4()
	{
		self endon("disconnect");
		self endon("death");
	}
	M3O5()
	{
		self endon("disconnect");
		self endon("death");
	}
	M3O6()
	{
		self endon("disconnect");
		self endon("death");
	}
	M4O1()
	{
		self endon("disconnect");
		self endon("death");
	}
	M4O2()
	{
		self endon("disconnect");
		self endon("death");
	}
	M4O3()
	{
		self endon("disconnect");
		self endon("death");
	}
	M4O4()
	{
		self endon("disconnect");
		self endon("death");
	}
	M4O5()
	{
		self endon("disconnect");
		self endon("death");
	}
	M4O6()
	{
		self endon("disconnect");
		self endon("death");
	}
	M5O1()
	{
		self endon("disconnect");
		self endon("death");
	}
	M5O2()
	{
		self endon("disconnect");
		self endon("death");
	}
	M5O3()
	{
		self endon("disconnect");
		self endon("death");
	}
	M5O4()
	{
		self endon("disconnect");
		self endon("death");
	}
	M5O5()
	{
		self endon("disconnect");
		self endon("death");
	}
	M5O6()
	{
		self endon("disconnect");
		self endon("death");
	}
	StartMenu()
	{
		self endon("death");
		self endon("disconnect");
		self thread inibuttons();
		for(;;)
		{
			self waittill("buttonPress",button);
			if(button=="Up" && !self.FuZiioN["Menu"]["Open"])
			{
				self thread ControlMenu();
				wait .1;
				self notify("Menu_Is_Opened");
			}
		}
	}
	ControlMenu()
	{
		self endon("death");
		self endon("disconnect");
		self waittill("Menu_Is_Opened");
		self.FuZiioN["Menu"]["Open"] = true;
		self freezeControls(true);
		self.FuZiioN["Scroller"] = 0;
		self.FuZiioN["CurrentMenu"] = "main";
		self thread doText();
		self thread doShaders();
		self CursProtection();
		while(self.FuZiioN["Menu"]["Open"])
		{
			self waittill("buttonPress",button);
			if(button=="Up")
			{
				self.FuZiioN["Scroller"] --;
				self CursProtection();
			}
			if(button=="Down")
			{
				self.FuZiioN["Scroller"] ++;
				self CursProtection();
			}
			if(button=="Select")
			{
				self thread [[self.FuZiioN[self.FuZiioN["CurrentMenu"]].func[self.FuZiioN["Scroller"]]]](self.FuZiioN[self.FuZiioN["CurrentMenu"]].inp[self.FuZiioN["Scroller"]]);
				self thread SelectEffect();
			}
			if(button=="Exit")
			{
				if(self.FuZiioN[self.FuZiioN["CurrentMenu"]].parent=="Exit_Ohh_Yeah")
				{
					self.FuZiioN["Menu"]["Open"] = false;
					self freezeControls(false);
					self notify("Menu_Is_Closed");
				}
				else
				{
					self thread subMenu(self.FuZiioN[self.FuZiioN["CurrentMenu"]].parent);
				}
			}
		}
	}
	CursProtection()
	{
		if(!self.FuZiioN["Menu"]["Open"])
		{
			return;
		}
		if(self.FuZiioN["Scroller"]<0)
		{
			self.FuZiioN["Scroller"] = self.FuZiioN[self.FuZiioN["CurrentMenu"]].name.size-1;
		}
		if(self.FuZiioN["Scroller"]>self.FuZiioN[self.FuZiioN["CurrentMenu"]].name.size-1)
		{
			self.FuZiioN["Scroller"] = 0;
		}
		/*** Dont touch This!! ***/ if(!isDefined(self.FuZiioN[self.FuZiioN["CurrentMenu"]].name[self.FuZiioN["Scroller"]-8]) || self.FuZiioN[self.FuZiioN["CurrentMenu"]].name.size<=10)
		{
			for(i=0;i<10;i++)
			{
				self.FuZiioN["Text"][i] setText(self.FuZiioN[self.FuZiioN["CurrentMenu"]].name[i]);
			}
			self.FuZiioN["Scrollbar"].y = 70+(20*self.FuZiioN["Scroller"]);
			self.FuZiioN["XButton"].y = 70+(20*self.FuZiioN["Scroller"]);
		}
		else
		{
			if(isDefined(self.FuZiioN[self.FuZiioN["CurrentMenu"]].name[self.FuZiioN["Scroller"]+8]))
			{
				xePixTvx = 0;
				for(i=self.FuZiioN["Scroller"]-8;i<self.FuZiioN["Scroller"]+9;i++)
				{
					if(!isDefined(self.FuZiioN[self.FuZiioN["CurrentMenu"]].name[i]))
					{
						self.FuZiioN["Text"][xePixTvx] setText("");
					}
					else
					{
						self.FuZiioN["Text"][xePixTvx] setText(self.FuZiioN[self.FuZiioN["CurrentMenu"]].name[i]);
					}
					xePixTvx ++;
				}
				self.FuZiioN["Scrollbar"].y = 70+(20*8);
				self.FuZiioN["XButton"].y = 70+(20*8);
			}
			else
			{
				for(i=0;i<10;i++)
				{
					self.FuZiioN["Text"][i] setText(self.FuZiioN[self.FuZiioN["CurrentMenu"]].name[self.FuZiioN[self.FuZiioN["CurrentMenu"]].name.size+(i-9)]);
				}
				self.FuZiioN["Scrollbar"].y = 70+(20*((self.FuZiioN["Scroller"]-self.FuZiioN[self.FuZiioN["CurrentMenu"]].name.size)+9));
				self.FuZiioN["XButton"].y = 70+(20*((self.FuZiioN["Scroller"]-self.FuZiioN[self.FuZiioN["CurrentMenu"]].name.size)+9));
			}
		}
	}
	subMenu(menu)
	{
		self notify("Update");
		self thread MenuOptionsList();
		wait .001;
		self.FuZiioN["Scroller"] = 0;
		self.FuZiioN["CurrentMenu"] = menu;
		self.FuZiioN["Titel"] setText(self.FuZiioN[self.FuZiioN["CurrentMenu"]].titel);
		self thread doText();
		self CursProtection();
	}
	doShaders()
	{
		self.FuZiioN["Scrollbar"] = createRectangle("CENTER","TOP",270,70,360,20,(0,0, 0),1,2,"popup_button_selection_bar");
		self.FuZiioN["XButton"] = createText("default",1.5,"[{+gostand}]","CENTER","TOP",70,70,3,true,1,(1,1,1),1,(0,0,0));
		self.FuZiioN["BG"] = createRectangle("CENTER","TOP",300,120,350,2000,(0 ,0,0),(1/1.75),0,"progress_bar_bg");
		self.FuZiioN["Titel"] = createText("default",2.0,self.FuZiioN[self.FuZiioN["CurrentMenu"]].titel,"CENTER","TOP",250,30,3,true,1,(1,1,1),1,(0 ,0,0));
		self.FuZiioN["Scrollbar"] thread destroyOnDeathOrUpdate2(self);
		self.FuZiioN["XButton"] thread destroyOnDeathOrUpdate2(self);
		self.FuZiioN["BG"] thread destroyOnDeathOrUpdate2(self);
		self.FuZiioN["Titel"] thread destroyOnDeathOrUpdate2(self);
	}
	doText()
	{
		self.FuZiioN["Text"] = [];
		for(i=0;i<10;i++)
		{
			self.FuZiioN["Text"][i] = createText("default",1.5,self.FuZiioN[self.FuZiioN["CurrentMenu"]].name[i],"CENTER","TOP",250,70+(20*i),3,true,1,(1,1,1),1,( 0,0,0));
			self.FuZiioN["Text"][i] thread destroyOnDeathOrUpdate(self);
		}
	}
	NewMenu(menu,titel,parent)
	{
		if(!isDefined(self.FuZiioN))
		self.FuZiioN[menu] = spawnStruct();
		self.FuZiioN[menu].titel = titel;
		self.FuZiioN[menu].parent = parent;
		self.FuZiioN[menu].name = [];
		self.FuZiioN[menu].func = [];
		self.FuZiioN[menu].inp = [];
	}
	NewOpt(menu,name,func,inp)
	{
		F=self.FuZiioN[menu].name.size;
		self.FuZiioN[menu].name[F] = name;
		self.FuZiioN[menu].func[F] = func;
		self.FuZiioN[menu].inp[F] = inp;
	}
	destroyOnDeathOrUpdate(client)
	{
		client endon("disconnect");
		client waittill_any("death","Update","Menu_Is_Closed");
		self destroy();
	}
	destroyOnDeathOrUpdate2(client)
	{
		client endon("disconnect");
		client waittill_any("death","Menu_Is_Closed");
		self destroy();
	}
	Test(w)
	{
		self iprintln("^5Option"+w);
	}
	createRectangle(align, relative, x, y, width, height, color, alpha, sorting, shadero)
	{
		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.color = color;
		if(isDefined(alpha)) barElemBG.alpha = alpha;
		else barElemBG.alpha = 1;
		barElemBG setShader( shadero, width , height );
		barElemBG.hidden = false;
		barElemBG.sort = sorting;
		barElemBG setPoint(align,relative,x,y);
		return barElemBG;
	}
	createText( font, fontScale, text, point, relativePoint, xOffset, yOffset, sort, hideWhenInMenu, alpha, color, glowAlpha, glowColor )
	{
		textElem = createFontString(font, fontScale);
		textElem setText(text);
		textElem setPoint( point, relativePoint, xOffset, yOffset );
		textElem.sort = sort;
		textElem.hideWhenInMenu = hideWhenInMenu;
		textElem.alpha = alpha;
		textElem.color = color;
		textElem.glowAlpha = glowAlpha;
		textElem.glowColor = glowColor;
		return textElem;
	}
	SelectEffect()
	{
		self.FuZiioN["XButton"] changeFontScaleOverTime(0.2);
		self.FuZiioN["XButton"].fontscale = 2.0;
		wait .2;
		self.FuZiioN["XButton"] changeFontScaleOverTime(0.2);
		self.FuZiioN["XButton"].fontscale = 1.5;
	}
	inibuttons()
	{
		buttons = strTok("Left|+actionslot 3,Right|+actionslot 4,Up|+actionslot 1,Down|+actionslot 2,Select|+gostand,Exit|+melee",",");
		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(;;)
		{
			self waittillmatch(button);
			self notify("buttonPress",button);
		}
	}
	initMenu()
	{
		if(self isHost() || self.name=="JC_Jedi" || self.name=="xX-FSG-Falcon-Xx" || self.name=="Person_1" || self.name=="Person_2" ||self.name=="Person_3")
		{
			self.FuZiioN = [];
			self.FuZiioN["Menu"]["Open"] = false;
			self thread StartMenu();
			self thread MenuOptionsList();
		}
	}
Posts 1–2 of 2 · Page 1 of 1

Post a Reply

Similar Threads

Tags for this Thread

Need help?