local Players = game:GetService("Players") local player = Players.LocalPlayer local character = player.Character or player.CharacterAdded:Wait() local hrp = character:WaitForChild("HumanoidRootPart") local TELEPORT_DELAY = 0.1 local RUNNING = true local function getCFrame(obj) if obj:IsA("Model") then if not obj.PrimaryPart then local part = obj:FindFirstChildWhichIsA("BasePart", true) if not part then return end obj.PrimaryPart = part end return obj.PrimaryPart.CFrame + Vector3.new(0, obj.PrimaryPart.Size.Y / 2 + 3, 0) elseif obj:IsA("BasePart") then return obj.CFrame + Vector3.new(0, obj.Size.Y / 2 + 3, 0) end end task.spawn(function() while RUNNING do for _, obj in ipairs(workspace:GetDescendants()) do if obj.Name == "Gift" then local cf = getCFrame(obj) if cf then hrp.CFrame = cf task.wait(TELEPORT_DELAY) end end end task.wait(0.05) end end)