Advertisement
Guest User

Chastiefol

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