local Players = game:GetService("Players") local player = Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") local currentLevel = 0 local maxLevel = 20 local teleportDelay = 0.1 local running = false local lastLevel = -1 local stuckTime = 0 if playerGui:FindFirstChild("TeleportLevels") then playerGui.TeleportLevels:Destroy() end local gui = Instance.new("ScreenGui", playerGui) gui.Name = "TeleportLevels" gui.ResetOnSpawn = false local frame = Instance.new("Frame", gui) frame.Size = UDim2.new(0, 220, 0, 120) frame.Position = UDim2.new(0.5, -110, 0.2, 0) frame.BackgroundColor3 = Color3.fromRGB(10, 10, 10) frame.Active = true frame.Draggable = true Instance.new("UICorner", frame) local title = Instance.new("TextLabel", frame) title.Size = UDim2.new(1, 0, 0, 40) title.Text = "OASIS HUB AUTOFARM" title.TextColor3 = Color3.new(1, 1, 1) title.BackgroundTransparency = 1 title.Font = Enum.Font.GothamBold title.TextSize = 15 local toggleBtn = Instance.new("TextButton", frame) toggleBtn.Size = UDim2.new(0.8, 0, 0, 40) toggleBtn.Position = UDim2.new(0.1, 0, 0.5, 0) toggleBtn.Text = "START" toggleBtn.Font = Enum.Font.GothamBold toggleBtn.TextSize = 18 toggleBtn.TextColor3 = Color3.new(1, 1, 1) toggleBtn.BackgroundColor3 = Color3.fromRGB(255, 50, 50) Instance.new("UICorner", toggleBtn) local function teleport() local char = player.Character if not char or not char:FindFirstChild("Humanoid") or char.Humanoid.Health <= 0 then return false end local hrp = char:FindFirstChild("HumanoidRootPart") local hum = char:FindFirstChild("Humanoid") if not hrp or not hum then return false end local levelProps = workspace:FindFirstChild("Level Props") if not levelProps then return false end local levelFolder = levelProps:FindFirstChild(tostring(currentLevel)) if levelFolder then local finishFolder = levelFolder:FindFirstChild("Finish Platforms") if finishFolder then local targetPart = finishFolder:FindFirstChild(tostring(currentLevel)) if targetPart and targetPart:IsA("BasePart") then if lastLevel == currentLevel then stuckTime = stuckTime + 0.1 if stuckTime > 1.5 then hum.Jump = true hrp.CFrame = hrp.CFrame * CFrame.new(0, 0, -0.5) stuckTime = 0 end else stuckTime = 0 lastLevel = currentLevel end local cornerOffset = Vector3.new( targetPart.Size.X / 2, (targetPart.Size.Y / 2) + 1.2, targetPart.Size.Z / 2 ) hrp.CFrame = targetPart.CFrame * CFrame.new(cornerOffset) task.wait() hrp.CFrame = hrp.CFrame * CFrame.new(0, 0, 0.05) if firetouchinterest then firetouchinterest(hrp, targetPart, 0) task.wait() firetouchinterest(hrp, targetPart, 1) end return true end end end return false end toggleBtn.MouseButton1Click:Connect(function() running = not running toggleBtn.Text = running and "STOP" or "START" toggleBtn.BackgroundColor3 = running and Color3.fromRGB(50, 200, 50) or Color3.fromRGB(255, 50, 50) if running then task.spawn(function() while running do if teleport() then currentLevel += 1 if currentLevel > maxLevel then currentLevel = 0 lastLevel = -1 end end task.wait(teleportDelay) end end) end end)