Post: [SCRIPTS] Freeze Bomber/Napalm Strike
07-07-2012, 06:18 PM #1
Choco
Respect my authoritah!!
(adsbygoogle = window.adsbygoogle || []).push({}); Hey guys,

This section has been dying a bit lately so I thought I would release these scripts. No videos for now, but you can feel free to record them.


Put these under init():

    level.napalm = false;
level.bombing = false;



First script is going to be the "Freeze Bomber", a plane that flies over the target dropping a bomb that explodes and freezes all enemy players within it's radius for 5 seconds, then slowly unfreezes them:

    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), Cool Man (aka Tustin);
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(;Winky Winky
{
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;
}
}
}


Second script is a napalm strike, pretty much like the one from black ops:

    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(;Winky Winky
{
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(;Winky Winky
{
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;
}
}


You will need this script for both of these mods:

    SmokeTrails()
{
level endon("done_napalm");
level endon("bomber_complete");
for(;Winky Winky
{
playfx(level.chopper_fx["smoke"]["trail"],self.origin);
wait .01;
}
}




That's all for now, enjoy Smile
(adsbygoogle = window.adsbygoogle || []).push({});

The following 9 users say thank you to Choco for this useful post:

aerosoul94, codybenti, Harry, INSAN3LY_D34TH, IVI40A3Fusionz, Jacob-And-Britt, Taylor, TOM DAINTY
07-07-2012, 08:15 PM #2
Taylor
Former Black Knight.
Originally posted by Choco View Post
Hey guys,

This section has been dying a bit lately so I thought I would release these scripts. No videos for now, but you can feel free to record them.


Put these under init():

    level.napalm = false;
level.bombing = false;



First script is going to be the "Freeze Bomber", a plane that flies over the target dropping a bomb that explodes and freezes all enemy players within it's radius for 5 seconds, then slowly unfreezes them:

    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), Cool Man (aka Tustin);
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(;Winky Winky
{
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;
}
}
}


Second script is a napalm strike, pretty much like the one from black ops:

    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(;Winky Winky
{
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(;Winky Winky
{
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;
}
}


You will need this script for both of these mods:

    SmokeTrails()
{
level endon("done_napalm");
level endon("bomber_complete");
for(;Winky Winky
{
playfx(level.chopper_fx["smoke"]["trail"],self.origin);
wait .01;
}
}




That's all for now, enjoy Smile


Video???? :fa: I want to see what it does!

The following user thanked Taylor for this useful post:

:HIGH:
07-07-2012, 08:20 PM #3
Choco
Respect my authoritah!!
Originally posted by xYARDSALEx View Post
Video???? :fa: I want to see what it does!


No vids yet :fa:
07-07-2012, 11:40 PM #4
Your freeze bomber & napalm strike scripts are pretty sweet!!!
I have one small problem. Napalm stike starts to lag after the forth run.
I'm just wondering if you have the same problem?
07-07-2012, 11:47 PM #5
Choco
Respect my authoritah!!
Originally posted by codybenti View Post
Your freeze bomber & napalm strike scripts are pretty sweet!!!
I have one small problem. Napalm stike starts to lag after the forth run.
I'm just wondering if you have the same problem?


I haven't tested extensively, so it could be a bug.
07-08-2012, 12:27 PM #6
Originally posted by Choco View Post
I haven't tested extensively


You shouldn't need to test it to see why this will lag out Enzo
07-08-2012, 08:42 PM #7
d7w7z
Bounty hunter
Originally posted by Choco View Post
    
DropFire(player)
{
level endon("done_napalm");
for(;Winky Winky
{
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(;Winky Winky
{
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;
}
}


Why don't you define the array fire in DropFire?? I'm pretty sure you need to define a variable as an array before you can store items in it.

Also it seems like it would be laggy, you are spawning 40 models per second with each model looping 100 times per second. Then you have all the FX you will be spawning once those models hit the ground while still continuously making 40 models per second.
07-08-2012, 08:55 PM #8
Choco
Respect my authoritah!!
Originally posted by d7w7z View Post
Why don't you define the array fire in DropFire?? I'm pretty sure you need to define a variable as an array before you can store items in it.

Also it seems like it would be laggy, you are spawning 40 models per second with each model looping 100 times per second. Then you have all the FX you will be spawning once those models hit the ground while still continuously making 40 models per second.


It doesn't lag at all when running the first time. I think that what happens is some of the napalm bombs never hit a target, so they fall forever and that eventually starts causing lag.
07-09-2012, 03:50 PM #9
Script Kiddie
At least I can fight
oooo i wanna see what it does will u post a vid ?
07-09-2012, 04:02 PM #10
Harry
Former Staff
wow thanks choco Winky Winky defo using this in my new patch :love:

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo