Advertisement
body_guard

_samturret.gsc

Feb 13th, 2013
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. InitSAM()
  2. {
  3. TurretBox=spawn("script_model",self.origin);
  4. TurretBox setmodel("com_plasticcase_beige_big");
  5. TurretBox thread TurretSetUp(self,TurretBox);
  6. }
  7. TurretSetUp(owner,TurretBox)
  8. {
  9. wait 2;
  10. SAM= spawn("script_model",TurretBox.origin-(0,0,20));
  11. SAM setModel("projectile_hellfire_missile");
  12. SAM.angles=TurretBox.angles;
  13. wait 2;
  14. self playsound("mp_killstreak_jet");
  15. SAM moveto(TurretBox.origin+(0,0,80),1.5);
  16. wait 1.5;
  17. self thread Box_Kill(self);
  18. SAM thread SamRotate(self,TurretBox);
  19. }
  20. SamRotate(owner,TurretBox)
  21. {
  22. self endon("chopper_down");
  23. self endon("disconnect");
  24. sky=VectorToAngles((self.origin+(0,0,1000))-(self.origin));
  25. self playsound("mp_killstreak_jet");
  26. self rotateto(sky,1.5);
  27. wait 1.5;
  28. self thread SAM_AI(owner,TurretBox);
  29. for(;;)
  30. {
  31. self playsound("ui_mp_suitcasebomb_timer");
  32. self rotateYaw(360,4); //<---- line 2098
  33. wait 4;
  34. self rotateYaw(-360,4);
  35. wait 4;
  36. }
  37. }
  38. SAM_AI(owner,TurretBox)
  39. {
  40. self endon("chopper_down");
  41. self endon("disconnect");
  42. team = self.pers["team"] // <--- Fixed
  43. for(;;)
  44. {
  45. if((level.teambased)&&(isDefined(level.chopper))&&(level.chopper.team !=team))
  46. {
  47. self thread SAMFire(TurretBox,owner);
  48. self notify("chopper_down");
  49. }
  50. if((!level.teambased)&&(isDefined(level.chopper))&&(level.chopper.owner !=owner))
  51. {
  52. self thread SAMFire(TurretBox,owner);
  53. self notify("chopper_down");
  54. }
  55. wait 0.1;
  56. }
  57. }
  58. SAMFire(TurretBox,owner)
  59. {
  60. self endon("chopperboom");
  61. wait 10;
  62. earthquake(1,1,self.origin,800);
  63. self playsound("weap_hind_missile_fire");
  64. time=Vadercalc(800,self.origin,self.origin+(0,0,1000));
  65. self moveto(self.origin +(0,0,1400),time);
  66. self thread fxme(time);
  67. wait time;
  68. for(;;)
  69. {
  70. target=VectorToAngles(level.chopper.origin - self.origin);
  71. self rotateto(target,0.1);
  72. time=Vadercalc(800,self.origin,level.chopper.origin);
  73. self thread fxme(time);
  74. newtarget=level.chopper.origin;
  75. self moveto(newtarget,time);
  76. wait time;
  77. if(Distance(self.origin,level.chopper.origin)<= 30)
  78. {
  79. self thread BlowMe(TurretBox,owner);
  80. }
  81. wait 0.01;
  82. }
  83. }
  84. blowMe(TurretBox,owner)
  85. {
  86. self notify("chopperboom");
  87. self playsound("hind_helicopter_secondary_exp");
  88. Playfx(level.expbullt,self.origin);
  89. self hide();
  90. RadiusDamage(level.chopper.origin,700,9000,8999,owner,"MOD_PROJECTILE_SPLASH","rpg_mp");
  91. wait 0.01;
  92. TurretBox notify("finish");
  93. self delete();
  94. }
  95. Box_Kill(owner)
  96. {
  97. self waittill("finish");
  98. owner iprintln("SAM ended");
  99. self delete();
  100. }
  101. fxme(time)
  102. {
  103. for(i=0;i<time;i++)
  104. {
  105. playFxOnTag(level.rpgeffect,self,"tag_origin");
  106. wait 0.2;
  107. }
  108. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement