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