local Players = game:GetService("Players") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local hrp = player.Character and player.Character:WaitForChild("HumanoidRootPart") or player.CharacterAdded:Wait():WaitForChild("HumanoidRootPart") local baseSpeed = 5 local maxSpeed = 1000 local offset = Vector3.new(0, 3, 0) RunService.RenderStepped:Connect(function(delta) local candies = workspace:FindFirstChild("CandyPickups") if not candies then return end for _, v in ipairs(candies:GetChildren()) do local part = (v:IsA("Model") and (v.PrimaryPart or v:FindFirstChildWhichIsA("BasePart"))) or v if part then local targetPos = hrp.Position + offset local direction = targetPos - part.Position local dist = direction.Magnitude if dist > 0.1 then local speed = math.clamp(dist * 3, baseSpeed, maxSpeed) local move = direction.Unit * math.min(speed * delta, dist) part.CFrame = CFrame.new(part.Position + move) end end end end)