local Players = game:GetService("Players") local player = Players.LocalPlayer local character = player.Character or player.CharacterAdded:Wait() local humanoid = character:WaitForChild("Humanoid") local playerGui = player:WaitForChild("PlayerGui") local animator = humanoid:WaitForChild("Animator") if character:FindFirstChild("Animate") then character.Animate.Disabled = true end local animations = { spawn = {id="rbxassetid://74150244741613", loop=false, speed=1}, idle = {id="rbxassetid://85141122321737", loop=true, speed=999999}, walk = {id="rbxassetid://109817439333419", loop=true, speed=999999}, run = {id="rbxassetid://73093555127023", loop=true, speed=999999}, button1 = {text="Am i fine?", id="rbxassetid://84645813674648", loop=true, speed=999999}, button2 = {text="Head break", id="rbxassetid://82923062885632", loop=true, speed=999999}, button3 = {text="Am i...", id="rbxassetid://91910474477134", loop=true, speed=999999}, button4 = {text="YOU CANT RUN", id="rbxassetid://134411626334329", loop=true, speed=999999, walkSpeed=35}, button5 = {text="Clone tall", id="rbxassetid://100023547039593", loop=true, speed=999999}, } local screenGui = Instance.new("ScreenGui") screenGui.Parent = playerGui local toggleBtn = Instance.new("TextButton") toggleBtn.Size = UDim2.new(0, 120, 0, 40) toggleBtn.Position = UDim2.new(0, 20, 0, 10) toggleBtn.Text = "Toggle GUI" toggleBtn.BackgroundColor3 = Color3.fromRGB(70,70,70) toggleBtn.TextColor3 = Color3.fromRGB(255,255,255) toggleBtn.Parent = screenGui local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 250, 0, 350) frame.Position = UDim2.new(0, 20, 0, 50) frame.BackgroundColor3 = Color3.fromRGB(30,30,30) frame.Active = true frame.Draggable = true frame.Parent = screenGui local buttonObjects = {} local yPos = 10 for i = 1,5 do local btn = Instance.new("TextButton") btn.Size = UDim2.new(0, 230, 0, 40) btn.Position = UDim2.new(0, 10, 0, yPos) btn.Text = animations["button"..i].text btn.BackgroundColor3 = Color3.fromRGB(50,50,50) btn.TextColor3 = Color3.fromRGB(255,255,255) btn.Parent = frame yPos = yPos + 50 buttonObjects[i] = btn end local cancelBtn = Instance.new("TextButton") cancelBtn.Size = UDim2.new(0, 230, 0, 40) cancelBtn.Position = UDim2.new(0, 10, 0, yPos) cancelBtn.Text = "Cancel Animation" cancelBtn.BackgroundColor3 = Color3.fromRGB(200,50,50) cancelBtn.TextColor3 = Color3.fromRGB(255,255,255) cancelBtn.Parent = frame local function playAnim(animId, loop, speed, priority) local anim = Instance.new("Animation") anim.AnimationId = animId local track = animator:LoadAnimation(anim) track.Priority = priority or Enum.AnimationPriority.Action track.Looped = loop track:Play() track:AdjustSpeed(speed) return track end local currentDance = nil local currentAnimId = nil local movementTrack = nil local function updateMovement() if currentDance then return end if movementTrack then movementTrack:Stop() end local vel = character:FindFirstChild("HumanoidRootPart") and character.HumanoidRootPart.Velocity.Magnitude or 0 if vel < 1 then movementTrack = playAnim(animations.idle.id, animations.idle.loop, animations.idle.speed, Enum.AnimationPriority.Core) elseif vel < humanoid.WalkSpeed then movementTrack = playAnim(animations.walk.id, animations.walk.loop, animations.walk.speed, Enum.AnimationPriority.Core) else movementTrack = playAnim(animations.run.id, animations.run.loop, animations.run.speed, Enum.AnimationPriority.Core) end end humanoid.Running:Connect(updateMovement) humanoid.Jumping:Connect(updateMovement) humanoid.StateChanged:Connect(updateMovement) local function playDance(animTable) if currentAnimId == animTable.id then if currentDance then currentDance:Stop() end currentDance = nil currentAnimId = nil humanoid.WalkSpeed = 16 updateMovement() return end if currentDance then currentDance:Stop() humanoid.WalkSpeed = 16 end currentDance = playAnim(animTable.id, animTable.loop, animTable.speed, Enum.AnimationPriority.Action) currentAnimId = animTable.id humanoid.WalkSpeed = animTable.walkSpeed or 16 currentDance.Stopped:Connect(function() if currentDance == currentDance then currentDance = nil currentAnimId = nil humanoid.WalkSpeed = 16 updateMovement() end end) end for i, btn in ipairs(buttonObjects) do btn.MouseButton1Click:Connect(function() playDance(animations["button"..i]) end) end cancelBtn.MouseButton1Click:Connect(function() if currentDance then currentDance:Stop() currentDance = nil currentAnimId = nil humanoid.WalkSpeed = 16 updateMovement() end end) toggleBtn.MouseButton1Click:Connect(function() frame.Visible = not frame.Visible end) local spawnTrack = playAnim(animations.spawn.id, animations.spawn.loop, animations.spawn.speed, Enum.AnimationPriority.Action) spawnTrack.Stopped:Connect(updateMovement) updateMovement()