Advertisement
Guest User

Untitled

a guest
Jan 17th, 2020
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.33 KB | None | 0 0
  1.  
  2. trap1()
  3. {
  4. // level waittill("round_started");
  5.  
  6. trig=getent("trap1_trigger","targetname");
  7. //fxer=getent("trap1_fx","targetname");
  8. hurt1=getent("ghost1_hurt","targetname");
  9. hurt2=getent("ghost2_hurt","targetname");
  10. hurt3=getent("ghost3_hurt","targetname");
  11. hurt4=getent("ghost4_hurt","targetname");
  12. hurt5=getent("ghost5_hurt","targetname");
  13. model1=getent("ghost1_model","targetname");
  14. model2=getent("ghost2_model","targetname");
  15. model3=getent("ghost3_model","targetname");
  16. model4=getent("ghost4_model","targetname");
  17. model5=getent("ghost5_model","targetname");
  18.  
  19. thread linker();
  20. trig thread trap_execute();
  21. trig waittill("trigger", player);
  22. {
  23. iPrintLn("^3[Room Selection Open]");
  24. wait 0.5;
  25. //playfx(level.ghost_spawn,fxer.origin);
  26. model3 moveZ(128,3);
  27. wait 1;
  28. model2 moveZ(128,3);
  29. model4 moveZ(128,3);
  30. wait 1;
  31. model1 moveZ(128,3);
  32. model5 moveZ(128,3);
  33. wait 1.5;
  34. model3 thread attackPlayer();
  35. hurt3 thread damangetaken(model3);
  36. wait 1;
  37. model2 thread attackPlayer();
  38. model4 thread attackPlayer();
  39. hurt2 thread damangetaken(model2);
  40. hurt4 thread damangetaken(model4);
  41. wait 1;
  42. model1 thread attackPlayer();
  43. model5 thread attackPlayer();
  44. hurt1 thread damangetaken(model1);
  45. hurt5 thread damangetaken(model5);
  46. }
  47. wait 0.5;
  48. }
  49.  
  50. linker()
  51. {
  52. hurt1=getent("ghost1_hurt","targetname");
  53. hurt2=getent("ghost2_hurt","targetname");
  54. hurt3=getent("ghost3_hurt","targetname");
  55. hurt4=getent("ghost4_hurt","targetname");
  56. hurt5=getent("ghost5_hurt","targetname");
  57. model1=getent("ghost1_model","targetname");
  58. model2=getent("ghost2_model","targetname");
  59. model3=getent("ghost3_model","targetname");
  60. model4=getent("ghost4_model","targetname");
  61. model5=getent("ghost5_model","targetname");
  62.  
  63. hurt1 enablelinkto();
  64. hurt2 enablelinkto();
  65. hurt3 enablelinkto();
  66. hurt4 enablelinkto();
  67. hurt5 enablelinkto();
  68. hurt1 linkto(model1);
  69. hurt2 linkto(model2);
  70. hurt3 linkto(model3);
  71. hurt4 linkto(model4);
  72. hurt5 linkto(model5);
  73. }
  74.  
  75. damangetaken(model)
  76. {
  77. self endon( "ghost_killed" );
  78. self.hp = 650;
  79.  
  80. for(;;)
  81. {
  82. self waittill( "trigger" , player );
  83.  
  84. if(isdefined(player) && isalive(player) && player.pers["team"] == "allies")
  85. {
  86. dmg = randomIntRange(80,120);
  87. self.hp = self.hp - dmg;
  88. iprintlnbold(self.hp);
  89. if( self.hp <= 0 )
  90. {
  91. EarthQuake( 1.5, 1, self.origin, 350 );
  92. model PlaySound( "laugh" );
  93. playfxontag( level.sparks, model, "tag_origin" );
  94. self delete();
  95. model delete();
  96. self notify( "ghost_killed" );
  97. }
  98. }
  99. wait 0.05;
  100. }
  101. }
  102. attackPlayer()
  103. {
  104. self endon("ghost_killed");
  105.  
  106. wait 0.5;
  107. self thread ghostDamage();
  108. self thread ghostSound();
  109. self thread ghostFX();
  110. wait 0.5;
  111. for(;;)
  112. {
  113. wait 0.5;
  114. iprintlnbold("attackPlayer");
  115.  
  116. players = getentarray("player","classname");
  117. player = players[randomInt(players.size)];
  118.  
  119. self ghost_move(player);
  120. self waittill("target_done");
  121. }
  122. }
  123.  
  124. ghost_move(player_random)
  125. {
  126. self endon("ghost_killed");
  127. self endon("target_done");
  128.  
  129. for(;;)
  130. {
  131. if(isdefined(player_random) && isalive(player_random) && player_random.pers["team"] == "allies")
  132. {
  133. newLocation = player_random getorigin();
  134. currentLocation = self getorigin();
  135.  
  136. dist = distance(currentLocation,newLocation);
  137.  
  138. self moveto(newlocation,(dist/150));
  139. self.angles =(vectortoangles((player_random.origin)-(self.origin)));
  140. self waittill("move_done");// Just in case lol
  141. if(isdefined(player_random) && !isalive(player_random) && player_random.pers["team"] == "allies")
  142. self notify("target_done");
  143. }
  144. wait 0.7;
  145. }
  146. }
  147.  
  148.  
  149.  
  150. ghostDamage()
  151. {
  152. self endon("ghost_killed");
  153.  
  154. for(;;)
  155. {
  156. radiusdamage(self.origin,150,35,15);
  157. wait 0.5;
  158. }
  159. wait 0.05;
  160. }
  161.  
  162. ghostFX()
  163. {
  164. self endon("ghost_killed");
  165.  
  166. for(;;)
  167. {
  168. wait 1.5;
  169. playfxontag( level.ghost, self, "tag_origin" );
  170. wait 0.5;
  171. }
  172. wait 0.05;
  173. }
  174.  
  175. ghostSound()
  176. {
  177. self endon("ghost_killed");
  178.  
  179. self.sound = RandomIntRange( 1, 3 );
  180. for(;;)
  181. {
  182. self playsound("ghost_loop");
  183. wait 5;
  184. self playsound("ghost0"+self.sound);
  185. wait 5;
  186. self playsound("ghost0"+self.sound);
  187. wait 5;
  188. self playsound("ghost0"+self.sound);
  189. wait 5;
  190. self playsound("ghost0"+self.sound);
  191. }
  192. wait 0.05;
  193. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement