local Players = game:GetService("Players") local player = Players.LocalPlayer -- Teleport function local function teleportParts(rootPart) local upCFrame = rootPart.CFrame * CFrame.new(0, 1, 0) local downCFrame = rootPart.CFrame * CFrame.new(0, -3, 0) for _, part in pairs(workspace:GetDescendants()) do if part:IsA("BasePart") and (part.Name == "3000PointsGiver" or part.Name == "100PointsGiver") then -- Move up part.CFrame = upCFrame end end task.wait(0.1) for _, part in pairs(workspace:GetDescendants()) do if part:IsA("BasePart") and (part.Name == "3000PointsGiver" or part.Name == "100PointsGiver") then -- Move down part.CFrame = downCFrame end end end -- Main loop after spawn local function startLoop(character) local rootPart = character:WaitForChild("HumanoidRootPart") task.spawn(function() while character and character:FindFirstChild("HumanoidRootPart") do teleportParts(rootPart) task.wait(0.1) -- repeat every 0.1s end end) end -- Hook into respawns if player.Character then startLoop(player.Character) end player.CharacterAdded:Connect(startLoop)