View difference between Paste ID: rhZ4QSS1 and c49AZRiK
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