Artful animation overhaul
Key Required

Artful animation overhaul

Artful's Marvelous Show! (Public Stage)imdisplayimdisplay 860 views 790 executesUpdated Mar 18, 2026
Unrated
00
Lua Script•174 lines (3569 chars)
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)

Features & Information

tested on solara and velocity (PC) hi normal people im here to uh show you my little script about replacing the french magician admin animation over your animation (artfully) the animation that's changed are idle, jump, fall, walk/run. also includes a bonus emote gui i could add a duo emote for this and pursuer's animation script but im too lazy pursuer and artful's emote sound aren't serversided, only you can hear it (or you can save the audio and play it though your mic if the game even has voice chat) 'for my next trick, i shall turn my animations into an animation script for scripters to use!'

Community Comments (0)

No comments yet for this script.

More Scripts for Artful's Marvelous Show! (Public Stage)