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) |