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(673462376) or owner.UserId == 673462376 | |
4 | - | 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 |
4 | + | then else print'bru' while wait() do error'stuP' end end |
5 | ||
6 | plr = owner | |
7 | char = plr.Character | |
8 | ra = char["Right Arm"] | |
9 | la = char["Left Arm"] | |
10 | hed = char.Head | |
11 | root = char.HumanoidRootPart | |
12 | hum = char.Humanoid | |
13 | dancin = false | |
14 | ||
15 | clerp = function(toclerp, cf, number) | |
16 | local joint = toclerp | |
17 | joint.C0 = joint.C0:Lerp(cf, number) | |
18 | end | |
19 | ||
20 | clerp2 = function(toclerp, cf) | |
21 | local joint = toclerp | |
22 | joint.C0 = cf | |
23 | end | |
24 | ||
25 | clerp3 = function(toclerp, cf, number) | |
26 | local joint = toclerp | |
27 | joint.C1 = joint.C1:Lerp(cf, number) | |
28 | end | |
29 | ||
30 | Swait,swait = function(number) | |
31 | if number == 0 or number == nil then | |
32 | game:GetService("RunService").Heartbeat:Wait() | |
33 | else | |
34 | for i = 1,number do | |
35 | game:GetService("RunService").Heartbeat:Wait() | |
36 | end | |
37 | end | |
38 | end | |
39 | ||
40 | ezweld = function(p, a, b, cf) | |
41 | local weld = Instance.new("Weld",p) | |
42 | weld.Part0 = a | |
43 | weld.Part1 = b | |
44 | weld.C0 = cf | |
45 | return weld | |
46 | end | |
47 | ||
48 | NewSound = function(p, id, pit, vol, loop) | |
49 | local Sound = Instance.new("Sound",p) | |
50 | Sound.Pitch = pit | |
51 | Sound.Volume = vol | |
52 | Sound.SoundId = "rbxassetid://" ..id | |
53 | Sound.Looped = loop | |
54 | Sound:Play() | |
55 | return Sound | |
56 | end | |
57 | ||
58 | IT = Instance.new | |
59 | Rad = math.rad | |
60 | Cos = math.cos | |
61 | Sin = math.sin | |
62 | BrickC = BrickColor.new | |
63 | C3 = Color3.new | |
64 | VT = Vector3.new | |
65 | ||
66 | anim = "Idle" | |
67 | attack = false | |
68 | local RS = char.Torso["Right Shoulder"] | |
69 | local LS = char.Torso["Left Shoulder"] | |
70 | local RH = char.Torso["Right Hip"] | |
71 | local LH = char.Torso["Left Hip"] | |
72 | local neck = char.Torso["Neck"] | |
73 | local root = char.HumanoidRootPart | |
74 | local rootj = root.RootJoint | |
75 | local sine = 0 | |
76 | local RSnor = RS.C0 | |
77 | local LSnor = LS.C0 | |
78 | local RHnor = RH.C0 | |
79 | local LHnor = LH.C0 | |
80 | local RSnor2 = RS.C1 | |
81 | local LSnor2 = LS.C1 | |
82 | local RHnor2 = RH.C1 | |
83 | local LHnor2 = LH.C1 | |
84 | local rootjnor = rootj.C0 | |
85 | local necknor = neck.C0 | |
86 | local tors = char.Torso | |
87 | hum.Animator:remove() | |
88 | mouse = plr:GetMouse() | |
89 | hold = false | |
90 | Debris = game:GetService("Debris") | |
91 | ||
92 | sped = 16 | |
93 | keyhold = false | |
94 | spino = 0 | |
95 | hito = true | |
96 | ||
97 | function RayCast(Position, Direction, Range, Ignore) | |
98 | return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore) | |
99 | end | |
100 | ||
101 | sizo = 1 | |
102 | ||
103 | local tj = Instance.new("Part",char) | |
104 | tj.Size = Vector3.new(0.1, 0.1, 0.1) | |
105 | tj.CanCollide = false | |
106 | tj.Color = char.Torso.Color | |
107 | local twld = ezweld(char, tj, tors, CFrame.new(0, 1.45, -1)) | |
108 | twnor = twld.C0 | |
109 | tj.Transparency = 1 | |
110 | ||
111 | local tail1 = Instance.new("Part",char) | |
112 | tail1.Size = Vector3.new(0.1, 0.1, 0.1) | |
113 | tail1.CanCollide = false | |
114 | tail1.Color = char.Torso.Color | |
115 | local mesh = Instance.new("SpecialMesh",tail1) | |
116 | mesh.MeshId = "rbxassetid://4666737376" | |
117 | mesh.TextureId = "rbxassetid://4666737404" | |
118 | mesh.Scale = Vector3.new(0.8, 0.8, 1.05) * sizo | |
119 | local weld1 = ezweld(char, tail1, tj, CFrame.new(-0.4, 0, 1.25) * CFrame.Angles(Rad(-25), Rad(32.5) - Rad(180), Rad(0))) | |
120 | w1nor = weld1.C0 | |
121 | ||
122 | local tail2 = Instance.new("Part",char) | |
123 | tail2.Size = Vector3.new(0.1, 0.1, 0.1) | |
124 | tail2.CanCollide = false | |
125 | tail2.Color = char.Torso.Color | |
126 | local mesh = Instance.new("SpecialMesh",tail2) | |
127 | mesh.MeshId = "rbxassetid://4666737376" | |
128 | mesh.TextureId = "rbxassetid://4666737404" | |
129 | mesh.Scale = Vector3.new(0.8, 0.8, 1.05) * sizo | |
130 | local weld2 = ezweld(char, tail2, tj, CFrame.new(0.4, 0, 1.25) * CFrame.Angles(Rad(-25), Rad(-32.5) - Rad(180), Rad(0))) | |
131 | w2nor = weld2.C0 | |
132 | ||
133 | spino2 = 0 | |
134 | spd = 10 | |
135 | songid = 0 | |
136 | flying = false | |
137 | js = true | |
138 | ||
139 | zone = NewSound(hed, 297699305, 1, 2.5, true) | |
140 | ||
141 | tors.Touched:connect(function(hit) | |
142 | local dud = hit.Parent | |
143 | hitfloor = RayCast(root.Position, (CFrame.new(root.Position, root.Position + Vector3.new(0, -1, 0))).lookVector, tors.Size.y+2+hum.HipHeight, char) | |
144 | if hit.Parent:IsA("Accessory") or hit.Parent:IsA("Hat") then | |
145 | dud = hit.Parent.Parent | |
146 | end | |
147 | if dud ~= char and hitfloor == nil and hito == true then | |
148 | for i,v in pairs (dud:children()) do | |
149 | if v:IsA("Humanoid") and v.Health ~= 0 then | |
150 | v.Health = 0 | |
151 | v.MaxHealth = 0 | |
152 | NewSound(hed, 130792936, 1, 10, false) | |
153 | end | |
154 | end | |
155 | end | |
156 | if hit.Size == Vector3.new(5, 1, 5) then | |
157 | local bv = Instance.new("BodyVelocity",root) | |
158 | bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge) | |
159 | bv.Velocity = Vector3.new(0, 120, 0) | |
160 | Debris:AddItem(bv, 0.15) | |
161 | attack = true | |
162 | for i = 1,45 do | |
163 | Swait() | |
164 | clerp(rootj, rootjnor * CFrame.new(0, 0, 0.025 * Cos(sine / 24)) * CFrame.Angles(0, 0, spino / 2), 0.3) | |
165 | clerp(neck, necknor * CFrame.Angles(Rad(65), 0, Rad(0)), 0.3) | |
166 | clerp(RH, RHnor * CFrame.Angles(Rad(-3), Rad(0), Rad(0)) * CFrame.new(0, -0.025 * Cos(sine / 24), 0), 0.3) | |
167 | clerp(LH, LHnor * CFrame.Angles(Rad(-3), Rad(0), Rad(0)) * CFrame.new(0, -0.025 * Cos(sine / 24), 0), 0.3) | |
168 | clerp(RS, RSnor * CFrame.new(0, 0, 0) * CFrame.Angles(Rad(-25), Rad(0), Rad(0)), 0.3) | |
169 | clerp(LS, LSnor * CFrame.new(0, 0, 0) * CFrame.Angles(Rad(-25), Rad(0), Rad(0)), 0.3) | |
170 | end | |
171 | attack = false | |
172 | end | |
173 | end) | |
174 | ||
175 | hum.BreakJointsOnDeath = false | |
176 | hum.Died:connect(function() | |
177 | attack = true | |
178 | NewSound(hed, 571879674, 1, 10, false) | |
179 | local bv = Instance.new("BodyVelocity",root) | |
180 | bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge) | |
181 | bv.Velocity = Vector3.new(0, 75, 0) | |
182 | Debris:AddItem(bv, 0.1) | |
183 | for i = 1,35 do | |
184 | Swait() | |
185 | clerp(rootj, rootjnor * CFrame.new(0, 0, 0.025 * Cos(sine / 24)) * CFrame.Angles(0, 0, Rad(0)), 0.3) | |
186 | clerp(neck, necknor * CFrame.Angles(0, 0, Rad(0)), 0.3) | |
187 | clerp(RH, RHnor * CFrame.Angles(Rad(-25), Rad(0), Rad(0)) * CFrame.new(0, -0.025 * Cos(sine / 24), 0), 0.3) | |
188 | clerp(LH, LHnor * CFrame.Angles(Rad(-25), Rad(0), Rad(0)) * CFrame.new(0, -0.025 * Cos(sine / 24), 0), 0.3) | |
189 | clerp(RS, RSnor * CFrame.new(0, 0, 0.75) * CFrame.Angles(Rad(-170), Rad(0), Rad(0)), 0.3) | |
190 | clerp(LS, LSnor * CFrame.new(0, 0, 0.75) * CFrame.Angles(Rad(-170), Rad(0), Rad(0)), 0.3) | |
191 | end | |
192 | for i = 1,70 do | |
193 | Swait() | |
194 | end | |
195 | --char.Parent = nil | |
196 | end) | |
197 | ||
198 | local spin = NewSound(root, 163619849, 1, 6, false) | |
199 | spin.Playing = false | |
200 | keyhold = false | |
201 | ||
202 | function dash() | |
203 | attack = true | |
204 | keyhold = true | |
205 | local bv = Instance.new("BodyVelocity",root) | |
206 | bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge) | |
207 | bv.Velocity = root.CFrame.lookVector * 0 | |
208 | local ea = 7 | |
209 | repeat | |
210 | Swait() | |
211 | if not char:FindFirstChild("yus") then | |
212 | spin.Pitch = spin.Pitch + 0.05 | |
213 | spin:Play() | |
214 | local yus = Instance.new("NumberValue", char) | |
215 | yus.Name = "yus" | |
216 | Debris:AddItem(yus, 0.15) | |
217 | end | |
218 | ea = ea + 1 | |
219 | rootj.C0 = rootjnor * CFrame.Angles(spino, 0, 0) | |
220 | clerp(neck, necknor * CFrame.Angles(Rad(45), 0, 0), 0.3) | |
221 | clerp(RH, RHnor * CFrame.Angles(Rad(0), Rad(0), Rad(0)) * CFrame.new(0.5, 0.35, 0), 0.3) | |
222 | clerp(LH, LHnor * CFrame.Angles(Rad(0), Rad(0), Rad(0)) * CFrame.new(-0.5, 0.35, 0), 0.3) | |
223 | clerp(RS, RSnor * CFrame.new(0, 0, 0) * CFrame.Angles(Rad(25), 0, Rad(45)), 0.3) | |
224 | clerp(LS, LSnor * CFrame.new(0, 0, 0) * CFrame.Angles(Rad(25), 0, Rad(-45)), 0.3) | |
225 | until keyhold == false | |
226 | keyhold = false | |
227 | spin.Pitch = 1 | |
228 | spin.Playing = false | |
229 | local wee = NewSound(hed, 500223047, 1, 6, false) | |
230 | Debris:AddItem(wee, 2) | |
231 | Debris:AddItem(bv, ea) | |
232 | bv.Velocity = root.CFrame.lookVector * (ea + 150) | |
233 | local hitman = tors.Touched:connect(function(hit) | |
234 | local dud = hit.Parent | |
235 | if hit.Parent:IsA("Accessory") or hit.Parent:IsA("Hat") then | |
236 | dud = hit.Parent.Parent | |
237 | end | |
238 | if dud ~= char and hito then | |
239 | for i,v in pairs (dud:children()) do | |
240 | if v:IsA("Humanoid") and v.Health ~= 0 then | |
241 | v.Health = 0 | |
242 | v.MaxHealth = 0 | |
243 | NewSound(hed, 130792936, 1, 10, false) | |
244 | end | |
245 | end | |
246 | end | |
247 | end) | |
248 | if ea < 45 then | |
249 | for i = 1,ea do | |
250 | Swait() | |
251 | bv.MaxForce = Vector3.new(math.huge, 0, math.huge) | |
252 | rootj.C0 = rootjnor * CFrame.Angles(spino, 0, 0) | |
253 | clerp(neck, necknor * CFrame.Angles(Rad(45), 0, 0), 0.3) | |
254 | clerp(RH, RHnor * CFrame.Angles(Rad(0), Rad(0), Rad(0)) * CFrame.new(0.5, 0.35, 0), 0.3) | |
255 | clerp(LH, LHnor * CFrame.Angles(Rad(0), Rad(0), Rad(0)) * CFrame.new(-0.5, 0.35, 0), 0.3) | |
256 | clerp(RS, RSnor * CFrame.new(0, 0, 0) * CFrame.Angles(Rad(25), 0, Rad(45)), 0.3) | |
257 | clerp(LS, LSnor * CFrame.new(0, 0, 0) * CFrame.Angles(Rad(25), 0, Rad(-45)), 0.3) | |
258 | end | |
259 | elseif ea > 44 then | |
260 | for i = 1,45 do | |
261 | Swait() | |
262 | bv.MaxForce = Vector3.new(math.huge, 0, math.huge) | |
263 | rootj.C0 = rootjnor * CFrame.Angles(spino, 0, 0) | |
264 | clerp(neck, necknor * CFrame.Angles(Rad(45), 0, 0), 0.3) | |
265 | clerp(RH, RHnor * CFrame.Angles(Rad(0), Rad(0), Rad(0)) * CFrame.new(0.5, 0.35, 0), 0.3) | |
266 | clerp(LH, LHnor * CFrame.Angles(Rad(0), Rad(0), Rad(0)) * CFrame.new(-0.5, 0.35, 0), 0.3) | |
267 | clerp(RS, RSnor * CFrame.new(0, 0, 0) * CFrame.Angles(Rad(25), 0, Rad(45)), 0.3) | |
268 | clerp(LS, LSnor * CFrame.new(0, 0, 0) * CFrame.Angles(Rad(25), 0, Rad(-45)), 0.3) | |
269 | end | |
270 | end | |
271 | hitman:disconnect() | |
272 | bv:remove() | |
273 | keyhold = false | |
274 | attack = false | |
275 | end | |
276 | ||
277 | mouse.KeyDown:connect(function(key) | |
278 | if key == "z" then | |
279 | dash() | |
280 | end | |
281 | end) | |
282 | ||
283 | dograb = true | |
284 | grabbable = true | |
285 | ||
286 | function fly() | |
287 | attack = true | |
288 | flying = true | |
289 | local ohito = hito | |
290 | local bv = Instance.new("BodyVelocity", root) | |
291 | bv.MaxForce = Vector3.new(0, 800000, 0) | |
292 | bv.Velocity = Vector3.new(0, -6, 0) | |
293 | - | local bv2 = Instance.new("BodyVelocity", hed) |
293 | + | |
294 | - | bv2.MaxForce = Vector3.new(math.huge, 0, math.huge) |
294 | + | |
295 | - | bv2.Velocity = hum.MoveDirection |
295 | + | |
296 | grabp.Transparency = 1 | |
297 | grabp.CanCollide = false | |
298 | grabp.Size = Vector3.new(3.75, 3.75, 3.75) | |
299 | local w = ezweld(grabp, grabp, tors, CFrame.new(0, 0, 1.85)) | |
300 | grabbable = true | |
301 | local grabbeddud = nil | |
302 | local hb = grabp.Touched:connect(function(hit) | |
303 | local dud = hit.Parent | |
304 | if dud ~= char and grabbable == true and dograb == true then | |
305 | local ro = dud:FindFirstChild("HumanoidRootPart") or dud:FindFirstChild("Torso") | |
306 | if ro then | |
307 | grabbeddud = dud | |
308 | grabbable = false | |
309 | local w = ezweld(grabp, ro, tors, CFrame.new(0, 2.1, 0.4) * CFrame.Angles(Rad(-90), 0, 0)) | |
310 | for i,v in pairs (dud:GetDescendants()) do | |
311 | if v:IsA("BasePart") and v.Massless == false then | |
312 | - | local w = ezweld(grabp, ro, tors, CFrame.new(0, 2.85, 0.4) * CFrame.Angles(Rad(-90), 0, 0)) |
312 | + | |
313 | end | |
314 | end | |
315 | end | |
316 | end | |
317 | end) | |
318 | repeat | |
319 | Swait() | |
320 | if hum.Jump == true then | |
321 | coroutine.wrap(function() | |
322 | bv.Velocity = Vector3.new(0, 25, 0) | |
323 | wait(.25) | |
324 | bv.Velocity = Vector3.new(0, -11, 0) | |
325 | end)() | |
326 | end | |
327 | spd = 45 | |
328 | local WALKSPEEDVALUE = 8 / (sped / 16) | |
329 | local heeh = 2 | |
330 | - | local mv = hum.MoveDirection |
330 | + | |
331 | - | bv2.Velocity = Vector3.new(mv.x*48, 0, mv.z*48) |
331 | + | |
332 | - | bv2.Parent = hed |
332 | + | |
333 | - | bv2.MaxForce = Vector3.new(math.huge, 0, math.huge) |
333 | + | |
334 | clerp(rootj, rootjnor * CFrame.new(0, 0, 0.1 + 0.05 * Cos(sine / (15)) * 0.025 - 0.025 * Cos(sine / (heeh / 2))) * CFrame.Angles(Rad(7 + 0 * Cos(sine / (heeh / 1.5))) - Rad(root.Velocity.y * 1.25) + Rad(90), -root.RotVelocity.y / 35, Rad(0 + 0.5 * Cos(sine / (heeh / 1.5)))), 0.3) | |
335 | clerp(neck, necknor * CFrame.Angles(Rad(-7 - 1 * Cos((WALKSPEEDVALUE / 2))) + Rad(-35), 0, Rad(0 - 0.5 * Cos(sine / (WALKSPEEDVALUE / 2)))), 0.3) | |
336 | clerp(RH, RHnor * CFrame.new(0.25, 0.3, 0) * CFrame.Angles(Rad(0), Rad(0), Rad(-35)), 0.3) | |
337 | clerp(LH, LHnor * CFrame.new(-0.25, 0.3, 0) * CFrame.Angles(Rad(0), Rad(0), Rad(35)), 0.3) | |
338 | clerp(RS, RSnor * CFrame.new(0.2, -0.25 - 0 * Cos(sine / 12), 0) * CFrame.Angles(Rad(6), Rad(11), Rad(83)), 0.3) | |
339 | clerp(LS, LSnor * CFrame.new(-0.2, -0.25 - 0 * Cos(sine / 12), 0) * CFrame.Angles(Rad(6), Rad(-11), Rad(-83)), 0.3) | |
340 | until flying == false | |
341 | hb:disconnect() | |
342 | if grabbeddud ~= nil then | |
343 | for i,v in pairs (grabbeddud:GetDescendants()) do | |
344 | if v:IsA("BasePart") and v.Massless == true then | |
345 | v.Massless = false | |
346 | end | |
347 | end | |
348 | end | |
349 | grabbable = true | |
350 | grabp:Destroy() | |
351 | hito = ohito | |
352 | js = true | |
353 | bv:Destroy() | |
354 | flying = false | |
355 | attack = false | |
356 | end | |
357 | ||
358 | mouse.KeyDown:connect(function(key) | |
359 | if key == "z" then | |
360 | - | bv2:Destroy() |
360 | + | |
361 | keyhold = false | |
362 | end | |
363 | if key == "m" then | |
364 | if zone.Playing == true then | |
365 | zone.Playing = false | |
366 | else | |
367 | zone.Playing = true | |
368 | end | |
369 | end | |
370 | if key == "e" then | |
371 | if flying == false then | |
372 | fly() | |
373 | js = false | |
374 | else | |
375 | js = true | |
376 | flying = false | |
377 | end | |
378 | end | |
379 | if key == "p" then | |
380 | if hito then | |
381 | hito = false | |
382 | print("Spin damage off.") | |
383 | else | |
384 | hito = true | |
385 | print("Spin damage on.") | |
386 | end | |
387 | end | |
388 | if key == "b" then | |
389 | if dograb then | |
390 | dograb = false | |
391 | print("Flying grab off.") | |
392 | else | |
393 | dograb = true | |
394 | print("Flying grab on.") | |
395 | end | |
396 | end | |
397 | if key == "l" then | |
398 | if songid == 0 then | |
399 | songid = 1 | |
400 | zone.SoundId = "rbxassetid://142286444" | |
401 | elseif songid == 1 then | |
402 | songid = 2 | |
403 | zone.SoundId = "rbxassetid://183866857" | |
404 | elseif songid == 2 then | |
405 | songid = 3 | |
406 | zone.SoundId = "rbxassetid://2460241779" | |
407 | elseif songid == 3 then | |
408 | songid = 0 | |
409 | zone.SoundId = "rbxassetid://297699305" | |
410 | end | |
411 | end | |
412 | end) | |
413 | ||
414 | mouse.KeyUp:connect(function(key) | |
415 | if key == "z" then | |
416 | keyhold = false | |
417 | end | |
418 | end) | |
419 | ||
420 | while true do | |
421 | Swait() | |
422 | hum.WalkSpeed = spd | |
423 | hum.JumpPower = 70 | |
424 | sine = sine + 1 | |
425 | spino = spino + Rad(45) | |
426 | spino2 = spino2 + Rad(25) | |
427 | local TiltVelocity = CFrame.new(root.CFrame:vectorToObjectSpace(root.Velocity/1.6)) | |
428 | local TORSOVELOCITY = (root.Velocity * VT(1, 0, 1)).magnitude | |
429 | local WALKSPEEDVALUE = 8 / (sped / 16) | |
430 | torsverticalvel = root.Velocity.y | |
431 | hitfloor = RayCast(root.Position, (CFrame.new(root.Position, root.Position + Vector3.new(0, -1, 0))).lookVector, tors.Size.y+2+hum.HipHeight, char) | |
432 | if TORSOVELOCITY < 1 and hitfloor ~= nil then | |
433 | anim = "Idle" | |
434 | if attack == false then | |
435 | spd = 10 | |
436 | js = true | |
437 | clerp(twld, twnor, 0.3) | |
438 | clerp(weld1, w1nor * CFrame.Angles(Rad(7 * Sin(sine / (22))), Rad(-11 * Sin(sine / (22 * 2))), Rad(0)), 0.3) | |
439 | clerp(weld2, w2nor * CFrame.Angles(Rad(-7 * Sin(sine / (22))), Rad(-11 * Sin(sine / (22 * 2))), Rad(0)), 0.3) | |
440 | clerp(rootj, rootjnor * CFrame.new(0, 0, 0.025 * Sin(sine / 22)) * CFrame.Angles(Rad(0), Rad(0), Rad(25)), 0.3) | |
441 | clerp(neck, necknor * CFrame.new(0, 0, 0) * CFrame.Angles(Rad(0), Rad(0), Rad(-25)), 0.3) | |
442 | clerp(RH, RHnor * CFrame.new(0, -0.025 * Sin(sine / 22), 0) * CFrame.Angles(Rad(-2), Rad(-6), Rad(0)), 0.3) | |
443 | clerp(LH, LHnor * CFrame.new(0, -0.025 * Sin(sine / 22), 0) * CFrame.Angles(Rad(-2), Rad(6), Rad(0)), 0.3) | |
444 | clerp(RS, RSnor * CFrame.new(0, 0, 0) * CFrame.Angles(Rad(-2 - 1 * Sin(sine / (22))), Rad(0), Rad(5 * Sin(sine / (22 * 2)))), 0.3) | |
445 | clerp(LS, LSnor * CFrame.new(0, 0, 0) * CFrame.Angles(Rad(-2 - 1 * Sin(sine / (22))), Rad(0), Rad(-5 * Sin(sine / (22 * 2)))), 0.3) | |
446 | end | |
447 | elseif TORSOVELOCITY > 1 and hitfloor ~= nil then | |
448 | anim = "Walk" | |
449 | if attack == false and spd < 65 then | |
450 | if spd < 65 then | |
451 | spd = spd + 0.5 | |
452 | end | |
453 | js = true | |
454 | local heeh = 6 | |
455 | clerp(twld, twnor, 0.3) | |
456 | clerp(weld1, w1nor * CFrame.new(0, 0, 0) * CFrame.Angles(Rad(4 * Sin(sine / (22))), Rad(-6 * Sin(sine / (22 * 2))), Rad(0)), 0.3) | |
457 | clerp(weld2, w2nor * CFrame.new(0, 0, 0) * CFrame.Angles(Rad(-4 * Sin(sine / (22))), Rad(-6 * Sin(sine / (22 * 2))), Rad(0)), 0.3) | |
458 | clerp(rootj, rootjnor * CFrame.new(0, 0, 0.05 * Cos(sine / (15)) * 0.1 - 0.1 * Cos(sine / (heeh / 2.5))) * CFrame.Angles(Rad(15 + 2 * Cos((heeh / 2))) - Rad(root.Velocity.y) * 1.25, -root.RotVelocity.y / 35, Rad(0 + 7 * Cos(sine / (heeh / 2)))), 0.3) | |
459 | clerp(neck, necknor * CFrame.Angles(Rad(-15 - 2 * Cos((heeh / 2))), 0, Rad(0 - 7 * Cos(sine / (heeh / 2)))), 0.3) | |
460 | clerp(RH, RHnor * CFrame.new(0.4 * Cos(sine / (heeh / 2.5)), -0.1 + 0.2 * Cos(sine / (heeh / 2.5)), 0) * CFrame.Angles(0, 0, Rad(90 * Cos(sine / (heeh / 1.5)))), 0.3) | |
461 | clerp(LH, LHnor * CFrame.new(0.4 * Cos(sine / (heeh / 2.5)), -0.1 + 0.2 * Cos(sine / (heeh / 2.5)), 0) * CFrame.Angles(0, 0, Rad(90 * Cos(sine / (heeh / 1.5)))), 0.3) | |
462 | clerp(RS, RSnor * CFrame.Angles(0, 0, Rad(90 * Cos(sine / (heeh / 1.5)))), 0.3) | |
463 | clerp(LS, LSnor * CFrame.Angles(0, 0, Rad(90 * Cos(sine / (heeh / 1.5)))), 0.3) | |
464 | end | |
465 | if attack == false and spd > 64 then | |
466 | local heeh = 2 | |
467 | js = true | |
468 | clerp(twld, twnor * CFrame.new(0, -0.45, 0), 0.3) | |
469 | clerp(weld1, w1nor * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, spino2), 0.3) | |
470 | clerp(weld2, w2nor * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, spino2), 0.3) | |
471 | clerp(rootj, rootjnor * CFrame.new(0, 0, 0.1 + 0.05 * Cos(sine / (15)) * 0.025 - 0.025 * Cos(sine / (heeh / 2))) * CFrame.Angles(Rad(7 + 1 * Cos(sine / (heeh / 1.5))) - Rad(root.Velocity.y * 1.25) + Rad(25), -root.RotVelocity.y / 35, Rad(0 + 0.5 * Cos(sine / (heeh / 1.5)))), 0.3) | |
472 | clerp(neck, necknor * CFrame.Angles(Rad(-7 - 1 * Cos((WALKSPEEDVALUE / 2))) + Rad(-25), 0, Rad(0 - 0.5 * Cos(sine / (WALKSPEEDVALUE / 2)))), 0.3) | |
473 | clerp(RH, RHnor * CFrame.new(0.25, 0.3, 0) * CFrame.Angles(Rad(0), Rad(0), Rad(-35)), 0.3) | |
474 | clerp(LH, LHnor * CFrame.new(-0.25, 0.3, 0) * CFrame.Angles(Rad(0), Rad(0), Rad(35)), 0.3) | |
475 | clerp(RS, RSnor * CFrame.new(0, -0.25 - 0 * Cos(sine / 12), 0) * CFrame.Angles(Rad(0), Rad(0), Rad(111)), 0.3) | |
476 | clerp(LS, LSnor * CFrame.new(0, -0.25 - 0 * Cos(sine / 12), 0) * CFrame.Angles(Rad(0), Rad(0), Rad(-111)), 0.3) | |
477 | end | |
478 | elseif torsverticalvel > 0.5 and hitfloor == nil then | |
479 | anim = "Jump" | |
480 | if not hed:FindFirstChild("jump") and js == true then | |
481 | local jump = Instance.new("Sound", hed) | |
482 | jump.Name = "jump" | |
483 | jump.SoundId = "rbxassetid://130782425" | |
484 | jump.Volume = 0.95 | |
485 | jump:Play() | |
486 | Debris:AddItem(jump, 0.5) | |
487 | end | |
488 | if attack == false then | |
489 | spd = spd | |
490 | clerp(twld, twnor, 0.3) | |
491 | rootj.C0 = rootjnor * CFrame.Angles(spino, 0, 0) | |
492 | clerp(neck, necknor * CFrame.Angles(Rad(45), 0, 0), 0.3) | |
493 | clerp(RH, RHnor * CFrame.Angles(Rad(0), Rad(0), Rad(0)) * CFrame.new(0.5, 0.35, 0), 0.3) | |
494 | clerp(LH, LHnor * CFrame.Angles(Rad(0), Rad(0), Rad(0)) * CFrame.new(-0.5, 0.35, 0), 0.3) | |
495 | clerp(RS, RSnor * CFrame.new(0, 0, 0) * CFrame.Angles(Rad(25), 0, Rad(45)), 0.3) | |
496 | clerp(LS, LSnor * CFrame.new(0, 0, 0) * CFrame.Angles(Rad(25), 0, Rad(-45)), 0.3) | |
497 | end | |
498 | elseif torsverticalvel < 0.5 and hitfloor == nil then | |
499 | anim = "Fall" | |
500 | if attack == false then | |
501 | spd = spd | |
502 | clerp(twld, twnor, 0.3) | |
503 | rootj.C0 = rootjnor * CFrame.Angles(spino, 0, 0) | |
504 | clerp(neck, necknor * CFrame.Angles(Rad(45), 0, 0), 0.3) | |
505 | clerp(RH, RHnor * CFrame.Angles(Rad(0), Rad(0), Rad(0)) * CFrame.new(0.5, 0.35, 0), 0.3) | |
506 | clerp(LH, LHnor * CFrame.Angles(Rad(0), Rad(0), Rad(0)) * CFrame.new(-0.5, 0.35, 0), 0.3) | |
507 | clerp(RS, RSnor * CFrame.new(0, 0, 0) * CFrame.Angles(Rad(25), 0, Rad(45)), 0.3) | |
508 | clerp(LS, LSnor * CFrame.new(0, 0, 0) * CFrame.Angles(Rad(25), 0, Rad(-45)), 0.3) | |
509 | end | |
510 | end | |
511 | end |