local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local Workspace = game:GetService("Workspace") local player = Players.LocalPlayer -------------------------------------------------- -- SETTINGS -------------------------------------------------- local COSMIC_WAIT = 2 local PROMPT_WAIT = 1 local AFTER_PROMPT_WAIT = 1 local BASE_WAIT = 1 local UNEQUIP_WAIT = 1 local ROUTE_WAIT = 1 -- Distance above each CollectTouch local COLLECT_TOUCH_HEIGHT = 5 -------------------------------------------------- -- FLOOR & TOGGLE SETTINGS -------------------------------------------------- -- Floor 1 is always enabled local floor2Enabled = false local floor3Enabled = false local godCheckEnabled = true -------------------------------------------------- -- LOCATIONS & CFRAMES -------------------------------------------------- local cosmicCFrame = CFrame.new( 34.0499878, -0.4796893, 6135.2002, 1, 0, 0, 0, 1, 0, 0, 0, 1 ) local GOD_CFRAME = CFrame.new( 33.5230179, -7.97965002, 10005.1328, 1, 0, 0, 0, 1, 0, 0, 0, 1 ) local BASE_CFRAME = CFrame.new(0, 10, 0) -- New Rarity CFrames local UNCOMMON_CFRAME = CFrame.new(35.0000076, 0.520349801, 295.302399, 1, 0, 0, 0, 1, 0, 0, 0, 1) local RARE_CFRAME = CFrame.new(31.6785355, -0.4796893, 516.226074, 1, 0, 0, 0, 1, 0, 0, 0, 1) local EPIC_CFRAME = CFrame.new(31.8499947, -0.4796893, 824.543701, 1, 0, 0, 0, 1, 0, 0, 0, 1) local LEGENDARY_CFRAME = CFrame.new(33.5999985, -0.4796893, 1253.24146, 1, 0, 0, 0, 1, 0, 0, 0, 1) local MYTHICAL_CFRAME = CFrame.new(31.3249931, -0.4796893, 1821.65002, 1, 0, 0, 0, 1, 0, 0, 0, 1) local SECRET_CFRAME = CFrame.new(32.1749802, -0.4796893, 2554.92554, 1, 0, 0, 0, 1, 0, 0, 0, 1) local CELESTIAL_CFRAME = CFrame.new(35.0499878, -0.4796893, 4051.85962, 1, 0, 0, 0, 1, 0, 0, 0, 1) local COSMIC_NEW_CFRAME = CFrame.new(34.0499878, -0.4796893, 6135.2002, 1, 0, 0, 0, 1, 0, 0, 0, 1) local GOD_NEW_CFRAME = CFrame.new(32.549984, -0.4796893, 10007.4473, 1, 0, 0, 0, 1, 0, 0, 0, 1) -------------------------------------------------- -- STATE -------------------------------------------------- local running = false local cycleCount = 0 local startTime = 0 local timerThread = nil -------------------------------------------------- -- HELPER FUNCTIONS -------------------------------------------------- local function teleportTo(cframe) local character = player.Character if character and character:FindFirstChild("HumanoidRootPart") then character.HumanoidRootPart.CFrame = cframe end end local function getTotalSelectedFloors() local count = 1 if floor2Enabled then count += 1 end if floor3Enabled then count += 1 end return count end -------------------------------------------------- -- GOD TELEPORT CHECK TASK (Runs only when START is active) -------------------------------------------------- local function performGodCheck() if not running or not godCheckEnabled then return end teleportTo(GOD_CFRAME) task.wait(1) if not running or not godCheckEnabled then return end local itemSpawners = Workspace:FindFirstChild("ItemSpawners") if itemSpawners then local godFolder = itemSpawners:FindFirstChild("God") if godFolder then local targetItem = godFolder:GetChildren()[1] if targetItem then if targetItem:IsA("BasePart") then teleportTo(targetItem.CFrame) elseif targetItem:IsA("Model") and targetItem.PrimaryPart then teleportTo(targetItem.PrimaryPart.CFrame) end task.wait(0.2) local prompt = targetItem:FindFirstChildWhichIsA("ProximityPrompt", true) if prompt then fireproximityprompt(prompt) end end end end task.wait(1) teleportTo(BASE_CFRAME) end task.spawn(function() while true do task.wait(60) if running and godCheckEnabled then performGodCheck() end end end) -------------------------------------------------- -- COLORS -------------------------------------------------- local COLORS = { Background = Color3.fromRGB(16, 17, 23), Header = Color3.fromRGB(24, 25, 34), Panel = Color3.fromRGB(29, 31, 42), White = Color3.fromRGB(245, 245, 250), Gray = Color3.fromRGB(155, 158, 175), Green = Color3.fromRGB(45, 195, 100), Red = Color3.fromRGB(220, 65, 70), Purple = Color3.fromRGB(145, 75, 230), Blue = Color3.fromRGB(65, 125, 225), Orange = Color3.fromRGB(235, 160, 55), TabNormal = Color3.fromRGB(35, 37, 50), TabSelected = Color3.fromRGB(20, 21, 29), Lime = Color3.fromRGB(50, 220, 80), Yellow = Color3.fromRGB(245, 205, 45) } -------------------------------------------------- -- GUI INITIALIZATION -------------------------------------------------- local gui = Instance.new("ScreenGui") gui.Name = "v0idhub" gui.ResetOnSpawn = false gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling gui.Parent = player:WaitForChild("PlayerGui") -------------------------------------------------- -- MAIN FRAME -------------------------------------------------- local frame = Instance.new("Frame") frame.Name = "MainFrame" frame.Size = UDim2.new(0, 420, 0, 570) frame.Position = UDim2.new(0.05, 0, 0.5, -285) frame.BackgroundColor3 = COLORS.Background frame.BorderSizePixel = 0 frame.Parent = gui local frameCorner = Instance.new("UICorner") frameCorner.CornerRadius = UDim.new(0, 14) frameCorner.Parent = frame -------------------------------------------------- -- HEADER -------------------------------------------------- local header = Instance.new("Frame") header.Size = UDim2.new(1, 0, 0, 58) header.BackgroundColor3 = COLORS.Header header.BorderSizePixel = 0 header.Parent = frame local headerCorner = Instance.new("UICorner") headerCorner.CornerRadius = UDim.new(0, 14) headerCorner.Parent = header local title = Instance.new("TextLabel") title.Size = UDim2.new(1, -120, 1, 0) title.Position = UDim2.new(0, 18, 0, 0) title.BackgroundTransparency = 1 title.Text = "> v0idhub" title.TextColor3 = COLORS.White title.TextSize = 18 title.Font = Enum.Font.GothamBold title.TextXAlignment = Enum.TextXAlignment.Left title.Parent = header local minimizeButton = Instance.new("TextButton") minimizeButton.Size = UDim2.new(0, 36, 0, 36) minimizeButton.Position = UDim2.new(1, -82, 0, 11) minimizeButton.BackgroundColor3 = Color3.fromRGB(48, 50, 65) minimizeButton.Text = "—" minimizeButton.TextColor3 = COLORS.White minimizeButton.TextSize = 20 minimizeButton.Font = Enum.Font.GothamBold minimizeButton.BorderSizePixel = 0 minimizeButton.Parent = header local minimizeCorner = Instance.new("UICorner") minimizeCorner.CornerRadius = UDim.new(0, 8) minimizeCorner.Parent = minimizeButton local closeButton = Instance.new("TextButton") closeButton.Size = UDim2.new(0, 36, 0, 36) closeButton.Position = UDim2.new(1, -41, 0, 11) closeButton.BackgroundColor3 = COLORS.Red closeButton.Text = "×" closeButton.TextColor3 = COLORS.White closeButton.TextSize = 23 closeButton.Font = Enum.Font.GothamBold closeButton.BorderSizePixel = 0 closeButton.Parent = header local closeCorner = Instance.new("UICorner") closeCorner.CornerRadius = UDim.new(0, 8) closeCorner.Parent = closeButton -------------------------------------------------- -- TAB CONTAINERS -------------------------------------------------- local tabSidebar = Instance.new("Frame") tabSidebar.Name = "TabSidebar" tabSidebar.Size = UDim2.new(0, 60, 1, -68) tabSidebar.Position = UDim2.new(0, 10, 0, 63) tabSidebar.BackgroundTransparency = 1 tabSidebar.Parent = frame local tabMainContainer = Instance.new("Frame") tabMainContainer.Name = "TabMainContainer" tabMainContainer.Size = UDim2.new(1, -80, 1, -68) tabMainContainer.Position = UDim2.new(0, 75, 0, 63) tabMainContainer.BackgroundTransparency = 1 tabMainContainer.ClipsDescendants = true tabMainContainer.Parent = frame local function createTabPage(name) local page = Instance.new("CanvasGroup") page.Name = name page.Size = UDim2.new(1, 0, 1, 0) page.Position = UDim2.new(0, 0, 0, 0) page.BackgroundTransparency = 1 page.GroupTransparency = 1 page.Visible = false page.Parent = tabMainContainer return page end local page1 = createTabPage("Page1") page1.Visible = true page1.GroupTransparency = 0 local page2 = createTabPage("Page2") local page3 = createTabPage("Page3") local tabButtons = {} local activePage = page1 local function switchTab(targetButton, targetPage) if activePage == targetPage then return end local oldPage = activePage activePage = targetPage for _, tabData in ipairs(tabButtons) do local isTarget = (tabData.Button == targetButton) local targetBg = isTarget and COLORS.TabSelected or COLORS.TabNormal TweenService:Create( tabData.Button, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), { BackgroundColor3 = targetBg } ):Play() end TweenService:Create( oldPage, TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.In), { GroupTransparency = 1, Position = UDim2.new(0, -15, 0, 0) } ):Play() task.delay(0.18, function() oldPage.Visible = false oldPage.Position = UDim2.new(0, 0, 0, 0) targetPage.Position = UDim2.new(0, 15, 0, 0) targetPage.GroupTransparency = 1 targetPage.Visible = true TweenService:Create( targetPage, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), { GroupTransparency = 0, Position = UDim2.new(0, 0, 0, 0) } ):Play() end) end local function createTabButton(text, position, pageFrame) local button = Instance.new("TextButton") button.Size = UDim2.new(0, 50, 0, 50) button.Position = position button.BackgroundColor3 = COLORS.TabNormal button.Text = "> " .. text button.TextColor3 = COLORS.White button.TextSize = 14 button.Font = Enum.Font.GothamBold button.BorderSizePixel = 0 button.AutoButtonColor = false button.Parent = tabSidebar local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 10) corner.Parent = button table.insert(tabButtons, { Button = button, Page = pageFrame }) button.MouseButton1Click:Connect(function() switchTab(button, pageFrame) end) return button end local tab1Btn = createTabButton("$", UDim2.new(0, 5, 0, 10), page1) tab1Btn.BackgroundColor3 = COLORS.TabSelected local tab2Btn = createTabButton("🌀", UDim2.new(0, 5, 0, 70), page2) local tab3Btn = createTabButton("⚙", UDim2.new(0, 5, 0, 130), page3) -------------------------------------------------- -- PAGE 1 CONTENT -------------------------------------------------- local statusPanel = Instance.new("Frame") statusPanel.Size = UDim2.new(1, -10, 0, 72) statusPanel.Position = UDim2.new(0, 5, 0, 0) statusPanel.BackgroundColor3 = COLORS.Panel statusPanel.BorderSizePixel = 0 statusPanel.Parent = page1 local statusCorner = Instance.new("UICorner") statusCorner.CornerRadius = UDim.new(0, 10) statusCorner.Parent = statusPanel local statusDot = Instance.new("Frame") statusDot.Size = UDim2.new(0, 12, 0, 12) statusDot.Position = UDim2.new(0, 15, 0, 17) statusDot.BackgroundColor3 = COLORS.Red statusDot.BorderSizePixel = 0 statusDot.Parent = statusPanel local statusDotCorner = Instance.new("UICorner") statusDotCorner.CornerRadius = UDim.new(1, 0) statusDotCorner.Parent = statusDot local statusLabel = Instance.new("TextLabel") statusLabel.Size = UDim2.new(1, -55, 0, 25) statusLabel.Position = UDim2.new(0, 38, 0, 8) statusLabel.BackgroundTransparency = 1 statusLabel.Text = "Stopped" statusLabel.TextColor3 = COLORS.White statusLabel.TextSize = 17 statusLabel.Font = Enum.Font.GothamBold statusLabel.TextXAlignment = Enum.TextXAlignment.Left statusLabel.Parent = statusPanel local actionLabel = Instance.new("TextLabel") actionLabel.Size = UDim2.new(1, -55, 0, 25) actionLabel.Position = UDim2.new(0, 38, 0, 34) actionLabel.BackgroundTransparency = 1 actionLabel.Text = "Waiting to start..." actionLabel.TextColor3 = COLORS.Gray actionLabel.TextSize = 13 actionLabel.Font = Enum.Font.Gotham actionLabel.TextXAlignment = Enum.TextXAlignment.Left actionLabel.Parent = statusPanel local infoPanel = Instance.new("Frame") infoPanel.Size = UDim2.new(1, -10, 0, 48) infoPanel.Position = UDim2.new(0, 5, 0, 82) infoPanel.BackgroundTransparency = 1 infoPanel.Parent = page1 local cycleLabel = Instance.new("TextLabel") cycleLabel.Size = UDim2.new(0.5, -5, 1, 0) cycleLabel.BackgroundColor3 = COLORS.Panel cycleLabel.Text = "Cycle: 0" cycleLabel.TextColor3 = COLORS.White cycleLabel.TextSize = 14 cycleLabel.Font = Enum.Font.GothamMedium cycleLabel.BorderSizePixel = 0 cycleLabel.Parent = infoPanel local cycleCorner = Instance.new("UICorner") cycleCorner.CornerRadius = UDim.new(0, 9) cycleCorner.Parent = cycleLabel local routeLabel = Instance.new("TextLabel") routeLabel.Size = UDim2.new(0.5, -5, 1, 0) routeLabel.Position = UDim2.new(0.5, 5, 0, 0) routeLabel.BackgroundColor3 = COLORS.Panel routeLabel.Text = "Route: 0 / 10" routeLabel.TextColor3 = COLORS.White routeLabel.TextSize = 14 routeLabel.Font = Enum.Font.GothamMedium routeLabel.BorderSizePixel = 0 routeLabel.Parent = infoPanel local routeCorner = Instance.new("UICorner") routeCorner.CornerRadius = UDim.new(0, 9) routeCorner.Parent = routeLabel local infoPanel2 = Instance.new("Frame") infoPanel2.Size = UDim2.new(1, -10, 0, 48) infoPanel2.Position = UDim2.new(0, 5, 0, 136) infoPanel2.BackgroundTransparency = 1 infoPanel2.Parent = page1 local timeLabel = Instance.new("TextLabel") timeLabel.Size = UDim2.new(0.5, -5, 1, 0) timeLabel.BackgroundColor3 = COLORS.Panel timeLabel.Text = "Time: 00:00" timeLabel.TextColor3 = COLORS.White timeLabel.TextSize = 14 timeLabel.Font = Enum.Font.GothamMedium timeLabel.BorderSizePixel = 0 timeLabel.Parent = infoPanel2 local timeCorner = Instance.new("UICorner") timeCorner.CornerRadius = UDim.new(0, 9) timeCorner.Parent = timeLabel local floorLabel = Instance.new("TextLabel") floorLabel.Size = UDim2.new(0.5, -5, 1, 0) floorLabel.Position = UDim2.new(0.5, 5, 0, 0) floorLabel.BackgroundColor3 = COLORS.Panel floorLabel.Text = "Floor: 1/1" floorLabel.TextColor3 = COLORS.White floorLabel.TextSize = 14 floorLabel.Font = Enum.Font.GothamMedium floorLabel.BorderSizePixel = 0 floorLabel.Parent = infoPanel2 local floorCorner = Instance.new("UICorner") floorCorner.CornerRadius = UDim.new(0, 9) floorCorner.Parent = floorLabel local floorPanel = Instance.new("Frame") floorPanel.Size = UDim2.new(1, -10, 0, 130) floorPanel.Position = UDim2.new(0, 5, 0, 190) floorPanel.BackgroundColor3 = COLORS.Panel floorPanel.BorderSizePixel = 0 floorPanel.Parent = page1 local floorPanelCorner = Instance.new("UICorner") floorPanelCorner.CornerRadius = UDim.new(0, 10) floorPanelCorner.Parent = floorPanel local floorTitle = Instance.new("TextLabel") floorTitle.Size = UDim2.new(1, -20, 0, 25) floorTitle.Position = UDim2.new(0, 10, 0, 5) floorTitle.BackgroundTransparency = 1 floorTitle.Text = "CONFIGURATIONS" floorTitle.TextColor3 = COLORS.Gray floorTitle.TextSize = 12 floorTitle.Font = Enum.Font.GothamBold floorTitle.TextXAlignment = Enum.TextXAlignment.Left floorTitle.Parent = floorPanel local function createToggle(text, position, enabled, parent, size) local button = Instance.new("TextButton") button.Size = size or UDim2.new(0, 145, 0, 38) button.Position = position button.BackgroundColor3 = enabled and COLORS.Green or Color3.fromRGB(48, 50, 65) button.Text = text .. " " .. (enabled and "ON" or "OFF") button.TextColor3 = COLORS.White button.TextSize = 13 button.Font = Enum.Font.GothamBold button.BorderSizePixel = 0 button.AutoButtonColor = false button.Parent = parent or floorPanel local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = button return button end local floor2Button = createToggle("Floor 2", UDim2.new(0, 10, 0, 35), floor2Enabled) local floor3Button = createToggle("Floor 3", UDim2.new(0, 165, 0, 35), floor3Enabled) local godCheckButton = createToggle("God Check", UDim2.new(0, 10, 0, 80), godCheckEnabled, floorPanel, UDim2.new(0, 300, 0, 38)) local function updateFloorToggle(button, floorNumber, enabled) button.BackgroundColor3 = enabled and COLORS.Green or Color3.fromRGB(48, 50, 65) button.Text = "Floor " .. floorNumber .. " " .. (enabled and "ON" or "OFF") end local function getTotalRouteCount() local total = 10 if floor2Enabled then total += 10 end if floor3Enabled then total += 10 end return total end local function updateRoute(index) routeLabel.Text = "Route: " .. index .. " / " .. getTotalRouteCount() end local function resetRoute() routeLabel.Text = "Route: 0 / " .. getTotalRouteCount() end local function updateCurrentFloorDisplay(current) local totalSelected = getTotalSelectedFloors() if current then floorLabel.Text = "Floor: " .. current .. "/" .. totalSelected else floorLabel.Text = "Floor: 1/" .. totalSelected end end floor2Button.MouseButton1Click:Connect(function() if running then return end floor2Enabled = not floor2Enabled updateFloorToggle(floor2Button, 2, floor2Enabled) resetRoute() updateCurrentFloorDisplay(nil) end) floor3Button.MouseButton1Click:Connect(function() if running then return end floor3Enabled = not floor3Enabled updateFloorToggle(floor3Button, 3, floor3Enabled) resetRoute() updateCurrentFloorDisplay(nil) end) godCheckButton.MouseButton1Click:Connect(function() godCheckEnabled = not godCheckEnabled godCheckButton.BackgroundColor3 = godCheckEnabled and COLORS.Green or Color3.fromRGB(48, 50, 65) godCheckButton.Text = "God Check " .. (godCheckEnabled and "ON" or "OFF") end) -------------------------------------------------- -- BUTTON CREATOR -------------------------------------------------- local function createButton(text, position, size, color, parent) local button = Instance.new("TextButton") button.Size = size button.Position = position button.BackgroundColor3 = color or COLORS.Panel button.Text = text button.TextColor3 = COLORS.White button.TextSize = 15 button.Font = Enum.Font.GothamBold button.BorderSizePixel = 0 button.AutoButtonColor = false button.Parent = parent local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 9) corner.Parent = button if color then local normalColor = color local hoverColor = color:Lerp(Color3.fromRGB(255, 255, 255), 0.12) button.MouseEnter:Connect(function() TweenService:Create(button, TweenInfo.new(0.15), { BackgroundColor3 = hoverColor }):Play() end) button.MouseLeave:Connect(function() TweenService:Create(button, TweenInfo.new(0.15), { BackgroundColor3 = normalColor }):Play() end) end return button end local startButton = createButton("> START", UDim2.new(0, 5, 0, 332), UDim2.new(0, 155, 0, 43), COLORS.Green, page1) local stopButton = createButton("■ STOP", UDim2.new(0, 165, 0, 332), UDim2.new(0, 155, 0, 43), COLORS.Red, page1) local resetButton = createButton("↻ RESET COUNTER", UDim2.new(0, 5, 0, 384), UDim2.new(0, 315, 0, 43), COLORS.Orange, page1) -------------------------------------------------- -- PAGE 2 (TELEPORTS) - SCROLLABLE CONTAINER -------------------------------------------------- local page2Scroll = Instance.new("ScrollingFrame") page2Scroll.Size = UDim2.new(1, 0, 1, 0) page2Scroll.BackgroundTransparency = 1 page2Scroll.BorderSizePixel = 0 page2Scroll.ScrollBarThickness = 4 page2Scroll.ScrollBarImageColor3 = COLORS.Gray page2Scroll.CanvasSize = UDim2.new(0, 0, 0, 530) page2Scroll.Parent = page2 local function createGradientButton(text, position, size, sequence, parent) local button = createButton(text, position, size, Color3.fromRGB(255, 255, 255), parent) local gradient = Instance.new("UIGradient") gradient.Color = sequence gradient.Rotation = 45 gradient.Parent = button return button end -- Teleport Buttons setup local baseButton = createButton("> BASE", UDim2.new(0, 5, 0, 0), UDim2.new(0, 315, 0, 43), COLORS.Blue, page2Scroll) local uncommonButton = createButton("> UNCOMMON", UDim2.new(0, 5, 0, 52), UDim2.new(0, 315, 0, 43), COLORS.Lime, page2Scroll) local rareButton = createButton("> RARE", UDim2.new(0, 5, 0, 104), UDim2.new(0, 315, 0, 43), COLORS.Blue, page2Scroll) local epicButton = createButton("> EPIC", UDim2.new(0, 5, 0, 156), UDim2.new(0, 315, 0, 43), COLORS.Purple, page2Scroll) local legendaryButton = createButton("> LEGENDARY", UDim2.new(0, 5, 0, 208), UDim2.new(0, 315, 0, 43), COLORS.Orange, page2Scroll) local mythicalButton = createButton("> MYTHICAL", UDim2.new(0, 5, 0, 260), UDim2.new(0, 315, 0, 43), COLORS.Red, page2Scroll) local secretGradient = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(20, 20, 20)), ColorSequenceKeypoint.new(1, Color3.fromRGB(240, 240, 240)) }) local secretButton = createGradientButton("> SECRET", UDim2.new(0, 5, 0, 312), UDim2.new(0, 315, 0, 43), secretGradient, page2Scroll) local celestialGradient = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 220, 0)), ColorSequenceKeypoint.new(1, Color3.fromRGB(255, 120, 0)) }) local celestialButton = createGradientButton("> CELESTIAL", UDim2.new(0, 5, 0, 364), UDim2.new(0, 315, 0, 43), celestialGradient, page2Scroll) local cosmicGradient = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(130, 40, 240)), ColorSequenceKeypoint.new(0.5, Color3.fromRGB(40, 120, 240)), ColorSequenceKeypoint.new(1, Color3.fromRGB(240, 60, 180)) }) local cosmicTierButton = createGradientButton("> COSMIC", UDim2.new(0, 5, 0, 416), UDim2.new(0, 315, 0, 43), cosmicGradient, page2Scroll) local godButton = createButton("> GOD", UDim2.new(0, 5, 0, 468), UDim2.new(0, 315, 0, 43), COLORS.Yellow, page2Scroll) -------------------------------------------------- -- MINIMIZED BAR -------------------------------------------------- local minimizedBar = Instance.new("TextButton") minimizedBar.Size = UDim2.new(0, 230, 0, 45) minimizedBar.Position = UDim2.new(0.05, 0, 0.5, -22) minimizedBar.BackgroundColor3 = COLORS.Header minimizedBar.Text = "> v0idhub" minimizedBar.TextColor3 = COLORS.White minimizedBar.TextSize = 15 minimizedBar.Font = Enum.Font.GothamBold minimizedBar.BorderSizePixel = 0 minimizedBar.Visible = false minimizedBar.Parent = gui local minimizedCorner = Instance.new("UICorner") minimizedCorner.CornerRadius = UDim.new(0, 10) minimizedCorner.Parent = minimizedBar -------------------------------------------------- -- GUI FUNCTIONS & TIMER SYSTEM -------------------------------------------------- local function setStatus(status, action, color) statusLabel.Text = status actionLabel.Text = action statusDot.BackgroundColor3 = color end local function updateCycle() cycleLabel.Text = "Cycle: " .. cycleCount end local function startTimer() startTime = os.time() timerThread = task.spawn(function() while running do local elapsed = os.time() - startTime local minutes = math.floor(elapsed / 60) local seconds = elapsed % 60 timeLabel.Text = string.format("Time: %02d:%02d", minutes, seconds) task.wait(1) end end) end local function stopTimer() if timerThread then task.cancel(timerThread) timerThread = nil end timeLabel.Text = "Time: 00:00" end -------------------------------------------------- -- MINIMIZE / RESTORE / CLOSE -------------------------------------------------- minimizeButton.MouseButton1Click:Connect(function() frame.Visible = false minimizedBar.Visible = true end) minimizedBar.MouseButton1Click:Connect(function() minimizedBar.Visible = false frame.Visible = true end) closeButton.MouseButton1Click:Connect(function() running = false stopTimer() gui:Destroy() end) -------------------------------------------------- -- RESET COUNTER -------------------------------------------------- resetButton.MouseButton1Click:Connect(function() cycleCount = 0 updateCycle() resetRoute() if running then setStatus("Running", "Counter reset.", COLORS.Green) else setStatus("Stopped", "Waiting to start...", COLORS.Red) end end) -------------------------------------------------- -- DRAGGING LOGIC -------------------------------------------------- local dragging = false local dragStart local startPosition header.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPosition = frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) UserInputService.InputChanged:Connect(function(input) if not dragging then return end if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then local delta = input.Position - dragStart frame.Position = UDim2.new( startPosition.X.Scale, startPosition.X.Offset + delta.X, startPosition.Y.Scale, startPosition.Y.Offset + delta.Y ) end end) -------------------------------------------------- -- TELEPORT & PLOT UTILITIES -------------------------------------------------- local function teleport(cframe) local character = player.Character or player.CharacterAdded:Wait() local root = character:WaitForChild("HumanoidRootPart") root.CFrame = cframe end local function getPlayerPlot() local plots = Workspace:WaitForChild("Plots") local plot = plots:WaitForChild("Plot_" .. player.Name) return plot end local function teleportToPlayerPlot() local plot = getPlayerPlot() if plot:IsA("Model") then local pivot = plot:GetPivot() teleport(pivot + Vector3.new(0, 3, 0)) return true end local part = plot:FindFirstChildWhichIsA("BasePart", true) if not part then return false end teleport(part.CFrame + Vector3.new(0, 3, 0)) return true end local function getCollectTouch(floorNumber, slotNumber) local plot = getPlayerPlot() local floor = plot:WaitForChild("Floor" .. floorNumber) local slots = floor:WaitForChild("Slots") local slot = slots:WaitForChild("Slot" .. slotNumber) local collectTouch = slot:WaitForChild("CollectTouch") return collectTouch end local function teleportToCollectTouch(floorNumber, slotNumber) local collectTouch = getCollectTouch(floorNumber, slotNumber) if not collectTouch:IsA("BasePart") then return false end local character = player.Character or player.CharacterAdded:Wait() local root = character:WaitForChild("HumanoidRootPart") local topY = collectTouch.Position.Y + (collectTouch.Size.Y / 2) local targetPosition = Vector3.new( collectTouch.Position.X, topY + COLLECT_TOUCH_HEIGHT, collectTouch.Position.Z ) root.CFrame = CFrame.new(targetPosition) return true end -------------------------------------------------- -- COSMIC UTILITIES -------------------------------------------------- local function getCosmicEntities() local entities = {} local itemSpawners = Workspace:FindFirstChild("ItemSpawners") if not itemSpawners then return entities end local cosmicSpawner = itemSpawners:FindFirstChild("Cosmic") if not cosmicSpawner then return entities end for _, object in ipairs(cosmicSpawner:GetChildren()) do if object:IsA("Model") or object:IsA("Folder") then table.insert(entities, object) end end return entities end local function getEntityPosition(entity) if entity:IsA("Model") then if entity.PrimaryPart then return entity.PrimaryPart.Position end local root = entity:FindFirstChild("HumanoidRootPart") if root and root:IsA("BasePart") then return root.Position end end local part = entity:FindFirstChildWhichIsA("BasePart", true) if part then return part.Position end return nil end local function getPrompt(entity) return entity:FindFirstChildWhichIsA("ProximityPrompt", true) end local function collectRandomCosmic() local entities = getCosmicEntities() if #entities == 0 then setStatus("Stopped", "No Cosmic entities found.", COLORS.Red) return false end local entity = entities[math.random(1, #entities)] local position = getEntityPosition(entity) if not position then setStatus("Stopped", "Cosmic has no valid position.", COLORS.Red) return false end setStatus("Running", "Teleporting to random Cosmic...", COLORS.Purple) teleport(CFrame.new(position + Vector3.new(0, 3, 0))) task.wait(PROMPT_WAIT) if not running then return false end local prompt = getPrompt(entity) if not prompt then setStatus("Stopped", "No ProximityPrompt found.", COLORS.Red) return false end setStatus("Running", "Collecting Cosmic...", COLORS.Purple) prompt:InputHoldBegin() task.wait(prompt.HoldDuration) prompt:InputHoldEnd() if not running then return false end setStatus("Running", "Cosmic collected.", COLORS.Green) task.wait(AFTER_PROMPT_WAIT) return true end local function getEnabledFloors() local floors = { 1 } if floor2Enabled then table.insert(floors, 2) end if floor3Enabled then table.insert(floors, 3) end return floors end -------------------------------------------------- -- START MAIN LOOP -------------------------------------------------- startButton.MouseButton1Click:Connect(function() if running then setStatus("Running", "Already running.", COLORS.Green) return end running = true startTimer() task.spawn(function() while running do cycleCount += 1 updateCycle() resetRoute() updateCurrentFloorDisplay(nil) setStatus("Running", "Teleporting to Cosmic...", COLORS.Purple) teleport(cosmicCFrame) if not running then break end setStatus("Running", "Waiting at Cosmic...", COLORS.Purple) task.wait(COSMIC_WAIT) if not running then break end local success = collectRandomCosmic() if not running or not success then running = false break end setStatus("Running", "Teleporting to Player Plot...", COLORS.Blue) local plotSuccess, plotResult = pcall(function() return teleportToPlayerPlot() end) if not plotSuccess or not plotResult then setStatus("Stopped", "Could not find Player Plot.", COLORS.Red) running = false break end if not running then break end setStatus("Running", "At Player Plot...", COLORS.Blue) task.wait(BASE_WAIT) if not running then break end setStatus("Running", "Unequipping current tool...", COLORS.Orange) local character = player.Character or player.CharacterAdded:Wait() local humanoid = character:FindFirstChildOfClass("Humanoid") if humanoid then humanoid:UnequipTools() end task.wait(UNEQUIP_WAIT) if not running then break end local enabledFloors = getEnabledFloors() local routeIndex = 0 for _, floorNumber in ipairs(enabledFloors) do if not running then break end updateCurrentFloorDisplay(floorNumber) for slotNumber = 1, 10 do if not running then break end routeIndex += 1 updateRoute(routeIndex) setStatus("Running", "Floor " .. floorNumber .. " • Slot " .. slotNumber .. "/10...", COLORS.Blue) local teleportSuccess, teleportResult = pcall(function() return teleportToCollectTouch(floorNumber, slotNumber) end) if not teleportSuccess or not teleportResult then setStatus("Stopped", "Could not teleport to Floor " .. floorNumber .. " Slot " .. slotNumber .. ".", COLORS.Red) running = false break end task.wait(ROUTE_WAIT) end end if not running then break end updateCurrentFloorDisplay(nil) setStatus("Running", "Route complete. Restarting...", COLORS.Green) task.wait(ROUTE_WAIT) end running = false stopTimer() updateCurrentFloorDisplay(nil) end) end) -------------------------------------------------- -- CONTROL BUTTON ACTIONS -------------------------------------------------- stopButton.MouseButton1Click:Connect(function() if not running then setStatus("Stopped", "Already stopped.", COLORS.Red) return end running = false stopTimer() resetRoute() updateCurrentFloorDisplay(nil) setStatus("Stopped", "Teleport loop stopped.", COLORS.Red) end) baseButton.MouseButton1Click:Connect(function() if running then return end local success, result = pcall(function() return teleportToPlayerPlot() end) if not success or not result then setStatus("Stopped", "Could not find Player Plot.", COLORS.Red) return end setStatus("Stopped", "Manually teleported to Player Plot.", COLORS.Blue) end) uncommonButton.MouseButton1Click:Connect(function() if running then return end teleport(UNCOMMON_CFRAME) setStatus("Stopped", "Teleported to Uncommon.", COLORS.Lime) end) rareButton.MouseButton1Click:Connect(function() if running then return end teleport(RARE_CFRAME) setStatus("Stopped", "Teleported to Rare.", COLORS.Blue) end) epicButton.MouseButton1Click:Connect(function() if running then return end teleport(EPIC_CFRAME) setStatus("Stopped", "Teleported to Epic.", COLORS.Purple) end) legendaryButton.MouseButton1Click:Connect(function() if running then return end teleport(LEGENDARY_CFRAME) setStatus("Stopped", "Teleported to Legendary.", COLORS.Orange) end) mythicalButton.MouseButton1Click:Connect(function() if running then return end teleport(MYTHICAL_CFRAME) setStatus("Stopped", "Teleported to Mythical.", COLORS.Red) end) secretButton.MouseButton1Click:Connect(function() if running then return end teleport(SECRET_CFRAME) setStatus("Stopped", "Teleported to Secret.", COLORS.White) end) celestialButton.MouseButton1Click:Connect(function() if running then return end teleport(CELESTIAL_CFRAME) setStatus("Stopped", "Teleported to Celestial.", COLORS.Orange) end) cosmicTierButton.MouseButton1Click:Connect(function() if running then return end teleport(COSMIC_NEW_CFRAME) setStatus("Stopped", "Teleported to Cosmic.", COLORS.Purple) end) godButton.MouseButton1Click:Connect(function() if running then return end teleport(GOD_NEW_CFRAME) setStatus("Stopped", "Teleported to God.", COLORS.Yellow) end) -------------------------------------------------- -- INITIAL STATUS -------------------------------------------------- setStatus("Stopped", "Waiting to start...", COLORS.Red) updateCycle() resetRoute() updateCurrentFloorDisplay(nil)