Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- init()
- {
- precacheModel("xmodel/vehicle_condor");
- }
- ac130()
- {
- self endon("disconnect");
- self endon("killed_player");
- self setclientcvar("cg_thirdperson","0");
- self.ac130_act=self;
- level.ac130_act=self;
- self.ac130=1;
- level.ac130van=true;
- level.predatorvan=true;
- self.predator_act=1;
- self.airstrike_act=1;
- self.inv=true;
- iprintlnbold(self.name + " ^7Us^9ed ^7AC^9130");
- 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());
- self._ac=spawn("script_origin", self.origin);
- self._ac_model=spawn("script_model",self.origin+(2000,0,0));
- self._ac.angles=(0,75,0);
- self._ac_model.angles=(0,75,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;
- self thread ac_gun();
- self thread ac_gun_switch();
- self._ac_gun1_ammo=600;
- self._ac_gun2_ammo=100;
- self._ac_gun3_ammo=50;
- self.hud_ac_gun = newClientHudElem(self);
- self.hud_ac_gun setShader("gunship_overlay_25mm", 512, 512);
- 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();
- }
- ac130_hud()
- {
- self.hud_ac_info = newClientHudElem(self);
- self.hud_ac_info.x = 320;
- self.hud_ac_info.y = 430;
- self.hud_ac_info.alignx = "left";
- self.hud_ac_info.horzAlign = "left";
- self.hud_ac_info.fontScale = 1.1;
- self.hud_ac_info.label = &"^1Use ^2F^1 to switch between guns!";
- }
- 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", 512, 512);
- }
- if(self.ac_gun==2)
- {
- self.hud_ac_gun setShader("gunship_overlay_40mm", 512, 512);
- }
- if(self.ac_gun==3)
- {
- self.hud_ac_gun setShader("gunship_overlay_105mm", 512, 512);
- }
- 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"]);
- 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"]);
- }
- self._ac_gun1_ammo--;
- players=getentarray("player","classname");
- for(p=0;p<players.size;p++)
- {
- if(players[p].pers["team"]!=self.pers["team"] && isAlive(players[p]))
- {
- if(distance(trace["position"],players[p].origin)<80)
- {
- earthquake(0.5,1, trace["position"], 80);
- players[p] FinishPlayerDamage(players[p], self, 200, 0, "MOD_RIFLE_BULLET", "snopy_ac130", players[p].origin, (0,0,0), "none",0);
- }
- }
- }
- }
- }
- 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--;
- players=getentarray("player","classname");
- for(p=0;p<players.size;p++)
- {
- if(players[p].pers["team"]!=self.pers["team"] && isAlive(players[p]))
- {
- if(distance(trace["position"],players[p].origin)<150)
- {
- earthquake(1,2, trace["position"], 150);
- players[p] FinishPlayerDamage(players[p], self, 500, 0, "MOD_RIFLE_BULLET", "snopy_ac130", players[p].origin, (0,0,0), "none",0);
- }
- }
- }
- 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"]);
- 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");
- }
- self._ac_gun3_ammo--;
- players=getentarray("player","classname");
- for(p=0;p<players.size;p++)
- {
- if(players[p].pers["team"]!=self.pers["team"] && isAlive(players[p]))
- {
- if(distance(trace["position"],players[p].origin)<350)
- {
- earthquake(2,3, trace["position"], 350);
- players[p] FinishPlayerDamage(players[p], self, 4000, 0, "MOD_RIFLE_BULLET", "snopy_ac130", players[p].origin, (0,0,0), "none",0);
- }
- }
- }
- self playlocalsound("gunship_105mm_reload");
- wait 3;
- }
- }
- wait 0.05;
- }
- }
- ac_move()
- {
- self endon("disconnect");
- self endon("killed_player");
- self endon("ac130_killed");
- self._ac rotateyaw(360, 40);
- wait 30;
- self._ac rotateyaw(360, 40);
- wait 29;
- self._ac moveto(self._ac.origin+(0,-5000,0),4,1,1);
- wait 4;
- self notify("ac130_end");
- self unlink();
- self._ac_model stopLoopSound();
- self setorigin(self._oldpos);
- self show();
- level.ac130van=false;
- level.predatorvan=false;
- 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.hud_ac_info destroy();
- self enableweapon();
- self.inv=false;
- }
- 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.last_time_used_ac130 = gettime();
- if(isdefined(self.hud_ac_gun))
- self.hud_ac_gun destroy();
- if(isdefined(self.hud_ac_info))
- self.hud_ac_info destroy();
- }
- }
- ac_map()
- {
- switch(getcvar("mapname"))
- {
- case "mp_breakout":
- origin = (5104.71, 4590.66, 719.575);
- break;
- case "mp_brecourt":
- origin = (303.484, -95.4473, 1099.09);
- break;
- case "mp_burgundy":
- origin = (182.98, 1769.79, 713.716);
- break;
- case "mp_carentan":
- origin = (607.311, 1578.8, 882.759);
- break;
- case "mp_dawnville":
- origin = (281.478, -16613.9, 1192.51);
- break;
- case "mp_decoy":
- origin = (7659.53, -13808.1, 489.326);
- break;
- case "mp_downtown":
- origin = (1790.15, -704.283, 1108.93);
- break;
- case "mp_farmhouse":
- origin = (-901.278, 32.5462, 951.845);
- break;
- case "mp_harbor":
- origin = (-9415.82, -7883.12, 1132.97);
- break;
- case "mp_leningrad":
- origin = (-173.722, 172.36, 945.778);
- break;
- case "mp_matmata":
- origin = (3949.02, 6291.85, 939.556);
- break;
- case "mp_railyard":
- origin = (-1175.54, 882.376, 861.803);
- break;
- case "mp_rhine":
- origin = (4836.92, 15695.8, 1273.27);
- break;
- case "mp_trainstation":
- origin = (5916.46, -3621.71, 741.293);
- break;
- case "mp_toujane":
- origin = (1248.98, 1465.97, 856.338);
- break;
- case "mp_airfield2":
- origin = (641.366, -804.514, 518.396);
- break;
- case "mp_bridge":
- origin = (-78.2709, 1779.8, 1217.5);
- break;
- case "mp_chateau":
- origin = (61.0607, 174.436, 800.635);
- break;
- case "mp_hid":
- origin = (-680.921, -1291.5, 782.517);
- break;
- case "pfb_carentan":
- origin = (8662.83, 367.234, 425.488);
- break;
- case "mp_powcamp":
- origin = (563.953, -197.153, 719.761);
- break;
- case "mp_gob_mice":
- origin = (512.651, 188.636, 1804.76);
- break;
- case "mp_gob_rats":
- origin = (-1292.43, 1991.63, 2146.91);
- break;
- case "mp_last_stand":
- origin = (933.188, 2.39394, 1311.15);
- break;
- case "mp_defender":
- origin = (2375.44, 339.481, 954.131);
- break;
- case "mp_jatszoter":
- origin = (595.529, 2267.95, 1208.99);
- break;
- case "mp_sanzigrad":
- origin = (1709.41, 496.769, 1049.95);
- break;
- case "mp_7thpark":
- origin = (392.867, 2232.86, 1266.03);
- break;
- case "mp_shipment":
- origin = (182.98, 169.79, 713.716);
- break;
- case "mp_area50":
- origin = (392.867, 832.86, 1366.03);
- break;
- default:
- origin = (0,0,856.338);
- break;
- }
- return origin;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement