DanceTool from CHEEDABOB
Key Required

DanceTool from CHEEDABOB

Brookhaven 🏡RPcheedabob333cheedabob333 19K views 71 executesUpdated May 1, 2025
Unrated
00
Lua Script•127 lines (3628 chars)
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()
	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

Features & Information

This is a dance gui

Community Comments (0)

No comments yet for this script.

More Scripts for Brookhaven 🏡RP