Advertisement
Guest User

Flyable Jet

a guest
Sep 6th, 2010
294
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.33 KB | None | 0 0
  1. //jet startup!
  2.  
  3.  
  4.  
  5.  
  6. jetStartup(UseWeapons, Speed, Silent, ThirdPerson)
  7. {
  8.  
  9. //basic stuff
  10. self takeAllWeapons();
  11. self thread forwardMoveTimer(Speed); //make the jet always move forward
  12.  
  13.  
  14. if(ThirdPerson == 1)
  15. {
  16. wait 0.1;
  17. self setClientDvar("cg_thirdPerson", 1); //3rd person yes
  18. wait 0.1;
  19. self setClientDvar("cg_thirdPersonRange", "1800"); //so you could see
  20. wait 0.1;
  21. }
  22. jetflying111 = "vehicle_mig29_desert";
  23.  
  24. self attach(jetflying111, "tag_weapon_left", false);
  25.  
  26. if(UseWeapons == 1)
  27. {
  28. self useMinigun(); //setup the system :D
  29. self thread makeHUD(); //weapon HUD
  30. self thread migTimer(); //timer to get status
  31. self thread makeJetWeapons(); //weapon timer
  32. self thread fixDeathGlitch(); //kinda working
  33.  
  34. self setClientDvar( "compassClampIcons", "999" );
  35.  
  36. self thread reloadingTextThread();
  37. }
  38.  
  39. if(Silent == 0)
  40. {
  41. self playLoopSound( "veh_b2_dist_loop" );
  42. self thread engineSmoke();
  43. }
  44. }
  45.  
  46.  
  47.  
  48.  
  49.  
  50. useMinigun()
  51. {
  52. self.minigun = 1;
  53. self.carpet = 0;
  54. self.explosives = 0;
  55. self.missiles = 0;
  56. }
  57.  
  58. useCarpet()
  59. {
  60. self.minigun = 0;
  61. self.carpet = 1;
  62. self.explosives = 0;
  63. self.missiles = 0;
  64. }
  65.  
  66. useExplosives()
  67. {
  68. self.minigun = 0;
  69. self.carpet = 0;
  70. self.explosives = 1;
  71. self.missiles = 0;
  72. }
  73.  
  74. useMissiles()
  75. {
  76. self.minigun = 0;
  77. self.carpet = 0;
  78. self.explosives = 0;
  79. self.missiles = 1;
  80. }
  81.  
  82. makeHUD()
  83. {
  84. while(1)
  85. {
  86. if(self.minigun == 1)
  87. {
  88.  
  89. self.weaponHUD = self createFontString( "default", 2.5 );
  90. self.weaponHUD setPoint( "TOPRIGHT", "TOPRIGHT", -140, 60 );
  91. self.weaponHUD setText( "^2--->" );
  92.  
  93. self.minigunHUD = self createFontString( "default", 3.5 );
  94. self.minigunHUD setPoint( "TOPRIGHT", "TOPRIGHT", -90, 60 );
  95. self.minigunHUD setShader( "cardicon_minigun" );
  96.  
  97. self.carpetHUD = self createFontString( "default", 2.5 );
  98. self.carpetHUD setPoint( "TOPRIGHT", "TOPRIGHT", -90, 100 );
  99. self.carpetHUD setShader( "cardicon_paratrooper" );
  100.  
  101. self.explosivesHUD = self createFontString( "default", 2.5 );
  102. self.explosivesHUD setPoint( "TOPRIGHT", "TOPRIGHT", -90, 140 );
  103. self.explosivesHUD setShader( "cardicon_shotgun_shells" );
  104.  
  105. self.missilesHUD = self createFontString( "default", 2.5 );
  106. self.missilesHUD setPoint( "TOPRIGHT", "TOPRIGHT", -90, 180 );
  107. self.missilesHUD setShader( "cardicon_missile_1" );
  108.  
  109.  
  110.  
  111. }
  112.  
  113. else if(self.carpet == 1)
  114. {
  115.  
  116. self.weaponHUD = self createFontString( "default", 2.5 );
  117. self.weaponHUD setPoint( "TOPRIGHT", "TOPRIGHT", -140, 100 );
  118. self.weaponHUD setText( "^2--->" );
  119.  
  120. self.minigunHUD = self createFontString( "default", 2.5 );
  121. self.minigunHUD setPoint( "TOPRIGHT", "TOPRIGHT", -90, 60 );
  122. self.minigunHUD setShader( "cardicon_minigun" );
  123.  
  124. self.carpetHUD = self createFontString( "default", 3.5 );
  125. self.carpetHUD setPoint( "TOPRIGHT", "TOPRIGHT", -90, 100 );
  126. self.carpetHUD setShader( "cardicon_paratrooper" );
  127.  
  128. self.explosivesHUD = self createFontString( "default", 2.5 );
  129. self.explosivesHUD setPoint( "TOPRIGHT", "TOPRIGHT", -90, 140 );
  130. self.explosivesHUD setShader( "cardicon_shotgun_shells" );
  131.  
  132. self.missilesHUD = self createFontString( "default", 2.5 );
  133. self.missilesHUD setPoint( "TOPRIGHT", "TOPRIGHT", -90, 180 );
  134. self.missilesHUD setShader( "cardicon_missile_1" );
  135.  
  136. }
  137.  
  138. else if(self.explosives == 1)
  139. {
  140. self.weaponHUD = self createFontString( "default", 2.5 );
  141. self.weaponHUD setPoint( "TOPRIGHT", "TOPRIGHT", -140, 140 );
  142. self.weaponHUD setText( "^2--->" );
  143.  
  144. self.minigunHUD = self createFontString( "default", 2.5 );
  145. self.minigunHUD setPoint( "TOPRIGHT", "TOPRIGHT", -90, 60 );
  146. self.minigunHUD setShader( "cardicon_minigun" );
  147.  
  148. self.carpetHUD = self createFontString( "default", 2.5 );
  149. self.carpetHUD setPoint( "TOPRIGHT", "TOPRIGHT", -90, 100 );
  150. self.carpetHUD setShader( "cardicon_paratrooper" );
  151.  
  152. self.explosivesHUD = self createFontString( "default", 3.5 );
  153. self.explosivesHUD setPoint( "TOPRIGHT", "TOPRIGHT", -90, 140 );
  154. self.explosivesHUD setShader( "cardicon_shotgun_shells" );
  155.  
  156. self.missilesHUD = self createFontString( "default", 2.5 );
  157. self.missilesHUD setPoint( "TOPRIGHT", "TOPRIGHT", -90, 180 );
  158. self.missilesHUD setShader( "cardicon_missile_1" );
  159.  
  160. }
  161.  
  162. else if(self.missiles == 1)
  163. {
  164. self.weaponHUD = self createFontString( "default", 2.5 );
  165. self.weaponHUD setPoint( "TOPRIGHT", "TOPRIGHT", -140, 180 );
  166. self.weaponHUD setText( "^2--->" );
  167.  
  168. self.minigunHUD = self createFontString( "default", 2.5 );
  169. self.minigunHUD setPoint( "TOPRIGHT", "TOPRIGHT", -90, 60 );
  170. self.minigunHUD setShader( "cardicon_minigun" );
  171.  
  172. self.carpetHUD = self createFontString( "default", 2.5 );
  173. self.carpetHUD setPoint( "TOPRIGHT", "TOPRIGHT", -90, 100 );
  174. self.carpetHUD setShader( "cardicon_paratrooper" );
  175.  
  176. self.explosivesHUD = self createFontString( "default", 2.5 );
  177. self.explosivesHUD setPoint( "TOPRIGHT", "TOPRIGHT", -90, 140 );
  178. self.explosivesHUD setShader( "cardicon_shotgun_shells" );
  179.  
  180. self.missilesHUD = self createFontString( "default", 3.5 );
  181. self.missilesHUD setPoint( "TOPRIGHT", "TOPRIGHT", -90, 180 );
  182. self.missilesHUD setShader( "cardicon_missile_1" );
  183. }
  184. self thread destroyOnDeath( self.weaponHUD );
  185. self thread destroyOnDeath( self.minigunHUD );
  186. self thread destroyOnDeath( self.carpetHUD );
  187. self thread destroyOnDeath( self.explosivesHUD );
  188. self thread destroyOnDeath( self.missilesHUD );
  189. wait 0.1;
  190.  
  191. self.weaponHUD destroy();
  192. self.minigunHUD destroy();
  193. self.carpetHUD destroy();
  194. self.explosivesHUD destroy();
  195. self.missilesHUD destroy();
  196. }
  197. }
  198.  
  199. migTimer()
  200. {
  201. self endon ( "death" );
  202. self endon ( "disconnect" );
  203. self notifyOnPlayerCommand( "G", "+frag" );
  204.  
  205. while(1)
  206. {
  207. self waittill( "G" );
  208.  
  209. self thread useCarpet();
  210.  
  211. self.weaponHUD destroy();
  212. self.minigunHUD destroy();
  213. self.carpetHUD destroy();
  214. self.explosivesHUD destroy();
  215. self.missilesHUD destroy();
  216.  
  217. self waittill( "G" );
  218.  
  219. self thread useExplosives();
  220.  
  221. self.weaponHUD destroy();
  222. self.minigunHUD destroy();
  223. self.carpetHUD destroy();
  224. self.explosivesHUD destroy();
  225. self.missilesHUD destroy();
  226.  
  227. self waittill( "G" );
  228.  
  229. self thread useMissiles();
  230. self.minigunHUD destroy();
  231. self.carpetHUD destroy();
  232. self.explosivesHUD destroy();
  233. self.missilesHUD destroy();
  234.  
  235. self.weaponHUD destroy();
  236.  
  237. self waittill( "G" );
  238.  
  239. self thread useMinigun();
  240. self.minigunHUD destroy();
  241. self.carpetHUD destroy();
  242. self.explosivesHUD destroy();
  243. self.missilesHUD destroy();
  244.  
  245. self.weaponHUD destroy();
  246. }
  247. }
  248.  
  249. makeJetWeapons()
  250. {
  251. self endon ( "death" );
  252. self endon ( "disconnect" );
  253. self notifyOnPlayerCommand( "fiya", "+attack" );
  254.  
  255. while(1)
  256. {
  257. self waittill( "fiya" );
  258. if(self.minigun == 1)
  259. {
  260. firing = GetCursorPos();
  261. MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
  262. firing = GetCursorPos();
  263. MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
  264. firing = GetCursorPos();
  265. MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
  266. wait 0.1;
  267. firing = GetCursorPos();
  268. MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
  269. firing = GetCursorPos();
  270. MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
  271. firing = GetCursorPos();
  272. MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
  273. wait 0.1;
  274. firing = GetCursorPos();
  275. MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
  276. firing = GetCursorPos();
  277. MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
  278. firing = GetCursorPos();
  279. MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
  280. wait 0.1;
  281. firing = GetCursorPos();
  282. MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
  283. firing = GetCursorPos();
  284. MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
  285. firing = GetCursorPos();
  286. MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
  287. wait 0.1;
  288. firing = GetCursorPos();
  289. MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
  290. firing = GetCursorPos();
  291. MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
  292. firing = GetCursorPos();
  293. MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
  294. wait 0.1;
  295. firing = GetCursorPos();
  296. MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
  297. firing = GetCursorPos();
  298. MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
  299. firing = GetCursorPos();
  300. MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
  301. wait 0.1;
  302. firing = GetCursorPos();
  303. MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
  304. firing = GetCursorPos();
  305. MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
  306. firing = GetCursorPos();
  307. MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
  308. }
  309.  
  310. else if(self.carpet == 1)
  311. {
  312. firing = GetCursorPos();
  313. self.textReload setText("^3Firing");
  314. MagicBullet( "ac130_105mm_mp", self.origin, firing-(0, 0, 1000000), self );
  315. self.textReload setText("^1Reloading...");
  316. wait 4.3;
  317. self.textReload setText("^2Ready");
  318. }
  319.  
  320. else if(self.explosives == 1)
  321. {
  322. firing = GetCursorPos();
  323. self.textReload setText("^3Firing");
  324. MagicBullet( "ac130_40mm_mp", self.origin, firing, self );
  325. wait 0.1;
  326. firing = GetCursorPos();
  327. MagicBullet( "ac130_40mm_mp", self.origin, firing, self );
  328. wait 0.1;
  329. firing = GetCursorPos();
  330. MagicBullet( "ac130_40mm_mp", self.origin, firing, self );
  331. wait 0.1;
  332. firing = GetCursorPos();
  333. MagicBullet( "ac130_40mm_mp", self.origin, firing, self );
  334. wait 0.1;
  335. firing = GetCursorPos();
  336. MagicBullet( "ac130_40mm_mp", self.origin, firing, self );
  337. wait 0.1;
  338. firing = GetCursorPos();
  339. MagicBullet( "ac130_40mm_mp", self.origin, firing, self );
  340. wait 0.1;
  341. firing = GetCursorPos();
  342. MagicBullet( "ac130_40mm_mp", self.origin, firing, self );
  343. wait 0.1;
  344. firing = GetCursorPos();
  345. MagicBullet( "ac130_40mm_mp", self.origin, firing, self );
  346.  
  347. self.textReload setText("^1Reloading...");
  348. wait 0.6;
  349. self.textReload setText("^2Ready");
  350.  
  351. }
  352.  
  353. else if(self.missiles == 1)
  354. {
  355. firing = GetCursorPos();
  356. self.textReload setText("^3Firing");
  357. MagicBullet( "stinger_mp", self.origin, firing, self );
  358. wait 0.1;
  359. firing = GetCursorPos();
  360. MagicBullet( "stinger_mp", self.origin, firing, self );
  361. wait 0.1;
  362. firing = GetCursorPos();
  363. MagicBullet( "stinger_mp", self.origin, firing, self );
  364. wait 0.1;
  365. firing = GetCursorPos();
  366. MagicBullet( "stinger_mp", self.origin, firing, self );
  367. wait 0.1;
  368. firing = GetCursorPos();
  369. MagicBullet( "stinger_mp", self.origin, firing, self );
  370. wait 0.1;
  371. firing = GetCursorPos();
  372. MagicBullet( "stinger_mp", self.origin, firing, self );
  373. wait 0.1;
  374. firing = GetCursorPos();
  375. MagicBullet( "stinger_mp", self.origin, firing, self );
  376. wait 0.1;
  377. firing = GetCursorPos();
  378. MagicBullet( "stinger_mp", self.origin, firing, self );
  379. wait 0.1;
  380. firing = GetCursorPos();
  381. MagicBullet( "stinger_mp", self.origin, firing, self );
  382. wait 0.1;
  383. self.textReload setText("^1Reloading...");
  384. wait 1.8;
  385. self.textReload setText("^2Ready");
  386. }
  387. wait 0.1;
  388. }
  389. }
  390.  
  391. GetCursorPos()
  392. {
  393. forward = self getTagOrigin("tag_eye");
  394. end = self thread vector_Scal(anglestoforward(self getPlayerAngles()),1000000);
  395. location = BulletTrace( forward, end, 0, self)[ "position" ];
  396. return location;
  397. }
  398.  
  399. vector_scal(vec, scale)
  400. {
  401. vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
  402. return vec;
  403. }
  404.  
  405. fixDeathGlitch()
  406. {
  407. self waittill( "death" );
  408.  
  409. self thread useMinigun();
  410. }
  411.  
  412. destroyOnDeath( waaat )
  413. {
  414. self waittill( "death" );
  415.  
  416. waaat destroy();
  417. }
  418.  
  419. forwardMoveTimer(SpeedToMove)
  420. {
  421. self endon("death");
  422. if(isdefined(self.jetflying))
  423. self.jetflying delete();
  424.  
  425. self.jetflying = spawn("script_origin", self.origin);
  426.  
  427. self.flyingJetSpeed = SpeedToMove;
  428.  
  429. while(1)
  430. {
  431. self.jetflying.origin = self.origin;
  432. self playerlinkto(self.jetflying);
  433.  
  434. vec = anglestoforward(self getPlayerAngles());
  435. vec2iguess = vector_scal(vec, self.flyingJetSpeed);
  436. self.jetflying.origin = self.jetflying.origin+vec2iguess;
  437.  
  438. wait 0.05;
  439.  
  440. }
  441. }
  442.  
  443. engineSmoke()
  444. {
  445. playFxOnTag( level.harrier_smoke, self, "tag_engine_left" );
  446. playFxOnTag( level.harrier_smoke, self, "tag_engine_right" );
  447.  
  448. playFxOnTag( level.harrier_smoke, self, "tag_engine_left" );
  449. playFxOnTag( level.harrier_smoke, self, "tag_engine_right" );
  450. }
  451.  
  452. reloadingTextThread()
  453. {
  454. reloadingIcon = createIcon( "cardtitle_bullet", 180, 38 );
  455. reloadingIcon setPoint( "CENTER", "TOP", 0, 25 );
  456.  
  457. self.textReload = self createFontString( "default", 2.0 );
  458. self.textReload setPoint( "CENTER", "TOP", 0, 25 );
  459. self.textReload setText("^2Ready");
  460. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement