Advertisement
213412341

Untitled

Jan 18th, 2017
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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 "Purple")
  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 "Purple")
  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)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement