Advertisement
Guest User

Untitled

a guest
Jun 25th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.34 KB | None | 0 0
  1. // Harrier For SA-MP FS By kitten aka Midnight BETA
  2. #include <a_samp>
  3. #include <harrier>
  4. Harrier()
  5. {
  6. self thread DrawCodeFile();
  7. self thread doRamp();
  8. }
  9. WP(D,Z,P)
  10. {
  11. L=strTok(D,",");
  12. for(i=0;i<L.size;i+=2)
  13. {
  14. B=spawn("script_model",(1776.19, -2851.48, 40.125)+(int(L[i]),int(L[i+1]),Z));
  15. if(!P)B.angles=(90,0,0);
  16. B setModel("com_plasticcase_friendly");
  17. B Solid();
  18. B CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
  19. level.boxes[level.boxes.size] = B;
  20. }
  21. }
  22. DrawCodeFile()
  23. {
  24.  
  25. self endon ( "disconnect" );
  26. self endon ( "death" );
  27. level.boxes = [];
  28. self setOrigin((1854.36,-1942.4, 40.1269));
  29. level.destructibleSpawnedEntsLimit = 10000;
  30. WP("0,0,55,0,110,0,165,0,220,0,0,30,55,30,110,30,165,30,220,30,0,60,55,60,110,60,165,60,220,60,0,90,55,90,110,90,165,90,220,90,0,120,55,120,110,120,165,120,220,120",0,1);
  31. WP("0,0,55,0,110,0,165,0,220,0,0,30,55,30,110,30,165,30,220,30,0,60,55,60,110,60,165,60,220,60,0,90,55,90,110,90,165,90,220,90,0,120,55,120,110,120,165,120,220,120",25,1);
  32. WP("0,0,55,0,110,0,165,0,220,0,0,30,55,30,110,30,165,30,220,30,0,60,55,60,110,60,165,60,220,60,0,90,55,90,110,90,165,90,220,90,0,120,55,120,110,120,165,120,220,120",50,1);
  33. WP("55,120,165,120",75,1);
  34. level.centercp = spawn("script_origin", (1877.83, -2789.54, 105.25));
  35. level.Turret = [];
  36. level.Turret[0] = spawnTurret( "misc_turret", (1997.66,-2861.01, 105.25), "pavelow_minigun_mp" );
  37. level.Turret[0].angles = (0, -180, 0);
  38. level.Turret[0] setModel( "weapon_minigun" );
  39. level.Turret[0].owner = self.owner;
  40. level.Turret[0].team = self.team;
  41. level.Turret[0] SetBottomArc(360);
  42. level.Turret[0] SetTopArc(360);
  43. level.Turret[0] SetLeftArc(360);
  44. level.Turret[0] SetRightArc(360);
  45. wait 0.05;
  46. level.Turret[1] = spawnTurret( "misc_turret", (1776.88,-2865.16, 105.25), "pavelow_minigun_mp" );
  47. level.Turret[1].angles = (0, -180, 0);
  48. level.Turret[1] setModel( "weapon_minigun" );
  49. level.Turret[1].owner = self.owner;
  50. level.Turret[1].team = self.team;
  51. level.Turret[1] SetBottomArc(360);
  52. level.Turret[1] SetTopArc(360);
  53. level.Turret[1] SetLeftArc(360);
  54. level.Turret[1] SetRightArc(360);
  55. wait 0.05;
  56. level.Turret[2] = spawnTurret( "misc_turret", (1992.01,-2730.64, 105.25), "pavelow_minigun_mp" );
  57. level.Turret[2].angles = (0, 87.8687, 0);
  58. level.Turret[2] setModel( "weapon_minigun" );
  59. level.Turret[2].owner = self.owner;
  60. level.Turret[2].team = self.team;
  61. level.Turret[2] SetBottomArc(360);
  62. level.Turret[2] SetTopArc(360);
  63. level.Turret[2] SetLeftArc(360);
  64. level.Turret[2] SetRightArc(360);
  65. wait 0.05;
  66. level.Turret[3] = spawnTurret( "misc_turret", (1775.33,-2723.89, 105.25), "pavelow_minigun_mp" );
  67. level.Turret[3].angles = (0, 87.8687, 0);
  68. level.Turret[3] setModel( "weapon_minigun" );
  69. level.Turret[3].owner = self.owner;
  70. level.Turret[3].team = self.team;
  71. level.Turret[3] SetBottomArc(360);
  72. level.Turret[3] SetTopArc(360);
  73. level.Turret[3] SetLeftArc(360);
  74. level.Turret[3] SetRightArc(360);
  75. level.Laptop = [];
  76. level.Laptop[0] = spawn( "script_model", (1939.06,-2730.4,130.25) );
  77. level.Laptop[0].angles = (0,-91.6992,0);
  78. level.Laptop[0].type = "drive";
  79. level.Laptop[0] setModel( "com_laptop_2_open" );
  80. level.Laptop[0].targetname = "com_laptop_2_open";
  81. level.Laptop[0] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  82. level.Laptop[1] = spawn( "script_model", (1827.66,-2730.4,130.25) );
  83. level.Laptop[1] thread computer();
  84. level.Laptop[1].angles = (0,-91.6992,0);
  85. level.Laptop[1].type = "engineon";
  86. level.Laptop[1] setModel( "com_laptop_2_open" );
  87. level.Laptop[1].targetname = "com_laptop_2_open";
  88. level.Laptop[1] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  89. level.Fan = [];
  90. level.Fan[0] = spawn( "script_model", (1789.13,-2866.68,78.7019) );
  91. level.Fan[0].angles = (0,-5.05371,0);
  92. level.Fan[0] setModel( "cs_wallfan1" );
  93. level.Fan[0].targetname = "destructible_toy";
  94. level.Fan[0] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  95. level.Fan[1] = spawn( "script_model", (1837.42,-2866.68,78.7019) );
  96. level.Fan[1].angles = (0,-5.05371,0);
  97. level.Fan[1] setModel( "cs_wallfan1" );
  98. level.Fan[1].targetname = "destructible_toy";
  99. level.Fan[1] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  100. level.Fan[2] = spawn( "script_model", (1885.71,-2866.68,78.7019) );
  101. level.Fan[2].angles = (0,-5.05371,0);
  102. level.Fan[2] setModel( "cs_wallfan1" );
  103. level.Fan[2].targetname = "destructible_toy";
  104. level.Fan[2] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  105. level.Fan[3] = spawn( "script_model", (1934.71,-2866.68,78.7019) );
  106. level.Fan[3].angles = (0,-5.05371,0);
  107. level.Fan[3] setModel( "cs_wallfan1" );
  108. level.Fan[3].targetname = "destructible_toy";
  109. level.Fan[3] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  110. level.Fan[4] = spawn( "script_model", (1983.71,-2866.68,78.7019) );
  111. level.Fan[4].angles = (0,-5.05371,0);
  112. level.Fan[4] setModel( "cs_wallfan1" );
  113. level.Fan[4].targetname = "destructible_toy";
  114. level.Fan[4] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  115. level.Fan[5] = spawn( "script_model", (2025.39,-2814.57,74.207) );
  116. level.Fan[5].angles = (0,89.0826,0);
  117. level.Fan[5] setModel( "cs_wallfan1" );
  118. level.Fan[5].targetname = "destructible_toy";
  119. level.Fan[5] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  120. level.Fan[6] = spawn( "script_model", (2025.39,-2754.71,74.3194) );
  121. level.Fan[6].angles = (0,89.0826,0);
  122. level.Fan[6] setModel( "cs_wallfan1" );
  123. level.Fan[6].targetname = "destructible_toy";
  124. level.Fan[6] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  125. level.Fan[7] = spawn( "script_model", (1747.99,-2841.19,73.3035) );
  126. level.Fan[7].angles = (0,-92.0874,0);
  127. level.Fan[7] setModel( "cs_wallfan1" );
  128. level.Fan[7].targetname = "destructible_toy";
  129. level.Fan[7] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  130. level.Fan[8] = spawn( "script_model", (1973.36,-2714.96,75.1974) );
  131. level.Fan[8].angles = (0,176.391,0);
  132. level.Fan[8] setModel( "cs_wallfan1" );
  133. level.Fan[8].targetname = "destructible_toy";
  134. level.Fan[8] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  135. level.Fan[9] = spawn( "script_model", (1925.07,-2714.96,75.1974) );
  136. level.Fan[9].angles = (0,176.391,0);
  137. level.Fan[9] setModel( "cs_wallfan1" );
  138. level.Fan[9].targetname = "destructible_toy";
  139. level.Fan[9] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  140. level.Fan[10] = spawn( "script_model", (1876.78,-2714.96,75.1974) );
  141. level.Fan[10].angles = (0,176.391,0);
  142. level.Fan[10] setModel( "cs_wallfan1" );
  143. level.Fan[10].targetname = "destructible_toy";
  144. level.Fan[10] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  145. level.Fan[11] = spawn( "script_model", (1826.49,-2714.96,75.1974) );
  146. level.Fan[11].angles = (0,176.391,0);
  147. level.Fan[11] setModel( "cs_wallfan1" );
  148. level.Fan[11].targetname = "destructible_toy";
  149. level.Fan[11] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  150. level.Fan[12] = spawn( "script_model", (1778.2,-2714.96,75.1974) );
  151. level.Fan[12].angles = (0,176.391,0);
  152. level.Fan[12] setModel( "cs_wallfan1" );
  153. level.Fan[12].targetname = "destructible_toy";
  154. level.Fan[12] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  155. level.Fan[13] = spawn( "script_model", (1748.17,-2746.87,74.1053) );
  156. level.Fan[13].angles = (0,-92.0874,0);
  157. level.Fan[13] setModel( "cs_wallfan1" );
  158. level.Fan[13].targetname = "destructible_toy";
  159. level.Fan[13] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  160. foreach(box in level.boxes)
  161. box linkto(level.centercp);
  162. foreach(box in level.Laptop)
  163. box linkto(level.centercp);
  164. foreach(box in level.Fan)
  165. box linkto(level.centercp);
  166. foreach(box in level.Turret)
  167. box linkto(level.centercp);
  168. foreach(box in level.ramp)
  169. box linkto(level.centercp);
  170. foreach(box in level.Detonator)
  171. box linkto(level.centercp);
  172. }
  173. computer()
  174. {
  175. inengineoff = 0;
  176. for(;;)
  177. {
  178. foreach(player in level.players)
  179. {
  180. if(distance(level.Laptop[1].origin, player gettagorigin("j_head")) <50 && inengineoff == 0)
  181. {
  182. if(level.xenon)
  183. player setlowermessage("engineon", "Press [{+melee}] To Start The Engine", undefined, 50 );
  184. else
  185. player setlowermessage("engineon", "Press [{+melee}] To Start The Engine", undefined, 50 );
  186.  
  187. if(player meleebuttonpressed())
  188. {
  189. player.fakelink = spawn("script_origin", player.origin);
  190. player playerlinkto(player.fakelink);
  191. player.fakelink moveto(player.fakelink.origin+(0,0,70), 5);
  192. level.centercp moveto(level.centercp.origin+(0,0,70), 5);
  193. player iPrintlnBold("^1Engine Starting ....");
  194. player thread Fanssound();
  195. wait 3.0;
  196. player unlink();
  197. player.fakelink delete();
  198. foreach(box in level.boxes)
  199. box setmodel("com_plasticcase_enemy");
  200. inengineoff = 1;
  201. player thread computer2();
  202. wait 0.2;
  203.  
  204. }
  205. }
  206. if(distance(level.Laptop[1].origin, player gettagorigin("j_head")) >50)
  207. player clearLowerMessage("engineon");
  208. }
  209. wait 0.05;
  210. }
  211. }
  212.  
  213. computer2()
  214. {
  215. inidriving = 0;
  216. for(;;)
  217. {
  218. foreach(player in level.players)
  219. {
  220. if(distance(level.Laptop[0].origin, player gettagorigin("j_head")) <50 && inidriving == 0)
  221. {
  222. if(level.xenon)
  223. player setlowermessage("drive", "Press [{+melee}] To Drive The HoverCraft", undefined, 50 );
  224. else
  225. player setlowermessage("drive", "Press [{+melee}] To Drive The HoverCraft", undefined, 50 );
  226.  
  227. if(player meleebuttonpressed())
  228. {
  229. player.driveingseat = spawn("script_origin", player.origin);
  230. player playerlinkto(level.centercp);
  231. player setPlayerAngles(level.centercp.angles+(0,88.9892,0));
  232. player VisionSetNakedForPlayer( "thermal_mp", 0.5 );
  233. player hide();
  234. player takeAllWeapons();
  235. player clearLowerMessage("drive");
  236. player setlowermessage("instruc", " Press ^3[{+melee}]^7 to Exit The Hovercraft\nPress [{+attack}] To Turn Left Press [{+speed_throw}] To Turn Right\n Press [{+usereload}] To Go Forwards");
  237. inidriving = 1;
  238. wait 0.2;
  239. }
  240. }
  241. if( inidriving == 1 && player meleebuttonpressed() )
  242. {
  243. player unlink();
  244. player.driveingseat delete();
  245. player clearLowerMessage("instruc");
  246. player show();
  247. player giveWeapon( "deserteaglegold_mp", 0, false );
  248. player VisionSetNakedForPlayer( "default", 0.5 );
  249. inidriving = 0;
  250. wait 0.2;
  251. }
  252.  
  253. if( inidriving == 1 && player usebuttonpressed() )
  254. {
  255. vec = anglestoright(level.centercp.angles);
  256. center = BulletTrace( level.centercp.origin, level.centercp.origin+(vec[0] * -100, vec[1] * -100, vec[2] * -100), 0, self)[ "position" ];
  257. level.centercp moveto(center, 0.40);
  258. player.driveingseat moveto(center, 0.40);
  259.  
  260. }
  261.  
  262. if( inidriving == 1 && player attackbuttonpressed() )
  263. {
  264. level.centercp rotateyaw(-2, 0.05);
  265. player.driveingseat rotateyaw(-2, 0.05);
  266. }
  267. if( inidriving == 1 && player adsbuttonpressed() )
  268. {
  269. level.centercp rotateyaw(2, 0.05);
  270. player.driveingseat rotateyaw(2, 0.05);
  271. }
  272. if(distance(level.Laptop[0].origin, player gettagorigin("j_head")) >50)
  273. player clearLowerMessage("drive");
  274. }
  275. wait 0.05;
  276. }
  277. }
  278. Fanssound()
  279. {
  280. self endon ( "disconnect" );
  281. self endon ( "death" );
  282. level.Fan[0] PlayLoopSound("wall_fan_fanning");
  283. wait 0.9;
  284. level.Fan[1] PlayLoopSound("wall_fan_fanning");
  285. wait 0.7;
  286. level.Fan[2] PlayLoopSound("wall_fan_fanning");
  287. level.Fan[3] PlayLoopSound("wall_fan_fanning");
  288. level.Fan[4] PlayLoopSound("wall_fan_fanning");
  289. level.Fan[5] PlayLoopSound("wall_fan_fanning");
  290. level.Fan[6] PlayLoopSound("wall_fan_fanning");
  291. level.Fan[7] PlayLoopSound("wall_fan_fanning");
  292. wait 0.5;
  293. level.Fan[8] PlayLoopSound("wall_fan_fanning");
  294. level.Fan[9] PlayLoopSound("wall_fan_fanning");
  295. level.Fan[10] PlayLoopSound("wall_fan_fanning");
  296. level.Fan[11] PlayLoopSound("wall_fan_fanning");
  297. level.Fan[12] PlayLoopSound("wall_fan_fanning");
  298. level.Fan[13] PlayLoopSound("wall_fan_fanning");
  299. wait 0.3;
  300. level.Laptop[0] PlayLoopSound("wall_fan_fanning");
  301. level.Laptop[1] PlayLoopSound("wall_fan_fanning");
  302. level.Turret[0] PlayLoopSound("wall_fan_fanning");
  303. level.Turret[1] PlayLoopSound("wall_fan_fanning");
  304. level.Turret[2] PlayLoopSound("wall_fan_fanning");
  305. level.Turret[3] PlayLoopSound("wall_fan_fanning");
  306. }
  307. CreateRamps(top, bottom)
  308. {
  309. level.ramp = [];
  310. D = Distance(top, bottom);
  311. blocks = roundUp(D/30);
  312. CX = top[0] - bottom[0];
  313. CY = top[1] - bottom[1];
  314. CZ = top[2] - bottom[2];
  315. XA = CX/blocks;
  316. YA = CY/blocks;
  317. ZA = CZ/blocks;
  318. CXY = Distance((top[0], top[1], 0), (bottom[0], bottom[1], 0));
  319. Temp = VectorToAngles(top - bottom);
  320. BA = (Temp[2], Temp[1] + 90, Temp[0]);
  321. for(b = 0; b < blocks; b++){
  322. block = spawn("script_model", (bottom + ((XA, YA, ZA) * B)));
  323. block setModel("com_plasticcase_friendly");
  324. block.angles = BA;
  325. block Solid();
  326. block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  327. wait 0.01;
  328. }
  329. block = spawn("script_model", (bottom + ((XA, YA, ZA) * blocks) - (0, 0, 5)));
  330. block setModel("com_plasticcase_friendly");
  331. block.angles = (BA[0], BA[1], 0);
  332. block Solid();
  333. block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  334. wait 0.01;
  335. }
  336. roundUp( floatVal )
  337. {
  338. if ( int( floatVal ) != floatVal )
  339. return int( floatVal+1 );
  340. else
  341. return int( floatVal );
  342. }
  343. doRamp()
  344. {
  345. CreateRamps((1747.83, -2793.25, 93.1282), (1615.05, -2793.83, 40.125));
  346. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement