Skip to content
MPGHThe Dark Arts
/
RegisterLog in
Forum
Community
What's NewLatest posts across the boardTrendingHottest threads right nowSubscribedThreads you follow
Discussion
GeneralIntroductionsEntertainmentDebate FortFlaming & Rage
Board
News & AnnouncementsMPGH TimesSuggestions & HelpGiveaways
More Sections
Art & Graphic DesignProgrammingHackingCryptocurrency
Hacks & Cheats
Games
ValorantCS2 / CS:GOCall of Duty / WarzoneFortniteApex LegendsEscape From Tarkov
+14 moreLeague of LegendsGTA VMinecraftRustROTMGBattlefieldTroveBattleOnCombat ArmsCrossFireBlackshotRuneScapeDayZDead by Daylight
Resources
Game Hacking TutorialsReverse EngineeringGeneral Game HackingAnti-CheatConsole Game Hacking
Tools
Game Hacking ToolsTrainers & CheatsHack/Release NewsNew
Submit a release →Share your cheat, tool, or config with the community.
AINEW
AI Tools
General & DiscussionPrompt EngineeringLLM JailbreaksHotAI Agents & AutomationLocal / Open Models
AI × Gaming
AI Aimbots & VisionML Anti-CheatGame Bots & Automation
Create
AI Coding / Vibe CodingAI Art & MediaAI Voice & TTS
The AI frontier →Where game hacking meets modern machine learning. Jump in.
Marketplace
Buy & Sell
SellingBuyingTradingUser Services
Trust & Safety
Middleman LoungeMarketplace TalkVouch Copy Profiles
Money
Cryptocurrency TalkCurrency ExchangeWork & Job Offers
Start selling →List accounts, services, and goods. Use the middleman to trade safe.
MPGH The Dark Arts

A community for offensive security research, reverse engineering, and AI.

Community

ForumMarketplaceSearch

Account

RegisterLog in

Legal

Privacy PolicyForum RulesHelp & FAQ
© 2026 MPGH · All rights reserved.Built by the community, for the community. For educational purposes onlyContent is shared for security research and education — we don't condone illegal use. You're responsible for complying with applicable laws. Use at your own risk.
Home › Forum › MultiPlayer Game Hacks & Cheats › Call of Duty Hacks & Cheats › Call of Duty 6 - Modern Warfare 2 (MW2) Hacks › Call of Duty Modern Warfare 2 Server / GSC Modding › Call of Duty Modern Warfare 2 GSC Modding Help/Discussion › Continue game after nuke?

Continue game after nuke?

Posts 1–9 of 9 · Page 1 of 1
Snipmen
Snipmen
Continue game after nuke?
Hi all, iv got a question is there a mod that after we launch a nuke and after we die the game continues or after the nuke is launched every 1 dies but not the person the launched it? Tanks.
#1 · 15y ago
pyrozombie
pyrozombie
find the _nuke.gsc in the gsc list and maybe you can alter it?
#2 · 15y ago
Snipmen
Snipmen
Quote Originally Posted by pyrozombie View Post
find the _nuke.gsc in the gsc list and maybe you can alter it?
idk wheres located
#3 · 15y ago
pyrozombie
pyrozombie
i hope it helps

http://www.mpgh.net/forum/323-call-d...ollection.html
#4 · 15y ago
Snipmen
Snipmen
Quote Originally Posted by pyrozombie View Post
i hope it helps

http://www.mpgh.net/forum/323-call-d...ollection.html
Tanks mate
#5 · 15y ago
GO
GoDZeN
Nuke text without ending game:

Code:
#include common_scripts\utility;
#include maps\mp\_utility;

init()
{
    precacheItem( "nuke_mp" );
    precacheLocationSelector( "map_nuke_selector" );
    precacheString( &"MP_TACTICAL_NUKE_CALLED" );
    precacheString( &"MP_FRIENDLY_TACTICAL_NUKE" );
    precacheString( &"MP_TACTICAL_NUKE" );

    level._effect[ "nuke_player" ] = loadfx( "explosions/player_death_nuke" );
    level._effect[ "nuke_flash" ] = loadfx( "explosions/player_death_nuke_flash" );
    level._effect[ "nuke_aftermath" ] = loadfx( "dust/nuke_aftermath_mp" );

    game["strings"]["nuclear_strike"] = &"MP_TACTICAL_NUKE";
    
    level.killstreakFuncs["nuke"] = ::tryUseNuke;

    setDvarIfUninitialized( "scr_nukeTimer", 10 );
    setDvarIfUninitialized( "scr_nukeCancelMode", 0 );
    
    level.nukeTimer = getDvarInt( "scr_nukeTimer" );
    level.cancelMode = getDvarInt( "scr_nukeCancelMode" );
    
    /#
    setDevDvarIfUninitialized( "scr_nukeDistance", 5000 );
    setDevDvarIfUninitialized( "scr_nukeEndsGame", true );
    setDevDvarIfUninitialized( "scr_nukeDebugPosition", false );
    #/
}

tryUseNuke( lifeId, allowCancel )
{
    if( isDefined( level.nukeIncoming ) )
    {
        self iPrintLnBold( &"MP_NUKE_ALREADY_INBOUND" );
        return false;    
    }

    if ( self isUsingRemote() && ( !isDefined( level.gtnw ) || !level.gtnw ) )
        return false;

    if ( !isDefined( allowCancel ) )
        allowCancel = true;

    self thread doNuke( allowCancel );
    self notify( "used_nuke" );
    
    return true;
}

delaythread_nuke( delay, func )
{
    level endon ( "nuke_cancelled" );
    
    wait ( delay );
    
    thread [[ func ]]();
}

doNuke( allowCancel )
{
    level endon ( "nuke_cancelled" );
    
    level.nukeInfo = spawnStruct();
    level.nukeInfo.player = self;
    level.nukeInfo.team = self.pers["team"];

    level.nukeIncoming = true;
    
    maps\mp\gametypes\_gamelogic::pauseTimer();
    level.timeLimitOverride = true;
    setGameEndTime( int( gettime() + (level.nukeTimer * 1000) ) );
    setDvar( "ui_bomb_timer", 4 ); // Nuke sets '4' to avoid briefcase icon showing
    
    if ( level.teambased )
    {
        thread teamPlayerCardSplash( "used_nuke", self, self.team );
        /*
        players = level.players;
        
        foreach( player in level.players )
        {
            playerteam = player.pers["team"];
            if ( isdefined( playerteam ) )
            {
                if ( playerteam == self.pers["team"] )
                    player iprintln( &"MP_TACTICAL_NUKE_CALLED", self );
            }
        }
        */
    }
    else
    {
        if ( !level.hardcoreMode )
            self iprintlnbold(&"MP_FRIENDLY_TACTICAL_NUKE");
    }

    level thread delaythread_nuke( (level.nukeTimer - 3.3), ::nukeSoundIncoming );
    level thread delaythread_nuke( level.nukeTimer, ::nukeSoundExplosion );
    level thread delaythread_nuke( level.nukeTimer, ::nukeSlowMo );
    level thread delaythread_nuke( level.nukeTimer, ::nukeEffects );
    level thread delaythread_nuke( (level.nukeTimer + 0.25), ::nukeVision );
    level thread delaythread_nuke( (level.nukeTimer + 1.5), ::nukeEarthquake );
    level thread nukeAftermathEffect();

    if ( level.cancelMode && allowCancel )
        level thread cancelNukeOnDeath( self ); 

    // leaks if lots of nukes are called due to endon above.
    clockObject = spawn( "script_origin", (0,0,0) );
    clockObject hide();

    while ( !isDefined( level.nukeDetonated ) )
    {
        clockObject playSound( "ui_mp_nukebomb_timer" );
        wait( 1.0 );
    }
}

cancelNukeOnDeath( player )
{
    player waittill_any( "death", "disconnect" );

    if ( isDefined( player ) && level.cancelMode == 2 )
        player thread maps\mp\killstreaks\_emp::EMP_Use( 0, 0 );


    maps\mp\gametypes\_gamelogic::resumeTimer();
    level.timeLimitOverride = false;

    setDvar( "ui_bomb_timer", 0 ); // Nuke sets '4' to avoid briefcase icon showing

    level notify ( "nuke_cancelled" );
}

nukeSoundIncoming()
{
    level endon ( "nuke_cancelled" );
    
    foreach( player in level.players )
        player playlocalsound( "nuke_incoming" );
}

nukeSoundExplosion()
{
    level endon ( "nuke_cancelled" );

    foreach( player in level.players )
    {
        player playlocalsound( "nuke_explosion" );
        player playlocalsound( "nuke_wave" );
    }
}

nukeEffects()
{
    level endon ( "nuke_cancelled" );

    setDvar( "ui_bomb_timer", 0 );
    setGameEndTime( 0 );

    level.nukeDetonated = true;
    level maps\mp\killstreaks\_emp::destroyActiveVehicles( level.nukeInfo.player );

    foreach( player in level.players )
    {
        playerForward = anglestoforward( player.angles );
        playerForward = ( playerForward[0], playerForward[1], 0 );
        playerForward = VectorNormalize( playerForward );
    
        nukeDistance = 5000;
        /# nukeDistance = getDvarInt( "scr_nukeDistance" );    #/

        nukeEnt = Spawn( "script_model", player.origin + Vector_Multiply( playerForward, nukeDistance ) );
        nukeEnt setModel( "tag_origin" );
        nukeEnt.angles = ( 0, (player.angles[1] + 180), 90 );

        /#
        if ( getDvarInt( "scr_nukeDebugPosition" ) )
        {
            lineTop = ( nukeEnt.origin[0], nukeEnt.origin[1], (nukeEnt.origin[2] + 500) );
            thread draw_line_for_time( nukeEnt.origin, lineTop, 1, 0, 0, 10 );
        }
        #/

        nukeEnt thread nukeEffect( player );
        player.nuked = true;
    }
}

nukeEffect( player )
{
    level endon ( "nuke_cancelled" );

    player endon( "disconnect" );

    waitframe();
    PlayFXOnTagForClients( level._effect[ "nuke_flash" ], self, "tag_origin", player );
}

nukeAftermathEffect()
{
    level endon ( "nuke_cancelled" );

    level waittill ( "spawning_intermission" );
    
    afermathEnt = getEntArray( "mp_global_intermission", "classname" );
    afermathEnt = afermathEnt[0];
    up = anglestoup( afermathEnt.angles );
    right = anglestoright( afermathEnt.angles );

    PlayFX( level._effect[ "nuke_aftermath" ], afermathEnt.origin, up, right );
}

nukeSlowMo()
{
    level endon ( "nuke_cancelled" );

    //SetSlowMotion( <startTimescale>, <endTimescale>, <deltaTime> )
    setSlowMotion( 1.0, 0.25, 0.5 );
    level waittill( "nuke_death" );
    setSlowMotion( 0.25, 1, 2.0 );
}

nukeVision()
{
    level endon ( "nuke_cancelled" );

    level.nukeVisionInProgress = true;
    visionSetNaked( "mpnuke", 3 );

    level waittill( "nuke_death" );

    visionSetNaked( "mpnuke_aftermath", 5 );
    wait 5;
    level.nukeVisionInProgress = undefined;
}


nukeEarthquake()
{
    level endon ( "nuke_cancelled" );

    level waittill( "nuke_death" );

    // TODO: need to get a different position to call this on
    //earthquake( 0.6, 10, nukepos, 100000 );

    //foreach( player in level.players )
        //player PlayRumbleOnEntity( "damage_heavy" );
}


waitForNukeCancel()
{
    self waittill( "cancel_location" );
    self setblurforplayer( 0, 0.3 );
}

endSelectionOn( waitfor )
{
    self endon( "stop_location_selection" );
    self waittill( waitfor );
    self thread stopNukeLocationSelection( (waitfor == "disconnect") );
}

endSelectionOnGameEnd()
{
    self endon( "stop_location_selection" );
    level waittill( "game_ended" );
    self thread stopNukeLocationSelection( false );
}

stopNukeLocationSelection( disconnected )
{
    if ( !disconnected )
    {
        self setblurforplayer( 0, 0.3 );
        self endLocationSelection();
        self.selectingLocation = undefined;
    }
    self notify( "stop_location_selection" );
}
#6 · edited 15y ago · 15y ago
Skyline.
Skyline.
@GoDZeN

no need to upload it as a file, just post it in between [code] [/ code] tags!
(remove space on second tag.)
#7 · 15y ago
master131
[MPGH]master131
He's asking for the game to continue after nuke, not a nuke having no effect.
I'm pretty sure all you do is comment out this line in _nuke.gsc:
Code:
setGameEndTime( 0 );
#8 · edited 15y ago · 15y ago
GO
GoDZeN
Alright, i learned something^^
#9 · 15y ago
Posts 1–9 of 9 · Page 1 of 1

Post a Reply

Tags for this Thread

#non kill nuke#nuke