--[[ WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk! ]] local player = game.Players.LocalPlayer local character = player.Character local humanoid = character:FindFirstChildOfClass("Humanoid") local moonwalk = false local playing = false local playanim local oldspd = 0 local oldjp = 0 local function AddGui() local gui = Instance.new("ScreenGui", player.PlayerGui) gui.Name = "DanceToolGui" local dances = {"http://www.roblox.com/asset/?id=27789359", "http://www.roblox.com/Asset?ID=35654637", "http://www.roblox.com/Asset?ID=30196114", "http://www.roblox.com/Asset?ID=178130996", "http://www.roblox.com/Asset?ID=28440069", "http://www.roblox.com/Asset?ID=45504977", "http://www.roblox.com/Asset?ID=183294396", "http://www.roblox.com/Asset?ID=35154961", "http://www.roblox.com/Asset?ID=75354915", "http://www.roblox.com/Asset?ID=54145508"} local frame = Instance.new("ScrollingFrame", gui) local list = Instance.new("UIGridLayout", frame) frame.Position = UDim2.new(0.792, 0, 0.188, 0) frame.Size = UDim2.new(0.193, 0, 0.574, 0) frame.BackgroundColor3 = Color3.fromRGB(8, 162, 0) list.CellSize = UDim2.new(0, 70, 0, 70) list.CellPadding = UDim2.new(0, 10, 0, 10) for i in dances do local danceid = dances[i] local button = Instance.new("TextButton", frame) button.BackgroundColor3 = Color3.fromRGB(122, 216, 0) button.Text = "Dance"..i local anim = Instance.new("Animation", button) anim.AnimationId = danceid local track = humanoid:LoadAnimation(anim) track.Looped = true button.MouseButton1Click:Connect(function() if playing == false then track:Play() playanim = track playing = true if i == 3 then wait(3) moonwalk = true end else playanim = nil if i == 3 then moonwalk = false end track:Stop() playing = false end end) end end local function DelGui() local gui = player.PlayerGui:FindFirstChild("DanceToolGui") if gui then gui:Destroy() end end local function AddTool() local tool = Instance.new("Tool", player.Backpack) tool.Name = "DanceTool" local handle = Instance.new("Part", tool) handle.Name = "Handle" handle.Transparency = 1 handle.CanCollide = false tool.Equipped:Connect(function() AddGui() end) tool.Unequipped:Connect(function() moonwalk = false DelGui() for _,anim in pairs(humanoid:GetPlayingAnimationTracks()) do anim:Stop() end end) humanoid.Died:Connect(function() moonwalk = false tool:Destroy() DelGui() script:Destroy() end) end AddTool() local hrp : Part = character.HumanoidRootPart local torso = character.Torso while wait() do if moonwalk then if not hrp:FindFirstChildOfClass("BodyVelocity") and not hrp:FindFirstChildOfClass("BodyGyro") then oldspd = humanoid.WalkSpeed oldjp = humanoid.JumpPower humanoid.WalkSpeed = 0 humanoid.JumpPower = 0 local bv = Instance.new("BodyVelocity", hrp) bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge) bv.Velocity = ((torso.CFrame * CFrame.new(0,0,5)).p - torso.CFrame.p).unit * 5 local gyro = Instance.new"BodyGyro" gyro.MaxTorque = Vector3.new(math.huge,math.huge,math.huge) gyro.CFrame = hrp.CFrame gyro.Parent = hrp end else if hrp:FindFirstChildOfClass("BodyVelocity") and hrp:FindFirstChildOfClass("BodyGyro") then humanoid.WalkSpeed = oldspd humanoid.JumpPower = oldjp hrp:FindFirstChildOfClass("BodyVelocity"):Destroy() hrp:FindFirstChildOfClass("BodyGyro"):Destroy() print("destroy", humanoid.WalkSpeed, humanoid.JumpPower, oldspd, oldjp) end end if playing == true then for _,anim in pairs(humanoid:GetPlayingAnimationTracks()) do if anim ~= playanim then anim:Stop() end end end end