
Keyless

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)
Really appricate it keep up the work!
@Nexteey thank you so much, took me 3 days to make
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"))()
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