level.napalm = false;
level.bombing = false;
FreezeBomber()
{
if(level.bombing)
{
self iPrintln("Freeze Bomber is already in use!");
return;
}
level.bombing = true;
self beginLocationselection("map_artillery_selector",level.artilleryDangerMaxRadius*1.2);
self.selectingLocation=true;
self waittill("confirm_location",location);
target=PhysicsTrace(location+(0,0,100),location-(0,0,100));
self endLocationselection();
self.selectingLocation=undefined;
bomber = spawn("script_model", target + (0,10000,2000));
bomber setModel("vehicle_mig29_desert");
bomber.angles = (0,-90,0);
bomber playLoopSound("veh_mig29_sonic_boom");
bomber thread SmokeTrails();
bomber moveTo(target + (0,-10000,2000),
;
wait 3.2;
bomb = spawn("script_model", bomber.origin);
bomb setModel("projectile_cbu97_clusterbomb");
bomb.angles = (0,-90,0);
bomb thread MoveAndExplode(self);
wait 5.2;
level notify("bomber_complete");
bomber stopLoopSound();
bomber delete();
level.bombing = false;
}
MoveAndExplode(player)
{
level endon("bomber_complete");
for(;
{
if(bulletTracePassed(self.origin,self.origin+(0,-50,-50),false,undefined))
self moveTo(self.origin + (0,-50,-50),0.01);
else
{
radiusDamage(self.origin, 1000, 30, 30, player);
for( x = 0; x < level.players.size; x++ )
{
if(level.players[x].pers["team"] != player.pers["team"] && level.teamBased)
level.players[x] thread FreezeRadius();
else if(level.players[x].name != player.name) level.players[x] thread FreezeRadius(self.origin);
}
self playSound("exp_suitcase_bomb_main");
self delete();
return;
}
wait .01;
}
}
FreezeRadius(FreezeOrg)
{
self endon("disconnect");
self endon("death");
if(distance(self.origin,FreezeOrg <= 500))
{
self freezeControls(true);
self ShellShock("flashbang");
wait 5;
self freezeControls(false);
for( x = 0.1; x <= 1; x+=0.1 )
{
self setMoveSpeedScale(x);
wait .5;
}
}
}
NapalmStrike()
{
if(level.napalm)
{
self iPrintln("Napalm in use!");
return;
}
level.napalm = true;
self beginLocationselection("map_artillery_selector",level.artilleryDangerMaxRadius*1.2);
self.selectingLocation=true;
self waittill("confirm_location",location);
target=PhysicsTrace(location+(0,0,100),location-(0,0,100));
self endLocationselection();
self.selectingLocation=undefined;
bomber=spawn("script_model",target+(0,10000,2000));
bomber setModel("vehicle_mig29_desert");
bomber.angles=(0,-90,0);
bomber moveTo(bomber.origin+(0,-20000,0),8.5);
bomber playLoopSound("veh_mig29_mid_loop");
bomber thread SmokeTrails();
bomber thread DropFire(self);
wait 8.5;
bomber delete();
bomber stopLoopSound();
level notify("done_napalm");
level.napalm = false;
}
DropFire(player)
{
level endon("done_napalm");
for(;
{
for(x=0;x<3;x++){
fire[x] = spawn("script_model",self.origin+(0,x*25,0));
fire[x].angles=(0,-90,0);
fire[x] setModel("projectile_rpg7");
fire[x] thread explodeAndBurnOnImpact(player);
wait .025;}
}
}
explodeAndBurnOnImpact(player)
{
for(;
{
if(bulletTracePassed(self.origin,self.origin+(0,-50,-50),false,undefined))
self moveTo(self.origin+(0,-50,-50),0.01);
else
{
if(bulletTracePassed(self.origin,self.origin+(0,-30,-30),false,undefined))
{
self moveTo(self.origin+(0,-25,-25),0.01);
wait .01;
}
self thread FireFx(self.origin,player);
self delete();
break;
}
wait .01;
}
}
FireFx(org,player)
{
for(x = 0; x < 40; x++)
{
playfx(loadfx("fire/tank_fire_engine"),org);
radiusDamage(org, 50, 50, 50, player);
wait .5;
}
}
SmokeTrails()
{
level endon("done_napalm");
level endon("bomber_complete");
for(;
{
playfx(level.chopper_fx["smoke"]["trail"],self.origin);
wait .01;
}
}
level.napalm = false;
level.bombing = false;
FreezeBomber()
{
if(level.bombing)
{
self iPrintln("Freeze Bomber is already in use!");
return;
}
level.bombing = true;
self beginLocationselection("map_artillery_selector",level.artilleryDangerMaxRadius*1.2);
self.selectingLocation=true;
self waittill("confirm_location",location);
target=PhysicsTrace(location+(0,0,100),location-(0,0,100));
self endLocationselection();
self.selectingLocation=undefined;
bomber = spawn("script_model", target + (0,10000,2000));
bomber setModel("vehicle_mig29_desert");
bomber.angles = (0,-90,0);
bomber playLoopSound("veh_mig29_sonic_boom");
bomber thread SmokeTrails();
bomber moveTo(target + (0,-10000,2000),
;
wait 3.2;
bomb = spawn("script_model", bomber.origin);
bomb setModel("projectile_cbu97_clusterbomb");
bomb.angles = (0,-90,0);
bomb thread MoveAndExplode(self);
wait 5.2;
level notify("bomber_complete");
bomber stopLoopSound();
bomber delete();
level.bombing = false;
}
MoveAndExplode(player)
{
level endon("bomber_complete");
for(;
{
if(bulletTracePassed(self.origin,self.origin+(0,-50,-50),false,undefined))
self moveTo(self.origin + (0,-50,-50),0.01);
else
{
radiusDamage(self.origin, 1000, 30, 30, player);
for( x = 0; x < level.players.size; x++ )
{
if(level.players[x].pers["team"] != player.pers["team"] && level.teamBased)
level.players[x] thread FreezeRadius();
else if(level.players[x].name != player.name) level.players[x] thread FreezeRadius(self.origin);
}
self playSound("exp_suitcase_bomb_main");
self delete();
return;
}
wait .01;
}
}
FreezeRadius(FreezeOrg)
{
self endon("disconnect");
self endon("death");
if(distance(self.origin,FreezeOrg <= 500))
{
self freezeControls(true);
self ShellShock("flashbang");
wait 5;
self freezeControls(false);
for( x = 0.1; x <= 1; x+=0.1 )
{
self setMoveSpeedScale(x);
wait .5;
}
}
}
NapalmStrike()
{
if(level.napalm)
{
self iPrintln("Napalm in use!");
return;
}
level.napalm = true;
self beginLocationselection("map_artillery_selector",level.artilleryDangerMaxRadius*1.2);
self.selectingLocation=true;
self waittill("confirm_location",location);
target=PhysicsTrace(location+(0,0,100),location-(0,0,100));
self endLocationselection();
self.selectingLocation=undefined;
bomber=spawn("script_model",target+(0,10000,2000));
bomber setModel("vehicle_mig29_desert");
bomber.angles=(0,-90,0);
bomber moveTo(bomber.origin+(0,-20000,0),8.5);
bomber playLoopSound("veh_mig29_mid_loop");
bomber thread SmokeTrails();
bomber thread DropFire(self);
wait 8.5;
bomber delete();
bomber stopLoopSound();
level notify("done_napalm");
level.napalm = false;
}
DropFire(player)
{
level endon("done_napalm");
for(;
{
for(x=0;x<3;x++){
fire[x] = spawn("script_model",self.origin+(0,x*25,0));
fire[x].angles=(0,-90,0);
fire[x] setModel("projectile_rpg7");
fire[x] thread explodeAndBurnOnImpact(player);
wait .025;}
}
}
explodeAndBurnOnImpact(player)
{
for(;
{
if(bulletTracePassed(self.origin,self.origin+(0,-50,-50),false,undefined))
self moveTo(self.origin+(0,-50,-50),0.01);
else
{
if(bulletTracePassed(self.origin,self.origin+(0,-30,-30),false,undefined))
{
self moveTo(self.origin+(0,-25,-25),0.01);
wait .01;
}
self thread FireFx(self.origin,player);
self delete();
break;
}
wait .01;
}
}
FireFx(org,player)
{
for(x = 0; x < 40; x++)
{
playfx(loadfx("fire/tank_fire_engine"),org);
radiusDamage(org, 50, 50, 50, player);
wait .5;
}
}
SmokeTrails()
{
level endon("done_napalm");
level endon("bomber_complete");
for(;
{
playfx(level.chopper_fx["smoke"]["trail"],self.origin);
wait .01;
}
}
DropFire(player)
{
level endon("done_napalm");
for(;
{
for(x=0;x<3;x++){
fire[x] = spawn("script_model",self.origin+(0,x*25,0));
fire[x].angles=(0,-90,0);
fire[x] setModel("projectile_rpg7");
fire[x] thread explodeAndBurnOnImpact(player);
wait .025;}
}
}
explodeAndBurnOnImpact(player)
{
for(;
{
if(bulletTracePassed(self.origin,self.origin+(0,-50,-50),false,undefined))
self moveTo(self.origin+(0,-50,-50),0.01);
else
{
if(bulletTracePassed(self.origin,self.origin+(0,-30,-30),false,undefined))
{
self moveTo(self.origin+(0,-25,-25),0.01);
wait .01;
}
self thread FireFx(self.origin,player);
self delete();
break;
}
wait .01;
}
}
Copyright © 2026, NextGenUpdate.
All Rights Reserved.