local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local player = Players.LocalPlayer local character = player.Character or player.CharacterAdded:Wait() local humanoid = character:WaitForChild("Humanoid") local pacman = Instance.new("Model") pacman.Name = "Pacman" pacman.Parent = workspace local head = Instance.new("Part") head.Name = "Head" head.Shape = Enum.PartType.Ball head.Size = Vector3.new(2, 2, 2) head.Color = Color3.new(1, 1, 0) -- Yellow head.Anchored = false head.CanCollide = true head.Parent = pacman local mouth = Instance.new("Part") mouth.Name = "Mouth" mouth.Shape = Enum.PartType.Block mouth.Size = Vector3.new(1, 1, 1) mouth.Color = Color3.new(0, 0, 0) -- Black mouth.Anchored = true mouth.CanCollide = false mouth.Parent = pacman local mouthWeld = Instance.new("WeldConstraint") mouthWeld.Part0 = head mouthWeld.Part1 = mouth mouthWeld.Parent = head mouthWeld.C0 = CFrame.new(0, -0.5, 0) * CFrame.Angles(math.rad(45), 0, 0) local speed = 16 local direction = Vector3.new(1, 0, 0) local function updatePacmanPosition() local currentPosition = pacman.PrimaryPart.Position local newPosition = currentPosition + direction * speed pacman:SetPrimaryPartCFrame(CFrame.new(newPosition)) end pacman:SetPrimaryPartCFrame(character:GetPivot()) local runService = game:GetService("RunService") runService.Heartbeat:Connect(updatePacmanPosition) local function onCharacterAdded(newCharacter) character = newCharacter humanoid = character:WaitForChild("Humanoid") pacman:SetPrimaryPartCFrame(character:GetPivot()) end player.CharacterAdded:Connect(onCharacterAdded)