Advertisement
Guest User

Untitled

a guest
Aug 20th, 2017
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 34.83 KB | None | 0 0
  1. @name Chastiefol
  2. @persist [Chfl Target Block Block_2 Target_Ent]:entity [Target_Pos Throw]:vector [Knife_Attack Knifes]:array
  3. @persist Form Rotate I_1 I_2 Change Knife Have Cd
  4. interval(10)
  5. O = owner()
  6. runOnKeys(O,1)
  7. runOnLast(1)
  8.  
  9. #Maximum 40
  10. #Optimal 20
  11. Knife_Count = 20
  12.  
  13. KU = O:keyUse()
  14. K1 = O:keyAttack1()
  15. K2 = O:keyAttack2()
  16. KR = O:keyReload()
  17. TAB = O:keyPressed("tab")
  18. #//////////////////////////////////////////////////
  19. #//////////////////// FIRST ///////////////////////
  20. #//////////////////////////////////////////////////
  21.  
  22. if(first()){
  23. Chfl = propSpawn("models/hunter/plates/plate025x3.mdl",0) Chfl:setAlpha(0)
  24. Chfl:soundPlay(1,0,"ambient/wind/tube_suck.wav") soundPitch(1,0) soundVolume(1,200)
  25. Form = 1
  26.  
  27. E = entity()
  28. HS = 1
  29. H = 1 holoCreate(H) holoPos(H,E:toWorld(vec())) holoAng(H,E:toWorld(ang())) holoScale(H,vec(0.17,0.17,6) * HS) holoModel(H,"hqcylinder") holoParent(H,Chfl) holoMaterial(H,"models/shiny") holoColor(H,vec(200))
  30.  
  31. H = 2 holoCreate(H) holoPos(H,E:toWorld(vec(0,0,-38.2) * HS)) holoAng(H,E:toWorld(ang(90,0,0))) holoScale(H,vec(0.5,0.5,0.7) * HS) holoModel(H,"hq_torus_thick") holoParent(H,1) holoMaterial(H,"phoenix_storms/middle") holoColor(H,vec(50,100,100))
  32. H = 3 holoCreate(H) holoPos(H,E:toWorld(vec(0,0,-43) * HS)) holoAng(H,E:toWorld(ang(180,0,0))) holoScale(H,vec(0.17,0.17,0.4) * HS) holoModel(H,"hq_cone") holoParent(H,1) holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  33.  
  34. H = 4 holoCreate(H) holoPos(H,E:toWorld(vec(0,0,36) * HS)) holoAng(H,E:toWorld(ang())) holoScale(H,vec(0.34,0.34,0.2) * HS) holoModel(H,"hqsphere") holoParent(H,1) holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  35. H = 5 holoCreate(H) holoPos(H,E:toWorld(vec(0,0,39) * HS)) holoAng(H,E:toWorld(ang())) holoScale(H,vec(0.17,0.17,0.6) * HS) holoModel(H,"hqcylinder") holoParent(H,1) holoMaterial(H,"models/gibs/woodgibs/woodgibs01") holoColor(H,vec(50,150,150))
  36. H = 6 holoCreate(H) holoPos(H,E:toWorld(vec(0,0,43) * HS)) holoAng(H,E:toWorld(ang())) holoScale(H,vec(0.34,0.34,0.2) * HS) holoModel(H,"hqsphere") holoParent(H,1) holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  37.  
  38. H = 7 holoCreate(H) holoPos(H,E:toWorld(vec(0,0,47) * HS)) holoAng(H,E:toWorld(ang())) holoScale(H,vec(0.16,0.16,0.6) * HS) holoModel(H,"hq_cone") holoParent(H,1) holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  39. H = 8 holoCreate(H) holoPos(H,E:toWorld(vec(0,11.87,37) * HS)) holoAng(H,E:toWorld(ang(90,0,0))) holoScale(H,vec(0.7,0.5,0.1) * HS) holoModel(H,"models/hunter/misc/platehole1x1d.mdl") holoParent(H,1) holoClipEnabled(H,1) holoClip(H,vec(-12.2,-12.2,0) * HS,vec(1,1,0),0) holoMaterial(H,"models/shiny") holoColor(H,vec(50))
  40. H = 9 holoCreate(H) holoPos(H,E:toWorld(vec(0,-11.87,37) * HS)) holoAng(H,E:toWorld(ang(90,180,0))) holoScale(H,vec(0.7,0.5,0.1) * HS) holoModel(H,"models/hunter/misc/platehole1x1d.mdl") holoParent(H,1) holoClipEnabled(H,1) holoClip(H,vec(-12.2,-12.2,0) * HS,vec(1,1,0),0) holoMaterial(H,"models/shiny") holoColor(H,vec(50))
  41. H = 10 holoCreate(H) holoPos(H,E:toWorld(vec(0,11.87,70.2) * HS)) holoAng(H,E:toWorld(ang(-90,0,0))) holoScale(H,vec(0.7,0.5,0.1) * HS) holoModel(H,"models/hunter/misc/platehole1x1d.mdl") holoParent(H,1) holoClipEnabled(H,1) holoClip(H,vec(-12.2,-12.2,0) * HS,vec(1,1,0),0) holoMaterial(H,"models/shiny") holoColor(H,vec(50))
  42. H = 11 holoCreate(H) holoPos(H,E:toWorld(vec(0,-11.87,70.2) * HS)) holoAng(H,E:toWorld(ang(-90,180,0))) holoScale(H,vec(0.7,0.5,0.1) * HS) holoModel(H,"models/hunter/misc/platehole1x1d.mdl") holoParent(H,1) holoClipEnabled(H,1) holoClip(H,vec(-12.2,-12.2,0) * HS,vec(1,1,0),0) holoMaterial(H,"models/shiny") holoColor(H,vec(50))
  43. H = 12 holoCreate(H) holoPos(H,E:toWorld(vec(0,0,53.5) * HS)) holoAng(H,E:toWorld(ang(90,0,0))) holoScale(H,vec(0.75) * HS) holoModel(H,"hq_torus_thick") holoParent(H,1) holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  44. H = 13 holoCreate(H) holoPos(H,E:toWorld(vec(0,7,53.5) * HS)) holoAng(H,E:toWorld(ang(90,0,0))) holoScale(H,vec(0.3,0.3,0.2) * HS) holoModel(H,"hqsphere") holoParent(H,1) holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  45. H = 14 holoCreate(H) holoPos(H,E:toWorld(vec(0,7,53.5) * HS)) holoAng(H,E:toWorld(ang(90,0,0))) holoScale(H,vec(0.1,0.1,0.2) * HS) holoModel(H,"hqcylinder") holoParent(H,1) holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  46. H = 15 holoCreate(H) holoPos(H,E:toWorld(vec(0,-7,53.5) * HS)) holoAng(H,E:toWorld(ang(90,0,0))) holoScale(H,vec(0.3,0.3,0.2) * HS) holoModel(H,"hqsphere") holoParent(H,1) holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  47. H = 16 holoCreate(H) holoPos(H,E:toWorld(vec(0,-7,53.5) * HS)) holoAng(H,E:toWorld(ang(90,0,0))) holoScale(H,vec(0.1,0.1,0.2) * HS) holoModel(H,"hqcylinder") holoParent(H,1) holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  48. H = 17 holoCreate(H) holoPos(H,E:toWorld(vec(0,3,49.3) * HS)) holoAng(H,E:toWorld(ang(90,0,0))) holoScale(H,vec(0.05,0.05,0.04) * HS) holoModel(H,"hqcylinder") holoParent(H,1) holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  49. H = 18 holoCreate(H) holoPos(H,E:toWorld(vec(0,-3,49.3) * HS)) holoAng(H,E:toWorld(ang(90,0,0))) holoScale(H,vec(0.05,0.05,0.04) * HS) holoModel(H,"hqcylinder") holoParent(H,1) holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  50. H = 19 holoCreate(H) holoPos(H,E:toWorld(vec(0,1.5,46.5) * HS)) holoAng(H,E:toWorld(ang(90,0,0))) holoScale(H,vec(0.05,0.05,0.04) * HS) holoModel(H,"hqcylinder") holoParent(H,1) holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  51. H = 20 holoCreate(H) holoPos(H,E:toWorld(vec(0,-1.5,46.5) * HS)) holoAng(H,E:toWorld(ang(90,0,0))) holoScale(H,vec(0.05,0.05,0.04) * HS) holoModel(H,"hqcylinder") holoParent(H,1) holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  52.  
  53. H = 21 holoCreate(H) holoPos(H,E:toWorld(vec(0,6.5,57) * HS)) holoAng(H,E:toWorld(ang(90,0,0))) holoScale(H,vec(0.4,0.2,0.2) * HS) holoModel(H,"models/hunter/misc/platehole1x1d.mdl") holoParent(H,1) holoMaterial(H,"lights/white") holoColor(H,vec(200))
  54. H = 22 holoCreate(H) holoPos(H,E:toWorld(vec(0,-6.5,57) * HS)) holoAng(H,E:toWorld(ang(90,180,0))) holoScale(H,vec(0.4,0.2,0.2) * HS) holoModel(H,"models/hunter/misc/platehole1x1d.mdl") holoParent(H,1) holoMaterial(H,"lights/white") holoColor(H,vec(200))
  55. H = 23 holoCreate(H) holoPos(H,E:toWorld(vec(0,0,61.7) * HS)) holoAng(H,E:toWorld(ang(90,0,0))) holoScale(H,vec(0.8,0.3,0.05) * HS) holoParent(H,1) holoMaterial(H,"lights/white") holoColor(H,vec(200))
  56. H = 24 holoCreate(H) holoPos(H,E:toWorld(vec(0,0,66.5) * HS)) holoAng(H,E:toWorld(ang())) holoScale(H,vec(0.06,1.1,6) * HS) holoParent(H,1) holoModel(H,"hq_dome") holoMaterial(H,"lights/white") holoColor(H,vec(200))
  57. holoClipEnabled(H,1,1) holoClip(H,1,vec(0,0,30) * HS,vec(0,0,-1),0)
  58. holoClipEnabled(H,2,1) holoClip(H,2,vec(0,0,33) * HS,vec(0,1,-1),0)
  59. holoClipEnabled(H,3,1) holoClip(H,3,vec(0,0,33) * HS,vec(0,-1,-1),0)
  60. H = 25 holoCreate(H) holoPos(H,E:toWorld(vec(0,0,101) * HS)) holoAng(H,E:toWorld(ang())) holoScale(H,vec(0.03,0.6,0.7) * HS) holoParent(H,1) holoModel(H,"hq_cone") holoMaterial(H,"lights/white") holoColor(H,vec(200))
  61. holoClipEnabled(H,1,1) holoClip(H,1,vec(0,0,-7) * HS,vec(0,1,1),0)
  62. holoClipEnabled(H,2,1) holoClip(H,2,vec(0,0,-7) * HS,vec(0,-1,1),0)
  63. H = 26 holoCreate(H) holoPos(H,E:toWorld(vec(0,0,66.5) * HS)) holoAng(H,E:toWorld(ang())) holoScale(H,vec(0.06,1.1,5.8) * HS) holoParent(H,1) holoModel(H,"hq_dome") holoMaterial(H,"lights/white") holoColor(H,vec(50))
  64. holoClipEnabled(H,1,1) holoClip(H,1,vec(0,0,33) * HS,vec(0,1,-1),0)
  65. holoClipEnabled(H,2,1) holoClip(H,2,vec(0,0,33) * HS,vec(0,-1,-1),0)
  66. holoClipEnabled(H,3,1) holoClip(H,3,vec(0,0,30) * HS,vec(0,0,1),0)
  67.  
  68. -------------------------------------------
  69.  
  70. H = 27 holoCreate(H) holoPos(H,E:toWorld(vec(0,0,83.4) * HS)) holoAng(H,E:toWorld(ang())) holoScale(H,vec(0.1,0.2,2.2) * HS) holoParent(H,1) holoModel(H,"hqcylinder") holoMaterial(H,"models/shiny") holoColor(H,vec(200))
  71. H = 28 holoCreate(H) holoPos(H,E:toWorld(vec(0,0,99.8) * HS)) holoAng(H,E:toWorld(ang())) holoScale(H,vec(0.1,0.2,0.5) * HS) holoParent(H,1) holoModel(H,"hqcone") holoMaterial(H,"models/shiny") holoColor(H,vec(200))
  72. H = 29 holoCreate(H) holoPos(H,E:toWorld(vec(0,0,70) * HS)) holoAng(H,E:toWorld(ang(90,0,0))) holoScale(H,vec(0.15,0.15,0.1) * HS) holoModel(H,"hqcylinder") holoParent(H,1) holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  73. H = 30 holoCreate(H) holoPos(H,E:toWorld(vec(0,0,70) * HS)) holoAng(H,E:toWorld(ang(90,0,0))) holoScale(H,vec(0.2,0.03,0.1) * HS) holoModel(H,"hqcylinder") holoParent(H,1) holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  74. H = 31 holoCreate(H) holoPos(H,E:toWorld(vec(0,0,70) * HS)) holoAng(H,E:toWorld(ang(90,0,0))) holoAng(H,holoEntity(H):toWorld(ang(0,90,0))) holoScale(H,vec(0.2,0.05,0.1) * HS) holoModel(H,"hqcylinder") holoParent(H,1) holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  75. H = 32 holoCreate(H) holoPos(H,E:toWorld(vec(0,0,70) * HS)) holoAng(H,E:toWorld(ang(90,0,0))) holoAng(H,holoEntity(H):toWorld(ang(0,45,0))) holoScale(H,vec(0.2,0.05,0.1) * HS) holoModel(H,"hqcylinder") holoParent(H,1) holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  76. H = 33 holoCreate(H) holoPos(H,E:toWorld(vec(0,0,70) * HS)) holoAng(H,E:toWorld(ang(90,0,0))) holoAng(H,holoEntity(H):toWorld(ang(0,135,0))) holoScale(H,vec(0.2,0.05,0.1) * HS) holoModel(H,"hqcylinder") holoParent(H,1) holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  77. H = 34 holoCreate(H) holoPos(H,E:toWorld(vec(0,0,70) * HS)) holoAng(H,E:toWorld(ang(90,0,0))) holoScale(H,vec(0.05,0.05,0.12) * HS) holoModel(H,"hqcylinder") holoParent(H,1) holoMaterial(H,"models/shiny") holoColor(H,vec(175,125,25))
  78.  
  79. holoPos(1,Chfl:toWorld(vec(0,-30,0)))
  80. holoAng(1,Chfl:toWorld(ang(90,0,-90)))
  81. Have = Knife_Count
  82. }
  83. #///////////////////////////////////////////////////
  84. #//////////////////// FORM 1 ///////////////////////
  85. #//////////////////////////////////////////////////
  86.  
  87. if(Form == 1 & !Change){
  88.  
  89. #//////////////////////////////////////////////////
  90. #//////////////////// FIND ////////////////////////
  91. #/////////////////////////////////////////////////
  92. if(Throw == vec() & !Chfl:isWeldedTo():isValid()){
  93. if(KU & Target_Pos == vec()){
  94. findExcludeEntity(Chfl)
  95. findExcludeEntity(Block)
  96. findExcludeEntity(O)
  97. findInCone(O:shootPos(),O:eye(),2000,100)
  98. Ar = findToArray()
  99. DIS = 2000
  100. while(perf()){
  101. I_1 += 1
  102. En = Ar[I_1,entity]
  103.  
  104. if(En:mass() | En:isAlive() | En:isPlayer()){
  105. rangerFilter(O)
  106. rangerFilter(Ar)
  107. rangerFilter(Block)
  108. R = rangerOffset(O:shootPos(),En:boxCenterW())
  109.  
  110. ----------------------------
  111.  
  112. if(DIS > O:shootPos():distance(En:boxCenterW()) & R:position():distance(En:boxCenterW()) < 1 & (En:boxCenterW() + En:vel():normalized() * (En:boxCenterW() - O:boxCenterW()):length()):distance(O:boxCenterW()) < (En:radius() + O:height() / 2)
  113. |DIS > O:shootPos():distance(En:boxCenterW()) & R:position():distance(En:boxCenterW()) < 1 & En:isAlive()){
  114. DIS = O:shootPos():distance(En:boxCenterW())
  115. if(!holoEntity(0):isValid()){holoCreate(0)}
  116. if(!En:isAlive()){
  117. holoModel(0,En:model())
  118. holoScale(0,vec(1.1))
  119. holoPos(0,En:pos() - (En:boxCenterW() - En:pos()) / 10)
  120. }
  121. else{
  122. holoModel(0,"cube")
  123. holoScaleUnits(0,En:boxSize())
  124. holoPos(0,En:boxCenterW())
  125. }
  126. holoAng(0,En:angles())
  127. holoMaterial(0,"lights/white")
  128. holoColor(0,vec(255,0,0),100)
  129.  
  130. if(changed(O:keyAttack1()) & O:keyAttack1()){
  131. Target = En Trails = 1
  132. }
  133. }
  134. }
  135. else{
  136. findExcludeEntity(En)
  137. }
  138. if(I_1 >= Ar:count()){I_1 = 0 break}
  139. }
  140. }
  141. else{
  142. #/////////////////////////////////////////////////////////
  143. #//////////////////// BLOCK/ATTACK ///////////////////////
  144. #////////////////////////////////////////////////////////
  145.  
  146. if(changed(K2) & K2){Trails = 1}
  147. if(K2){
  148. if(K1 & !Chfl:isFrozen()){Throw = O:eye() Trails = 1}
  149. Target_Pos = O:shootPos() + O:eye() * 200
  150. if(KR & !Block:isValid()){
  151. Block = propSpawn("models/hunter/tubes/circle4x4.mdl",Chfl:pos() + Chfl:up() * 5,Chfl:angles(),1)
  152. Block:parentTo(Chfl)
  153. Block:setAlpha(0)
  154. Block:setMass(0)
  155. }
  156. }
  157. }
  158. }
  159.  
  160. -----------------------------------
  161.  
  162. if(Target_Pos != vec()){
  163. CfPos = Target_Pos - O:eye() * 40
  164. CfAng = O:eye():toAngle() + ang(0,0,90)
  165. if(KR){CfAng = O:eyeAngles() + ang(curtime() * 1000,90,0)}
  166. if(Target_Pos:distance(Chfl:boxCenterW()) > 80){CfAng = CfAng + ang(0,90,0)}else{timer("reset_target_pos",250)}
  167. }
  168. if(clk("reset_target_pos") & !K2){Target_Pos = vec() RTrails = 1 Block:propDelete()}
  169.  
  170. #//////////////////////////////////////////////////////////
  171. #//////////////////// ATTACK TARGET ///////////////////////
  172. #/////////////////////////////////////////////////////////
  173.  
  174. if(Target:isValid()){
  175. rangerFilter(O)
  176. rangerFilter(Chfl)
  177. rangerFilter(Block)
  178. RF = rangerOffset(100,Chfl:boxCenterW(),Target:boxCenterW() - Chfl:boxCenterW())
  179.  
  180. CfPos = Target:boxCenterW() - (Target:boxCenterW() - Chfl:boxCenterW()):normalized() * 40
  181. CfAng = (Target:boxCenterW() - Chfl:pos()):toAngle() + ang(0,-45,90)
  182. if(Target:boxCenterW():distance(Chfl:boxCenterW()) > 80){CfAng = CfAng + ang(0,135,0)}
  183.  
  184. if(RF:hit()){timer("reset_target",200)}
  185. }
  186. holoAlpha(0,KU * 150)
  187. if(Target:isValid()){holoParent(0,Target)}
  188. if(clk("reset_target")){
  189. Target:soundPlay(2,0,"weapons/samurai/tf_katana_0" + randint(1,6) + ".wav")
  190. Target = noentity()
  191. RTrails = 1
  192. }
  193.  
  194. if(!Target:isValid() & Target_Pos == vec()){
  195. CfPos = O:toWorld(vec(cos(curtime() * 20) * 5,50 + cos(curtime() * 25) * 5,100 + sin(curtime() * 30) * 5))
  196. CfAng = ((O:forward() + O:eye()) / 2):toAngle() + ang(0,0,Rotate)
  197. soundPitch(1,0)
  198. }else{
  199. soundPitch(1,Chfl:angVelVector():length() / 10)
  200. }
  201.  
  202. #//////////////////////////////////////////////////////////
  203. #///////////////////////// THROW //////////////////////////
  204. #/////////////////////////////////////////////////////////
  205. if(changed(K2) & K2){
  206. if(Chfl:isFrozen() | Throw != vec() | Chfl:isWeldedTo():isValid()){
  207. Chfl:soundPlay(3,0,"physics/concrete/concrete_impact_bullet" + randint(1,4) + ".wav")
  208. Chfl:propFreeze(0)
  209. RTrails = 1
  210. Throw = vec()
  211. }
  212. }
  213. if(Throw != vec()){
  214. if(Target:isAlive()){
  215. Throw = (Target:boxCenterW() - Chfl:pos()):normalized()
  216. }
  217.  
  218. CfPos = Chfl:boxCenterW() + Throw * 1000
  219. CfAng = Throw:toAngle() + ang(0,0,curtime() * 1000)
  220. rangerFilter(O)
  221. rangerFilter(Chfl)
  222. rangerFilter(Block)
  223. if(Chfl:isWeldedTo()){rangerHitEntities(0)}
  224. RO = rangerOffset(150,Chfl:boxCenterW(),Throw)
  225.  
  226. -----------------------------------
  227.  
  228. if(RO:hit()){
  229. if(RO:hitNormal():distance(Chfl:right()) > 1.4){Chfl:setAng(Chfl:toWorld(Chfl:toLocal(RO:hitNormal():toAngle() + ang(90,0,-90)) / 1.5))}
  230. Chfl:setPos(RO:position() + Chfl:right() * min(70,40 + Chfl:isWeldedTo():radius() / 1.5))
  231. if(RO:entity():isAlive()){
  232. Chfl:soundPlay(3,0,"ambient/machines/slicer" + randint(1,4) + ".wav")
  233. }
  234. else{
  235. Chfl:soundPlay(3,0,"physics/metal/sawblade_stick" + randint(1,3) + ".wav")
  236. if(!RO:entity():isValid()){Chfl:propFreeze(1) Throw = vec()}
  237. elseif(!Chfl:isWeldedTo()){
  238. #[Chfl:noCollide(RO:entity())]#
  239.  
  240. rangerHitEntities(0)
  241. RG = rangerOffset(150,Chfl:boxCenterW(),Throw)
  242. if(RG:hit()){Chfl:propFreeze(1) Throw = vec()}
  243. if(RO:entity():mass() > 50){Throw = vec()}
  244. }
  245. }
  246. }
  247. }
  248.  
  249. if(!Chfl:isWeldedTo():isValid() | Throw != vec()){
  250. #//////////////////////////////////////////////////
  251. #//////////////////// VEL /////////////////////////
  252. #//////////////////////////////////////////////////
  253.  
  254. if(CfPos != vec()){Chfl:applyForce((CfPos - Chfl:pos()) * Chfl:mass() * 10 - Chfl:vel() * Chfl:mass())}
  255. if(CfAng != ang()){Chfl:applyAngForce(Chfl:toLocal(toWorldAng(vec(),ang(90,0,90),CfPos,CfAng)) * Chfl:mass() * 100 - Chfl:angVel() * Chfl:mass() * 3.3)}
  256. }
  257. Chfl:setMass(max(2,min(1000,(Chfl:boxCenterW():distance(O:shootPos()) - 100) * 10)))
  258. if(Chfl:isWeldedTo():isValid() & Throw == vec()){Chfl:setMass(100)}
  259.  
  260. if(Trails){
  261. for(I = 24,28){holoEntity(I):setTrails(15,15,0.1,"effects/beam_generic01",vec(255),255)}
  262. }
  263.  
  264. --------------------------
  265.  
  266. if(RTrails){
  267. for(I = 24,28){holoEntity(I):removeTrails()}
  268. }
  269. }
  270. if(last()){soundStop(0)}
  271.  
  272. #///////////////////////////////////////////////////
  273. #//////////////////// FORM 2 ///////////////////////
  274. #//////////////////////////////////////////////////
  275.  
  276. Cd += 1 if(Cd > 2){Cd = 0}
  277. Have = max(0,min(Knife_Count,Have))
  278.  
  279. if(Form == 2 & !Change){
  280.  
  281. #//////////////////////////////////////////////////
  282. #////////////////////// Target ////////////////////
  283. #//////////////////////////////////////////////////
  284.  
  285. if(changed(TAB) & TAB){
  286. if(Target_Ent:isValid()){Target_Ent = noentity()}else{Target_Ent = O:aimEntity()}
  287. }
  288. if(Target_Ent:isValid()){
  289. if(!holoEntity(0):isValid()){holoCreate(0) holoMaterial(0,"lights/white") holoColor(0,vec(255,0,0))}
  290. if(!Target_Ent:isAlive()){
  291. holoModel(0,Target_Ent:model())
  292. holoScale(0,vec(1.1))
  293. holoPos(0,Target_Ent:pos() - (Target_Ent:boxCenterW() - Target_Ent:pos()) / 10)
  294. }
  295. else{
  296. holoModel(0,"cube")
  297. holoScaleUnits(0,Target_Ent:boxSize())
  298. holoPos(0,Target_Ent:boxCenterW())
  299. }
  300. holoAng(0,Target_Ent:angles())
  301. holoAlpha(0,200)
  302. if(Target_Ent:isValid() & Target_Ent:health() <= 0){holoAlpha(0,0)}
  303. }else{holoAlpha(0,0)}
  304.  
  305. #//////////////////////////////////////////////////
  306. #///////////////// Shield /////////////////////////
  307. #//////////////////////////////////////////////////
  308.  
  309. if(KU & K2 & ((Have * 100) / Knife_Count) >= 75){
  310. if(!Block_2:isValid()){
  311. Block_2 = propSpawn("models/hunter/misc/sphere2x2.mdl",1)
  312. Block_2:setAlpha(0)
  313. for(I = 1,Knifes:count()){
  314. Knifes[I,entity]:setTrails(5,5,0.1,"effects/beam_generic01",vec(255),255)
  315. }
  316. O:soundPlay(2,0,"ambient/wind/tube_suck.wav") soundPitch(2,100)
  317. }
  318.  
  319. ---------------------------
  320.  
  321. Block_2:setAng(ang())
  322. Block_2:setPos(O:boxCenterW())
  323. }
  324. elseif(Block_2:isValid()){
  325. Block_2:propDelete()
  326. for(I = 1,Knifes:count()){
  327. Knifes[I,entity]:removeTrails()
  328. soundStop(2,1)
  329. }
  330. }
  331. if(Target_Ent:isValid()){Pz = Target_Ent:boxCenterW()}else{Pz = O:aimPos()}
  332. while(perf()){
  333. if(I_2 >= Knifes:count()){I_2 = 0 break}
  334. I_2 += 1
  335. Kn = Knifes[I_2,entity]
  336. KnA = Knife_Attack[I_2,vector]
  337.  
  338. if(KnA == vec() & !Kn:isFrozen() & !Kn:isWeldedTo():isValid() & !Block_2:isValid()){
  339. if(K1 & !Cd & !KR | !KR & K1 & Target_Ent:isValid()){
  340. Kn:soundPlay(3,0,"weapons/slam/throw.wav") soundPitch(3,200)
  341. Knife_Attack[I_2,vector] = (Pz - Kn:pos()):normalized()
  342. Cd = 1
  343. Kn:setTrails(5,5,0.1,"effects/beam_generic01",vec(255),255)
  344. noCollideAll(Kn,0)
  345. Have -= 1
  346. }
  347. Float = cos((curtime() + I_2 * 10) * 50)
  348. KnPos = O:pos() + vec(0,0,O:height()) + vec(0,cos((270 / (Knifes:count())) * (I_2 - 1) - 45),sin((270 / (Knifes:count())) * (I_2 - 1) - 45) / 2):rotate(O:eyeAngles()) * (35 + Float * 15)
  349. if(!Kn:isFrozen() & !Kn:isWeldedTo():isValid()){KnAng = (Pz - Kn:pos()):toAngle()}
  350. }
  351.  
  352. KnA = Knife_Attack[I_2,vector]
  353.  
  354.  
  355. if(K2){
  356. S = sin((90 / Knifes:count()) * (I_2 - 1))
  357. KnPos = Pz + vec(cos((I_2 - 1) * 100) * S,sin((I_2 - 1) * 100) * S,cos((90 / Knifes:count()) * (I_2 - 1))) * (75 + Float * 15)
  358. KnAng = (Pz - Kn:pos()):toAngle()
  359.  
  360. #//////////////////////////////////////////////
  361. #///////////////// Shield /////////////////////
  362. #/////////////////////////////////////////////
  363. if(KU & ((Have * 100) / Knife_Count) >= 75){
  364. S = sin((180 / Knifes:count()) * (I_2 - 1))
  365. KnPos = O:boxCenterW() + vec(cos((I_2 - 1) * 100 + curtime() * 500) * S * 2,sin((I_2 - 1) * 100 + curtime() * 500) * S * 2,cos((180 / Knifes:count()) * (I_2 - 1))) * O:height() / 2
  366. KnAng = (KnPos - Kn:pos()):toAngle()
  367. }
  368. }
  369.  
  370. if(!Kn:isFrozen() & !Kn:isWeldedTo():isValid()){
  371. if(KnA != vec()){
  372. KnAng = KnA:toAngle()
  373. rangerFilter(O)
  374. rangerFilter(Knifes)
  375. RH = rangerOffset(100,Kn:pos(),KnA)
  376. if(RH:entity():isAlive()){Kn:soundPlay(3,0,"ambient/machines/slicer" + randint(1,4) + ".wav")}
  377. else{
  378. if(RH:hit()){
  379. Kn:setPos(RH:position() - Kn:forward() * 5)
  380. Knife_Attack[I_2,vector] = vec()
  381. Kn:soundPlay(3,0,"weapons/crossbow/hit1.wav")
  382. Kn:removeTrails()
  383. if(RH:entity():mass()){
  384. if(!Kn:isWeldedTo():isValid()){Have -= 1}
  385. }
  386. else{
  387. Kn:propFreeze(1)
  388. }
  389. noCollideAll(Kn,1)
  390. }
  391. }
  392. }
  393.  
  394. ----------------------------
  395.  
  396. if(!Kn:isValid()){Knifes:remove(I_2)}
  397. }
  398. if(KR & !Cd){
  399. if(KnA != vec() | Kn:isFrozen() | Kn:isWeldedTo():isValid()){
  400. Kn:propFreeze(0)
  401. Kn:soundPlay(3,0,"physics/concrete/concrete_impact_bullet" + randint(1,4) + ".wav")
  402. Cd = 1
  403. noCollideAll(Kn,1)
  404. Knife_Attack[I_2,vector] = vec()
  405. Kn:removeTrails()
  406. Have += 1
  407. }
  408. }
  409.  
  410. if(Kn:isWeldedTo():isValid()){
  411. Kn:setMass(10)
  412. }else{
  413. Kn:setMass(max(2,min(1000,(Kn:boxCenterW():distance(O:shootPos()) - 100) * 10)))
  414. }
  415.  
  416. KnA = Knife_Attack[I_2,vector]
  417.  
  418. #//////////////////////////////////////////////////
  419. #//////////////////// VEL /////////////////////////
  420. #//////////////////////////////////////////////////
  421.  
  422. if(!Kn:isFrozen() & !Kn:isWeldedTo():isValid()){
  423. if(KnA == vec()){
  424. Kn:applyForce((KnPos - Kn:pos()) * Kn:mass() * 10 - Kn:vel() * Kn:mass())
  425. }
  426. else{
  427. Kn:applyForce(KnA * Kn:mass() * 1000 - Kn:vel() * Kn:mass())
  428. }
  429. Kn:applyAngForce(Kn:toLocal(KnAng) * Kn:mass() / 2 - Kn:angVel() * Kn:mass() / 100)
  430. }
  431.  
  432. if(holoEntity(I_2 * 4 + 34 - 3):getColor() == vec(0,255,255)){
  433. if(KnPos:distance(Kn:pos()) < 4){
  434. H = I_2 * 4 + 34 - 3 holoMaterial(H,"models/shiny") holoColor(H,vec(0,100,100))
  435. H = I_2 * 4 + 34 - 2 holoMaterial(H,"models/shiny") holoColor(H,vec(0,100,100))
  436. H = I_2 * 4 + 34 - 1 holoMaterial(H,"models/gibs/woodgibs/woodgibs01") holoColor(H,vec(50,150,150))
  437. H = I_2 * 4 + 34 holoMaterial(H,"models/shiny") holoColor(H,vec(255))
  438. }
  439. }
  440. }
  441. }
  442. #///////////////////////////////////////////////////
  443. #///////////////// Change form /////////////////////
  444. #//////////////////////////////////////////////////
  445. if(!Chfl:isFrozen() & !Chfl:isWeldedTo() & !Change){
  446. if(O:keyPressed("1") & Form != 1){Change = 1 Form = 1 O:soundPlay(4,0,"ambient/machines/fan4.wav") soundPitch(4,250)}
  447. if(O:keyPressed("2") & Form != 2){Change = 1 Form = 2 for(I = 24,28){holoEntity(I):removeTrails()}}
  448. }
  449.  
  450. if(Change){
  451. Change += 1
  452.  
  453. #//////////////////////////////////////////////////
  454. #///////////////// Form 1 /////////////////////////
  455. #/////////////////////////////////////////////////
  456.  
  457. if(Form == 1){
  458. while(perf()){
  459. if(I_2 >= Knifes:count()){I_2 = 0 break}
  460. I_2 += 1
  461. Kn = Knifes[I_2,entity]
  462.  
  463. ----------------------------
  464.  
  465.  
  466. Float = cos((curtime() + I_2 * 10) * 50)
  467. KnPos = O:pos() + vec(0,0,O:height()) + vec(0,cos((270 / (Knifes:count())) * (I_2 - 1) - 45),sin((270 / (Knifes:count())) * (I_2 - 1) - 45) / 2):rotate(O:eyeAngles()) * (35 + Float * 15)
  468. KnAng = (O:aimPos() - Kn:pos()):toAngle()
  469.  
  470. if((Change / 5) > I_2){
  471. KnPos = O:toWorld(vec(cos(curtime() * 20) * 5,50 + cos(curtime() * 25) * 5,100 + sin(curtime() * 30) * 5)) + randvec(1,-1) * 10
  472. + ((O:forward() + O:eye()) / 2):normalized() * (60 - (120 / Knifes:count()) * I_2)
  473. KnAng = (KnPos - Kn:pos()):toAngle()
  474.  
  475. if(Kn:pos():distance(KnPos) < 25){
  476. KnAng = ((O:forward() + O:eye()) / 2):toAngle()
  477. H = I_2 * 4 + 34 - 3 holoColor(H,vec(0,255,255)) holoMaterial(H,"lights/white")
  478. H = I_2 * 4 + 34 - 2 holoColor(H,vec(0,255,255)) holoMaterial(H,"lights/white")
  479. H = I_2 * 4 + 34 - 1 holoColor(H,vec(0,255,255)) holoMaterial(H,"lights/white")
  480. H = I_2 * 4 + 34 holoColor(H,vec(0,255,255)) holoMaterial(H,"lights/white")
  481. }elseif((Change / 5) >= (Knifes:count() + 1)){Change = Knifes:count() * 5}
  482. }
  483.  
  484. #//////////////////////////////////////////////////
  485. #//////////////////// VEL /////////////////////////
  486. #//////////////////////////////////////////////////
  487.  
  488. Kn:applyForce((KnPos - Kn:pos()) * Kn:mass() * 10 - Kn:vel() * Kn:mass())
  489. Kn:applyAngForce(Kn:toLocal(KnAng) * Kn:mass() / 2 - Kn:angVel() * Kn:mass() / 100)
  490. if(((Change - 100) / 5) > Knifes:count()){
  491. soundStop(4,0.5)
  492. Change = 0
  493. Chfl = propSpawn("models/hunter/plates/plate025x3.mdl",O:toWorld(vec(cos(curtime() * 20) * 5,50 + cos(curtime() * 25) * 5,100 + sin(curtime() * 30) * 5)),((O:forward() + O:eye()) / 2):toAngle(),0)
  494. Chfl:setAng(Chfl:toWorld(ang(0,-90,0)))
  495. Chfl:setAlpha(0)
  496. Chfl:soundPlay(1,0,"ambient/wind/tube_suck.wav") soundPitch(1,0) soundVolume(1,200)
  497. holoPos(1,Chfl:boxCenterW())
  498. holoAng(1,Chfl:angles())
  499. holoPos(1,Chfl:toWorld(vec(0,-30,0)))
  500. holoAng(1,Chfl:toWorld(ang(90,0,-90)))
  501. holoParent(1,Chfl)
  502. for(I = 1,34){holoAlpha(I,255)}
  503. for(I = 1,Knifes:count()){
  504. Knifes[I,entity]:propFreeze(1)
  505. noCollideAll(Kn,1)
  506. H = I * 4 + 34 - 3 holoAlpha(H,0)
  507. H = I * 4 + 34 - 2 holoAlpha(H,0)
  508. H = I * 4 + 34 - 1 holoAlpha(H,0)
  509. H = I * 4 + 34 holoAlpha(H,0)
  510. }
  511. O:soundPlay(5,0,"ambient/energy/whiteflash.wav") soundPitch(5,200)
  512.  
  513. H = 1 holoMaterial(H,"models/shiny") holoColor(H,vec(200))
  514. H = 2 holoMaterial(H,"phoenix_storms/middle") holoColor(H,vec(50,100,100))
  515. H = 3 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  516.  
  517. ---------------------
  518.  
  519. H = 4 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  520. H = 5 holoMaterial(H,"models/gibs/woodgibs/woodgibs01") holoColor(H,vec(50,150,150))
  521. H = 6 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  522. H = 7 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  523. H = 8 holoMaterial(H,"models/shiny") holoColor(H,vec(50))
  524. H = 9 holoMaterial(H,"models/shiny") holoColor(H,vec(50))
  525. H = 10 holoMaterial(H,"models/shiny") holoColor(H,vec(50))
  526. H = 11 holoMaterial(H,"models/shiny") holoColor(H,vec(50))
  527. H = 12 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  528. H = 13 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  529. H = 14 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  530. H = 15 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  531. H = 16 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  532. H = 17 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  533. H = 18 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  534. H = 19 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  535. H = 20 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  536. H = 21 holoMaterial(H,"lights/white") holoColor(H,vec(200))
  537. H = 22 holoMaterial(H,"lights/white") holoColor(H,vec(200))
  538. H = 23 holoMaterial(H,"lights/white") holoColor(H,vec(200))
  539. H = 24 holoMaterial(H,"lights/white") holoColor(H,vec(200))
  540. H = 25 holoMaterial(H,"lights/white") holoColor(H,vec(200))
  541. H = 26 holoMaterial(H,"lights/white") holoColor(H,vec(50))
  542. H = 27 holoMaterial(H,"models/shiny") holoColor(H,vec(200))
  543. H = 28 holoMaterial(H,"models/shiny") holoColor(H,vec(200))
  544. H = 29 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  545. H = 30 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  546. H = 31 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  547. H = 32 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  548. H = 33 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  549. H = 34 holoMaterial(H,"models/shiny") holoColor(H,vec(175,125,25))
  550. }
  551. }
  552. }
  553. #//////////////////////////////////////////////////
  554. #///////////////////// Form 2 /////////////////////
  555. #/////////////////////////////////////////////////
  556.  
  557. if(Chfl:isValid()){
  558. if(Form == 2){
  559. soundPitch(1,Chfl:angVelVector():length() / 10)
  560. if(Change == 75){
  561. for(I = 1,34){holoColor(I,vec(0,255,255)) holoMaterial(I,"lights/white")}
  562. }
  563. if(Change > 125 & Knife < Knife_Count){
  564. timer("Create",300)
  565. if(clk("Create") | Knifes[Knife + 1,entity]:isValid()){
  566. Knife += 1
  567.  
  568. ---------------------
  569.  
  570.  
  571. HS = 1
  572. E = Chfl
  573. if(!Knifes[Knife,entity]:isValid()){PR = propSpawn("models/props_junk/PopCan01a.mdl",1) Knifes[Knife,entity] = PR PR:setAlpha(0) PR:setMass(100) noCollideAll(PR,1) Kn:propGravity(0)}
  574. E = Knifes[Knife,entity]
  575. H = Knife * 4 + 34 - 3 if(!holoEntity(H):isValid()){holoCreate(H)} holoPos(H,E:toWorld(vec(0,0,0))) holoAng(H,E:toWorld(ang(0,0,0))) holoScale(H,vec(0.5,0.5,0.5) * HS) holoModel(H,"hq_torus_thick") holoParent(H,E) holoColor(H,vec(0,255,255)) holoMaterial(H,"lights/white") holoAlpha(H,0)
  576. E = holoEntity(H)
  577. H = Knife * 4 + 34 - 2 if(!holoEntity(H):isValid()){holoCreate(H)} holoPos(H,E:toWorld(vec(-3.4,0,0) * HS)) holoAng(H,E:toWorld(ang(0,90,-90))) holoScale(H,vec(0.3,0.08,0.2) * HS) holoModel(H,"prism") holoParent(H,E) holoColor(H,vec(0,255,255)) holoMaterial(H,"lights/white") holoAlpha(H,0)
  578. H = Knife * 4 + 34 - 1 if(!holoEntity(H):isValid()){holoCreate(H)} holoPos(H,E:toWorld(vec(3,0,0) * HS)) holoAng(H,E:toWorld(ang(270,0,0))) holoScale(H,vec(0.1,0.3,0.4) * HS) holoModel(H,"hqcone") holoParent(H,E) holoColor(H,vec(0,255,255)) holoMaterial(H,"lights/white") holoAlpha(H,0)
  579. holoClipEnabled(H,1) holoClip(H,vec(0,0,1),vec(0,0,-1),0)
  580. H = Knife * 4 + 34 if(!holoEntity(H):isValid()){holoCreate(H)} holoPos(H,E:toWorld(vec(10.2,0,0) * HS)) holoAng(H,E:toWorld(ang(90,0,0))) holoScale(H,vec(0.1,0.3,0.8) * HS) holoModel(H,"hqcone") holoParent(H,E) holoColor(H,vec(0,255,255)) holoMaterial(H,"lights/white") holoAlpha(H,0)
  581. }
  582. }
  583.  
  584. if(Knife >= Knife_Count){
  585. Change = 0
  586. Knife = 0
  587. holoParent(1,entity())
  588. O:soundPlay(5,0,"ambient/energy/whiteflash.wav") soundPitch(5,200)
  589. for(I2 = 1,Knifes:count()){
  590. Knifes[I2,entity]:setPos(Chfl:toWorld(randvec(Chfl:boxSize(),-Chfl:boxSize()) / 2))
  591. Knifes[I2,entity]:setAng(Chfl:toWorld(ang(0,0,90)))
  592. Knifes[I2,entity]:propFreeze(0)
  593. H = I2 * 4 + 34 - 3 holoAlpha(H,255)
  594. H = I2 * 4 + 34 - 2 holoAlpha(H,255)
  595. H = I2 * 4 + 34 - 1 holoAlpha(H,255)
  596. H = I2 * 4 + 34 holoAlpha(H,255)
  597. }
  598. soundStop(1)
  599. Chfl:propDelete()
  600. for(I = 1,34){holoAlpha(I,0)}
  601. }
  602. }
  603. CfPos = O:toWorld(vec(cos(curtime() * 20) * 5,cos(curtime() * 25) * 5,100 + sin(curtime() * 30) * 5))
  604. CfAng = ((O:forward() + O:eye()) / 2):toAngle() + ang(0,0,curtime() * 1000)
  605.  
  606. if(CfPos != vec()){Chfl:applyForce((CfPos - Chfl:pos()) * Chfl:mass() * 10 - Chfl:vel() * Chfl:mass())}
  607. if(CfAng != ang()){Chfl:applyAngForce(Chfl:toLocal(toWorldAng(vec(),ang(90,0,90),CfPos,CfAng)) * Chfl:mass() * 100 - Chfl:angVel() * Chfl:mass() * 3.3)}
  608. }
  609. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement