I know to make this it involves with a comple animations and at the edge of the part you would have to add something that allows you to hold and move on it like this sort of script

setupCheck = game.ServerStorage:findFirstChild("Animations") if setupCheck == nil then error(script.Name .. " hasn't been setup!", 0) end -- Yes I really just did that

anims = game.ServerStorage.Animations:GetChildren()

game.Players.PlayerAdded:connect(function(player) function playAnimation(name) for i, anim in ipairs(anims) do if anim.Name:lower() == name:lower() then local b = player.Character.Humanoid:LoadAnimation(anim) b:Play() print(player.Name .. " played animation: " .. anim.Name) end end end

player.Chatted:connect(function(message)
	if message:sub(1, 3) == "/e " then
		local a = playAnimation(message:sub(4))
	end
end)

end)

I know its this again but can someone tell me what i would have to do?