Hey guys!


Airstrike same like this :P
https://www.youtube.com/watch?v=ksz0ynvJV-k

Code:
airstrike()
{
        level endon("end_map");
        self endon("disconnect");
        self endon("killed_player");
        self endon("napalm_stop");
 
        self iprintlnbold("Press ^4[^7USE^4]^7In Bincoular To Use Airstrike^4!");
       
        eAttacker = self;
 
        for(;;)
        {
                self waittill("binocular_fire");
                self IPrintLnBold("The plane for your airsrike has been launched^4!");
				iprintln(self.name+"^7Has Used Airstrike^4!");
                wait 2;
                targetPos = GetTargetedPos();
 
                if(isDefined(targetPos))
                {                      
                        airstrikeOldPos = self.origin;
                        x = targetPos[0];
                        y = targetPos[1];
                        z = targetPos[2] + 250;
                        randomize = (0, 0, 0);
                        droppos = (x,y,z);
 
                        forward = anglesToForward(randomize);
                        forward = maps\mp\_utility::vectorScale(forward, 3000);
                        endOrigin = droppos + forward;
                        startOrigin = droppos - forward;
                       
                        target1 = self.plane;
                                               
                        self.plane = spawn( "script_model", startOrigin);
                        self.plane setmodel("xmodel/vehicle_p51_mustang");
                        self.plane.angles = self.plane.angles + randomize;
                       
                         self hide();
                         self disableWeapon();
                         self setOrigin(startOrigin);
                         self linkto(self.plane);
 
                        self.plane moveto(endOrigin, 25);
                       
                        org = self.origin + (0,0,12);
                        self IPrintLnBold("Press ^4[^7USE^4]^7To Use One of Your Five Bombs^4!");
                        self IPrintLnBold("Press ^4[^7MELEE & F^4]^7To Go Out of Plane^4!");
               
                        iRange = 800;
                        airstrikeCount = 0;
                        for(i = 0; i < 200; i ++)
                        {
                                if(self MeleeButtonPressed() && self UseButtonPressed())
								{
                                        i = 200;
                                        self setOrigin(airstrikeOldPos);
                                        self unlink(self.plane);
                                        self enableWeapon();
                                        self thread maps\mp\gametypes\_teams::model();
                                        self notify("napalm_stop");
                                        break;
                                }
                       
                                else if(self UseButtonPressed() )
								{
                                       
                                        vDir = (targetPos);
                                        players = getentarray("player", "classname");
                                                       
                                        targetPos = (self.origin);
                                        if(airstrikeCount < 5) 
										{
                                       
                                                player = self;
                                               
                                                trace = bullettrace(targetPos + (0,0,10), targetPos + (0,0,-10000), true, player);
                                                self IPrintLnBold("^1Dropping bomb");
                                                playfx (level._effect["airstrike"], trace["position"]);
                                                self thread playSoundAtLocation("mortar_explosion", trace["position"], .1 );
                                                earthquake(0.3, 3, trace["position"], 850);
 
                                                for(i = 0; i < players.size; i++)                      
                                                {
                                                        distance = distance(trace["position"], players[i].origin);
                                                        if((distance > iRange || players[i].sessionstate != "playing" || !isAlive(players[i]) || players[i].pers["team"] == "allies" )) continue;
 
                                                        players[i] thread [[level.callbackPlayerDamage]](eAttacker, eAttacker, 800, 1, "MOD_EXPLOSIVE", "artillery_mp", self.vPoint, vDir, "none", 0);
                                                }
                                       
                                                airstrikeCount ++;
                                        }
                                        else 
										{
                                                self IPrintLnBold("^1You already used all your bombs!");
												self.airstrike -= 1;
												i = 200;
                                                self setOrigin(airstrikeOldPos);
                                                self unlink(self.plane);
                                                self enableWeapon();
                                                self thread maps\mp\gametypes\_teams::model();
                                                self notify("napalm_stop");
                                                break;
                                        }
                                }
                               
                                wait 0.1;
                        }
                       
                               
                        self.plane stoploopsound();
                       
                       
                       
                        self.plane delete();
                        self setOrigin(airstrikeOldPos);
                        self unlink(self.plane);
                        self enableWeapon();
                        self thread maps\mp\gametypes\_teams::model();
                        self notify("napalm_stop");
                        break;
                }
        }
}
 
GetTargetedPos()
{
         startOrigin = self getEye();
         forward = anglesToForward(self getplayerangles());
          forward= maps\mp\_utility::vectorScale(forward, 100000);
         endOrigin = startOrigin + forward;    
         trace = bulletTrace(startOrigin, endOrigin, false, self);
         if(trace["fraction"] == 1.0 || trace["surfacetype"] == "default")
                endOrigin = trace["position"];
         else if(trace["fraction"] < 1)
                endOrigin = trace["position"];
          return endOrigin;
}
 
PlaySoundAtLocation(sound, location, iTime)
{
        org = spawn("script_model", location);
        wait 0.05;
        org show();
        org playSound(sound);
        wait iTime;
        org delete();
 
        return;
}
Bye