v0idhub by VoidStrykeX_
Key Required

v0idhub by VoidStrykeX_

+1 Wings for Brainrots rExploiterrExploiter 794 views 1.4K executesUpdated Sep 21, 2026
Unrated
00
Lua Script•1283 lines (41885 chars)
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

-- Dynamic UI Stroke for Borders
local mainStroke = Instance.new("UIStroke")
mainStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
mainStroke.Color = Color3.fromRGB(60, 65, 85)
mainStroke.Thickness = 1.5
mainStroke.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)
    
    button.TextColor3 = Color3.fromRGB(255, 255, 255)
    
    local textStroke = Instance.new("UIStroke")
    textStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Contextual
    textStroke.Color = Color3.fromRGB(0, 0, 0)
    textStroke.Thickness = 2
    textStroke.Transparency = 0
    textStroke.Parent = button

    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)

--------------------------------------------------
-- PAGE 3 (SETTINGS & APPEARANCE)
--------------------------------------------------

local page3Scroll = Instance.new("ScrollingFrame")
page3Scroll.Size = UDim2.new(1, 0, 1, 0)
page3Scroll.BackgroundTransparency = 1
page3Scroll.BorderSizePixel = 0
page3Scroll.ScrollBarThickness = 4
page3Scroll.ScrollBarImageColor3 = COLORS.Gray
page3Scroll.CanvasSize = UDim2.new(0, 0, 0, 450)
page3Scroll.Parent = page3

local settingsPanel = Instance.new("Frame")
settingsPanel.Size = UDim2.new(1, -10, 0, 430)
settingsPanel.Position = UDim2.new(0, 5, 0, 0)
settingsPanel.BackgroundColor3 = COLORS.Panel
settingsPanel.BorderSizePixel = 0
settingsPanel.Parent = page3Scroll

local settingsPanelCorner = Instance.new("UICorner")
settingsPanelCorner.CornerRadius = UDim.new(0, 10)
settingsPanelCorner.Parent = settingsPanel

local function createSettingHeader(text, posY)
    local lbl = Instance.new("TextLabel")
    lbl.Size = UDim2.new(1, -20, 0, 20)
    lbl.Position = UDim2.new(0, 10, 0, posY)
    lbl.BackgroundTransparency = 1
    lbl.Text = text
    lbl.TextColor3 = COLORS.Gray
    lbl.TextSize = 12
    lbl.Font = Enum.Font.GothamBold
    lbl.TextXAlignment = Enum.TextXAlignment.Left
    lbl.Parent = settingsPanel
    return lbl
end

-- 1. BACKGROUND COLOR CUSTOMIZER
createSettingHeader("BACKGROUND THEME", 10)

local bgThemes = {
    { Name = "Dark", Color = Color3.fromRGB(16, 17, 23) },
    { Name = "Midnight", Color = Color3.fromRGB(10, 12, 28) },
    { Name = "Vampire", Color = Color3.fromRGB(28, 10, 15) },
    { Name = "Forest", Color = Color3.fromRGB(10, 25, 18) },
    { Name = "Slate", Color = Color3.fromRGB(35, 38, 48) },
}

local bgIndex = 1
local bgBtn = createButton("Background: Dark", UDim2.new(0, 10, 0, 32), UDim2.new(0, 300, 0, 38), Color3.fromRGB(48, 50, 65), settingsPanel)

bgBtn.MouseButton1Click:Connect(function()
    bgIndex = (bgIndex % #bgThemes) + 1
    local selected = bgThemes[bgIndex]
    bgBtn.Text = "Background: " .. selected.Name
    TweenService:Create(frame, TweenInfo.new(0.3), { BackgroundColor3 = selected.Color }):Play()
end)

-- 2. TEXT COLOR CUSTOMIZER
createSettingHeader("TEXT COLOR", 80)

local textColors = {
    { Name = "Pure White", Color = Color3.fromRGB(245, 245, 250) },
    { Name = "Soft Yellow", Color = Color3.fromRGB(255, 240, 160) },
    { Name = "Cyan Glow", Color = Color3.fromRGB(160, 240, 255) },
    { Name = "Pink Glow", Color = Color3.fromRGB(255, 170, 220) },
    { Name = "Mint Green", Color = Color3.fromRGB(170, 255, 200) },
}

local textIdx = 1
local textBtn = createButton("Text Color: Pure White", UDim2.new(0, 10, 0, 102), UDim2.new(0, 300, 0, 38), Color3.fromRGB(48, 50, 65), settingsPanel)

local function updateAllTextColor(color)
    for _, obj in ipairs(gui:GetDescendants()) do
        if obj:IsA("TextLabel") or (obj:IsA("TextButton") and not obj:FindFirstChildOfClass("UIGradient")) then
            obj.TextColor3 = color
        end
    end
end

textBtn.MouseButton1Click:Connect(function()
    textIdx = (textIdx % #textColors) + 1
    local selected = textColors[textIdx]
    textBtn.Text = "Text Color: " .. selected.Name
    updateAllTextColor(selected.Color)
end)

-- 3. BORDER COLOR & STROKE CUSTOMIZER
createSettingHeader("BORDER / STROKE COLOR", 150)

local borderColors = {
    { Name = "Dark Gray", Color = Color3.fromRGB(60, 65, 85) },
    { Name = "Neon Blue", Color = Color3.fromRGB(0, 170, 255) },
    { Name = "Purple Flame", Color = Color3.fromRGB(170, 50, 255) },
    { Name = "Emerald", Color = Color3.fromRGB(50, 255, 120) },
    { Name = "Crimson", Color = Color3.fromRGB(255, 50, 70) },
    { Name = "Gold", Color = Color3.fromRGB(255, 200, 50) }
}

local borderIdx = 1
local borderBtn = createButton("Border Color: Dark Gray", UDim2.new(0, 10, 0, 172), UDim2.new(0, 300, 0, 38), Color3.fromRGB(48, 50, 65), settingsPanel)

borderBtn.MouseButton1Click:Connect(function()
    borderIdx = (borderIdx % #borderColors) + 1
    local selected = borderColors[borderIdx]
    borderBtn.Text = "Border Color: " .. selected.Name
    TweenService:Create(mainStroke, TweenInfo.new(0.3), { Color = selected.Color }):Play()
end)

-- 4. BORDER THICKNESS / CORNER RADIUS
createSettingHeader("BORDER STYLE & CORNERS", 220)

local cornerStyles = {
    { Name = "Rounded (Default)", Radius = 14 },
    { Name = "Extra Rounded", Radius = 22 },
    { Name = "Sharp / Square", Radius = 0 },
    { Name = "Subtle", Radius = 6 }
}

local cornerIdx = 1
local cornerBtn = createButton("Corners: Rounded (Default)", UDim2.new(0, 10, 0, 242), UDim2.new(0, 300, 0, 38), Color3.fromRGB(48, 50, 65), settingsPanel)

cornerBtn.MouseButton1Click:Connect(function()
    cornerIdx = (cornerIdx % #cornerStyles) + 1
    local selected = cornerStyles[cornerIdx]
    cornerBtn.Text = "Corners: " .. selected.Name
    frameCorner.CornerRadius = UDim.new(0, selected.Radius)
    headerCorner.CornerRadius = UDim.new(0, selected.Radius)
end)

--------------------------------------------------
-- 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)

Features & Information

❗⚠️Please turn god check off before pressing start, because it doesnt work otherwise, I am still working on the fix.⚠️❗ ----AUTOFARM AND TP---- Thanks for using this script, I finished it and might add some features later if i get ideas, write your recommendations in the comments please.
#free#mobile friendly#open source

Community Comments (4)

NexteeyNexteeySep 21, 2026

Really appricate it keep up the work!

Replying to @Nexteey
rExploiterrExploiterSep 21, 2026

@Nexteey thank you so much, took me 3 days to make

rExploiterrExploiterSep 21, 2026

YES, I AM WORKING ON IT AND I AM ADDING ANTI AFK, TILL THEN USE ANOTHER ONE LIKE THIS ONE: loadstring(game:HttpGet("https://rawscripts.net/raw/Universal-Script-Anti-AFK-V1-2432"))()

rExploiterrExploiterSep 21, 2026

ALSO IN THE SCRIPT YOU CAN FIND A SETTINGS THING, I ACTUALLY RECOMMEND SETTING IT UP LIKE THIS: -------------------------------------------------- -- SETTINGS -------------------------------------------------- local COSMIC_WAIT = 1 local PROMPT_WAIT = 1 local AFTER_PROMPT_WAIT = 0.5 local BASE_WAIT = 1 local UNEQUIP_WAIT = 1 local ROUTE_WAIT = 0.5

More Scripts for +1 Wings for Brainrots