
KeylessUniversal

-- Hook into the game services
local LogService = game:GetService("LogService")
local CoreGui = game:GetService("CoreGui")
-- 1. DYNAMICALLY CREATE THE GUI IN THE CORE LAYER
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "ExecutorOutputGui_Unified"
ScreenGui.ResetOnSpawn = false
ScreenGui.DisplayOrder = 2147483647
ScreenGui.Parent = CoreGui
-- Main container frame
local MainFrame = Instance.new("Frame")
MainFrame.Size = UDim2.new(0, 550, 0, 350)
MainFrame.Position = UDim2.new(0, 20, 1, -390)
MainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
MainFrame.BorderSizePixel = 0
MainFrame.Active = true
MainFrame.Draggable = true
MainFrame.ZIndex = 9999999
MainFrame.Parent = ScreenGui
-- Corner styling
local UICorner = Instance.new("UICorner")
UICorner.CornerRadius = UDim.new(0, 6)
UICorner.Parent = MainFrame
-- Scrolling container
local ScrollingFrame = Instance.new("ScrollingFrame")
ScrollingFrame.Size = UDim2.new(1, -10, 1, -10)
ScrollingFrame.Position = UDim2.new(0, 5, 0, 5)
ScrollingFrame.BackgroundTransparency = 1
ScrollingFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
ScrollingFrame.AutomaticCanvasSize = Enum.AutomaticSize.Y
ScrollingFrame.ScrollBarThickness = 6
ScrollingFrame.ZIndex = 10000000
ScrollingFrame.Parent = MainFrame
-- ONE SINGLE TEXTBOX FOR THE ENTIRE CONSOLE (Allows total Ctrl+A selection)
local UnifiedConsoleBox = Instance.new("TextBox")
UnifiedConsoleBox.Size = UDim2.new(1, 0, 1, 0)
UnifiedConsoleBox.AutomaticSize = Enum.AutomaticSize.Y
UnifiedConsoleBox.BackgroundTransparency = 1
UnifiedConsoleBox.Text = ""
UnifiedConsoleBox.TextColor3 = Color3.fromRGB(240, 240, 240)
UnifiedConsoleBox.TextSize = 13
UnifiedConsoleBox.Font = Enum.Font.Code
UnifiedConsoleBox.TextXAlignment = Enum.TextXAlignment.Left
UnifiedConsoleBox.TextYAlignment = Enum.TextYAlignment.Top
UnifiedConsoleBox.ClearTextOnFocus = false
UnifiedConsoleBox.TextEditable = false -- Copy-pasteable, but un-editable
UnifiedConsoleBox.TextWrapped = true -- Wraps lines so long lines don't clip off screen
UnifiedConsoleBox.ZIndex = 10000001
UnifiedConsoleBox.Parent = ScrollingFrame
-- Padding for neatness
local UIPadding = Instance.new("UIPadding")
UIPadding.PaddingLeft = UDim.new(0, 5)
UIPadding.PaddingTop = UDim.new(0, 5)
UIPadding.Parent = UnifiedConsoleBox
-- 2. LOGGING LOGIC
-- Since we are using a single TextBox, Rich Text colors aren't reliable for mass text selection.
-- This appends a standard string timestamp/log format to make debugging highly readable.
local function appendToConsole(message)
if UnifiedConsoleBox.Text == "" then
UnifiedConsoleBox.Text = message
else
UnifiedConsoleBox.Text = UnifiedConsoleBox.Text .. "\n" .. message
end
-- Force auto-scroll to the bottom of the log
ScrollingFrame.CanvasPosition = Vector2.new(0, ScrollingFrame.AbsoluteCanvasSize.Y + 100)
end
LogService.MessageOut:Connect(function(message, messageType)
local prefix = "[PRINT]"
if messageType == Enum.MessageType.MessageWarning then
prefix = "[WARN]"
elseif messageType == Enum.MessageType.MessageError then
prefix = "[ERROR]"
elseif messageType == Enum.MessageType.MessageInfo then
prefix = "[INFO]"
end
appendToConsole(prefix .. " " .. message)
end)
-- Intercept local script execution logs
local oldPrint = print
local oldWarn = warn
print = function(...)
local args = {...}
local str = ""
for i, v in ipairs(args) do
str = str .. tostring(v) .. (i < #args and " " or "")
end
appendToConsole("[PRINT] " .. str)
oldPrint(unpack(args))
end
warn = function(...)
local args = {...}
local str = ""
for i, v in ipairs(args) do
str = str .. tostring(v) .. (i < #args and " " or "")
end
appendToConsole("[WARN] " .. str)
oldWarn(unpack(args))
endNo comments yet for this script.



