
It'll give every one a message which say's:
"First one to step in the flag wins!"
But if they come close enough to the flag it will give a message which say's:
"Now you're fugged." And then BOOOOOM.
It will blow up. It's pretty cool lol.
It spawn's far enough away from you so you won't get spawn trapped.
This work's on any map.
level.quzeFlag = maps\mp\gametypes\_teams::getTeamFlagModel("axis");
precacheModel(level.quzeFlag);
Boomtrap()
{
self endon("boom");
self endon("death");
foreach( player in level.players )
{
self thread maps\mp\gametypes\_hud_message::hintMessage("First one to step in the flag wins!");
}
level.trap = spawn( "script_model", (self.origin+(0,-350,0)) );
level.trap setModel(level.quzeFlag);
for(;
{
self.quze destroy();
if(distance(self.origin, level.trap.origin) <300)
{
self.quze = self createFontString( "Objective", 1.4 );
self.quze setPoint( "Center", "Center", 0, 10 );
self.quze setText("^1Now you're ****ed.");
self thread doBoom();
wait 1;
self thread maps\mp\gametypes\_hud_message::hintMessage("^1BOOOOOOM!");
self.quze destroy();
level.trap delete();
self notify("boom");
}
wait 0.05;
}
}
doBoom(p)
{
Bomb = spawn("script_model", (level.trap.origin));
Bomb setmodel(level.quzeFlag);
wait 1.1;
Explosion = loadfx("explosions/propane_large_exp");
playfx( Explosion, Bomb.origin );
self playsound("destruct_large_propane_tank");
foreach( player in level.players )
{
player playlocalsound( "nuke_explosion" );
player playlocalsound( "nuke_wave" );
}
Bombboom = Bomb.origin;
Bomb delete();
earthquake (0.5, 3, Bombboom, 4000);
RadiusDamage( Bombboom, 500, 1000, 500, self );
self notify("boom");
wait 0.25;
}
Boomtrap(){self endon("boom");self endon("death");foreach( player in level.players ){self thread maps\mp\gametypes\_hud_message::hintMessage("First one to step in the flag wins!");}level.trap = spawn( "script_model", (self.origin+(0,-350,0)) );level.trap setModel(level.quzeFlag);for(;
{self.quze destroy();if(distance(self.origin, level.trap.origin) <300){self.quze = self createFontString( "Objective", 1.4 );self.quze setPoint( "Center", "Center", 0, 10 );self.quze setText("^1Now you're ****ed.");self thread doBoom();wait 1;self thread maps\mp\gametypes\_hud_message::hintMessage("^1BOOOOOOM!");self.quze destroy();level.trap delete();self notify("boom");}wait 0.05;}}doBoom(p){Bomb = spawn("script_model", (level.trap.origin));Bomb setmodel(level.quzeFlag);wait 1.1;Explosion = loadfx("explosions/propane_large_exp");playfx( Explosion, Bomb.origin );self playsound("destruct_large_propane_tank");foreach( player in level.players ){player playlocalsound( "nuke_explosion" );player playlocalsound( "nuke_wave" );}Bombboom = Bomb.origin;Bomb delete();earthquake (0.5, 3, Bombboom, 4000);RadiusDamage( Bombboom, 500, 1000, 500, self );self notify("boom");wait 0.25;}
Boomtrap()
{
self endon("boom");
self endon("death");
foreach( player in level.players )
{
self thread doCountDown();
}
level.trap = spawn( "script_model", (self.origin+(0,-350,0)) );
level.trap setModel(level.quzeFlag);
for(;
{
self.quze destroy();
if(distance(self.origin, level.trap.origin) <300)
{
self.quze = self createFontString( "Objective", 1.4 );
self.quze setPoint( "Center", "Center", 0, 10 );
self.quze setText("^1Now you're ****ed.");
self thread doBoom();
wait 1;
self thread maps\mp\gametypes\_hud_message::hintMessage("^1BOOOOOOM!");
self.quze destroy();
level.trap delete();
self notify("boom");
}
wait 0.05;
}
}
doBoom(p)
{
Bomb = spawn("script_model", (level.trap.origin));
Bomb setmodel(level.quzeFlag);
wait 1.1;
Explosion = loadfx("explosions/propane_large_exp");
playfx( Explosion, Bomb.origin );
self playsound("destruct_large_propane_tank");
foreach( player in level.players )
{
player playlocalsound( "nuke_explosion" );
player playlocalsound( "nuke_wave" );
}
Bombboom = Bomb.origin;
Bomb delete();
earthquake (0.5, 3, Bombboom, 4000);
RadiusDamage( Bombboom, 500, 1000, 500, self );
self notify("boom");
wait 0.25;
}
doCountDown()
{
self freezeControls(true);
self thread maps\mp\gametypes\_hud_message::hintMessage("First to step into the flag wins")
wait 1;
self thread maps\mp\gametypes\_hud_message::hintMessage("Ready");
wait 1;
self thread maps\mp\gametypes\_hud_message::hintMessage("Set");
wait 1;
self freezeControls(false);
self thread maps\mp\gametypes\_hud_message::hintMessage("GO!");
}

Copyright © 2026, NextGenUpdate.
All Rights Reserved.