Advertisement
Guest User

Chastifol

a guest
Apr 5th, 2017
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 28.87 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:boxCenter rW() - 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:constraintBreak("weld",Chfl:isWeldedTo())
  201. Chfl:soundPlay(3,0,"physics/concrete/concrete_impact_bullet" + randint(1,4) + ".wav")
  202. Chfl:propFreeze(0)
  203. RTrails = 1
  204. Throw = vec()
  205. }
  206. }
  207. if(Throw != vec()){
  208. if(Target:isAlive()){
  209. Throw = (Target:boxCenterW() - Chfl:pos()):normalized()
  210. }
  211.  
  212. CfPos = Chfl:boxCenterW() + Throw * 1000
  213. CfAng = Throw:toAngle() + ang(0,0,curtime() * 1000)
  214. rangerFilter(O)
  215. rangerFilter(Chfl)
  216. rangerFilter(Block)
  217. if(Chfl:isWeldedTo()){rangerHitEntities(0)}
  218. RO = rangerOffset(150,Chfl:boxCenterW(),Throw)
  219.  
  220. if(RO:hit()){
  221. if(RO:hitNormal():distance(Chfl:right()) > 1.4){Chfl:setAng(Chfl:toWorld(Chfl:toLocal(RO:hitN ormal():toAngle() + ang(90,0,-90)) / 1.5))}
  222. Chfl:setPos(RO:position() + Chfl:right() * min(70,40 + Chfl:isWeldedTo():radius() / 1.5))
  223. if(RO:entity():isAlive()){
  224. Chfl:soundPlay(3,0,"ambient/machines/slicer" + randint(1,4) + ".wav")
  225. }
  226. else{
  227. Chfl:soundPlay(3,0,"physics/metal/sawblade_stick" + randint(1,3) + ".wav")
  228. if(!RO:entity():isValid()){Chfl:propFreeze(1) Throw = vec()}
  229. elseif(!Chfl:isWeldedTo()){
  230. weld(Chfl,RO:entity())
  231. noCollide(Chfl,RO:entity())
  232.  
  233. rangerHitEntities(0)
  234. RG = rangerOffset(150,Chfl:boxCenterW(),Throw)
  235. if(RG:hit()){Chfl:propFreeze(1) Throw = vec()}
  236. if(RO:entity():mass() > 50){Throw = vec()}
  237. }
  238. }
  239. }
  240. }
  241.  
  242. if(!Chfl:isWeldedTo():isValid() | Throw != vec()){
  243. #//////////////////////////////////////////////////
  244. #//////////////////// VEL /////////////////////////
  245. #//////////////////////////////////////////////////
  246.  
  247. if(CfPos != vec()){Chfl:applyForce((CfPos - Chfl:pos()) * Chfl:mass() * 10 - Chfl:vel() * Chfl:mass())}
  248. if(CfAng != ang()){Chfl:applyAngForce(Chfl:toLocal(toWorldAng( vec(),ang(90,0,90),CfPos,CfAng)) * Chfl:mass() * 100 - Chfl:angVel() * Chfl:mass() * 3.3)}
  249. }
  250. Chfl:setMass(max(2,min(1000,(Chfl:boxCenterW():dis tance(O:shootPos()) - 100) * 10)))
  251. if(Chfl:isWeldedTo():isValid() & Throw == vec()){Chfl:setMass(100)}
  252.  
  253. if(Trails){
  254. for(I = 24,28){holoEntity(I):setTrails(15,15,0.1,"effects/beam_generic01",vec(255),255)}
  255. }
  256. if(RTrails){
  257. for(I = 24,28){holoEntity(I):removeTrails()}
  258. }
  259. }
  260. if(last()){soundStop(0)}
  261.  
  262. #///////////////////////////////////////////////////
  263. #//////////////////// FORM 2 ///////////////////////
  264. #//////////////////////////////////////////////////
  265.  
  266. Cd += 1 if(Cd > 2){Cd = 0}
  267. Have = max(0,min(Knife_Count,Have))
  268.  
  269. if(Form == 2 & !Change){
  270.  
  271. #//////////////////////////////////////////////////
  272. #////////////////////// Target ////////////////////
  273. #//////////////////////////////////////////////////
  274.  
  275. if(changed(TAB) & TAB){
  276. if(Target_Ent:isValid()){Target_Ent = noentity()}else{Target_Ent = O:aimEntity()}
  277. }
  278. if(Target_Ent:isValid()){
  279. if(!holoEntity(0):isValid()){holoCreate(0) holoMaterial(0,"lights/white") holoColor(0,vec(255,0,0))}
  280. if(!Target_Ent:isAlive()){
  281. holoModel(0,Target_Ent:model())
  282. holoScale(0,vec(1.1))
  283. holoPos(0,Target_Ent:pos() - (Target_Ent:boxCenterW() - Target_Ent:pos()) / 10)
  284. }
  285. else{
  286. holoModel(0,"cube")
  287. holoScaleUnits(0,Target_Ent:boxSize())
  288. holoPos(0,Target_Ent:boxCenterW())
  289. }
  290. holoAng(0,Target_Ent:angles())
  291. holoAlpha(0,200)
  292. if(Target_Ent:isValid() & Target_Ent:health() <= 0){holoAlpha(0,0)}
  293. }else{holoAlpha(0,0)}
  294.  
  295. #//////////////////////////////////////////////////
  296. #///////////////// Shield /////////////////////////
  297. #//////////////////////////////////////////////////
  298.  
  299. if(KU & K2 & ((Have * 100) / Knife_Count) >= 75){
  300. if(!Block_2:isValid()){
  301. Block_2 = propSpawn("models/hunter/misc/sphere2x2.mdl",1)
  302. Block_2:setAlpha(0)
  303. for(I = 1,Knifes:count()){
  304. Knifes[I,entity]:setTrails(5,5,0.1,"effects/beam_generic01",vec(255),255)
  305. }
  306. O:soundPlay(2,0,"ambient/wind/tube_suck.wav") soundPitch(2,100)
  307. }
  308. Block_2:setAng(ang())
  309. Block_2:setPos(O:boxCenterW())
  310. }
  311. elseif(Block_2:isValid()){
  312. Block_2:propDelete()
  313. for(I = 1,Knifes:count()){
  314. Knifes[I,entity]:removeTrails()
  315. soundStop(2,1)
  316. }
  317. }
  318. if(Target_Ent:isValid()){Pz = Target_Ent:boxCenterW()}else{Pz = O:aimPos()}
  319. while(perf()){
  320. if(I_2 >= Knifes:count()){I_2 = 0 break}
  321. I_2 += 1
  322. Kn = Knifes[I_2,entity]
  323. KnA = Knife_Attack[I_2,vector]
  324.  
  325. if(KnA == vec() & !Kn:isFrozen() & !Kn:isWeldedTo():isValid() & !Block_2:isValid()){
  326. if(K1 & !Cd & !KR | !KR & K1 & Target_Ent:isValid()){
  327. Kn:soundPlay(3,0,"weapons/slam/throw.wav") soundPitch(3,200)
  328. Knife_Attack[I_2,vector] = (Pz - Kn:pos()):normalized()
  329. Cd = 1
  330. Kn:setTrails(5,5,0.1,"effects/beam_generic01",vec(255),255)
  331. noCollideAll(Kn,0)
  332. Have -= 1
  333. }
  334. Float = cos((curtime() + I_2 * 10) * 50)
  335. 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)
  336. if(!Kn:isFrozen() & !Kn:isWeldedTo():isValid()){KnAng = (Pz - Kn:pos()):toAngle()}
  337. }
  338.  
  339. KnA = Knife_Attack[I_2,vector]
  340.  
  341.  
  342. if(K2){
  343. S = sin((90 / Knifes:count()) * (I_2 - 1))
  344. 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)
  345. KnAng = (Pz - Kn:pos()):toAngle()
  346.  
  347. #//////////////////////////////////////////////
  348. #///////////////// Shield /////////////////////
  349. #/////////////////////////////////////////////
  350. if(KU & ((Have * 100) / Knife_Count) >= 75){
  351. S = sin((180 / Knifes:count()) * (I_2 - 1))
  352. 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
  353. KnAng = (KnPos - Kn:pos()):toAngle()
  354. }
  355. }
  356.  
  357. if(!Kn:isFrozen() & !Kn:isWeldedTo():isValid()){
  358. if(KnA != vec()){
  359. KnAng = KnA:toAngle()
  360. rangerFilter(O)
  361. rangerFilter(Knifes)
  362. RH = rangerOffset(100,Kn:pos(),KnA)
  363. if(RH:entity():isAlive()){Kn:soundPlay(3,0,"ambien t/machines/slicer" + randint(1,4) + ".wav")}
  364. else{
  365. if(RH:hit()){
  366. Kn:setPos(RH:position() - Kn:forward() * 5)
  367. Knife_Attack[I_2,vector] = vec()
  368. Kn:soundPlay(3,0,"weapons/crossbow/hit1.wav")
  369. Kn:removeTrails()
  370. if(RH:entity():mass()){weld(Kn,RH:entity())
  371. if(!Kn:isWeldedTo():isValid()){Have -= 1}
  372. }
  373. else{
  374. Kn:propFreeze(1)
  375. }
  376. noCollideAll(Kn,1)
  377. }
  378. }
  379. }
  380. if(!Kn:isValid()){Knifes:remove(I_2)}
  381. }
  382. if(KR & !Cd){
  383. if(KnA != vec() | Kn:isFrozen() | Kn:isWeldedTo():isValid()){
  384. Kn:propFreeze(0)
  385. Kn:constraintBreak("weld",Kn:isWeldedTo())
  386. Kn:soundPlay(3,0,"physics/concrete/concrete_impact_bullet" + randint(1,4) + ".wav")
  387. Cd = 1
  388. noCollideAll(Kn,1)
  389. Knife_Attack[I_2,vector] = vec()
  390. Kn:removeTrails()
  391. Have += 1
  392. }
  393. }
  394.  
  395. if(Kn:isWeldedTo():isValid()){
  396. Kn:setMass(10)
  397. }else{
  398. Kn:setMass(max(2,min(1000,(Kn:boxCenterW():distanc e(O:shootPos()) - 100) * 10)))
  399. }
  400.  
  401. KnA = Knife_Attack[I_2,vector]
  402.  
  403. #//////////////////////////////////////////////////
  404. #//////////////////// VEL /////////////////////////
  405. #//////////////////////////////////////////////////
  406.  
  407. if(!Kn:isFrozen() & !Kn:isWeldedTo():isValid()){
  408. if(KnA == vec()){
  409. Kn:applyForce((KnPos - Kn:pos()) * Kn:mass() * 10 - Kn:vel() * Kn:mass())
  410. }
  411. else{
  412. Kn:applyForce(KnA * Kn:mass() * 1000 - Kn:vel() * Kn:mass())
  413. }
  414. Kn:applyAngForce(Kn:toLocal(KnAng) * Kn:mass() / 2 - Kn:angVel() * Kn:mass() / 100)
  415. }
  416.  
  417. if(holoEntity(I_2 * 4 + 34 - 3):getColor() == vec(0,255,255)){
  418. if(KnPos:distance(Kn:pos()) < 4){
  419. H = I_2 * 4 + 34 - 3 holoMaterial(H,"models/shiny") holoColor(H,vec(0,100,100))
  420. H = I_2 * 4 + 34 - 2 holoMaterial(H,"models/shiny") holoColor(H,vec(0,100,100))
  421. H = I_2 * 4 + 34 - 1 holoMaterial(H,"models/gibs/woodgibs/woodgibs01") holoColor(H,vec(50,150,150))
  422. H = I_2 * 4 + 34 holoMaterial(H,"models/shiny") holoColor(H,vec(255))
  423. }
  424. }
  425. }
  426. }
  427.  
  428. #///////////////////////////////////////////////////
  429. #///////////////// Change form /////////////////////
  430. #//////////////////////////////////////////////////
  431. if(!Chfl:isFrozen() & !Chfl:isWeldedTo() & !Change){
  432. if(O:keyPressed("pad_1") & Form != 1){Change = 1 Form = 1 O:soundPlay(4,0,"ambient/machines/fan4.wav") soundPitch(4,250)}
  433. if(O:keyPressed("pad_2") & Form != 2){Change = 1 Form = 2 for(I = 24,28){holoEntity(I):removeTrails()}}
  434. }
  435.  
  436. if(Change){
  437. Change += 1
  438.  
  439. #//////////////////////////////////////////////////
  440. #///////////////// Form 1 /////////////////////////
  441. #/////////////////////////////////////////////////
  442.  
  443. if(Form == 1){
  444. while(perf()){
  445. if(I_2 >= Knifes:count()){I_2 = 0 break}
  446. I_2 += 1
  447. Kn = Knifes[I_2,entity]
  448.  
  449. Float = cos((curtime() + I_2 * 10) * 50)
  450. 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)
  451. KnAng = (O:aimPos() - Kn:pos()):toAngle()
  452.  
  453. if((Change / 5) > I_2){
  454. KnPos = O:toWorld(vec(cos(curtime() * 20) * 5,50 + cos(curtime() * 25) * 5,100 + sin(curtime() * 30) * 5)) + randvec(1,-1) * 10
  455. + ((O:forward() + O:eye()) / 2):normalized() * (60 - (120 / Knifes:count()) * I_2)
  456. KnAng = (KnPos - Kn:pos()):toAngle()
  457.  
  458. if(Kn:pos():distance(KnPos) < 25){
  459. KnAng = ((O:forward() + O:eye()) / 2):toAngle()
  460. H = I_2 * 4 + 34 - 3 holoColor(H,vec(0,255,255)) holoMaterial(H,"lights/white")
  461. H = I_2 * 4 + 34 - 2 holoColor(H,vec(0,255,255)) holoMaterial(H,"lights/white")
  462. H = I_2 * 4 + 34 - 1 holoColor(H,vec(0,255,255)) holoMaterial(H,"lights/white")
  463. H = I_2 * 4 + 34 holoColor(H,vec(0,255,255)) holoMaterial(H,"lights/white")
  464. }elseif((Change / 5) >= (Knifes:count() + 1)){Change = Knifes:count() * 5}
  465. }
  466.  
  467. #//////////////////////////////////////////////////
  468. #//////////////////// VEL /////////////////////////
  469. #//////////////////////////////////////////////////
  470.  
  471. Kn:applyForce((KnPos - Kn:pos()) * Kn:mass() * 10 - Kn:vel() * Kn:mass())
  472. Kn:applyAngForce(Kn:toLocal(KnAng) * Kn:mass() / 2 - Kn:angVel() * Kn:mass() / 100)
  473. if(((Change - 100) / 5) > Knifes:count()){
  474. soundStop(4,0.5)
  475. Change = 0
  476. 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)
  477. Chfl:setAng(Chfl:toWorld(ang(0,-90,0)))
  478. Chfl:setAlpha(0)
  479. Chfl:soundPlay(1,0,"ambient/wind/tube_suck.wav") soundPitch(1,0) soundVolume(1,200)
  480. holoPos(1,Chfl:boxCenterW())
  481. holoAng(1,Chfl:angles())
  482. holoPos(1,Chfl:toWorld(vec(0,-30,0)))
  483. holoAng(1,Chfl:toWorld(ang(90,0,-90)))
  484. holoParent(1,Chfl)
  485. for(I = 1,34){holoAlpha(I,255)}
  486. for(I = 1,Knifes:count()){
  487. Knifes[I,entity]:propFreeze(1)
  488. noCollideAll(Knifes[I,entity],1)
  489. H = I * 4 + 34 - 3 holoAlpha(H,0)
  490. H = I * 4 + 34 - 2 holoAlpha(H,0)
  491. H = I * 4 + 34 - 1 holoAlpha(H,0)
  492. H = I * 4 + 34 holoAlpha(H,0)
  493. }
  494. O:soundPlay(5,0,"ambient/energy/whiteflash.wav") soundPitch(5,200)
  495.  
  496. H = 1 holoMaterial(H,"models/shiny") holoColor(H,vec(200))
  497. H = 2 holoMaterial(H,"phoenix_storms/middle") holoColor(H,vec(50,100,100))
  498. H = 3 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  499. H = 4 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  500. H = 5 holoMaterial(H,"models/gibs/woodgibs/woodgibs01") holoColor(H,vec(50,150,150))
  501. H = 6 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  502. H = 7 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  503. H = 8 holoMaterial(H,"models/shiny") holoColor(H,vec(50))
  504. H = 9 holoMaterial(H,"models/shiny") holoColor(H,vec(50))
  505. H = 10 holoMaterial(H,"models/shiny") holoColor(H,vec(50))
  506. H = 11 holoMaterial(H,"models/shiny") holoColor(H,vec(50))
  507. H = 12 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  508. H = 13 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  509. H = 14 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  510. H = 15 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  511. H = 16 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  512. H = 17 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  513. H = 18 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  514. H = 19 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  515. H = 20 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  516. H = 21 holoMaterial(H,"lights/white") holoColor(H,vec(200))
  517. H = 22 holoMaterial(H,"lights/white") holoColor(H,vec(200))
  518. H = 23 holoMaterial(H,"lights/white") holoColor(H,vec(200))
  519. H = 24 holoMaterial(H,"lights/white") holoColor(H,vec(200))
  520. H = 25 holoMaterial(H,"lights/white") holoColor(H,vec(200))
  521. H = 26 holoMaterial(H,"lights/white") holoColor(H,vec(50))
  522. H = 27 holoMaterial(H,"models/shiny") holoColor(H,vec(200))
  523. H = 28 holoMaterial(H,"models/shiny") holoColor(H,vec(200))
  524. H = 29 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  525. H = 30 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  526. H = 31 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  527. H = 32 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  528. H = 33 holoMaterial(H,"models/shiny") holoColor(H,vec(200,150,50))
  529. H = 34 holoMaterial(H,"models/shiny") holoColor(H,vec(175,125,25))
  530. }
  531. }
  532. }
  533. #//////////////////////////////////////////////////
  534. #///////////////////// Form 2 /////////////////////
  535. #/////////////////////////////////////////////////
  536.  
  537. if(Chfl:isValid()){
  538. if(Form == 2){
  539. soundPitch(1,Chfl:angVelVector():length() / 10)
  540. if(Change == 75){
  541. for(I = 1,34){holoColor(I,vec(0,255,255)) holoMaterial(I,"lights/white")}
  542. }
  543. if(Change > 125 & Knife < Knife_Count){
  544. timer("Create",300)
  545. if(clk("Create") | Knifes[Knife + 1,entity]:isValid()){
  546. Knife += 1
  547. HS = 1
  548. E = Chfl
  549. 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)}
  550. E = Knifes[Knife,entity]
  551. 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)
  552. E = holoEntity(H)
  553. 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)
  554. 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)
  555. holoClipEnabled(H,1) holoClip(H,vec(0,0,1),vec(0,0,-1),0)
  556. 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)
  557. }
  558. }
  559.  
  560. if(Knife >= Knife_Count){
  561. Change = 0
  562. Knife = 0
  563. holoParent(1,entity())
  564. O:soundPlay(5,0,"ambient/energy/whiteflash.wav") soundPitch(5,200)
  565. for(I2 = 1,Knifes:count()){
  566. Knifes[I2,entity]:setPos(Chfl:toWorld(randvec(Chfl:boxSize(),-Chfl:boxSize()) / 2))
  567. Knifes[I2,entity]:setAng(Chfl:toWorld(ang(0,0,90)))
  568. Knifes[I2,entity]:propFreeze(0)
  569. H = I2 * 4 + 34 - 3 holoAlpha(H,255)
  570. H = I2 * 4 + 34 - 2 holoAlpha(H,255)
  571. H = I2 * 4 + 34 - 1 holoAlpha(H,255)
  572. H = I2 * 4 + 34 holoAlpha(H,255)
  573. }
  574. soundStop(1)
  575. Chfl:propDelete()
  576. for(I = 1,34){holoAlpha(I,0)}
  577. }
  578. }
  579. CfPos = O:toWorld(vec(cos(curtime() * 20) * 5,cos(curtime() * 25) * 5,100 + sin(curtime() * 30) * 5))
  580. CfAng = ((O:forward() + O:eye()) / 2):toAngle() + ang(0,0,curtime() * 1000)
  581.  
  582. if(CfPos != vec()){Chfl:applyForce((CfPos - Chfl:pos()) * Chfl:mass() * 10 - Chfl:vel() * Chfl:mass())}
  583. if(CfAng != ang()){Chfl:applyAngForce(Chfl:toLocal(toWorldAng( vec(),ang(90,0,90),CfPos,CfAng)) * Chfl:mass() * 100 - Chfl:angVel() * Chfl:mass() * 3.3)}
  584. }
  585. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement