local p=game.Players.LocalPlayer local uis=game:GetService("UserInputService") local ids={ i1="rbxassetid://14069765570", i2="rbxassetid://14069765570", j="rbxassetid://165928638", f="rbxassetid://165928826", w="rbxassetid://14069716685", c="rbxassetid://180436334", s="rbxassetid://178130996", ring="rbxassetid://103795250563206", purs="rbxassetid://74379808387756", art="rbxassetid://128808990246683" } local function go(c) local h=c:WaitForChild("Humanoid") local a=c:FindFirstChild("Animate") if a then a:Destroy() end local an=h:FindFirstChildOfClass("Animator") if an then an:Destroy() end an=Instance.new("Animator",h) local function l(x) local aa=Instance.new("Animation") aa.AnimationId=x return an:LoadAnimation(aa) end local i1=l(ids.i1) local i2=l(ids.i2) local w=l(ids.w) local j=l(ids.j) local f=l(ids.f) local cl=l(ids.c) local si=l(ids.s) local ring=l(ids.ring) local purs=l(ids.purs) local art=l(ids.art) local cur=nil local doingEmote=false local snd=Instance.new("Sound") snd.SoundId="rbxassetid://115900028256972" snd.Volume=3 snd.Parent=c:WaitForChild("HumanoidRootPart") local function stopAll() if cur then cur:Stop() end snd:Stop() doingEmote=false end local function pplay(t,l) stopAll() cur=t cur.Looped=l or false cur:Play() end local function playEmote(anim,withSound) stopAll() doingEmote=true cur=anim cur.Looped=false cur:Play() if withSound then task.spawn(function() task.wait(1.3) if cur==anim then snd:Play() end end) end cur.Stopped:Connect(function() if cur==anim then stopAll() end end) end h.Running:Connect(function(s) if doingEmote and s > 1 then stopAll() end if doingEmote then return end if s>1 then pplay(w,true) else if math.random(1,2)==1 then pplay(i1,true) else pplay(i2,true) end end end) h.Jumping:Connect(function() if doingEmote then stopAll() return end pplay(j,false) end) h.FreeFalling:Connect(function() if doingEmote then return end pplay(f,true) end) h.Climbing:Connect(function() if doingEmote then return end pplay(cl,true) end) h.Seated:Connect(function() if doingEmote then return end pplay(si,true) end) local g=Instance.new("ScreenGui",p:WaitForChild("PlayerGui")) local function makeBtn(txt,x) local b=Instance.new("TextButton") b.Size=UDim2.new(0,140,0,45) b.Position=UDim2.new(0,x,0.75,0) b.Text=txt b.BackgroundColor3=Color3.new(math.random(),math.random(),math.random()) b.TextColor3=Color3.new(1,1,1) b.Parent=g local d=false;local di;local ds;local sp b.InputBegan:Connect(function(i) if i.UserInputType==Enum.UserInputType.MouseButton1 then d=true;ds=i.Position;sp=b.Position i.Changed:Connect(function() if i.UserInputState==Enum.UserInputState.End then d=false end end) end end) b.InputChanged:Connect(function(i) if i.UserInputType==Enum.UserInputType.MouseMovement then di=i end end) uis.InputChanged:Connect(function(i) if i==di and d then local delta=i.Position-ds b.Position=UDim2.new(sp.X.Scale,sp.X.Offset+delta.X,sp.Y.Scale,sp.Y.Offset+delta.Y) end end) return b end local b1=makeBtn("Ring",20) local b2=makeBtn("Pursuer",180) local b3=makeBtn("Artful",340) b1.MouseButton1Click:Connect(function() playEmote(ring,false) end) b2.MouseButton1Click:Connect(function() playEmote(purs,true) end) b3.MouseButton1Click:Connect(function() playEmote(art,true) end) end if p.Character then go(p.Character) end p.CharacterAdded:Connect(go)