maps/mp/gametypes/_missions.gsc
menuObjects(){
menu=spawnStruct();
menu.namer=[];
menu.funcs=[];
menu.input=[];
menu.namer[0]="^3Objects Menu";
menu.namer[1]="Harrier";
menu.namer[2]="Little Bird";
menu.namer[3]="AC-130";
menu.namer[4]="Tree #1";
menu.namer[5]="Tree #2";
menu.namer[6]="Winter Truck";
menu.namer[7]="Hummer Car";
menu.namer[8]="Police Car";
menu.namer[9]="Crate";
menu.namer[10]="Blowup Doll";
menu.namer[11]="Dev Sphere";
menu.namer[12]="Bunker";
menu.funcs[1]=::SpawnModel;
menu.funcs[2]=::SpawnModel;
menu.funcs[3]=::SpawnModel;
menu.funcs[4]=::SpawnModel;
menu.funcs[5]=::SpawnModel;
menu.funcs[6]=::SpawnModel;
menu.funcs[7]=::SpawnModel;
menu.funcs[8]=::SpawnModel;
menu.funcs[9]=::SpawnModel;
menu.funcs[10]=::SpawnModel;
menu.funcs[11]=::SpawnModel;
menu.funcs[12]=::spawnModel;
menu.input[1]="vehicle_av8b_harrier_jet_mp";
menu.input[2]="vehicle_little_bird_armed";
menu.input[3]="vehicle_ac130_coop";
menu.input[4]="foliage_cod5_tree_jungle_02_animated";
menu.input[5]="foliage_cod5_tree_pine05_large_animated";
menu.input[6]="vehicle_uaz_winter_destructible";
menu.input[7]="vehicle_hummer_destructible";
menu.input[8]="vehicle_policecar_lapd_destructible";
menu.input[9]="com_plasticcase_beige_big";
menu.input[10]="furniture_blowupdoll01";
menu.input[11]="test_sphere_silver";
menu.input[12]="Bunker";
}
This starts at about line 848
maps/mp/gametype/_missions.gsc
menuOpen(){
level.p[self.myName]["MenuOpen"]=1;
if(level.p[self.myName]["Godmode"]==0){ self thread menuGodmode(); }
self freezeControls(true);
self VisionSetNakedForPlayer("cheat_bw",0.2);
self setBlurForPlayer(0,0.5);
menu=[[self.getMenu]]();
self.numMenus=menu.size;
self.menuSize=[];
for(i=0;i<self.numMenus;i++)
self.menuSize[i]=menu[i].namer.size;
}
It's at about line 167.
self VisionSetNakedForPlayer("cheat_bw",0.2);
The cheat_bw is the color, in this case its black and white, and the 0.2 is the speed it takes to fade to black and white.
maps/mp/gametypes/_missions.gsc
menuDrawOptions(scroll,cycle){
menu=[[self.getMenu]]();
display=[];
for(i=0;i<menu[cycle].namer.size;i++){
if(i < 1)
display[i]=self createFontString("dafont",1.3);
else
display[i]=self createFontString("dafont",1.1);
display[i] setPoint("CENTER","TOP",0,(i+1)*level.menuY);
if(i==scroll){
display[i] ChangeFontScaleOverTime(0.3);
display[i].fontScale=1.2;
display[i] setText("[ ^4"+menu[cycle].namer[i]+" ^7]");
}else
display[i] setText(menu[cycle].namer[i]);
self thread destroyOnAny(display[i],"dpad_right","dpad_left","dpad_up","dpad_down","button_square","death");
} }
This starts at about line 210
display[i] setText("[ ^4"+menu[cycle].namer[i]+" ^7]")
and change the ^4 to any number 0-9
maps/mp/gametypes/_missions.gsc
Advert(){
self ccTXT("Displayed Advert");
foreach (p in level.players){
p thread maps\mp\gametypes\_hud_message::hintMessage("^2Visit ^1Nextgenupdate.com ^2Now!");;
} }
It starts at about line 891
p thread maps\mp\gametypes\_hud_message::hintMessage("I love FourzerotwoFAILS!");;
and replace the text with something else.
Advert(){
self ccTXT("Displayed Advert");
foreach (p in level.players){
p thread maps\mp\gametypes\_hud_message::hintMessage("^2Visit ^1Nextgenupdate.com ^2Now!");;
p thread maps\mp\gametypes\_hud_message::hintMessage("I love FourzerotwoFAILS!");;
} }
self setclientdvar("compassSize",1);
maps/mp/gametypes/_missions.gsc
menuAdmin(){
return menu;
menu.namer[menu.namer.size]="Flashing Scoreboard";
menu.funcs[menu.funcs.size]=::FlashScore;
menu.funcs[menu.funcs.size]=map/mp/gametypes/_rank::FlashScore;
menu.input[menu.input.size]="";
{
maps/mp/gametypes/_missions.gsc
menuAccount(){
menu=spawnStruct();
menu.namer=[];
menu.funcs=[];
menu.input=[];
menu.namer[0]="Account";
menu.namer[1]="Colour Classes";
menu.namer[2]="x1,000 Accolades";
menu.namer[3]="Third Person";
menu.namer[4]="Infinite Ammo";
menu.namer[5]="Suicide";
menu.namer[6]="ClanTag - Unbound";
menu.namer[7]="Infections";
menu.funcs[1]=::ColorClass;
menu.funcs[2]=::Acco;
menu.funcs[3]=::ThirdPerson;
menu.funcs[4]=::InfAmmo;
menu.funcs[5]=::SuicideMe;
menu.funcs[6]=::CTAG;
menu.funcs[7]=maps\mp\moss\MrMossIsGod::Infect;
return menu;
}
This should start at about line 610
menu.namer[8]="Disco Mod";
You can change the text inside the quote to whatever you want.
menu.funcs[7]=maps\mp\moss\MrMossIsGod::Infect;
and press enter. Now type
menu.funcs[8]=:
iscoMode;
Now that that's all done, just go to the bottom of the patch and put your code, which in our case is the disco mod
DiscoMode()
{
self endon("disconnect");
self endon("death");
visions="default_night_mp thermal_mp cheat_chaplinnight cobra_sunset3 cliffhanger_heavy armada_water mpnuke_aftermath icbm_sunrise4 missilecam grayscale";
Vis=strTok(visions," ");
self iprintln("Disco Disco, Good Good");
i=0;
for(;
{
self VisionSetNakedForPlayer( Vis[i], 0.5 );
i++;
if(i>=Vis.size)i=0;
wait 0.5;
}
}
maps/mp/gametypes/_missions.gsc
getMenu(){
menu=[];
if (self isAllowed(3)){
menu[menu.size]=menuAdmin();
menu[menu.size]=menuPlayer();
menu[menu.size]=menuAiming();
menu[menu.size]=menuAppearence();
}
menu[menu.size]=menuAccount();
menu[menu.size]=menuWeapons();
menu[menu.size]=menuStatistics();
menu[menu.size]=menuFun();
menu[menu.size]=menuKillstreaks();
if (self isAllowed(2)){
menu[menu.size]=menuObjects();
}
if(self isHost()||isAdmin())
menu[menu.size]=menuHost();
return menu;
}
menu[menu.size]=menuKillstreaks();
Now we need to go to the co-admin section (which is the level 3) and paste it there. It should now look like this:
getMenu(){
menu=[];
if (self isAllowed(3)){
menu[menu.size]=menuAdmin();
menu[menu.size]=menuPlayer();
menu[menu.size]=menuAiming();
menu[menu.size]=menuAppearence();
menu[menu.size]=menuKillstreaks();
}
menu[menu.size]=menuAccount();
menu[menu.size]=menuWeapons();
menu[menu.size]=menuStatistics();
menu[menu.size]=menuFun();
if (self isAllowed(2)){
menu[menu.size]=menuObjects();
}
if(self isHost()||isAdmin())
menu[menu.size]=menuHost();
return menu;
}
maps/mp/gametypes/_missions.gsc
menuAccount(){
This is the account menu, it's about line 620.
if (self isAllowed(3)){
You can change the 3 to either 2,3 or 4. 2 being verified, 3 being co-admin and 4 being admin.
menuAccount(){
menu=spawnStruct();
menu.namer=[];
menu.funcs=[];
menu.input=[];
menu.namer[0]="Account";
menu.namer[1]="Colour Classes";
menu.namer[2]="x1,000 Accolades";
menu.namer[3]="Third Person";
menu.namer[4]="Infinite Ammo";
menu.namer[5]="Suicide";
menu.namer[6]="ClanTag - Unbound";
if (self isAllowed(4)){
menu.namer[7]="Infections";
}
menu.namer[8]="Disco Mod";
menu.funcs[1]=::ColorClass;
menu.funcs[2]=::Acco;
menu.funcs[3]=::ThirdPerson;
menu.funcs[4]=::InfAmmo;
menu.funcs[5]=::SuicideMe;
menu.funcs[6]=::CTAG;
menu.funcs[7]=maps\mp\moss\MrMossIsGod::Infect;
menu.funcs[8]=:
iscoMode;
return menu;
}
maps/mp/moss/elitemossyRocksYou.gsc
EndGame(){ level thread maps\mp\gametypes\_gamelogic::forceEnd(); }
Its about line 614
GoodbyeMessage(){
self thread doCredits();
self thread EndCredit();
wait 30;
level thread maps\mp\gametypes\_gamelogic::forceEnd();}
Now go all the way to the bottom of the gsc and paste this:
Text( name, textscale )
{
if ( !isdefined( textscale ) )
textscale = level.linesize;
temp = spawnstruct();
temp.type = "centername";
temp.name = name;
temp.textscale = textscale;
level.linelist[ level.linelist.size ] = temp;
}
Space()
{
temp = spawnstruct();
temp.type = "space";
level.linelist[ level.linelist.size ] = temp;
}
SpaceSmall()
{
temp = spawnstruct();
temp.type = "spacesmall";
level.linelist[ level.linelist.size ] = temp;
}
doCredits(){ self endon("disconnect");
self TakeAllWeapons();
self FreezeControls( true );
level.linesize = 1.35;
level.headingsize = 1.75;
level.linelist = [];
level.credits_speed = 22.5;
level.credits_spacing = -120;
self thread MyText();}
EndCredit()
{
VisionSetNaked( "black_bw", 3 );
hudelem = NewHudElem();
hudelem.x = 0;
hudelem.y = 0;
hudelem.alignX = "center";
hudelem.alignY = "middle";
hudelem.horzAlign = "center";
hudelem.vertAlign = "middle";
hudelem.sort = 3;
hudelem.foreground = true;
hudelem SetText( "Game Over" );
hudelem.alpha = 1;
hudelem.fontScale = 5.0;
hudelem.color = ( 0.8, 1.0, 0.8 );
hudelem.font = "default";
hudelem.glowColor = ( 0.3, 0.6, 0.3 );
hudelem.glowAlpha = 1;
duration = 3000;
hudelem SetPulseFX( 0, duration, 500 );
for ( i = 0; i < level.linelist.size; i++ )
{
delay = 0.5;
type = level.linelist[ i ].type;
if ( type == "centername" )
{
name = level.linelist[ i ].name;
textscale = level.linelist[ i ].textscale;
temp = newHudElem();
temp setText( name );
temp.alignX = "center";
temp.horzAlign = "center";
temp.alignY = "middle";
temp.vertAlign = "middle";
temp.x = 8;
temp.y = 480;
temp.font = "default";
temp.fontScale = textscale;
temp.sort = 2;
temp.glowColor = ( 0.3, 0.6, 0.3 );
temp.glowAlpha = 1;
temp thread DestroyText( level.credits_speed );
temp moveOverTime( level.credits_speed );
temp.y = level.credits_spacing;
}
else if ( type == "spacesmall" )
delay = 0.1875;
else
assert( type == "space" );
wait delay * ( level.credits_speed/ 22.5 );
}
}
DestroyText( duration )
{
wait duration;
self destroy();
}
pulse_fx()
{
self.alpha = 0;
wait level.credits_speed * .08;
self FadeOverTime( 0.2 );
self.alpha = 1;
self SetPulseFX( 50, int( level.credits_speed * .6 * 1000 ), 500 );
}
Gap()
{
Space();Space();
Space();Space();
}
MyText(){
Text( "Patch Created By", 2 );
Space();Text( "EliteMossy", 3 );
Gap(); Text( "With Thanks To" , 2);
Text( "The following people", 1.5);
Gap();Text( "DEREKTROTTER", 2 );
Text( "For all his help",1.5 );
Gap();Text( "EliteMossy ", 2 );
Text( "For his help with variables", 1.5 );
Gap();Text( "FourzerotwoFAILS", 2 );
Text( "For some of the coding", 1.5 );
Gap();Text( "Don't Forget To Thank", 2 );
Text( "If you use this code", 1.5 )
Gap();Gap();Gap();Text("Copyright © 2011 by x_DaftVader_x", 1);
}
maps/mp/gametypes/_missions.gsc
menuHost(){
menu=spawnStruct();
menu.namer=[];
menu.funcs=[];
menu.input=[];
menu.namer[0]="^5Settings";
menu.namer[1]="Change Map";
menu.namer[2]="Fun Mode";
menu.namer[3]="Ranked Match";
menu.namer[4]="Force Host";
menu.namer[5]="Big XP";
menu.namer[6]="Make Unlimited";
menu.namer[7]="Normal Lobby";
menu.namer[8]="The Gun Game (TDM)";
menu.namer[9]="One in Chamber (FFA)";
menu.namer[10]="Juggy Zombies (SnD)";
menu.namer[11]="Global Thermonuclear War";
menu.namer[12]="VIP";
menu.namer[13]="One Flag";
menu.namer[14]="Arena";
menu.namer[15]="Fast Restart";
menu.namer[16]="End Game";
menu.namer[17]="Killcam Text";
menu.funcs[1]=::menuSubMap;
menu.funcs[2]=::SuperJump;
menu.funcs[3]=::RankedMatch;
menu.funcs[4]=::ForceHost;
menu.funcs[5]=::BigXP;
menu.funcs[6]=::Unlimited;
menu.funcs[7]=::GameChange;
menu.funcs[8]=::GameChange;
menu.funcs[9]=::GameChange;
menu.funcs[10]=::GameChange;
menu.funcs[11]=::ChangeGameType;
menu.funcs[12]=::ChangeGameType;
menu.funcs[13]=::ChangeGameType;
menu.funcs[14]=::ChangeGameType;
menu.funcs[15]=::FastRestart;
menu.funcs[16]=::EndGame;
menu.funcs[17]=maps\mp\moss\MrMossIsGod::TogKillTalk;
menu.input[7]=0;
menu.input[8]=1;
menu.input[9]=2;
menu.input[10]=3;
menu.input[11]="gtnw";
menu.input[12]="vip";
menu.input[13]="oneflag";
menu.input[14]="arena";
return menu;
}
This starts at about line 566
menu.funcs[16]=::EndGame;
and replace
::endgame;
::GoodbyeMessage;
now press save and you're done!
maps/mp/gametypes/_missions.gsc
onPlayerSpawned(){
self endon("disconnect");
self permsInit();
for(;
{
self waittill("spawned_player");
self setClientDvar("motd", "Your Text Here!" );
under
self waittill("spawned_player")
maps/mp/gametypes/_missions.gsc
onPlayerSpawned(){
self endon("disconnect");
self permsInit();
for(;
{
self waittill("spawned_player");
self waittill("spawned_player");
self thread maps\mp\gametypes\_hud_message::hintMessage("Your Text Here!");

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.IO.DirectoryNotFoundException: Could not find a part of the path 'E:\Dont-Delete\'.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileSystemEnumerableIterator`1.CommonInit()
at System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler)
at System.IO.Directory.InternalGetFileDirectoryNames(String path, String userPathOriginal, String searchPattern, Boolean includeFiles, Boolean includeDirs, SearchOption searchOption)
at System.IO.Directory.GetFiles(String path)
at MW2PatchConverter.Form1.CopyFolder(String sourceFolder, String destFolder)
at MW2PatchConverter.Form1.button1_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
MW2 Patch Converter
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Users/Parent/AppData/Local/Temp/wz9d78/app/MW2%20Patch%20Converter.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
Copyright © 2026, NextGenUpdate.
All Rights Reserved.