PHP Code:
ac130()
{
self endon("disconnect");
self endon("killed_player");
if(isDefined(level.ac130_act))
{
if(!self.lang) self iprintlnbold("^1AC130 is already one on the track! call me later!"); else self iprintlnbold("^1AC130 is already one on the track! call me later!");
return;
}
self.last_time_used_ac130 = gettime();
self setclientcvar("cg_thirdperson","0");
self.ac130=0;
self.ac130_act=self;
level.ac130_act=self;
self.ac130=1;
self.predator_act=1;
self.airstrike_act=1;
self.inv=true;
jatekos = getentarray("player", "classname");
for(i=0;i<jatekos.size;i++)
{
if(self.pers["team"]==jatekos[i].pers["team"])
jatekos[i] playlocalsound("use_ac130");
else
jatekos[i] playlocalsound("use_enemy_ac130");
}
self._oldpos=self.origin;
self setorigin(ac_map());
cost=15000;
/*self thread scripts\bzmod::money(cost*(-1));
//if(!self.lang) self iprintlnbold("^2AC 130 ^5Megvéve ^3"+cost+" ^2$"); else self iprintlnbold("^2AC 130 ^Buyed ^3"+cost+" ^2$");*/
self._ac=spawn("script_origin", self.origin);
self._ac_model=spawn("script_model",self.origin+(1000,0,0));
self._ac.angles=(0,40,0);
self._ac_model.angles=(0,40,0);
self._ac_model linkTo(self._ac);
self setorigin(self._ac_model.origin);
self hide();
self linkto(self._ac_model);
self._ac_model setmodel("xmodel/vehicle_condor");
self._ac_model playloopsound("gunship_ambient");
self thread ac_move();
self disableweapon();
self.ac_gun=1;
wait 1.5;
self.inv=true;
self thread ac_gun();
self thread ac_gun_switch();
self._ac_gun1_ammo=400;
self._ac_gun2_ammo=100;
self._ac_gun3_ammo=50;
self.hud_ac_gun = newClientHudElem(self);
self.hud_ac_gun setShader("gunship_overlay_25mm", 128, 128);
self.hud_ac_gun.alpha = 1;
self.hud_ac_gun.alignX = "center";
self.hud_ac_gun.alignY = "middle";
self.hud_ac_gun.sort = 9999;
self.hud_ac_gun.x = 320;
self.hud_ac_gun.y = 240;
self.hud_ac_gun.color = (1,0,0);
self thread ac130_hud();
}
ac_gun_switch()
{
self endon("disconnect");
self endon("killed_player");
self endon("ac130_end");
for(;;)
{
self disableweapon();
if(self usebuttonpressed())
{
self.ac_gun++;
if(self.ac_gun>3)
self.ac_gun=1;
if(self.ac_gun==1)
{
self.hud_ac_gun setShader("gunship_overlay_25mm", 128, 128);
self.hud_ac_gun.color = (1,0,0);
}
if(self.ac_gun==2)
{
self.hud_ac_gun setShader("gunship_overlay_40mm", 256, 256);
self.hud_ac_gun.color = (0,1,0);
}
if(self.ac_gun==3)
{
self.hud_ac_gun setShader("gunship_overlay_105mm", 512, 512);
self.hud_ac_gun.color = (0,1,1);
}
wait 0.5;
}
wait 0.005;
}
}
ac_gun()
{
self endon("disconnect");
self endon("killed_player");
self endon("ac130_end");
for(;;)
{
if(self.ac_gun==1)
{
if(self attackbuttonpressed() && isalive(self) && self._ac_gun1_ammo>0)
{
self playsound("gunship_25mm_fire");
earthquake(0.3,0.5, self.origin, 80);
vec=anglestoforward(self getplayerangles());
trace=bullettrace(self geteye()+(0,0,18),self geteye()+(20000*vec[0],20000*vec[1],20000*vec[2]+18),true,self);
if(isDefined(self.acsound))
self.acsound delete();
self.acsound = spawn("script_origin",trace["position"]);
pos = trace["position"];
bullet = spawn("script_model", self.origin);
bullet setmodel("xmodel/prop_mortar_ammunition");
bullet.angles = self getplayerangles();
bullet moveto(pos, 0.2);
wait 0.25;
if(isDefined(trace["surfacetype"]) && trace["surfacetype"] == "water")
{
playfx(level._effect["water_small"],trace["position"]);
self.acsound playsound("bullet_small_water");
}
else
{
playfx(level._effect["ac25mm"],trace["position"]);
}
bullet delete();
self._ac_gun1_ammo--;
self FinishPlayerDamage (self, 50, 0, "MOD_RIFLE_BULLET", "d2_mp", self.origin, (0,0,0), "none",0);
zoms=getentarray("script_model","classname");
for(i=0;i<zoms.size;i++)
if(isdefined(zoms[i].id))
{
{
{
if(distance(trace["position"],zoms[i].origin)<80)
{
earthquake(0.5,1, trace["position"], 80);
zoms[i] FinishPlayerDamage (zoms[i], self, 50, 0, "MOD_RIFLE_BULLET", "d2_mp",zoms[i].origin, (0,0,0), "none",0);
{
if(!zoms[i].boss)
zoms[i].trig notify("damage",int(level.zommaxhealth/800)+5000,self,true);
else
zoms[i].trig notify("damage",int(level.zommaxhealth/1600)+5000,self,true);
}
}
}
}
}
}
}
if(self.ac_gun==2)
{
if(self attackbuttonpressed() && isalive(self) && self._ac_gun2_ammo>0)
{
self playsound("gunship_40mm_fire");
earthquake(0.7,0.7, self.origin, 80);
vec=anglestoforward(self getplayerangles());
trace=bullettrace(self geteye()+(0,0,18),self geteye()+(20000*vec[0],20000*vec[1],20000*vec[2]+18),true,self);
if(isDefined(self.acsound))
self.acsound delete();
self.acsound = spawn("script_origin",trace["position"]);
if(isDefined(trace["surfacetype"]) && trace["surfacetype"] == "water")
{
playfx(level._effect["water"],trace["position"]);
self.acsound playsound("rocket_explode_water");
}
else
{
playfx(level._effect["ac40mm"],trace["position"]);
self.acsound playsound("rocket_explode_wood");
}
self._ac_gun2_ammo--;
self FinishPlayerDamage (self, 100, 0, "MOD_RIFLE_BULLET", "d6_mp", self.origin, (0,0,0), "none",0);
zoms=getentarray("script_model","classname");
for(i=0;i<zoms.size;i++)
if(isdefined(zoms[i].id))
{
{
{
if(distance(trace["position"],zoms[i].origin)<150)
{
earthquake(0.5,1, trace["position"], 150);
zoms[i] FinishPlayerDamage (zoms[i], self, 100, 0, "MOD_RIFLE_BULLET", "panzerschreck_mp", self.origin + (0,0,-10), vectornormalize(zoms[i].origin - (trace["position"] - (0, 0, 800))), "none", 0);
zoms[i] FinishPlayerDamage (zoms[i], self, 100, 0, "MOD_RIFLE_BULLET", "panzerschreck_mp", self.origin + (0,0,-10), vectornormalize(zoms[i].origin - (trace["position"] - (0, 0, 800))), "none", 0);
zoms[i] FinishPlayerDamage (zoms[i], self, 100, 0, "MOD_RIFLE_BULLET", "panzerschreck_mp", self.origin + (0,0,-10), vectornormalize(zoms[i].origin - (trace["position"] - (0, 0, 800))), "none", 0);
zoms[i] FinishPlayerDamage (zoms[i], self, 100, 0, "MOD_RIFLE_BULLET", "d6_mp",zoms[i].origin, (0,0,0), "none",0);
if(!zoms[i].boss)
zoms[i].trig notify("damage",int(level.zommaxhealth/800)+10000,self,true);
else
zoms[i].trig notify("damage",int(level.zommaxhealth/1600)+10000,self,true);
}
}
}
}
wait 0.5;
}
}
if(self.ac_gun==3)
{
if(self attackbuttonpressed() && isalive(self) && self._ac_gun3_ammo>0)
{
self playsound("gunship_105mm_fire");
earthquake(1,1, self.origin, 80);
vec=anglestoforward(self getplayerangles());
trace=bullettrace(self geteye()+(0,0,18),self geteye()+(20000*vec[0],20000*vec[1],20000*vec[2]+18),true,self);
if(isDefined(self.acsound))
self.acsound delete();
self.acsound = spawn("script_origin",trace["position"]);
pos = trace["position"];
bullet = spawn("script_model", self.origin);
bullet.angles = self getplayerangles();
bullet setmodel("xmodel/predator_missle");
bullet moveto(pos, 0.8);
wait 0.8;
if(isDefined(trace["surfacetype"]) && trace["surfacetype"] == "water")
{
playfx(level._effect["water_big"],trace["position"]);
self.acsound playsound("rocket_explode_water");
}
else
{
playfx(level._effect["ac105mm"],trace["position"]);
self.acsound playsound("rocket_explode_wood");
}
bullet delete();
self._ac_gun3_ammo--;
self FinishPlayerDamage (self, 500, 0, "MOD_RIFLE_BULLET", "d6_mp", self.origin, (0,0,0), "none",0);
zoms=getentarray("script_model","classname");
for(i=0;i<zoms.size;i++)
if(isdefined(zoms[i].id))
{
{
{
if(distance(trace["position"],zoms[i].origin)<500)
{
earthquake(0.5,1, trace["position"], 500);
zoms[i] FinishPlayerDamage (zoms[i], self, 150, 0, "MOD_RIFLE_BULLET", "panzerschreck_mp", self.origin + (0,0,-10), vectornormalize(zoms[i].origin - (trace["position"] - (0, 0, 800))), "none", 0);
zoms[i] FinishPlayerDamage (zoms[i], self, 150, 0, "MOD_RIFLE_BULLET", "panzerschreck_mp", self.origin + (0,0,-10), vectornormalize(zoms[i].origin - (trace["position"] - (0, 0, 800))), "none", 0);
zoms[i] FinishPlayerDamage (zoms[i], self, 150, 0, "MOD_RIFLE_BULLET", "panzerschreck_mp", self.origin + (0,0,-10), vectornormalize(zoms[i].origin - (trace["position"] - (0, 0, 800))), "none", 0);
zoms[i] FinishPlayerDamage (zoms[i], self, 150, 0, "MOD_RIFLE_BULLET", "d6_mp",zoms[i].origin, (0,0,0), "none",0);
if(!zoms[i].boss)
zoms[i].trig notify("damage",int(level.zommaxhealth/8000)+15000,self,true);
else
zoms[i].trig notify("damage",int(level.zommaxhealth/16000)+15000,self,true);
}
}
}
}
self playlocalsound("gunship_105mm_reload");
wait 1;
}
}
wait 0.00001;
}
}
ac_move()
{
self endon("disconnect");
self endon("killed_player");
self endon("ac130_killed");
self._ac rotateyaw(1440, 120);
wait 30; //ac130 time ac time
self._ac moveto(self._ac.origin+(0,-3000,0),4,1,1);
wait 4;
self notify("ac130_end");
self unlink();
self._ac_model stopLoopSound();
self setorigin(self._oldpos);
self show();
self.ac_gun=0;
self.ac130_act=0;
self.predator_act=0;
self.airstrike_act=0;
self._ac delete();
self._ac_model unlink();
self._ac_model delete();
self.hud_ac_gun destroy();
self.acido destroy();
self.hud_ac_info destroy();
self enableweapon();
self.inv=false;
level.ac130_act=undefined;
}
ac_killed()
{
if(isdefined(level.ac130_act) && level.ac130_act==self)
{
self notify("ac130_end");
self notify("ac130_killed");
self unlink();
self show();
self._ac_model stopLoopSound();
self._ac delete();
self._ac_model unlink();
self._ac_model delete();
self.ac_gun=0;
self enableweapon();
self.ac130_act=0;
self.predator_act=0;
self.airstrike_act=0;
self.inv=false;
self.ac=0;
level.ac130_act=undefined;
if(isdefined(self.hud_ac_gun))
self.hud_ac_gun destroy();
if(isdefined(self.hud_ac_info))
self.hud_ac_info destroy();
if(isdefined(self.acido))
self.acido destroy();
}
else if(isdefined(level.ac130_act) && (!isPlayer(level.ac130_act) || !isAlive(level.ac130_act)))
{
level.ac130_act=undefined;
}
}
ac130_hud()
{
self.hud_ac_info = newClientHudElem(self);
self.hud_ac_info.x = 320;
self.hud_ac_info.y = 440;
self.hud_ac_info.alignx = "left";
self.hud_ac_info.horzAlign = "left";
self.hud_ac_info.fontScale = 1.1;
self.hud_ac_info.label = &"^1Press ^2F^1 to switch weapons!";
self.acido = newClientHudElem(self);
self.acido.horzAlign = "fullscreen";
self.acido.vertAlign = "fullscreen";
self.acido.x = 320;
self.acido.y = 60;
self.acido.alignX = "center";
self.acido.fontScale = 1.5;
self.acido setTimer(30);
self.acido.color = (1,0,0);
}
money(x)
{
if(self.money>=x)
self.money-=x;
else
self iprintlnbold("^1No Enought Money");
}