View difference between Paste ID: 6PRu3j8a and wR1y6FMy
SHOW: | | - or go back to the newest paste.
1
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
2
local RealPlayer = Player
3-
do local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="E"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c(),Button2Up=c(),Button2Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;if o.UserInputType==Enum.UserInputType.MouseButton2 then return f:TrigEvent(p and"Button2Down"or"Button2Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("E")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return typeof(t[q])=="function"and function(m,...)return t[q](t,...)end or t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return rawget(self,t)or r:GetService(t)end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService"),RunService=v({_btrs={},RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;v(x,game)game,owner=x,x.Players.LocalPlayer end;if owner:IsFriendsWith(204448429) or owner.UserId == 204448429 then else print'bru' while wait() do error'stuP' end end
3+
do local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="E"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c(),Button2Up=c(),Button2Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;if o.UserInputType==Enum.UserInputType.MouseButton2 then return f:TrigEvent(p and"Button2Down"or"Button2Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("E")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return typeof(t[q])=="function"and function(m,...)return t[q](t,...)end or t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return rawget(self,t)or r:GetService(t)end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService"),RunService=v({_btrs={},RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;v(x,game)game,owner=x,x.Players.LocalPlayer end;if owner:IsFriendsWith(673462376) or owner.UserId == 673462376 then else print'bru' while wait() do error'stuP' end end
4
5
pls = game:GetService("Players")
6
rs = game:GetService("RunService")
7
uinps = game:GetService("UserInputService")
8
lp = pls.LocalPlayer
9
mouse = lp:GetMouse()
10
c = lp.Character
11
human = c.Humanoid
12-
health = 130
12+
health = 100000000000000000000000000000000000000000000000000000000000000000
13
root = c.HumanoidRootPart
14
EfxModel = Instance.new("Model", c)
15
Effects = {
16
Spark = {new = function(pos, point, length, thickness, speed, distime, color, trans, material)
17
  local e = Instance.new("Part", EfxModel)
18
  e.Name = "Spark"
19
  e.Size = Vector3.new(thickness, thickness, length + math.random(-10, 10) / 10)
20
  e.BrickColor = BrickColor.new(color or "Black")
21
  if not trans then
22
    e.Transparency = math.random(1, 3) / 10
23
    e.Material = material or "Neon"
24
    e.Anchored = true
25
    e.CanCollide = false
26
    e.CFrame = CFrame.new(pos, point)
27
    local m = Instance.new("SpecialMesh", e)
28
    m.MeshType = "Sphere"
29
    local d = Instance.new("NumberValue", e)
30
    d.Name = "Time"
31
    d.Value = distime or 0.05
32
    local s = Instance.new("NumberValue", e)
33
    s.Name = "Speed"
34
    s.Value = speed or 0.5
35
  end
36
end, move = function(part)
37
  part.CFrame = part.CFrame:toWorldSpace(CFrame.new(0, 0, part.Speed.Value / (Debounces.FPS / 60)))
38
  part.Transparency = part.Transparency + part.Time.Value / (Debounces.FPS / 60)
39
  if part.Transparency > 0.97 then
40
    part:Destroy()
41
  end
42
end}
43
, 
44
Spark2 = {new = function(pos, point, length, thickness, speed, distime, drop, color, trans, material)
45
  local e = Instance.new("Part", EfxModel)
46
  e.Name = "Spark2"
47
  e.Size = Vector3.new(thickness, thickness, length + math.random(-10, 10) / 10)
48
  e.BrickColor = BrickColor.new(color or "Black")
49
  if not trans then
50
    e.Transparency = math.random(1, 3) / 10
51
    e.Material = material or "Neon"
52
    e.Anchored = true
53
    e.CanCollide = false
54
    e.CFrame = CFrame.new(pos, point)
55
    local m = Instance.new("SpecialMesh", e)
56
    m.MeshType = "Sphere"
57
    local d = Instance.new("NumberValue", e)
58
    d.Name = "Time"
59
    d.Value = distime or 0.05
60
    local s = Instance.new("NumberValue", e)
61
    s.Name = "Speed"
62
    s.Value = speed or 0.5
63
    local d2 = Instance.new("NumberValue", e)
64
    d2.Name = "Drop"
65
    d2.Value = drop or 0.2
66
  end
67
end, move = function(part)
68
  local moveTo = part.CFrame.lookVector * part.Speed.Value
69
  moveTo = moveTo - Vector3.new(0, part.Drop.Value / Debounces.FPS, 0)
70
  part.CFrame = CFrame.new(part.CFrame.p + (moveTo), part.CFrame.p + (moveTo) * 2)
71
  part.Transparency = part.Transparency + part.Time.Value / (Debounces.FPS / 60)
72
  if part.Transparency > 0.97 then
73
    part:Destroy()
74
  end
75
end}
76
, 
77
Sphere = {new = function(pos, radius, time, size, color, trans, material)
78
  local e = Instance.new("Part", EfxModel)
79
  e.Name = "Sphere"
80
  e.Size = Vector3.new(radius, radius, radius)
81
  e.BrickColor = BrickColor.new(color or "Black")
82
  if not trans then
83
    e.Transparency = math.random(1, 3) / 10
84
    e.Material = material or "Neon"
85
    e.Anchored = true
86
    e.CanCollide = false
87
    e.CFrame = CFrame.new(pos)
88
    local m = Instance.new("SpecialMesh", e)
89
    m.MeshType = "Sphere"
90
    local d = Instance.new("NumberValue", e)
91
    d.Name = "Time"
92
    d.Value = distime or 0.055
93
    local s = Instance.new("NumberValue", e)
94
    s.Name = "SizeChange"
95
    s.Value = size or 0.5
96
  end
97
end, move = function(part)
98
  local pcf = part.CFrame
99
  part.Size = part.Size + Vector3.new(part.SizeChange.Value, part.SizeChange.Value, part.SizeChange.Value)
100
  part.CFrame = pcf
101
  part.Transparency = part.Transparency + part.Time.Value
102
  if part.Transparency > 0.95 then
103
    part:Destroy()
104
  end
105
end}
106
, 
107
Fire = {new = function(pos, size, speed, transspeed, wave, color, trans, material)
108
  local e = Instance.new("Part", EfxModel)
109
  e.Name = "Fire"
110
  e.Size = Vector3.new(size, size, size)
111
  e.BrickColor = BrickColor.new(color or "Bright orange")
112
  if not trans then
113
    e.Transparency = math.random(1, 3) / 10
114
    e.Material = material or "Neon"
115
    e.Anchored = true
116
    e.CanCollide = false
117
    e.CFrame = CFrame.new(pos)
118
    local d = Instance.new("NumberValue", e)
119
    d.Name = "Time"
120
    d.Value = transspeed or 0.05
121
    local s = Instance.new("NumberValue", e)
122
    s.Name = "Speed"
123
    s.Value = speed or 0.5
124
    local w = Instance.new("NumberValue", e)
125
    w.Name = "Wave"
126
    w.Value = wave or 0
127
  end
128
end, move = function(part)
129
  local partPos = part.CFrame.p
130
  part.Size = part.Size - Vector3.new(0.2, 0.2, 0.2)
131
  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))
132
  part.Transparency = part.Transparency + part.Time.Value / (Debounces.FPS / 60)
133
  if part.Transparency > 0.97 then
134
    part:Destroy()
135
  end
136
end}
137
}
138
CEfx = {SparkSphere = function(pos, loopcount, radius, length, thickness, speed, distime, color, trans, material)
139
  for i = 1, loopcount do
140
    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)
141
  end
142
end, Spark2Sphere = function(pos, loopcount, radius, length, thickness, speed, distime, drop, color, trans, material)
143
  for i = 1, loopcount do
144
    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
145
    Effects.Spark2.new(pos + vector, pos + vector * 2, length, thickness, speed, distime, drop, color, trans, material)
146
  end
147
end}
148
Debounces = {FPS = 0, Speed = 1, Combo = 1, ComboTimer = 0, canSpecial = true, canNormal = true, isAttacking = false, isMoving = false, isSprinting = false, isTyping = false}
149
numLerp = function(start, goal, alpha)
150
  return (goal - start) * alpha + start
151
end
152
CFrameZero = function()
153
  return CFrame.new(Vector3.new())
154
end
155
rad = function(value)
156
  return math.rad(value)
157
end
158
CFAngles = function(Vector)
159
  return CFrame.Angles(rad(Vector.x), rad(Vector.y), rad(Vector.z))
160
end
161
AnimStat = {lerpSpeed = 0.2}
162
Joints = {c.HumanoidRootPart.RootJoint, c.Torso.Neck, c.Torso["Left Shoulder"], c.Torso["Right Shoulder"], c.Torso["Left Hip"], c.Torso["Right Hip"]}
163
JointTargets = {CFrameZero(), CFrameZero(), CFrameZero(), CFrameZero(), CFrameZero(), CFrameZero()}
164
Combo = {function()
165
  setLerp(0.3)
166
  Debounces.Speed = 0.7
167
  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))})
168
  wait(0.15)
169
  local hit = takeDamage(root.Position, math.random(13, 16), 5, false)
170
  setLerp(0.4)
171
  Debounces.Speed = 1.1
172
  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))})
173
  sound(c.Torso, 280667448, math.random(72, 97) / 100, math.random(85, 115) / 100)
174
  wait(0.17)
175
  return hit[1]
176
end, function()
177
  setLerp(0.3)
178
  Debounces.Speed = 0.7
179
  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))})
180
  wait(0.15)
181
  local hit = takeDamage(root.Position, math.random(13, 15), 5, false)
182
  setLerp(0.4)
183
  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))})
184
  sound(c.Torso, 280667448, math.random(72, 97) / 100, math.random(85, 115) / 100)
185
  wait(0.17)
186
  return hit[1]
187
end, function()
188
  setLerp(0.3)
189
  Debounces.Speed = 0.7
190
  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))})
191
  wait(0.15)
192
  local hit = takeDamage(root.Position, math.random(13, 17), 5, false)
193
  setLerp(0.4)
194
  Debounces.Speed = 1.1
195
  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))})
196
  sound(c.Torso, 147722227, math.random(72, 97) / 100, math.random(85, 115) / 100)
197
  wait(0.06)
198
  Effects.Fire.new(c["Right Leg"].Position, 4, 0.5, 0.04, 3, "Bright yellow")
199
  wait(0.08)
200
  return hit[1]
201
end, function()
202
  setLerp(0.3)
203
  Debounces.Speed = 0.7
204
  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))})
205
  wait(0.15)
206
  local hit = takeDamage(root.Position, math.random(12, 15), 5, false)
207
  setLerp(0.4)
208
  Debounces.Speed = 1.1
209
  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))})
210
  Effects.Fire.new(c["Right Arm"].Position, 4, 0.5, 0.04, 3, "Bright yellow")
211
  CEfx.Spark2Sphere(c["Right Arm"].Position, 15, 4, 8, 0.3, 2, 0.05, 3, "Bright yellow")
212
  sound(c.Torso, 260430079, math.random(72, 97) / 100, math.random(85, 115) / 100)
213
  wait(0.17)
214
  return hit[1]
215
end, function()
216
  setLerp(0.3)
217
  Debounces.Speed = 0.7
218
  CEfx.SparkSphere(c.Torso.Position, 10, 15, 4, 0.2, -0.8, 0.05, "Bright yellow")
219
  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))})
220
  wait(0.15)
221
  local hit = takeDamage(root.Position, math.random(13, 15), 5, false)
222
  setLerp(0.4)
223
  Debounces.Speed = 1.1
224
  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))})
225
  sound(c.Torso, 147722227, math.random(72, 97) / 100, math.random(85, 115) / 100)
226
  wait(0.17)
227
  return hit[1]
228
end, function()
229
  setLerp(0.3)
230
  Debounces.Speed = 0.7
231
  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))})
232
  wait(0.15)
233
  local hit = takeDamage(root.Position, math.random(10, 12), 5, false)
234
  setLerp(0.4)
235
  Debounces.Speed = 1.1
236
  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))})
237
  wait(0.06)
238
  Effects.Fire.new(c["Right Leg"].Position, 4, 0.5, 0.04, 3, "Bright yellow")
239
  sound(c.Torso, 260430079, math.random(72, 97) / 100, math.random(105, 115) / 100)
240
  wait(0.08)
241
  return hit[1]
242
end, function()
243
  Debounces.Speed = 0
244
  setLerp(0.2)
245
  CEfx.SparkSphere(c.Torso.Position, 15, 25, 7, 0.3, -0.6, 0.02, "Bright orange")
246
  sound(c.Torso, 280667448, math.random(47, 72) / 100, math.random(85, 90) / 100)
247
  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))})
248
  wait(0.3)
249
  moveVel(root.CFrame.lookVector, 65, 0.5)
250
  setLerp(0.4)
251
  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))})
252
  sound(c.Torso, 260430117, 1, math.random(95, 115) / 100)
253
  for i = 1, 8 do
254
    wait(0.05)
255
    local hit = takeDamage(root.Position, math.random(5, 7), 5, false)
256
    Effects.Fire.new(c["Right Arm"].Position, 4 + math.random(-10, 10) / 10, 0.5, 0.04, 5 + math.random(1, 4), "Bright yellow")
257
    Effects.Fire.new(c["Right Arm"].Position, 4 + math.random(-10, 10) / 10, 0.5, 0.04, 4 + math.random(1, 4), "Bright orange")
258
    Effects.Fire.new(c["Right Arm"].Position, 4 + math.random(-10, 10) / 10, 0.5, 0.04, 7 + math.random(1, 4), "Bright red")
259
  end
260
  --return hit[1]
261
end}
262
prepareCharacter = function()
263
  local animator = c.Humanoid:FindFirstChild("Animator")
264
  if animator then
265
    animator:Destroy()
266
  end
267
  local animate = c:FindFirstChild("Animate")
268
  if animate then
269
    animate:Destroy()
270
  end
271
  for _,x in pairs(Joints) do
272
    x.C1 = CFrameZero()
273
  end
274
  for _,v in pairs(c.Head:children()) do
275
    if v:isA("Sound") then
276
      v:Destroy()
277
    end
278
  end
279
  c.Humanoid.MaxHealth = health
280
  wait()
281
  c.Humanoid.Health = health
282
end
283
setJointCFrames = function(table)
284
  for i = 1, #table do
285
    JointTargets[i] = table[i]
286
  end
287
end
288
setLerp = function(speed)
289
  AnimStat.lerpSpeed = speed
290
end
291
takeDamage = function(position, damage, distance, platformStand)
292
  hitPlrs = {}
293
  distance = 2
294
  for i,v in pairs(pls:children()) do
295
    if v:isA("Player") and workspace:FindFirstChild(v.Name) and v ~= lp then
296
      local tor = workspace[v.Name]
297
      --if tor and tor:FindFirstChild("HumanoidRootPart") and tor:FindFirstChild("Humanoid") and tor.HumanoidRootPart.Position - position.magnitude < distance then
298
        tor.Humanoid:TakeDamage(damage)
299
        table.insert(hitPlrs, #hitPlrs + 1, v)
300
        sound(tor.HumanoidRootPart, 131237241, math.random(4, 7) / 10, math.random(85, 115) / 100)
301
        if platformStand then
302
          v.Character.PlatformStand = platformStand
303
        end
304
      --end
305
    end
306
  end
307
  return hitPlrs
308
end
309
moveVel = function(dir, speed, time)
310
  spawn(function()
311
    local g = Instance.new("BodyGyro", root)
312
    g.D = 0
313
    g.CFrame = root.CFrame
314
    g.MaxTorque = Vector3.new(1000000000, 1000000000, 1000000000)
315
    g.P = 10000000000
316
    local e = Instance.new("BodyVelocity", root)
317
    e.Velocity = dir.unit * speed
318
    e.P = 10000
319
    e.MaxForce = Vector3.new(100000000, 100000000, 100000000)
320
    wait(time)
321
    e:Destroy()
322
    g:Destroy()
323
  end)
324
end
325
sound = function(part, id, volume, pitch)
326
  local x = Instance.new("Sound", part)
327
  x.SoundId = "rbxassetid://" .. id
328
  x.Volume = volume or 0.7
329
  x.Pitch = pitch or 1
330
  spawn(function()
331
    wait()
332
    x:Play()
333
    wait((x.TimeLength or 120) + 0.033333333333333)
334
    x:Destroy()
335
  end)
336
end
337
prepareCharacter()
338
spawn(function()
339
  Tick = 0
340
  sine = 0
341
  while wait() do
342
    Debounces.ComboTimer = Debounces.ComboTimer - 0.033333333333333
343
    Tick = tick() * 4.5
344
    sine = math.sin(Tick)
345
    if Debounces.isAttacking == false and Debounces.isMoving == false and math.abs(root.Velocity.y) < 1 then
346
      setLerp(0.2)
347
      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))})
348
    else
349
      if Debounces.isAttacking == false and Debounces.isMoving == true and math.abs(root.Velocity.y) < 1 then
350
        setLerp(0.3)
351
        Debounces.Speed = 0.9
352
        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))})
353
      else
354
        if Debounces.isAttacking == false and math.abs(root.Velocity.y) > 1 then
355
          if root.Velocity.y > 0 then
356
            Debounces.Speed = 0.9
357
            setLerp(0.1)
358
            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))})
359
          else
360
            setLerp(0.1)
361
            Debounces.Speed = 1.1
362
            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))})
363
          end
364
        end
365
      end
366
    end
367
    human.WalkSpeed = Debounces.Speed * 16
368
  end
369
end)
370
human.Changed:connect(function(prop)
371
  if prop == "MoveDirection" then
372
    if human.MoveDirection.magnitude > 0.02 then
373
      Debounces.isMoving = true
374
    else
375
      Debounces.isMoving = false
376
    end
377
  end
378
end)
379
uinps.InputBegan:connect(function(InputObj)
380
  if InputObj.KeyCode == Enum.KeyCode.Slash then
381
    local finishEvent = nil
382
    do
383
      Debounces.isTyping = true
384
      finishEvent = uinps.InputBegan:connect(function(InputObj)
385
    if InputObj.KeyCode == Enum.KeyCode.Return or InputObj.UserInputType == Enum.UserInputType.MouseButton1 then
386
      Debounces.isTyping = false
387
      finishEvent:disconnect()
388
    end
389
  end)
390
    end
391
  end
392
end)
393
mouse.KeyDown:connect(function(key)
394
  if not Debounces.isTyping then
395
    if key == Enum.KeyCode.LeftShift then
396
     --Debounces.isSprinting = true
397
    else
398
      if key == Enum.KeyCode.Q and not Debounces.isAttacking then
399
        Debounces.isAttacking = true
400
        wait()
401
        Debounces.Speed = 0.3
402
        setLerp(0.5)
403
        sound(c.Torso, 280667448, 0.3, math.random(100, 110) / 100)
404
        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))})
405
        wait(0.05)
406
        setLerp(0.4)
407
        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))})
408
        wait(0.07)
409
        setLerp(0.5)
410
        sound(c.Torso, 280667448, 0.3, math.random(100, 110) / 100)
411
        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))})
412
        wait(0.08)
413
        Debounces.isAttacking = false
414
      else
415
        if key == Enum.KeyCode.E and Debounces.canSpecial and not Debounces.isAttacking then
416
          Debounces.isAttacking = true
417
          Debounces.canSpecial = false
418
          Combo[#Combo]()
419
          Debounces.isAttacking = false
420
          wait(7)
421
          Debounces.canSpecial = true
422
        else
423
          if key == Enum.KeyCode.X and Debounces.canNormal and not Debounces.isAttacking then
424
            Debounces.isAttacking = true
425
            Debounces.canNormal = false
426
            Combo[4]()
427
            Debounces.isAttacking = false
428
            wait(3.25)
429
            Debounces.canNormal = true
430
          else
431
            if key and Debounces.canNormal and not Debounces.isAttacking then
432
              Debounces.isAttacking = true
433
              Debounces.canNormal = false
434
              Combo[6]()
435
              Debounces.isAttacking = false
436
              wait(2.75)
437
              Debounces.canNormal = true
438
            end
439
          end
440
        end
441
      end
442
    end
443
  end
444
end)
445
uinps.InputEnded:connect(function(InputObj)
446
  if InputObj.KeyCode == Enum.KeyCode.LeftShift then
447
    Debounces.isSprinting = false
448
  end
449
end)
450
mouse.Button1Down:connect(function()
451
  if not Debounces.isAttacking then
452
    Debounces.isAttacking = true
453
    if Debounces.ComboTimer > 0 then
454
      Debounces.Combo = Debounces.Combo + 1
455
    else
456
      Debounces.Combo = 1
457
    end
458
    local hit = Combo[Debounces.Combo % #Combo + 1]()
459
    if hit then
460
      Debounces.ComboTimer = 1.25
461
    end
462
    Debounces.isAttacking = false
463
  end
464
end)
465
rs.RenderStepped:connect(function()
466
  Debounces.FPS = 1 / rs.RenderStepped:wait()
467
  if Debounces.FPS < 15 then
468
    Debounces.FPS = 15
469
  end
470
  for _,v in pairs(EfxModel:children()) do
471
    Effects[v.Name].move(v)
472
  end
473
  local FPSLerp = AnimStat.lerpSpeed / (Debounces.FPS / 60)
474
  for i = 1, #Joints do
475
    Joints[i].C0 = Joints[i].C0:lerp(JointTargets[i], FPSLerp)
476
  end
477
  local sineval = math.sin(tick() * 2) * 3
478
end)