
Key Required

local player = game.Players.LocalPlayer
if not player then return end
local function makeTool()
local backpack = player:WaitForChild("Backpack")
if backpack:FindFirstChild("DanceTool") then return end
local tool = Instance.new("Tool")
tool.Name = "DanceTool"
tool.RequiresHandle = false
tool.CanBeDropped = false
tool.ToolTip = "Let's Dance!"
local track
local function isR15(character)
local hum = character:FindFirstChildOfClass("Humanoid")
return hum and hum.RigType == Enum.HumanoidRigType.R15
end
local function playDance()
local char = player.Character
if not char then return end
local hum = char:FindFirstChildOfClass("Humanoid")
if not hum then return end
local animator = hum:FindFirstChildOfClass("Animator") or Instance.new("Animator", hum)
local anim = Instance.new("Animation")
anim.AnimationId = isR15(char) and "rbxassetid://507771019" or "rbxassetid://33796059"
track = animator:LoadAnimation(anim)
track.Looped = true
track:Play()
track:AdjustSpeed(1.1)
end
local function stopDance()
if track then
track:Stop()
track = nil
end
end
tool.Equipped:Connect(function()
playDance()
end)
tool.Unequipped:Connect(function()
stopDance()
end)
tool.AncestryChanged:Connect(function(_, parent)
if not parent or parent == backpack then
stopDance()
end
end)
tool.Activated:Connect(function()
if track then
stopDance()
task.wait(0.1)
playDance()
end
end)
tool.Parent = backpack
end
player.CharacterAdded:Connect(function()
task.wait(1)
makeTool()
end)
if player.Character then
task.wait(1)
makeTool()
end
Fix this script if u fly the emote so stable and if u not using fly so terrible