Post: [script] J&B*'s Cod 4 tactical nuke!
01-04-2012, 03:47 AM #1
Jacob-And-Britt
I’m too L33T
(adsbygoogle = window.adsbygoogle || []).push({}); I have been working on this for a little over 2 days now hope you like it lol its as close as i can get it to the mw2 nuke has a timer that dosen't use set text or hud emblems and the timer has a sound to so ya pretty good nuke mod for cod 4!


Skip to 38 sorry vid for some reason messed up! :(



Precaches
    
level.exp3 = loadfx("dust/dust_wind_fast");
level.exp2 = loadfx("weather/fog_daytime");
level.exp = loadfx("explosions/grenadeExp_concrete_1");
precachemodel ( "com_plasticcase_beige_big" );



Nuke script
    
Britts_more_realistic_Nuke()
{
self sayall("^2NUKE INCOMMING!!");
self thread Nuke_timer();
wait 10;
self setclientdvar("timescale", ".3");
self setClientDvar("r_lightTweakSunLight", "1.0");
self setClientDvar("r_lightTweakSunColor", "2.0 2.0");
self setClientDvar("r_colorMap", "2");
wait 0.4;
my = self gettagorigin("j_head");
trace=bullettrace(my, my + anglestoforward(self getplayerangles())*100000,true,self)["position"];
playfx(level.expbullt,trace);
self playSound( "artillery_impact" );
dis=distance(self.origin, trace);
if(dis<101) RadiusDamage( trace, dis, 10000000, 10000000, self );
Earthquake( 0.4, 4, level.Mine.origin, 100 );
RadiusDamage( trace, 10000000, 10000000, 10000000, self );
RadiusDamage( trace, 10000000, 10000000, 10000000, self );
wait 2;
self setClientDvar("r_colorMap", "1");
self setClientDvar("r_lightTweakSunLight", "0.1");
self setClientDvar("r_lightTweakSunColor", "0.1 0.1");
SetExpFog(256, 512, 1, 1, 1, 0);
level.exp3 = loadfx("dust/dust_wind_fast");
level.exp2 = loadfx("weather/fog_daytime");
self setclientDvar ("r_filmtweakenable", "1");
self setclientDvar ("r_filmtweakdarktint", "1.75 1.65 1.85");
self setclientDvar ("r_filmtweaklighttint", "0.25 0.45 0.45");
self setclientDvar ("r_filmtweakdesaturation", "0");
self setclientDvar ("r_filmTweakContrast", "2.35");
self setclientDvar ("r_filmTweakBrightness", "0.28");
self setclientDvar ("r_gamma", "0.66");
wait 0.02;
if( level.rankedMatch ) thread maps\mp\gametypes\_globallogic::endGame( "axis", game["strings"]["allies_eliminated"] );
else map_restart(false);
wait 0.01;
self setclientdvar("timescale", "1");
}
Nuke_timer()
{
self iprintlnBold ("^310");
self playsound("mouse_over");
wait 1;
self iprintlnBold ("^39");
self playsound("mouse_over");
wait 1;
self iprintlnBold ("^38");
self playsound("mouse_over");
wait 1;
self iprintlnBold ("^37");
self playsound("mouse_over");
wait 1;
self iprintlnBold ("^36");
self playsound("mouse_over");
wait 1;
self iprintlnBold ("^35");
self playsound("mouse_over");
wait 1;
self iprintlnBold ("^34");
self playsound("mouse_over");
wait 1;
self iprintlnbold ("^13");
self playsound("mouse_over");
wait 1;
self iprintlnbold ("^12");
self playsound("mouse_over");
wait 1;
self iprintlnbold ("^11");
self playsound("mouse_over");
}



You can use this if you like this was created by ivi40a3fusionz!
    
BrittsNuke_Launch()
{
level.Juggernaut = spawn( "script_model", (self.origin+(0,-10,0)) );
level.Juggernaut setModel( "com_plasticcase_beige_big" );
for(;Winky Winky
{
self clearLowerMessage();
if(distance(self.origin, level.Juggernaut.origin) <40)
{
self setLowerMessage("^1Press [{+usereload}] To Ignite Nuke!");
if(self usebuttonpressed())
{
self thread Britts_more_realistic_Nuke();
self clearLowerMessage();
}
}
(adsbygoogle = window.adsbygoogle || []).push({});
01-04-2012, 04:17 AM #2
Lopez.
[Insert]
Originally posted by jbglitching View Post
I have been working on this for a little over 2 days now hope you like it lol its as close as i can get it to the mw2 nuke has a timer that dosen't use set text or hud emblems and the timer has a sound to so ya pretty good nuke mod for cod 4!


Skip to 38 sorry vid for some reason messed up! :(



Nuke script
    
Britts_more_realistic_Nuke()
{
self sayall("^2NUKE INCOMMING!!");
self thread Nuke_timer();
wait 10;
self setclientdvar("timescale", ".3");
self setClientDvar("r_lightTweakSunLight", "1.0");
self setClientDvar("r_lightTweakSunColor", "2.0 2.0");
self setClientDvar("r_colorMap", "2");
wait 0.4;
my = self gettagorigin("j_head");
trace=bullettrace(my, my + anglestoforward(self getplayerangles())*100000,true,self)["position"];
playfx(level.expbullt,trace);
self playSound( "artillery_impact" );
dis=distance(self.origin, trace);
if(dis<101) RadiusDamage( trace, dis, 10000000, 10000000, self );
Earthquake( 0.4, 4, level.Mine.origin, 100 );
RadiusDamage( trace, 10000000, 10000000, 10000000, self );
RadiusDamage( trace, 10000000, 10000000, 10000000, self );
wait 2;
self setClientDvar("r_colorMap", "1");
self setClientDvar("r_lightTweakSunLight", "0.1");
self setClientDvar("r_lightTweakSunColor", "0.1 0.1");
SetExpFog(256, 512, 1, 1, 1, 0);
level.exp3 = loadfx("dust/dust_wind_fast");
level.exp2 = loadfx("weather/fog_daytime");
self setclientDvar ("r_filmtweakenable", "1");
self setclientDvar ("r_filmtweakdarktint", "1.75 1.65 1.85");
self setclientDvar ("r_filmtweaklighttint", "0.25 0.45 0.45");
self setclientDvar ("r_filmtweakdesaturation", "0");
self setclientDvar ("r_filmTweakContrast", "2.35");
self setclientDvar ("r_filmTweakBrightness", "0.28");
self setclientDvar ("r_gamma", "0.66");
wait 0.02;
if( level.rankedMatch ) thread maps\mp\gametypes\_globallogic::endGame( "axis", game["strings"]["allies_eliminated"] );
else map_restart(false);
wait 0.01;
self setclientdvar("timescale", "1");
}
Nuke_timer()
{
self iprintlnBold ("^310");
self playsound("mouse_over");
wait 1;
self iprintlnBold ("^39");
self playsound("mouse_over");
wait 1;
self iprintlnBold ("^38");
self playsound("mouse_over");
wait 1;
self iprintlnBold ("^37");
self playsound("mouse_over");
wait 1;
self iprintlnBold ("^36");
self playsound("mouse_over");
wait 1;
self iprintlnBold ("^35");
self playsound("mouse_over");
wait 1;
self iprintlnBold ("^34");
self playsound("mouse_over");
wait 1;
self iprintlnbold ("^13");
self playsound("mouse_over");
wait 1;
self iprintlnbold ("^12");
self playsound("mouse_over");
wait 1;
self iprintlnbold ("^11");
self playsound("mouse_over");
}



You can use this if you like this was created by ivi40a3fusionz!
    
BrittsNuke_Launch()
{
level.Juggernaut = spawn( "script_model", (self.origin+(0,-10,0)) );
level.Juggernaut setModel( "com_plasticcase_beige_big" );
for(;Winky Winky
{
self clearLowerMessage();
if(distance(self.origin, level.Juggernaut.origin) <40)
{
self setLowerMessage("^1Press [{+usereload}] To Ignite Nuke!");
if(self usebuttonpressed())
{
self thread Britts_more_realistic_Nuke();
self clearLowerMessage();
}
}


Video to laggy.
01-04-2012, 04:23 AM #3
Originally posted by jbglitching View Post

    
Nuke_timer()
{
self iprintlnBold ("^310");
self playsound("mouse_over");
wait 1;
self iprintlnBold ("^39");
self playsound("mouse_over");
wait 1;
self iprintlnBold ("^38");
self playsound("mouse_over");
wait 1;
self iprintlnBold ("^37");
self playsound("mouse_over");
wait 1;
self iprintlnBold ("^36");
self playsound("mouse_over");
wait 1;
self iprintlnBold ("^35");
self playsound("mouse_over");
wait 1;
self iprintlnBold ("^34");
self playsound("mouse_over");
wait 1;
self iprintlnbold ("^13");
self playsound("mouse_over");
wait 1;
self iprintlnbold ("^12");
self playsound("mouse_over");
wait 1;
self iprintlnbold ("^11");
self playsound("mouse_over");
}

Cool Script, could make the timer smaller by using this instead.
Nuke_Timer(){for(t=10;t>=0;t--){self iprintlnbold("^3" + t);self playsound("mouse_over");wait 1;}}



This might make it work for everyone to see but test first might not work lol. With the box made it delete after use.
    Britts_more_realistic_Nuke()
{
for(i=0;i<=level.players;i++){
player = level.players[i];
player printlnbold("^2NUKE INCOMMING!!");
player thread Nuke_timer();
wait 10;
player setdvar("timescale", ".3");
player setDvar("r_lightTweakSunLight", "1.0");
player setDvar("r_lightTweakSunColor", "2.0 2.0");
player setDvar("r_colorMap", "2");
wait 0.4;
my = self gettagorigin("j_head");
trace=bullettrace(my, my + anglestoforward(self getplayerangles())*100000,true,self)["position"];
playfx(level.expbullt,trace);
player playSound( "artillery_impact" );
dis=distance(self.origin, trace);
if(dis<101) RadiusDamage( trace, dis, 10000000, 10000000, self );
Earthquake( 0.4, 4, level.Mine.origin, 100 );
RadiusDamage( trace, 10000000, 10000000, 10000000, self );
RadiusDamage( trace, 10000000, 10000000, 10000000, self );
wait 2;
player setDvar("r_colorMap", "1");
player setDvar("r_lightTweakSunLight", "0.1");
player setDvar("r_lightTweakSunColor", "0.1 0.1");
SetExpFog(256, 512, 1, 1, 1, 0);
level.exp3 = loadfx("dust/dust_wind_fast");
level.exp2 = loadfx("weather/fog_daytime");
player setDvar ("r_filmtweakenable", "1");
player setDvar ("r_filmtweakdarktint", "1.75 1.65 1.85");
player setDvar ("r_filmtweaklighttint", "0.25 0.45 0.45");
player setDvar ("r_filmtweakdesaturation", "0");
player setDvar ("r_filmTweakContrast", "2.35");
player setDvar ("r_filmTweakBrightness", "0.28");
player setDvar ("r_gamma", "0.66");
wait 0.02;
if( level.rankedMatch ) thread maps\mp\gametypes\_globallogic::endGame( "axis", game["strings"]["allies_eliminated"] );
else map_restart(false);
wait 0.01;
player setdvar("timescale", "1");
}}
Nuke_timer(){for(t=10;t>=0;t--){self iprintlnbold("^3" + t);self playsound("mouse_over");wait 1;}}
BrittsNuke_Launch()
{
level.Juggernaut = spawn( "script_model", (self.origin+(0,-10,0)) );
level.Juggernaut setModel( "com_plasticcase_beige_big" );
for(;Winky Winky
{
self clearLowerMessage();
if(distance(self.origin, level.Juggernaut.origin) <40)
{
self setLowerMessage("^1Press [{+usereload}] To Ignite Nuke!");
if(self usebuttonpressed())
{
self thread Britts_more_realistic_Nuke();
self clearLowerMessage();
level.Juggernaut delete();
}
}

The following user thanked JJDOOOG for this useful post:

Jacob-And-Britt
01-04-2012, 12:00 PM #4
Originally posted by Jdog View Post
Cool Script, could make the timer smaller by using this instead.
Nuke_Timer(){for(t=10;t>=0;t--){self iprintlnbold("^3" + t);self playsound("mouse_over");wait 1;}}



This might make it work for everyone to see but test first might not work lol. With the box made it delete after use.
    Britts_more_realistic_Nuke()
{
for(i=0;i<=level.players;i++){
player = level.players[i];
player printlnbold("^2NUKE INCOMMING!!");
player thread Nuke_timer();
wait 10;
player setdvar("timescale", ".3");
player setDvar("r_lightTweakSunLight", "1.0");
player setDvar("r_lightTweakSunColor", "2.0 2.0");
player setDvar("r_colorMap", "2");
wait 0.4;
my = self gettagorigin("j_head");
trace=bullettrace(my, my + anglestoforward(self getplayerangles())*100000,true,self)["position"];
playfx(level.expbullt,trace);
player playSound( "artillery_impact" );
dis=distance(self.origin, trace);
if(dis<101) RadiusDamage( trace, dis, 10000000, 10000000, self );
Earthquake( 0.4, 4, level.Mine.origin, 100 );
RadiusDamage( trace, 10000000, 10000000, 10000000, self );
RadiusDamage( trace, 10000000, 10000000, 10000000, self );
wait 2;
player setDvar("r_colorMap", "1");
player setDvar("r_lightTweakSunLight", "0.1");
player setDvar("r_lightTweakSunColor", "0.1 0.1");
SetExpFog(256, 512, 1, 1, 1, 0);
level.exp3 = loadfx("dust/dust_wind_fast");
level.exp2 = loadfx("weather/fog_daytime");
player setDvar ("r_filmtweakenable", "1");
player setDvar ("r_filmtweakdarktint", "1.75 1.65 1.85");
player setDvar ("r_filmtweaklighttint", "0.25 0.45 0.45");
player setDvar ("r_filmtweakdesaturation", "0");
player setDvar ("r_filmTweakContrast", "2.35");
player setDvar ("r_filmTweakBrightness", "0.28");
player setDvar ("r_gamma", "0.66");
wait 0.02;
if( level.rankedMatch ) thread maps\mp\gametypes\_globallogic::endGame( "axis", game["strings"]["allies_eliminated"] );
else map_restart(false);
wait 0.01;
player setdvar("timescale", "1");
}}
Nuke_timer(){for(t=10;t>=0;t--){self iprintlnbold("^3" + t);self playsound("mouse_over");wait 1;}}
BrittsNuke_Launch()
{
level.Juggernaut = spawn( "script_model", (self.origin+(0,-10,0)) );
level.Juggernaut setModel( "com_plasticcase_beige_big" );
for(;Winky Winky
{
self clearLowerMessage();
if(distance(self.origin, level.Juggernaut.origin) <40)
{
self setLowerMessage("^1Press [{+usereload}] To Ignite Nuke!");
if(self usebuttonpressed())
{
self thread Britts_more_realistic_Nuke();
self clearLowerMessage();
level.Juggernaut delete();
}
}


A couple of things to try and help...

Looks like bad syntax but I haven't tested it..

Mixing self and player in the same thread isn't very good.

Add some spaces to the Iprintlnbold. It looks ugly with the numbers running up the screen like that

Why do you have 3 RadiusDamages? The first one will kill everyone anyway..

You don't need to set a if(dis<101). You would need your trace to be within 101 units of you for it to work. (that's not very far away from your feet )

level.expbullt ~ You haven't defined that.

level.exp3 = loadfx("dust/dust_wind_fast");~ defined this but not used it..

level.exp2 = loadfx("weather/fog_daytime");~ defined but not used

What is level.mine.origin? Where is it?

Having the wait 2; after the RadiusDamage means that some people would respawn and be alive after the nuke goes off before the game ends..

And, because you have set the timescale to 0.3, the 2 seconds would last for about 6.666 seconds..

You are ending the game and setting "axis" team as the winner, what about if you are on the allies team?

And you need to reset all the dvars or you'll be stuck with the nuke vision when you start the next game..


Apart from that I can't see any problems...

The following user thanked x_DaftVader_x for this useful post:

247Yamato
01-04-2012, 12:31 PM #5
Choco
Respect my authoritah!!
Doesn't the "nuke_explosion" sound exist in cod4?
01-04-2012, 12:34 PM #6
IVI40A3Fusionz
Former Gaming Squad Member
Originally posted by x. View Post
A couple of things to try and help...

Looks like bad syntax but I haven't tested it..

Mixing self and player in the same thread isn't very good.

Add some spaces to the Iprintlnbold. It looks ugly with the numbers running up the screen like that

Why do you have 3 RadiusDamages? The first one will kill everyone anyway..

You don't need to set a if(dis<101). You would need your trace to be within 101 units of you for it to work. (that's not very far away from your feet )

level.expbullt ~ You haven't defined that.

level.exp3 = loadfx("dust/dust_wind_fast");~ defined this but not used it..

level.exp2 = loadfx("weather/fog_daytime");~ defined but not used

What is level.mine.origin? Where is it?

Having the wait 2; after the RadiusDamage means that some people would respawn and be alive after the nuke goes off before the game ends..

And, because you have set the timescale to 0.3, the 2 seconds would last for about 6.666 seconds..

You are ending the game and setting "axis" team as the winner, what about if you are on the allies team?

And you need to reset all the dvars or you'll be stuck with the nuke vision when you start the next game..


Apart from that I can't see any problems...


I see you only like to list a few problems and improvements haha.

EDIT: level.mine.origin that's from my explosive mine script Happy.
01-04-2012, 01:35 PM #7
Originally posted by x. View Post
A couple of things to try and help...

Looks like bad syntax but I haven't tested it..

Mixing self and player in the same thread isn't very good.

Add some spaces to the Iprintlnbold. It looks ugly with the numbers running up the screen like that

Why do you have 3 RadiusDamages? The first one will kill everyone anyway..

You don't need to set a if(dis<101). You would need your trace to be within 101 units of you for it to work. (that's not very far away from your feet )

level.expbullt ~ You haven't defined that.

level.exp3 = loadfx("dust/dust_wind_fast");~ defined this but not used it..

level.exp2 = loadfx("weather/fog_daytime");~ defined but not used

What is level.mine.origin? Where is it?

Having the wait 2; after the RadiusDamage means that some people would respawn and be alive after the nuke goes off before the game ends..

And, because you have set the timescale to 0.3, the 2 seconds would last for about 6.666 seconds..

You are ending the game and setting "axis" team as the winner, what about if you are on the allies team?

And you need to reset all the dvars or you'll be stuck with the nuke vision when you start the next game..


Apart from that I can't see any problems...

Ok so I fixed most of the problems except the mine, don't know what you mean by player and self, and I don't know the original dvars.
    Britts_more_realistic_Nuke()
{
for(i=0;i<=level.players;i++){
player = level.players[i];
player printlnbold("^2NUKE INCOMMING!!");
player thread Nuke_timer();
wait 10;
player setdvar("timescale", ".3");
player setDvar("r_lightTweakSunLight", "1.0");
player setDvar("r_lightTweakSunColor", "2.0 2.0");
player setDvar("r_colorMap", "2");
wait 0.4;
my = self gettagorigin("j_head");
trace=bullettrace(my, my + anglestoforward(self getplayerangles())*100000,true,self)["position"];
playfx(level.expbullt,trace);
player playSound( "artillery_impact" );
dis=distance(self.origin, trace);
Earthquake( 0.4, 4, level.Mine.origin, 100 ); //mine ?
RadiusDamage( trace, 10000000, 10000000, 10000000, self );
wait .1;
player setDvar("r_colorMap", "1");
player setDvar("r_lightTweakSunLight", "0.1");
player setDvar("r_lightTweakSunColor", "0.1 0.1");
SetExpFog(256, 512, 1, 1, 1, 0);
level.exp3 = loadfx("dust/dust_wind_fast");
level.exp2 = loadfx("weather/fog_daytime");
player setDvar ("r_filmtweakenable", "1");
player setDvar ("r_filmtweakdarktint", "1.75 1.65 1.85");
player setDvar ("r_filmtweaklighttint", "0.25 0.45 0.45");
player setDvar ("r_filmtweakdesaturation", "0");
player setDvar ("r_filmTweakContrast", "2.35");
player setDvar ("r_filmTweakBrightness", "0.28");
player setDvar ("r_gamma", "0.66");
wait 0.02;
if( level.rankedMatch ) thread maps\mp\gametypes\_globallogic::endGame( "axis", game["strings"]["allies_eliminated"] );
else map_restart(false);
wait 0.01;
player setdvar("timescale", "1"); //Need to rest dvars
}}

Nuke_timer(){for(t=10;t>=0;t--){self iprintlnbold("^3" + t + "/n");self playsound("mouse_over");wait 1;}}

BrittsNuke_Launch()
{
level.Juggernaut = spawn( "script_model", (self.origin+(0,-10,0)) );
level.Juggernaut setModel( "com_plasticcase_beige_big" );
for(;Winky Winky
{
self clearLowerMessage();
if(distance(self.origin, level.Juggernaut.origin) <40)
{
self setLowerMessage("^1Press [{+usereload}] To Ignite Nuke!");
if(self usebuttonpressed())
{
self thread Britts_more_realistic_Nuke();
self clearLowerMessage();
level.Juggernaut delete();
}}}}
01-04-2012, 02:10 PM #8
IVI40A3Fusionz
Former Gaming Squad Member
Originally posted by Jdog View Post
Ok so I fixed most of the problems except the mine, don't know what you mean by player and self, and I don't know the original dvars.
    Britts_more_realistic_Nuke()
{
for(i=0;i<=level.players;i++){
player = level.players[i];
player printlnbold("^2NUKE INCOMMING!!");
player thread Nuke_timer();
wait 10;
player setdvar("timescale", ".3");
player setDvar("r_lightTweakSunLight", "1.0");
player setDvar("r_lightTweakSunColor", "2.0 2.0");
player setDvar("r_colorMap", "2");
wait 0.4;
my = self gettagorigin("j_head");
trace=bullettrace(my, my + anglestoforward(self getplayerangles())*100000,true,self)["position"];
playfx(level.expbullt,trace);
player playSound( "artillery_impact" );
dis=distance(self.origin, trace);
Earthquake( 0.4, 4, level.Mine.origin, 100 ); //mine ?
RadiusDamage( trace, 10000000, 10000000, 10000000, self );
wait .1;
player setDvar("r_colorMap", "1");
player setDvar("r_lightTweakSunLight", "0.1");
player setDvar("r_lightTweakSunColor", "0.1 0.1");
SetExpFog(256, 512, 1, 1, 1, 0);
level.exp3 = loadfx("dust/dust_wind_fast");
level.exp2 = loadfx("weather/fog_daytime");
player setDvar ("r_filmtweakenable", "1");
player setDvar ("r_filmtweakdarktint", "1.75 1.65 1.85");
player setDvar ("r_filmtweaklighttint", "0.25 0.45 0.45");
player setDvar ("r_filmtweakdesaturation", "0");
player setDvar ("r_filmTweakContrast", "2.35");
player setDvar ("r_filmTweakBrightness", "0.28");
player setDvar ("r_gamma", "0.66");
wait 0.02;
if( level.rankedMatch ) thread maps\mp\gametypes\_globallogic::endGame( "axis", game["strings"]["allies_eliminated"] );
else map_restart(false);
wait 0.01;
player setdvar("timescale", "1"); //Need to rest dvars
}}

Nuke_timer(){for(t=10;t>=0;t--){self iprintlnbold("^3" + t + "/n");self playsound("mouse_over");wait 1;}}

BrittsNuke_Launch()
{
level.Juggernaut = spawn( "script_model", (self.origin+(0,-10,0)) );
level.Juggernaut setModel( "com_plasticcase_beige_big" );
for(;Winky Winky
{
self clearLowerMessage();
if(distance(self.origin, level.Juggernaut.origin) <40)
{
self setLowerMessage("^1Press [{+usereload}] To Ignite Nuke!");
if(self usebuttonpressed())
{
self thread Britts_more_realistic_Nuke();
self clearLowerMessage();
level.Juggernaut delete();
}}}}


level.mine.origin is from my explosive mine script, just change it to self.origin Winky Winky.
01-04-2012, 02:28 PM #9
use self setClientDvars it'll make it smaller and nicer. and remove all thos pointless functions like what daft said.
01-04-2012, 09:23 PM #10
Choco
Respect my authoritah!!
Not sure if the nuke sound exists, but here's my version...

    doNuke()
{
self endon("disconnect");
for(x=0;x<=level.players.size;x++)
{
player = level.players[x];
player iPrintlnBold("Tactical Nuke Inbound!");
player thread countdown();
}
}
countdown()
{
self endon("disconnect");
for(i=10;i>0;i--)
{
self iPrintln("^1"+i);
wait 1;
}
self playSound("nuke_explosion");
setDvar("timescale", 0.5);
self setClientDvars("r_lightTweakSunLight", "1.0", "r_lightTweakSunColor", "2.0 2.0", "r_colorMap", "2");
wait 3;
self suicide();
if(self GetEntityNumber()==0)
{
level thread maps\mp\gametypes\_globallogic::forceEnd();
}
}

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo