
KeylessUniversal

local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local oldGui = playerGui:FindFirstChild("MidnightRobloxGui")
if oldGui then
oldGui:Destroy()
end
local COLORS = {
Background = Color3.fromRGB(8, 10, 18),
Panel = Color3.fromRGB(17, 20, 34),
PanelLight = Color3.fromRGB(25, 29, 48),
PanelSoft = Color3.fromRGB(20, 24, 40),
Border = Color3.fromRGB(45, 49, 70),
Text = Color3.fromRGB(232, 235, 250),
Muted = Color3.fromRGB(126, 132, 160),
Accent = Color3.fromRGB(112, 92, 255),
Accent2 = Color3.fromRGB(54, 213, 255),
Dark = Color3.fromRGB(8, 10, 20)
}
local activeTab = "AIM"
local tabs = { "AIM", "ESP", "MOVEMENT" }
local tabButtons = {}
local function create(className, props, parent)
local object = Instance.new(className)
for property, value in pairs(props or {}) do
object[property] = value
end
if parent then
object.Parent = parent
end
return object
end
local function addCorner(parent, radius)
create("UICorner", {
CornerRadius = UDim.new(0, radius or 10)
}, parent)
end
local function addStroke(parent, color, thickness, transparency)
create("UIStroke", {
Color = color or COLORS.Border,
Thickness = thickness or 1,
Transparency = transparency or 0
}, parent)
end
local function addPadding(parent, left, right, top, bottom)
create("UIPadding", {
PaddingLeft = UDim.new(0, left or 0),
PaddingRight = UDim.new(0, right or 0),
PaddingTop = UDim.new(0, top or 0),
PaddingBottom = UDim.new(0, bottom or 0)
}, parent)
end
local function tween(object, props, time)
TweenService:Create(
object,
TweenInfo.new(time or 0.16, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
props
):Play()
end
local gui = create("ScreenGui", {
Name = "MidnightRobloxGui",
ResetOnSpawn = false,
IgnoreGuiInset = true
}, playerGui)
local main = create("Frame", {
Name = "Main",
Size = UDim2.fromOffset(920, 560),
Position = UDim2.fromScale(0.5, 0.5),
AnchorPoint = Vector2.new(0.5, 0.5),
BackgroundColor3 = COLORS.Background,
BorderSizePixel = 0
}, gui)
addCorner(main, 18)
create("UIGradient", {
Color = ColorSequence.new({
ColorSequenceKeypoint.new(0, Color3.fromRGB(8, 12, 22)),
ColorSequenceKeypoint.new(0.55, Color3.fromRGB(8, 10, 18)),
ColorSequenceKeypoint.new(1, Color3.fromRGB(16, 16, 42))
}),
Rotation = 25
}, main)
local glowTop = create("Frame", {
Size = UDim2.fromOffset(280, 280),
Position = UDim2.new(1, -190, 0, -150),
BackgroundColor3 = COLORS.Accent,
BackgroundTransparency = 0.88,
BorderSizePixel = 0
}, main)
addCorner(glowTop, 150)
local glowBottom = create("Frame", {
Size = UDim2.fromOffset(320, 320),
Position = UDim2.fromOffset(-135, 410),
BackgroundColor3 = COLORS.Accent2,
BackgroundTransparency = 0.92,
BorderSizePixel = 0
}, main)
addCorner(glowBottom, 170)
local sidebar = create("Frame", {
Name = "Sidebar",
Size = UDim2.fromOffset(180, 512),
Position = UDim2.fromOffset(24, 24),
BackgroundColor3 = COLORS.Panel,
BorderSizePixel = 0
}, main)
addCorner(sidebar, 18)
addStroke(sidebar, COLORS.Border, 1, 0)
create("TextLabel", {
Size = UDim2.fromOffset(140, 28),
Position = UDim2.fromOffset(26, 26),
BackgroundTransparency = 1,
Text = "MIDNIGHT",
TextColor3 = COLORS.Text,
TextSize = 20,
Font = Enum.Font.GothamBold,
TextXAlignment = Enum.TextXAlignment.Left
}, sidebar)
create("TextLabel", {
Size = UDim2.fromOffset(140, 20),
Position = UDim2.fromOffset(26, 55),
BackgroundTransparency = 1,
Text = "ROBLOX UI MOCKUP",
TextColor3 = COLORS.Muted,
TextSize = 11,
Font = Enum.Font.Gotham,
TextXAlignment = Enum.TextXAlignment.Left
}, sidebar)
local titleLine = create("Frame", {
Size = UDim2.fromOffset(90, 3),
Position = UDim2.fromOffset(26, 84),
BackgroundColor3 = COLORS.Accent,
BorderSizePixel = 0
}, sidebar)
addCorner(titleLine, 3)
local tabContainer = create("Frame", {
Size = UDim2.fromOffset(144, 210),
Position = UDim2.fromOffset(18, 118),
BackgroundTransparency = 1
}, sidebar)
create("TextLabel", {
Size = UDim2.fromOffset(140, 20),
Position = UDim2.fromOffset(26, 432),
BackgroundTransparency = 1,
Text = "visual prototype",
TextColor3 = COLORS.Muted,
TextSize = 12,
Font = Enum.Font.Gotham,
TextXAlignment = Enum.TextXAlignment.Left
}, sidebar)
create("TextLabel", {
Size = UDim2.fromOffset(140, 20),
Position = UDim2.fromOffset(26, 454),
BackgroundTransparency = 1,
Text = "no game functions",
TextColor3 = COLORS.Muted,
TextSize = 12,
Font = Enum.Font.Gotham,
TextXAlignment = Enum.TextXAlignment.Left
}, sidebar)
local smallTitle = create("TextLabel", {
Name = "SmallTitle",
Size = UDim2.fromOffset(240, 20),
Position = UDim2.fromOffset(236, 38),
BackgroundTransparency = 1,
Text = "Roblox",
TextColor3 = COLORS.Muted,
TextSize = 14,
Font = Enum.Font.Gotham,
TextXAlignment = Enum.TextXAlignment.Left
}, main)
local bigTitle = create("TextLabel", {
Name = "BigTitle",
Size = UDim2.fromOffset(420, 34),
Position = UDim2.fromOffset(236, 62),
BackgroundTransparency = 1,
Text = activeTab .. " SETTINGS",
TextColor3 = COLORS.Text,
TextSize = 23,
Font = Enum.Font.GothamBold,
TextXAlignment = Enum.TextXAlignment.Left
}, main)
local content = create("Frame", {
Name = "Content",
Size = UDim2.fromOffset(650, 420),
Position = UDim2.fromOffset(236, 112),
BackgroundTransparency = 1
}, main)
local function clearContent()
for _, child in ipairs(content:GetChildren()) do
child:Destroy()
end
end
local function createEmptyField(name, y, height)
local wrapper = create("Frame", {
Name = name,
Size = UDim2.new(1, 0, 0, height),
Position = UDim2.fromOffset(0, y),
BackgroundTransparency = 1
}, content)
local accentBar = create("Frame", {
Size = UDim2.new(0, 4, 1, 0),
Position = UDim2.fromOffset(0, 0),
BackgroundColor3 = COLORS.Accent,
BorderSizePixel = 0
}, wrapper)
addCorner(accentBar, 6)
local field = create("Frame", {
Size = UDim2.new(1, -8, 1, 0),
Position = UDim2.fromOffset(8, 0),
BackgroundColor3 = COLORS.Panel,
BorderSizePixel = 0
}, wrapper)
addCorner(field, 14)
addStroke(field, COLORS.Border, 1, 0)
create("UIGradient", {
Color = ColorSequence.new({
ColorSequenceKeypoint.new(0, Color3.fromRGB(19, 22, 38)),
ColorSequenceKeypoint.new(0.5, Color3.fromRGB(17, 20, 34)),
ColorSequenceKeypoint.new(1, Color3.fromRGB(14, 17, 30))
}),
Rotation = 25
}, field)
return wrapper
end
local function updateTabs()
for tabName, button in pairs(tabButtons) do
local selected = tabName == activeTab
tween(button, {
BackgroundTransparency = selected and 0 or 1,
BackgroundColor3 = selected and COLORS.Accent or COLORS.Panel
}, 0.16)
button.TextColor3 = selected and COLORS.Text or COLORS.Muted
local bar = button:FindFirstChild("Bar")
if bar then
bar.Visible = selected
end
end
bigTitle.Text = activeTab .. " SETTINGS"
end
local function renderContent()
clearContent()
createEmptyField(activeTab .. "_Field_1", 0, 240)
createEmptyField(activeTab .. "_Field_2", 270, 160)
updateTabs()
end
local function createTabButton(tabName, index)
local button = create("TextButton", {
Name = tabName,
Size = UDim2.fromOffset(144, 42),
Position = UDim2.fromOffset(0, (index - 1) * 58),
BackgroundColor3 = COLORS.Accent,
BackgroundTransparency = tabName == activeTab and 0 or 1,
BorderSizePixel = 0,
Text = tabName,
TextColor3 = tabName == activeTab and COLORS.Text or COLORS.Muted,
TextSize = 15,
Font = Enum.Font.GothamBold,
TextXAlignment = Enum.TextXAlignment.Left,
AutoButtonColor = false
}, tabContainer)
addCorner(button, 12)
addPadding(button, 40, 0, 0, 0)
create("UIGradient", {
Color = ColorSequence.new({
ColorSequenceKeypoint.new(0, Color3.fromRGB(102, 86, 245)),
ColorSequenceKeypoint.new(1, Color3.fromRGB(122, 94, 255))
}),
Rotation = 0
}, button)
local bar = create("Frame", {
Name = "Bar",
Size = UDim2.fromOffset(4, 42),
Position = UDim2.fromOffset(22, 0),
BackgroundColor3 = COLORS.Accent2,
BorderSizePixel = 0,
Visible = tabName == activeTab
}, button)
addCorner(bar, 8)
button.MouseEnter:Connect(function()
if activeTab ~= tabName then
tween(button, {
TextColor3 = COLORS.Text
}, 0.12)
end
end)
button.MouseLeave:Connect(function()
if activeTab ~= tabName then
tween(button, {
TextColor3 = COLORS.Muted
}, 0.12)
end
end)
button.MouseButton1Click:Connect(function()
activeTab = tabName
renderContent()
end)
tabButtons[tabName] = button
end
for index, tabName in ipairs(tabs) do
createTabButton(tabName, index)
end
-- Window dragging
local dragging = false
local dragStart
local startPos
main.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
dragStart = input.Position
startPos = main.Position
end
end)
main.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = false
end
end)
UserInputService.InputChanged:Connect(function(input)
if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
local delta = input.Position - dragStart
main.Position = UDim2.new(
startPos.X.Scale,
startPos.X.Offset + delta.X,
startPos.Y.Scale,
startPos.Y.Offset + delta.Y
)
end
end)
-- Toggle menu with RightShift
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if gameProcessed then
return
end
if input.KeyCode == Enum.KeyCode.RightShift then
main.Visible = not main.Visible
end
end)
renderContent()No comments yet for this script.



