Advertisement
astronaut32

captain falcon

Oct 26th, 2016
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 28.52 KB | None | 0 0
  1. pls = game:GetService("Players")
  2. rs = game:GetService("RunService")
  3. uinps = game:GetService("UserInputService")
  4. lp = pls.LocalPlayer
  5. mouse = lp:GetMouse()
  6. c = lp.Character
  7. human = c.Humanoid
  8. health = 130
  9. root = c.HumanoidRootPart
  10. EfxModel = Instance.new("Model", c)
  11. Effects = {
  12. Spark = {new = function(pos, point, length, thickness, speed, distime, color, trans, material)
  13. local e = Instance.new("Part", EfxModel)
  14. e.Name = "Spark"
  15. e.Size = Vector3.new(thickness, thickness, length + math.random(-10, 10) / 10)
  16. e.BrickColor = BrickColor.new(color or "Black")
  17. if not trans then
  18. e.Transparency = math.random(1, 3) / 10
  19. e.Material = material or "Neon"
  20. e.Anchored = true
  21. e.CanCollide = false
  22. e.CFrame = CFrame.new(pos, point)
  23. local m = Instance.new("SpecialMesh", e)
  24. m.MeshType = "Sphere"
  25. local d = Instance.new("NumberValue", e)
  26. d.Name = "Time"
  27. d.Value = distime or 0.05
  28. local s = Instance.new("NumberValue", e)
  29. s.Name = "Speed"
  30. s.Value = speed or 0.5
  31. end
  32. end, move = function(part)
  33. part.CFrame = part.CFrame:toWorldSpace(CFrame.new(0, 0, part.Speed.Value / (Debounces.FPS / 60)))
  34. part.Transparency = part.Transparency + part.Time.Value / (Debounces.FPS / 60)
  35. if part.Transparency > 0.97 then
  36. part:Destroy()
  37. end
  38. end}
  39. ,
  40. Spark2 = {new = function(pos, point, length, thickness, speed, distime, drop, color, trans, material)
  41. local e = Instance.new("Part", EfxModel)
  42. e.Name = "Spark2"
  43. e.Size = Vector3.new(thickness, thickness, length + math.random(-10, 10) / 10)
  44. e.BrickColor = BrickColor.new(color or "Black")
  45. if not trans then
  46. e.Transparency = math.random(1, 3) / 10
  47. e.Material = material or "Neon"
  48. e.Anchored = true
  49. e.CanCollide = false
  50. e.CFrame = CFrame.new(pos, point)
  51. local m = Instance.new("SpecialMesh", e)
  52. m.MeshType = "Sphere"
  53. local d = Instance.new("NumberValue", e)
  54. d.Name = "Time"
  55. d.Value = distime or 0.05
  56. local s = Instance.new("NumberValue", e)
  57. s.Name = "Speed"
  58. s.Value = speed or 0.5
  59. local d2 = Instance.new("NumberValue", e)
  60. d2.Name = "Drop"
  61. d2.Value = drop or 0.2
  62. end
  63. end, move = function(part)
  64. local moveTo = part.CFrame.lookVector * part.Speed.Value
  65. moveTo = moveTo - Vector3.new(0, part.Drop.Value / Debounces.FPS, 0)
  66. part.CFrame = CFrame.new(part.CFrame.p + (moveTo), part.CFrame.p + (moveTo) * 2)
  67. part.Transparency = part.Transparency + part.Time.Value / (Debounces.FPS / 60)
  68. if part.Transparency > 0.97 then
  69. part:Destroy()
  70. end
  71. end}
  72. ,
  73. Sphere = {new = function(pos, radius, time, size, color, trans, material)
  74. local e = Instance.new("Part", EfxModel)
  75. e.Name = "Sphere"
  76. e.Size = Vector3.new(radius, radius, radius)
  77. e.BrickColor = BrickColor.new(color or "Black")
  78. if not trans then
  79. e.Transparency = math.random(1, 3) / 10
  80. e.Material = material or "Neon"
  81. e.Anchored = true
  82. e.CanCollide = false
  83. e.CFrame = CFrame.new(pos)
  84. local m = Instance.new("SpecialMesh", e)
  85. m.MeshType = "Sphere"
  86. local d = Instance.new("NumberValue", e)
  87. d.Name = "Time"
  88. d.Value = distime or 0.055
  89. local s = Instance.new("NumberValue", e)
  90. s.Name = "SizeChange"
  91. s.Value = size or 0.5
  92. end
  93. end, move = function(part)
  94. local pcf = part.CFrame
  95. part.Size = part.Size + Vector3.new(part.SizeChange.Value, part.SizeChange.Value, part.SizeChange.Value)
  96. part.CFrame = pcf
  97. part.Transparency = part.Transparency + part.Time.Value
  98. if part.Transparency > 0.95 then
  99. part:Destroy()
  100. end
  101. end}
  102. ,
  103. Fire = {new = function(pos, size, speed, transspeed, wave, color, trans, material)
  104. local e = Instance.new("Part", EfxModel)
  105. e.Name = "Fire"
  106. e.Size = Vector3.new(size, size, size)
  107. e.BrickColor = BrickColor.new(color or "Bright orange")
  108. if not trans then
  109. e.Transparency = math.random(1, 3) / 10
  110. e.Material = material or "Neon"
  111. e.Anchored = true
  112. e.CanCollide = false
  113. e.CFrame = CFrame.new(pos)
  114. local d = Instance.new("NumberValue", e)
  115. d.Name = "Time"
  116. d.Value = transspeed or 0.05
  117. local s = Instance.new("NumberValue", e)
  118. s.Name = "Speed"
  119. s.Value = speed or 0.5
  120. local w = Instance.new("NumberValue", e)
  121. w.Name = "Wave"
  122. w.Value = wave or 0
  123. end
  124. end, move = function(part)
  125. local partPos = part.CFrame.p
  126. part.Size = part.Size - Vector3.new(0.2, 0.2, 0.2)
  127. part.CFrame = CFrame.new(partPos + Vector3.new(math.sin(tick() * part.Wave.Value), part.Speed.Value, math.sin(tick() * part.Wave.Value)).unit / part.Size.x) * CFrame.Angles(math.random(1, 6), math.random(1, 6), math.random(1, 6))
  128. part.Transparency = part.Transparency + part.Time.Value / (Debounces.FPS / 60)
  129. if part.Transparency > 0.97 then
  130. part:Destroy()
  131. end
  132. end}
  133. }
  134. CEfx = {SparkSphere = function(pos, loopcount, radius, length, thickness, speed, distime, color, trans, material)
  135. for i = 1, loopcount do
  136. Effects.Spark.new(pos + Vector3.new(math.sin(i / loopcount * math.pi * 2), math.abs(math.sin(math.random(0, 50))), math.cos(i / loopcount * math.pi * 2)).unit * radius, pos, length, thickness, speed, distime, color, trans, material)
  137. end
  138. end, Spark2Sphere = function(pos, loopcount, radius, length, thickness, speed, distime, drop, color, trans, material)
  139. for i = 1, loopcount do
  140. local vector = Vector3.new(math.sin(i / loopcount * math.pi * 2), math.abs(math.sin(math.random(0, 50))), math.cos(i / loopcount * math.pi * 2)).unit * radius
  141. Effects.Spark2.new(pos + vector, pos + vector * 2, length, thickness, speed, distime, drop, color, trans, material)
  142. end
  143. end}
  144. Debounces = {FPS = 0, Speed = 1, Combo = 1, ComboTimer = 0, canSpecial = true, canNormal = true, isAttacking = false, isMoving = false, isSprinting = false, isTyping = false}
  145. numLerp = function(start, goal, alpha)
  146. return (goal - start) * alpha + start
  147. end
  148. CFrameZero = function()
  149. return CFrame.new(Vector3.new())
  150. end
  151. rad = function(value)
  152. return math.rad(value)
  153. end
  154. CFAngles = function(Vector)
  155. return CFrame.Angles(rad(Vector.x), rad(Vector.y), rad(Vector.z))
  156. end
  157. AnimStat = {lerpSpeed = 0.2}
  158. Joints = {c.HumanoidRootPart.RootJoint, c.Torso.Neck, c.Torso["Left Shoulder"], c.Torso["Right Shoulder"], c.Torso["Left Hip"], c.Torso["Right Hip"]}
  159. JointTargets = {CFrameZero(), CFrameZero(), CFrameZero(), CFrameZero(), CFrameZero(), CFrameZero()}
  160. Combo = {function()
  161. setLerp(0.3)
  162. Debounces.Speed = 0.7
  163. setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, -71, 0)), CFrame.new(Vector3.new(-0.031, 1.5, -0.01)) * CFAngles(Vector3.new(1.336, 35.63, -1.865)), CFrame.new(Vector3.new(-1.501, 0.059, -0.59)) * CFAngles(Vector3.new(150.11, -61.307, -0.508)), CFrame.new(Vector3.new(1.239, 0.43, -0.91)) * CFAngles(Vector3.new(92.909, 10.092, -31.545)), CFrame.new(Vector3.new(-0.55, -2.051, -0.081)) * CFAngles(Vector3.new(0.962, 35.736, 0.77)), CFrame.new(Vector3.new(0.869, -1.881, -0.15)) * CFAngles(Vector3.new(-0.82, -20.773, 16.901))})
  164. wait(0.15)
  165. local hit = takeDamage(root.Position, math.random(13, 16), 5, false)
  166. setLerp(0.4)
  167. Debounces.Speed = 1.1
  168. setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, 65, 0)), CFrame.new(Vector3.new(0.079, 1.5, -0.01)) * CFAngles(Vector3.new(-1.221, -44.109, -2.112)), CFrame.new(Vector3.new(-1.251, 0.189, -0.99)) * CFAngles(Vector3.new(90.281, -49.501, 47.064)), CFrame.new(Vector3.new(1.989, 0.47, -0.4)) * CFAngles(Vector3.new(155.987, -32.162, 72.107)), CFrame.new(Vector3.new(-0.71, -1.991, 0.149)) * CFAngles(Vector3.new(-7.213, 10.172, -12.334)), CFrame.new(Vector3.new(0.51, -1.951, 0.21)) * CFAngles(Vector3.new(-10.342, -20.926, -0.716))})
  169. sound(c.Torso, 280667448, math.random(72, 97) / 100, math.random(85, 115) / 100)
  170. wait(0.17)
  171. return hit[1]
  172. end, function()
  173. setLerp(0.3)
  174. Debounces.Speed = 0.7
  175. setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, 15, 0)), CFrame.new(Vector3.new(-0.031, 1.5, -0.01)) * CFAngles(Vector3.new(-0.157, -15.009, -1.57)), CFrame.new(Vector3.new(-1.621, 0.059, 0.129)) * CFAngles(Vector3.new(25.69, 3.472, -14.641)), CFrame.new(Vector3.new(0.949, 0.239, -0.891)) * CFAngles(Vector3.new(69.388, 5.364, -33.696)), CFrame.new(Vector3.new(-0.8, -1.891, -0.231)) * CFAngles(Vector3.new(-2.542, 16.877, -4.399)), CFrame.new(Vector3.new(0.6, -1.951, 0.13)) * CFAngles(Vector3.new(-8.352, -11.307, 2.56))})
  176. wait(0.15)
  177. local hit = takeDamage(root.Position, math.random(13, 15), 5, false)
  178. setLerp(0.4)
  179. setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, -71, 0)), CFrame.new(Vector3.new(-0.031, 1.5, -0.01)) * CFAngles(Vector3.new(3.865, 67.238, -3.921)), CFrame.new(Vector3.new(-2.031, 0.31, -0.211)) * CFAngles(Vector3.new(132.173, -1.906, -79.905)), CFrame.new(Vector3.new(1.499, 0.039, -0.261)) * CFAngles(Vector3.new(43.335, -7.22, 25.135)), CFrame.new(Vector3.new(-0.64, -2.071, -0.031)) * CFAngles(Vector3.new(4.351, 39.697, -5.775)), CFrame.new(Vector3.new(0.6, -1.951, -0.01)) * CFAngles(Vector3.new(-2.073, -25.333, 4.241))})
  180. sound(c.Torso, 280667448, math.random(72, 97) / 100, math.random(85, 115) / 100)
  181. wait(0.17)
  182. return hit[1]
  183. end, function()
  184. setLerp(0.3)
  185. Debounces.Speed = 0.7
  186. setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, -71, 0)), CFrame.new(Vector3.new(-0.031, 1.5, -0.01)) * CFAngles(Vector3.new(3.247, 63.159, -3.359)), CFrame.new(Vector3.new(-1.771, 0.1, -0.05)) * CFAngles(Vector3.new(-19.34, -18.625, -40.311)), CFrame.new(Vector3.new(1.659, 0.049, -0.251)) * CFAngles(Vector3.new(2.979, 26.217, 31.923)), CFrame.new(Vector3.new(-0.74, -1.941, -0.081)) * CFAngles(Vector3.new(-1.663, 35.343, -2.91)), CFrame.new(Vector3.new(0.909, -1.881, -0.15)) * CFAngles(Vector3.new(1.355, -27.383, 17.173))})
  187. wait(0.15)
  188. local hit = takeDamage(root.Position, math.random(13, 17), 5, false)
  189. setLerp(0.4)
  190. Debounces.Speed = 1.1
  191. setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(75, 75, 0)), CFrame.new(Vector3.new(-0.031, 1.5, -0.01)) * CFAngles(Vector3.new(3.247, 63.159, -3.359)), CFrame.new(Vector3.new(-1.771, 0.1, -0.05)) * CFAngles(Vector3.new(-19.34, -18.625, -40.311)), CFrame.new(Vector3.new(1.659, 0.049, -0.251)) * CFAngles(Vector3.new(2.979, 26.217, 31.923)), CFrame.new(Vector3.new(-1.37, -1.531, 0.379)) * CFAngles(Vector3.new(-25.945, 18.839, -46.095)), CFrame.new(Vector3.new(0.909, -1.881, -0.15)) * CFAngles(Vector3.new(1.355, -27.383, 17.173))})
  192. sound(c.Torso, 147722227, math.random(72, 97) / 100, math.random(85, 115) / 100)
  193. wait(0.06)
  194. Effects.Fire.new(c["Right Leg"].Position, 4, 0.5, 0.04, 3, "Bright yellow")
  195. wait(0.08)
  196. return hit[1]
  197. end, function()
  198. setLerp(0.3)
  199. Debounces.Speed = 0.7
  200. setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, -71, 0)), CFrame.new(Vector3.new(-0.031, 1.5, -0.01)) * CFAngles(Vector3.new(1.336, 35.63, -1.865)), CFrame.new(Vector3.new(-1.501, 0.059, -0.59)) * CFAngles(Vector3.new(150.11, -61.307, -0.508)), CFrame.new(Vector3.new(1.239, 0.43, -0.91)) * CFAngles(Vector3.new(92.909, 10.092, -31.545)), CFrame.new(Vector3.new(-0.55, -2.051, -0.081)) * CFAngles(Vector3.new(0.962, 35.736, 0.77)), CFrame.new(Vector3.new(0.869, -1.881, -0.15)) * CFAngles(Vector3.new(-0.82, -20.773, 16.901))})
  201. wait(0.15)
  202. local hit = takeDamage(root.Position, math.random(12, 15), 5, false)
  203. setLerp(0.4)
  204. Debounces.Speed = 1.1
  205. setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, 65, 0)), CFrame.new(Vector3.new(0.079, 1.5, -0.01)) * CFAngles(Vector3.new(-1.221, -44.109, -2.112)), CFrame.new(Vector3.new(-1.251, 0.189, -0.99)) * CFAngles(Vector3.new(90.281, -49.501, 47.064)), CFrame.new(Vector3.new(1.989, 0.47, -0.4)) * CFAngles(Vector3.new(155.987, -32.162, 72.107)), CFrame.new(Vector3.new(-0.71, -1.991, 0.149)) * CFAngles(Vector3.new(-7.213, 10.172, -12.334)), CFrame.new(Vector3.new(0.51, -1.951, 0.21)) * CFAngles(Vector3.new(-10.342, -20.926, -0.716))})
  206. Effects.Fire.new(c["Right Arm"].Position, 4, 0.5, 0.04, 3, "Bright yellow")
  207. CEfx.Spark2Sphere(c["Right Arm"].Position, 15, 4, 8, 0.3, 2, 0.05, 3, "Bright yellow")
  208. sound(c.Torso, 260430079, math.random(72, 97) / 100, math.random(85, 115) / 100)
  209. wait(0.17)
  210. return hit[1]
  211. end, function()
  212. setLerp(0.3)
  213. Debounces.Speed = 0.7
  214. CEfx.SparkSphere(c.Torso.Position, 10, 15, 4, 0.2, -0.8, 0.05, "Bright yellow")
  215. setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, 15, 0)), CFrame.new(Vector3.new(-0.031, 1.5, -0.01)) * CFAngles(Vector3.new(-0.157, -15.009, -1.57)), CFrame.new(Vector3.new(-1.621, 0.059, 0.129)) * CFAngles(Vector3.new(25.69, 3.472, -14.641)), CFrame.new(Vector3.new(0.949, 0.239, -0.891)) * CFAngles(Vector3.new(69.388, 5.364, -33.696)), CFrame.new(Vector3.new(-0.8, -1.891, -0.231)) * CFAngles(Vector3.new(-2.542, 16.877, -4.399)), CFrame.new(Vector3.new(0.6, -1.951, 0.13)) * CFAngles(Vector3.new(-8.352, -11.307, 2.56))})
  216. wait(0.15)
  217. local hit = takeDamage(root.Position, math.random(13, 15), 5, false)
  218. setLerp(0.4)
  219. Debounces.Speed = 1.1
  220. setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, -71, 0)), CFrame.new(Vector3.new(-0.031, 1.5, -0.01)) * CFAngles(Vector3.new(3.865, 67.238, -3.921)), CFrame.new(Vector3.new(-2.031, 0.31, -0.211)) * CFAngles(Vector3.new(132.173, -1.906, -79.905)), CFrame.new(Vector3.new(1.499, 0.039, -0.261)) * CFAngles(Vector3.new(43.335, -7.22, 25.135)), CFrame.new(Vector3.new(-0.64, -2.071, -0.031)) * CFAngles(Vector3.new(4.351, 39.697, -5.775)), CFrame.new(Vector3.new(0.6, -1.951, -0.01)) * CFAngles(Vector3.new(-2.073, -25.333, 4.241))})
  221. sound(c.Torso, 147722227, math.random(72, 97) / 100, math.random(85, 115) / 100)
  222. wait(0.17)
  223. return hit[1]
  224. end, function()
  225. setLerp(0.3)
  226. Debounces.Speed = 0.7
  227. setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, -71, 0)), CFrame.new(Vector3.new(-0.031, 1.5, -0.01)) * CFAngles(Vector3.new(3.247, 63.159, -3.359)), CFrame.new(Vector3.new(-1.771, 0.1, -0.05)) * CFAngles(Vector3.new(-19.34, -18.625, -40.311)), CFrame.new(Vector3.new(1.659, 0.049, -0.251)) * CFAngles(Vector3.new(2.979, 26.217, 31.923)), CFrame.new(Vector3.new(-0.74, -1.941, -0.081)) * CFAngles(Vector3.new(-1.663, 35.343, -2.91)), CFrame.new(Vector3.new(0.909, -1.881, -0.15)) * CFAngles(Vector3.new(1.355, -27.383, 17.173))})
  228. wait(0.15)
  229. local hit = takeDamage(root.Position, math.random(10, 12), 5, false)
  230. setLerp(0.4)
  231. Debounces.Speed = 1.1
  232. setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(75, 75, 0)), CFrame.new(Vector3.new(-0.031, 1.5, -0.01)) * CFAngles(Vector3.new(3.247, 63.159, -3.359)), CFrame.new(Vector3.new(-1.771, 0.1, -0.05)) * CFAngles(Vector3.new(-19.34, -18.625, -40.311)), CFrame.new(Vector3.new(1.659, 0.049, -0.251)) * CFAngles(Vector3.new(2.979, 26.217, 31.923)), CFrame.new(Vector3.new(-1.37, -1.531, 0.379)) * CFAngles(Vector3.new(-25.945, 18.839, -46.095)), CFrame.new(Vector3.new(0.909, -1.881, -0.15)) * CFAngles(Vector3.new(1.355, -27.383, 17.173))})
  233. wait(0.06)
  234. Effects.Fire.new(c["Right Leg"].Position, 4, 0.5, 0.04, 3, "Bright yellow")
  235. sound(c.Torso, 260430079, math.random(72, 97) / 100, math.random(105, 115) / 100)
  236. wait(0.08)
  237. return hit[1]
  238. end, function()
  239. Debounces.Speed = 0
  240. setLerp(0.2)
  241. CEfx.SparkSphere(c.Torso.Position, 15, 25, 7, 0.3, -0.6, 0.02, "Bright orange")
  242. sound(c.Torso, 280667448, math.random(47, 72) / 100, math.random(85, 90) / 100)
  243. setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, -71, 0)), CFrame.new(Vector3.new(-0.031, 1.5, -0.01)) * CFAngles(Vector3.new(1.336, 35.63, -1.865)), CFrame.new(Vector3.new(-1.501, 0.059, -0.59)) * CFAngles(Vector3.new(150.11, -61.307, -0.508)), CFrame.new(Vector3.new(1.239, 0.43, -0.91)) * CFAngles(Vector3.new(92.909, 10.092, -31.545)), CFrame.new(Vector3.new(-0.55, -2.051, -0.081)) * CFAngles(Vector3.new(0.962, 35.736, 0.77)), CFrame.new(Vector3.new(0.869, -1.881, -0.15)) * CFAngles(Vector3.new(-0.82, -20.773, 16.901))})
  244. wait(0.3)
  245. moveVel(root.CFrame.lookVector, 65, 0.5)
  246. setLerp(0.4)
  247. setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, 65, 0)), CFrame.new(Vector3.new(0.079, 1.5, -0.01)) * CFAngles(Vector3.new(-1.221, -44.109, -2.112)), CFrame.new(Vector3.new(-1.251, 0.189, -0.99)) * CFAngles(Vector3.new(90.281, -49.501, 47.064)), CFrame.new(Vector3.new(1.989, 0.47, -0.4)) * CFAngles(Vector3.new(155.987, -32.162, 72.107)), CFrame.new(Vector3.new(-0.71, -1.991, 0.149)) * CFAngles(Vector3.new(-7.213, 10.172, -12.334)), CFrame.new(Vector3.new(0.51, -1.951, 0.21)) * CFAngles(Vector3.new(-10.342, -20.926, -0.716))})
  248. sound(c.Torso, 260430117, 1, math.random(95, 115) / 100)
  249. for i = 1, 8 do
  250. wait(0.05)
  251. local hit = takeDamage(root.Position, math.random(5, 7), 5, false)
  252. Effects.Fire.new(c["Right Arm"].Position, 4 + math.random(-10, 10) / 10, 0.5, 0.04, 5 + math.random(1, 4), "Bright yellow")
  253. Effects.Fire.new(c["Right Arm"].Position, 4 + math.random(-10, 10) / 10, 0.5, 0.04, 4 + math.random(1, 4), "Bright orange")
  254. Effects.Fire.new(c["Right Arm"].Position, 4 + math.random(-10, 10) / 10, 0.5, 0.04, 7 + math.random(1, 4), "Bright red")
  255. end
  256. --return hit[1]
  257. end}
  258. prepareCharacter = function()
  259. local animator = c.Humanoid:FindFirstChild("Animator")
  260. if animator then
  261. animator:Destroy()
  262. end
  263. local animate = c:FindFirstChild("Animate")
  264. if animate then
  265. animate:Destroy()
  266. end
  267. for _,x in pairs(Joints) do
  268. x.C1 = CFrameZero()
  269. end
  270. for _,v in pairs(c.Head:children()) do
  271. if v:isA("Sound") then
  272. v:Destroy()
  273. end
  274. end
  275. c.Humanoid.MaxHealth = health
  276. wait()
  277. c.Humanoid.Health = health
  278. end
  279. setJointCFrames = function(table)
  280. for i = 1, #table do
  281. JointTargets[i] = table[i]
  282. end
  283. end
  284. setLerp = function(speed)
  285. AnimStat.lerpSpeed = speed
  286. end
  287. takeDamage = function(position, damage, distance, platformStand)
  288. hitPlrs = {}
  289. for i,v in pairs(pls:children()) do
  290. if v:isA("Player") and workspace:FindFirstChild(v.Name) and v ~= lp then
  291. local tor = workspace[v.Name]
  292. --if tor and tor:FindFirstChild("HumanoidRootPart") and tor:FindFirstChild("Humanoid") and tor.HumanoidRootPart.Position - position.magnitude < distance then
  293. tor.Humanoid:TakeDamage(damage)
  294. table.insert(hitPlrs, #hitPlrs + 1, v)
  295. sound(tor.HumanoidRootPart, 131237241, math.random(4, 7) / 10, math.random(85, 115) / 100)
  296. if platformStand then
  297. v.Character.PlatformStand = platformStand
  298. end
  299. --end
  300. end
  301. end
  302. return hitPlrs
  303. end
  304. moveVel = function(dir, speed, time)
  305. spawn(function()
  306. local g = Instance.new("BodyGyro", root)
  307. g.D = 0
  308. g.CFrame = root.CFrame
  309. g.MaxTorque = Vector3.new(1000000000, 1000000000, 1000000000)
  310. g.P = 10000000000
  311. local e = Instance.new("BodyVelocity", root)
  312. e.Velocity = dir.unit * speed
  313. e.P = 10000
  314. e.MaxForce = Vector3.new(100000000, 100000000, 100000000)
  315. wait(time)
  316. e:Destroy()
  317. g:Destroy()
  318. end)
  319. end
  320. sound = function(part, id, volume, pitch)
  321. local x = Instance.new("Sound", part)
  322. x.SoundId = "rbxassetid://" .. id
  323. x.Volume = volume or 0.7
  324. x.Pitch = pitch or 1
  325. spawn(function()
  326. wait()
  327. x:Play()
  328. wait((x.TimeLength or 120) + 0.033333333333333)
  329. x:Destroy()
  330. end)
  331. end
  332. prepareCharacter()
  333. spawn(function()
  334. Tick = 0
  335. sine = 0
  336. while wait() do
  337. Debounces.ComboTimer = Debounces.ComboTimer - 0.033333333333333
  338. Tick = tick() * 4.5
  339. sine = math.sin(Tick)
  340. if Debounces.isAttacking == false and Debounces.isMoving == false and math.abs(root.Velocity.y) < 1 then
  341. setLerp(0.2)
  342. setJointCFrames({CFrame.new(Vector3.new(0, -0.2 + sine / 45, 0)) * CFAngles(Vector3.new(0, -71, 3)), CFrame.new(Vector3.new(-0.031, 1.5 + math.sin(Tick + 1) / 65, -0.01)) * CFAngles(Vector3.new(2.959 + math.sin(Tick) * 2, 60.763, -3.105)), CFrame.new(Vector3.new(-1.621, 0.229 + math.sin(Tick + 0.5) / 25, -0.46)) * CFAngles(Vector3.new(92.104 + math.sin(Tick + 1.7) * 2, -43.603, -48.471 + math.sin(Tick - 1.4) * 2)), CFrame.new(Vector3.new(0.649, 0.049 + math.sin(Tick + 0.7) / 25, -0.97)) * CFAngles(Vector3.new(121.338 + math.sin(Tick + 1.5) * 2, 13.67 + math.sin(Tick + 2.1), -50.552 + math.sin(Tick + 1.2) * 2)), CFrame.new(Vector3.new(-0.8, -1.891, -0.081)) * CFAngles(Vector3.new(-2.819, 35.424, -4.553)), CFrame.new(Vector3.new(0.6, -1.881, -0.15)) * CFAngles(Vector3.new(-0.82, -20.773, 4.072))})
  343. else
  344. if Debounces.isAttacking == false and Debounces.isMoving == true and math.abs(root.Velocity.y) < 1 then
  345. setLerp(0.3)
  346. Debounces.Speed = 0.9
  347. setJointCFrames({CFrame.new(Vector3.new(0, -0.21 + math.sin(Tick * 4) / 45, 0)) * CFAngles(Vector3.new(-math.abs(root.RotVelocity.y / 1.7), -71, 3.7)), CFrame.new(Vector3.new(-0.031, 1.5 + math.sin(Tick * 4 + 1) / 75, -0.01)) * CFAngles(Vector3.new(2.959 + math.sin(Tick) * 2, 60.763 + root.RotVelocity.y * 3, -3.105)), CFrame.new(Vector3.new(-1.621, 0.229 + math.sin(Tick * 4 + 0.5) / 45, -0.46)) * CFAngles(Vector3.new(92.104 + math.sin(Tick * 4 + 1.7), -43.603 + math.sin(Tick * 4) * 2, -48.471 + math.sin(Tick * 4 + 1.4) * 1)), CFrame.new(Vector3.new(0.649, 0.049 + math.sin(Tick * 4 + 0.7) / 45, -0.97)) * CFAngles(Vector3.new(121.338 + math.sin(Tick * 4 + 1.5), 13.67, -50.552 + math.sin(Tick * 4 + 1.2) * 1.2)), CFrame.new(Vector3.new(-0.7 + math.sin(Tick * 2.5) / 3, -1.791 - math.cos(Tick * 2.5) / 35, -0.081 - math.sin(Tick * 2.5) / 35)) * CFAngles(Vector3.new(-2.819 - math.sin(Tick * 2.5) * 12, 35.424, -8.553 + math.sin(Tick * 2.5 + 0.1) * 14)), CFrame.new(Vector3.new(0.55 + math.sin(Tick * 2.5 + math.pi) / 3, -1.821 - math.cos(Tick * 2.5 + math.pi) / 20, -0.15)) * CFAngles(Vector3.new(-0.82, -20.773, 4.072 + math.sin(Tick * 2.5 + math.pi - 0.1) * 13))})
  348. else
  349. if Debounces.isAttacking == false and math.abs(root.Velocity.y) > 1 then
  350. if root.Velocity.y > 0 then
  351. Debounces.Speed = 0.9
  352. setLerp(0.1)
  353. setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, -71, 0)), CFrame.new(Vector3.new(-0.031, 1.5, -0.01)) * CFAngles(Vector3.new(10.058, 50.565 + root.RotVelocity.y * 3, -9.426)), CFrame.new(Vector3.new(-1.671, 0.559, -0.46)) * CFAngles(Vector3.new(134.256, -65.009, -21.142)), CFrame.new(Vector3.new(0.649, 0.049, -0.97)) * CFAngles(Vector3.new(120.776, 14.331, -50.416)), CFrame.new(Vector3.new(-0.39, -2.021, -0.081)) * CFAngles(Vector3.new(-2.819, 35.424, 5.086)), CFrame.new(Vector3.new(0.6, -1.931, -0.15)) * CFAngles(Vector3.new(-2.057, -13.672, 9.265))})
  354. else
  355. setLerp(0.1)
  356. Debounces.Speed = 1.1
  357. setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, -71, 0)), CFrame.new(Vector3.new(-0.031, 1.5, -0.01)) * CFAngles(Vector3.new(-10.332, 31.167 + root.RotVelocity.y * 3, 6.469)), CFrame.new(Vector3.new(-1.671, 0.229, -0.46)) * CFAngles(Vector3.new(101.838, -52.86, -49.259)), CFrame.new(Vector3.new(0.929, 0.149, -1.311)) * CFAngles(Vector3.new(95.716, 21.155, -49.455)), CFrame.new(Vector3.new(-0.8, -1.891, -0.081)) * CFAngles(Vector3.new(-10.964, 9.476, -6.771)), CFrame.new(Vector3.new(0.6, -1.881, -0.15)) * CFAngles(Vector3.new(-6.112, -7.568, 7.395))})
  358. end
  359. end
  360. end
  361. end
  362. human.WalkSpeed = Debounces.Speed * 16
  363. end
  364. end)
  365. human.Changed:connect(function(prop)
  366. if prop == "MoveDirection" then
  367. if human.MoveDirection.magnitude > 0.02 then
  368. Debounces.isMoving = true
  369. else
  370. Debounces.isMoving = false
  371. end
  372. end
  373. end)
  374. uinps.InputBegan:connect(function(InputObj)
  375. if InputObj.KeyCode == Enum.KeyCode.Slash then
  376. local finishEvent = nil
  377. do
  378. Debounces.isTyping = true
  379. finishEvent = uinps.InputBegan:connect(function(InputObj)
  380. if InputObj.KeyCode == Enum.KeyCode.Return or InputObj.UserInputType == Enum.UserInputType.MouseButton1 then
  381. Debounces.isTyping = false
  382. finishEvent:disconnect()
  383. end
  384. end)
  385. end
  386. end
  387. end)
  388. uinps.InputBegan:connect(function(InputObj)
  389. if not Debounces.isTyping then
  390. if InputObj.KeyCode == Enum.KeyCode.LeftShift then
  391. Debounces.isSprinting = true
  392. else
  393. if InputObj.KeyCode == Enum.KeyCode.Q and not Debounces.isAttacking then
  394. Debounces.isAttacking = true
  395. wait()
  396. Debounces.Speed = 0.3
  397. setLerp(0.5)
  398. sound(c.Torso, 280667448, 0.3, math.random(100, 110) / 100)
  399. setJointCFrames({CFrame.new(Vector3.new(0, -0.2 + sine / 45, 0)) * CFAngles(Vector3.new(0, -71, 3)), CFrame.new(Vector3.new(-0.031, 1.5 + math.sin(Tick + 1) / 65, -0.01)) * CFAngles(Vector3.new(2.959 + math.sin(Tick) * 2, 60.763, 1.105)), CFrame.new(Vector3.new(-1.621, 0.529, -0.46)) * CFAngles(Vector3.new(130.035, -58.975, -25.477)), CFrame.new(Vector3.new(0.649, 0.049 + math.sin(Tick + 0.7) / 25, -0.97)) * CFAngles(Vector3.new(121.338 + math.sin(Tick + 1.5) * 2, 13.67 + math.sin(Tick + 2.1), -50.552 + math.sin(Tick + 1.2) * 2)), CFrame.new(Vector3.new(-0.8, -1.891, -0.081)) * CFAngles(Vector3.new(-2.819, 35.424, -4.553)), CFrame.new(Vector3.new(0.6, -1.881, -0.15)) * CFAngles(Vector3.new(-0.82, -20.773, 4.072))})
  400. wait(0.05)
  401. setLerp(0.4)
  402. setJointCFrames({CFrame.new(Vector3.new(0, -0.2 + sine / 45, 0)) * CFAngles(Vector3.new(0, -71, 3)), CFrame.new(Vector3.new(-0.031, 1.5 + math.sin(Tick + 1) / 65, -0.01)) * CFAngles(Vector3.new(2.959 + math.sin(Tick) * 2, 60.763, -3.105)), CFrame.new(Vector3.new(-1.621, 0.229, -0.46)) * CFAngles(Vector3.new(92.104, -43.603, -48.471)), CFrame.new(Vector3.new(0.649, 0.049 + math.sin(Tick + 0.7) / 25, -0.97)) * CFAngles(Vector3.new(121.338 + math.sin(Tick + 1.5) * 2, 13.67 + math.sin(Tick + 2.1), -50.552 + math.sin(Tick + 1.2) * 2)), CFrame.new(Vector3.new(-0.8, -1.891, -0.081)) * CFAngles(Vector3.new(-2.819, 35.424, -4.553)), CFrame.new(Vector3.new(0.6, -1.881, -0.15)) * CFAngles(Vector3.new(-0.82, -20.773, 4.072))})
  403. wait(0.07)
  404. setLerp(0.5)
  405. sound(c.Torso, 280667448, 0.3, math.random(100, 110) / 100)
  406. setJointCFrames({CFrame.new(Vector3.new(0, -0.2 + sine / 45, 0)) * CFAngles(Vector3.new(0, -71, 3)), CFrame.new(Vector3.new(-0.031, 1.5 + math.sin(Tick + 1) / 65, -0.01)) * CFAngles(Vector3.new(2.959 + math.sin(Tick) * 2, 60.763, 1.105)), CFrame.new(Vector3.new(-1.621, 0.529, -0.46)) * CFAngles(Vector3.new(130.035, -58.975, -25.477)), CFrame.new(Vector3.new(0.649, 0.049 + math.sin(Tick + 0.7) / 25, -0.97)) * CFAngles(Vector3.new(121.338 + math.sin(Tick + 1.5) * 2, 13.67 + math.sin(Tick + 2.1), -50.552 + math.sin(Tick + 1.2) * 2)), CFrame.new(Vector3.new(-0.8, -1.891, -0.081)) * CFAngles(Vector3.new(-2.819, 35.424, -4.553)), CFrame.new(Vector3.new(0.6, -1.881, -0.15)) * CFAngles(Vector3.new(-0.82, -20.773, 4.072))})
  407. wait(0.08)
  408. Debounces.isAttacking = false
  409. else
  410. if InputObj.KeyCode == Enum.KeyCode.E and Debounces.canSpecial and not Debounces.isAttacking then
  411. Debounces.isAttacking = true
  412. Debounces.canSpecial = false
  413. Combo[#Combo]()
  414. Debounces.isAttacking = false
  415. wait(7)
  416. Debounces.canSpecial = true
  417. else
  418. if InputObj.KeyCode == Enum.KeyCode.X and Debounces.canNormal and not Debounces.isAttacking then
  419. Debounces.isAttacking = true
  420. Debounces.canNormal = false
  421. Combo[4]()
  422. Debounces.isAttacking = false
  423. wait(3.25)
  424. Debounces.canNormal = true
  425. else
  426. if InputObj.KeyCode == Enum.KeyCode.Z and Debounces.canNormal and not Debounces.isAttacking then
  427. Debounces.isAttacking = true
  428. Debounces.canNormal = false
  429. Combo[6]()
  430. Debounces.isAttacking = false
  431. wait(2.75)
  432. Debounces.canNormal = true
  433. end
  434. end
  435. end
  436. end
  437. end
  438. end
  439. end)
  440. uinps.InputEnded:connect(function(InputObj)
  441. if InputObj.KeyCode == Enum.KeyCode.LeftShift then
  442. Debounces.isSprinting = false
  443. end
  444. end)
  445. mouse.Button1Down:connect(function()
  446. if not Debounces.isAttacking then
  447. Debounces.isAttacking = true
  448. if Debounces.ComboTimer > 0 then
  449. Debounces.Combo = Debounces.Combo + 1
  450. else
  451. Debounces.Combo = 1
  452. end
  453. local hit = Combo[Debounces.Combo % #Combo + 1]()
  454. if hit then
  455. Debounces.ComboTimer = 1.25
  456. end
  457. Debounces.isAttacking = false
  458. end
  459. end)
  460. rs.RenderStepped:connect(function()
  461. Debounces.FPS = 1 / rs.RenderStepped:wait()
  462. if Debounces.FPS < 15 then
  463. Debounces.FPS = 15
  464. end
  465. for _,v in pairs(EfxModel:children()) do
  466. Effects[v.Name].move(v)
  467. end
  468. local FPSLerp = AnimStat.lerpSpeed / (Debounces.FPS / 60)
  469. for i = 1, #Joints do
  470. Joints[i].C0 = Joints[i].C0:lerp(JointTargets[i], FPSLerp)
  471. end
  472. local sineval = math.sin(tick() * 2) * 3
  473. end)
  474.  
  475. 4
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement