
Keyless

local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local player = Players.LocalPlayer
local correctKey = "unepic" -- the key required to unlock the GUI
-- FUNCTION TO CREATE MAIN HUB
local function createHub()
-- Remove reopen button if exists
if player.PlayerGui:FindFirstChild("ReopenButton") then
player.PlayerGui.ReopenButton:Destroy()
end
-- MAIN GUI
local gui = Instance.new("ScreenGui")
gui.Name = "SkyboxHubRed"
gui.ResetOnSpawn = false
gui.Parent = player.PlayerGui
-- Main frame
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 380, 0, 500)
frame.Position = UDim2.new(0.5, -190, 0.5, -250)
frame.BackgroundColor3 = Color3.fromRGB(50,0,0)
frame.Active = true
frame.Parent = gui
Instance.new("UICorner", frame).CornerRadius = UDim.new(0,16)
-- Dragging logic
local dragging, dragInput, dragStart, startPos
local function update(input)
local delta = input.Position - dragStart
frame.Position = UDim2.new(0, startPos.X + delta.X, 0, startPos.Y + delta.Y)
end
frame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
dragStart = input.Position
startPos = Vector2.new(frame.Position.X.Offset, frame.Position.Y.Offset)
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
frame.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement then
dragInput = input
end
end)
UserInputService.InputChanged:Connect(function(input)
if input == dragInput and dragging then
update(input)
end
end)
-- Background texture
local texture = Instance.new("ImageLabel")
texture.Size = UDim2.new(1,0,1,0)
texture.BackgroundTransparency = 1
texture.Image = "rbxassetid://13721258123" -- your red texture ID
texture.ImageTransparency = 0.8
texture.ScaleType = Enum.ScaleType.Tile
texture.Parent = frame
-- Title
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1,0,0,50)
title.Position = UDim2.new(0,0,0,0)
title.BackgroundTransparency = 1
title.Text = "Skybox Odyssey Teleports"
title.TextColor3 = Color3.new(1,1,1)
title.TextScaled = true
title.Font = Enum.Font.GothamBlack
title.Parent = frame
-- Scrolling frame
local scroll = Instance.new("ScrollingFrame")
scroll.Size = UDim2.new(0.9,0,0.8,0)
scroll.Position = UDim2.new(0.05,0,0.15,0)
scroll.BackgroundTransparency = 1
scroll.BorderSizePixel = 0
scroll.ScrollBarThickness = 10
scroll.ScrollBarImageColor3 = Color3.fromRGB(255,80,80)
scroll.CanvasSize = UDim2.new(0,0,0,0)
scroll.Parent = frame
local layout = Instance.new("UIListLayout", scroll)
layout.Padding = UDim.new(0,10)
layout.SortOrder = Enum.SortOrder.LayoutOrder
-- Teleport function
local function teleport(x,y,z)
local hrp = player.Character and player.Character:FindFirstChild("HumanoidRootPart")
if hrp then
hrp.CFrame = CFrame.new(x,y,z)
end
end
-- Spawn button at top
local spawnContainer = Instance.new("Frame")
spawnContainer.Size = UDim2.new(1,0,0,45)
spawnContainer.BackgroundColor3 = Color3.fromRGB(150,0,0)
spawnContainer.BackgroundTransparency = 0.1
spawnContainer.Parent = scroll
Instance.new("UICorner", spawnContainer).CornerRadius = UDim.new(0,12)
local spawnBtn = Instance.new("TextButton")
spawnBtn.Size = UDim2.new(1,0,1,0)
spawnBtn.BackgroundTransparency = 1
spawnBtn.Text = "Teleport to Spawn"
spawnBtn.TextColor3 = Color3.fromRGB(255,255,255)
spawnBtn.TextScaled = true
spawnBtn.Font = Enum.Font.GothamBold
spawnBtn.Parent = spawnContainer
spawnBtn.MouseButton1Click:Connect(function()
teleport(0,10,0)
end)
-- Teleport destinations with names
local teleportDestinations = {
{name="Black Box", pos=Vector3.new(1008546,10,0)},
{name="Color Box", pos=Vector3.new(5053636,10,0)},
{name="Player Box", pos=Vector3.new(7087242,10,0)},
{name="Texture Box", pos=Vector3.new(11178325,10,0)},
{name="Grey Box", pos=Vector3.new(15158294,10,0)},
{name="Red Box", pos=Vector3.new(22271252,10,0)},
{name="Truss Box", pos=Vector3.new(24063234,10,0)},
{name="Hacker Box", pos=Vector3.new(27292114,10,0)},
{name="Blue Box", pos=Vector3.new(31997342,10,0)},
{name="White Box", pos=Vector3.new(36280048,10,0)},
{name="Screenshot Box", pos=Vector3.new(40673632,10,0)},
{name="Data Box", pos=Vector3.new(41379788,10,0)},
}
for _, dest in ipairs(teleportDestinations) do
local container = Instance.new("Frame")
container.Size = UDim2.new(1,0,0,60)
container.BackgroundColor3 = Color3.fromRGB(180,0,0)
container.BackgroundTransparency = 0.1
container.Parent = scroll
Instance.new("UICorner", container).CornerRadius = UDim.new(0,12)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(1,0,1,0)
btn.BackgroundTransparency = 1
btn.Text = dest.name
btn.TextColor3 = Color3.new(1,1,1)
btn.TextScaled = true
btn.Font = Enum.Font.GothamBold
btn.Parent = container
btn.MouseButton1Click:Connect(function()
teleport(dest.pos.X,dest.pos.Y,dest.pos.Z)
end)
end
-- Update scroll canvas
layout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
scroll.CanvasSize = UDim2.new(0,0,0,layout.AbsoluteContentSize.Y)
end)
-- Close button
local closeBtn = Instance.new("TextButton")
closeBtn.Size = UDim2.new(0,40,0,40)
closeBtn.Position = UDim2.new(1,-48,0,8)
closeBtn.BackgroundColor3 = Color3.fromRGB(220,20,20)
closeBtn.Text = "X"
closeBtn.TextColor3 = Color3.new(1,1,1)
closeBtn.TextScaled = true
Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(1,0)
closeBtn.Parent = frame
closeBtn.MouseButton1Click:Connect(function()
gui:Destroy()
-- Create small reopen button
local reopenGui = Instance.new("ScreenGui")
reopenGui.Name = "ReopenButton"
reopenGui.ResetOnSpawn = false
reopenGui.Parent = player.PlayerGui
local reopenBtn = Instance.new("TextButton")
reopenBtn.Size = UDim2.new(0,60,0,60)
reopenBtn.Position = UDim2.new(0.5, -30, 0, 20)
reopenBtn.BackgroundColor3 = Color3.fromRGB(255,50,50)
reopenBtn.Text = "⟳"
reopenBtn.TextColor3 = Color3.new(1,1,1)
reopenBtn.TextScaled = true
reopenBtn.Font = Enum.Font.GothamBold
reopenBtn.Parent = reopenGui
Instance.new("UICorner", reopenBtn).CornerRadius = UDim.new(1,0)
reopenBtn.MouseButton1Click:Connect(function()
reopenGui:Destroy()
createHub()
end)
end)
-- Toggle GUI with Insert
UserInputService.InputBegan:Connect(function(input, gp)
if gp then return end
if input.KeyCode == Enum.KeyCode.Insert then
gui.Enabled = not gui.Enabled
end
end)
end
-- KEY ENTRY GUI
local keyGui = Instance.new("ScreenGui")
keyGui.Name = "SkyboxKey"
keyGui.ResetOnSpawn = false
keyGui.Parent = player.PlayerGui
local keyFrame = Instance.new("Frame")
keyFrame.Size = UDim2.new(0, 300, 0, 150)
keyFrame.Position = UDim2.new(0.5, -150, 0.5, -75)
keyFrame.BackgroundColor3 = Color3.fromRGB(30,30,30)
keyFrame.Parent = keyGui
Instance.new("UICorner", keyFrame).CornerRadius = UDim.new(0,12)
local keyTitle = Instance.new("TextLabel")
keyTitle.Size = UDim2.new(1,0,0,40)
keyTitle.Position = UDim2.new(0,0,0,10)
keyTitle.BackgroundTransparency = 1
keyTitle.Text = "Enter Key to Access Hub"
keyTitle.TextColor3 = Color3.fromRGB(255,255,255)
keyTitle.TextScaled = true
keyTitle.Font = Enum.Font.GothamBold
keyTitle.Parent = keyFrame
local keyBox = Instance.new("TextBox")
keyBox.Size = UDim2.new(0.8,0,0,40)
keyBox.Position = UDim2.new(0.1,0,0,60)
keyBox.PlaceholderText = "Enter key..."
keyBox.ClearTextOnFocus = true
keyBox.TextScaled = true
keyBox.Font = Enum.Font.Gotham
keyBox.TextColor3 = Color3.fromRGB(255,255,255)
keyBox.BackgroundColor3 = Color3.fromRGB(50,0,0)
keyBox.Parent = keyFrame
Instance.new("UICorner", keyBox).CornerRadius = UDim.new(0,8)
local submitBtn = Instance.new("TextButton")
submitBtn.Size = UDim2.new(0.4,0,0,35)
submitBtn.Position = UDim2.new(0.3,0,0,110)
submitBtn.Text = "Submit"
submitBtn.TextScaled = true
submitBtn.Font = Enum.Font.GothamBold
submitBtn.TextColor3 = Color3.fromRGB(255,255,255)
submitBtn.BackgroundColor3 = Color3.fromRGB(80,0,0)
submitBtn.Parent = keyFrame
Instance.new("UICorner", submitBtn).CornerRadius = UDim.new(0,8)
-- Submit key button
submitBtn.MouseButton1Click:Connect(function()
if keyBox.Text:lower() == correctKey then
keyGui:Destroy()
createHub()
else
keyBox.Text = ""
keyBox.PlaceholderText = "Wrong key!"
end
end)
Names are broken
Btw key is unepic