
KeylessUniversal

--==============================================================
-- MODERN LUA RUNNER UI
-- Put this LocalScript in StarterPlayer > StarterPlayerScripts
--==============================================================
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
--==============================================================
-- COLORS
--==============================================================
local BG = Color3.fromRGB(8, 10, 17)
local PANEL = Color3.fromRGB(15, 18, 29)
local PANEL2 = Color3.fromRGB(20, 23, 37)
local PANEL3 = Color3.fromRGB(27, 30, 47)
local WHITE = Color3.fromRGB(240, 242, 250)
local TEXT = Color3.fromRGB(205, 208, 222)
local MUTED = Color3.fromRGB(130, 135, 155)
local PURPLE = Color3.fromRGB(110, 65, 245)
local BLUE = Color3.fromRGB(65, 105, 245)
local GREEN = Color3.fromRGB(75, 220, 145)
local YELLOW = Color3.fromRGB(245, 190, 80)
local RED = Color3.fromRGB(240, 80, 95)
--==============================================================
-- HELPERS
--==============================================================
local function create(class, props, parent)
local obj = Instance.new(class)
for property, value in pairs(props) do
obj[property] = value
end
obj.Parent = parent
return obj
end
local function corner(parent, radius)
local c = Instance.new("UICorner")
c.CornerRadius = UDim.new(0, radius)
c.Parent = parent
return c
end
local function stroke(parent, transparency)
local s = Instance.new("UIStroke")
s.Color = Color3.fromRGB(75, 80, 105)
s.Transparency = transparency or 0.5
s.Thickness = 1
s.Parent = parent
return s
end
local function gradient(parent)
local g = Instance.new("UIGradient")
g.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0, PURPLE),
ColorSequenceKeypoint.new(1, BLUE)
})
g.Rotation = 20
g.Parent = parent
return g
end
local function tween(object, properties, time)
local t = TweenService:Create(
object,
TweenInfo.new(
time or 0.2,
Enum.EasingStyle.Quint,
Enum.EasingDirection.Out
),
properties
)
t:Play()
return t
end
--==============================================================
-- GUI
--==============================================================
local gui = create("ScreenGui", {
Name = "ModernLuaRunner",
ResetOnSpawn = false,
IgnoreGuiInset = true,
DisplayOrder = 999,
ZIndexBehavior = Enum.ZIndexBehavior.Sibling,
}, playerGui)
--==============================================================
-- BACKGROUND
--==============================================================
local background = create("Frame", {
Name = "Background",
Size = UDim2.fromScale(1, 1),
BackgroundColor3 = Color3.fromRGB(4, 5, 9),
BorderSizePixel = 0,
ZIndex = 1,
}, gui)
--==============================================================
-- MAIN WINDOW
--==============================================================
local main = create("Frame", {
Name = "Main",
Size = UDim2.new(0.92, 0, 0.88, 0),
Position = UDim2.fromScale(0.5, 0.5),
AnchorPoint = Vector2.new(0.5, 0.5),
BackgroundColor3 = BG,
BorderSizePixel = 0,
ClipsDescendants = true,
ZIndex = 10,
}, gui)
corner(main, 18)
stroke(main, 0.35)
--==============================================================
-- HEADER
--==============================================================
local header = create("Frame", {
Name = "Header",
Size = UDim2.new(1, 0, 0, 68),
BackgroundColor3 = Color3.fromRGB(11, 13, 22),
BorderSizePixel = 0,
ZIndex = 20,
}, main)
-- logo
local logo = create("Frame", {
Size = UDim2.fromOffset(42, 42),
Position = UDim2.fromOffset(16, 13),
BackgroundColor3 = PURPLE,
BorderSizePixel = 0,
ZIndex = 21,
}, header)
corner(logo, 12)
gradient(logo)
create("TextLabel", {
Size = UDim2.fromScale(1, 1),
BackgroundTransparency = 1,
Text = "βΆ",
TextColor3 = WHITE,
TextSize = 19,
Font = Enum.Font.GothamBold,
ZIndex = 22,
}, logo)
-- title
create("TextLabel", {
Size = UDim2.new(0, 300, 0, 24),
Position = UDim2.fromOffset(70, 10),
BackgroundTransparency = 1,
Text = "LUA RUNNER",
TextColor3 = WHITE,
TextSize = 18,
Font = Enum.Font.GothamBold,
TextXAlignment = Enum.TextXAlignment.Left,
ZIndex = 21,
}, header)
create("TextLabel", {
Size = UDim2.new(0, 300, 0, 20),
Position = UDim2.fromOffset(70, 34),
BackgroundTransparency = 1,
Text = "Client-Side Code Workspace",
TextColor3 = MUTED,
TextSize = 11,
Font = Enum.Font.Gotham,
TextXAlignment = Enum.TextXAlignment.Left,
ZIndex = 21,
}, header)
--==============================================================
-- WINDOW BUTTONS
--==============================================================
local function windowButton(text, x, textColor)
local b = create("TextButton", {
Size = UDim2.fromOffset(34, 34),
Position = UDim2.new(1, x, 0, 17),
BackgroundColor3 = PANEL2,
Text = text,
TextColor3 = textColor or TEXT,
TextSize = 17,
Font = Enum.Font.Gotham,
BorderSizePixel = 0,
AutoButtonColor = false,
ZIndex = 25,
}, header)
corner(b, 9)
b.MouseEnter:Connect(function()
tween(b, {
BackgroundColor3 = PANEL3
}, 0.12)
end)
b.MouseLeave:Connect(function()
tween(b, {
BackgroundColor3 = PANEL2
}, 0.12)
end)
return b
end
local minimize = windowButton("β", -126)
local maximize = windowButton("β‘", -84)
local close = windowButton("Γ", -42, Color3.fromRGB(230, 130, 140))
--==============================================================
-- CONTENT
--==============================================================
local content = create("Frame", {
Name = "Content",
Size = UDim2.new(1, -24, 1, -80),
Position = UDim2.fromOffset(12, 76),
BackgroundTransparency = 1,
ZIndex = 15,
}, main)
--==============================================================
-- SIDEBAR
--==============================================================
local sidebar = create("Frame", {
Size = UDim2.new(0, 185, 1, 0),
BackgroundColor3 = PANEL,
BorderSizePixel = 0,
ZIndex = 20,
}, content)
corner(sidebar, 14)
stroke(sidebar, 0.5)
--==============================================================
-- NAV BUTTON
--==============================================================
local function navButton(text, icon, y, selected)
local b = create("TextButton", {
Size = UDim2.new(1, -20, 0, 42),
Position = UDim2.fromOffset(10, y),
BackgroundColor3 = selected and PURPLE or PANEL,
BackgroundTransparency = selected and 0 or 1,
Text = "",
BorderSizePixel = 0,
AutoButtonColor = false,
ZIndex = 22,
}, sidebar)
corner(b, 9)
if selected then
gradient(b)
end
create("TextLabel", {
Size = UDim2.fromOffset(35, 42),
Position = UDim2.fromOffset(5, 0),
BackgroundTransparency = 1,
Text = icon,
TextColor3 = selected and WHITE or MUTED,
TextSize = 15,
Font = Enum.Font.Gotham,
ZIndex = 23,
}, b)
create("TextLabel", {
Size = UDim2.new(1, -45, 1, 0),
Position = UDim2.fromOffset(42, 0),
BackgroundTransparency = 1,
Text = text,
TextColor3 = selected and WHITE or TEXT,
TextSize = 12,
Font = selected and Enum.Font.GothamMedium or Enum.Font.Gotham,
TextXAlignment = Enum.TextXAlignment.Left,
ZIndex = 23,
}, b)
return b
end
navButton("Editor", "</>", 14, true)
navButton("Scripts", "β£", 62, false)
navButton("Snippets", "{}", 110, false)
navButton("Settings", "β", 158, false)
navButton("About", "β", 206, false)
-- divider
create("Frame", {
Size = UDim2.new(1, -30, 0, 1),
Position = UDim2.fromOffset(15, 260),
BackgroundColor3 = Color3.fromRGB(48, 51, 68),
BorderSizePixel = 0,
ZIndex = 22,
}, sidebar)
create("TextLabel", {
Size = UDim2.new(1, -30, 0, 20),
Position = UDim2.fromOffset(15, 274),
BackgroundTransparency = 1,
Text = "FILES",
TextColor3 = MUTED,
TextSize = 9,
Font = Enum.Font.GothamBold,
TextXAlignment = Enum.TextXAlignment.Left,
ZIndex = 22,
}, sidebar)
-- files
local function fileButton(name, y, active)
local b = create("TextButton", {
Size = UDim2.new(1, -20, 0, 36),
Position = UDim2.fromOffset(10, y),
BackgroundColor3 = active and PANEL3 or PANEL,
BackgroundTransparency = active and 0 or 1,
Text = "",
BorderSizePixel = 0,
AutoButtonColor = false,
ZIndex = 22,
}, sidebar)
corner(b, 8)
create("TextLabel", {
Size = UDim2.fromOffset(30, 36),
Position = UDim2.fromOffset(8, 0),
BackgroundTransparency = 1,
Text = "</>",
TextColor3 = active and Color3.fromRGB(160, 125, 255) or MUTED,
TextSize = 11,
Font = Enum.Font.Code,
ZIndex = 23,
}, b)
create("TextLabel", {
Size = UDim2.new(1, -50, 1, 0),
Position = UDim2.fromOffset(40, 0),
BackgroundTransparency = 1,
Text = name,
TextColor3 = active and WHITE or TEXT,
TextSize = 11,
Font = Enum.Font.Code,
TextXAlignment = Enum.TextXAlignment.Left,
ZIndex = 23,
}, b)
if active then
local dot = create("Frame", {
Size = UDim2.fromOffset(8, 8),
Position = UDim2.new(1, -17, 0.5, -4),
BackgroundColor3 = Color3.fromRGB(170, 95, 255),
BorderSizePixel = 0,
ZIndex = 24,
}, b)
corner(dot, 4)
end
end
fileButton("main.lua", 303, true)
fileButton("utility.lua", 343, false)
fileButton("example.lua", 383, false)
-- new script
local newScript = create("TextButton", {
Size = UDim2.new(1, -20, 0, 40),
Position = UDim2.new(0, 10, 1, -50),
BackgroundColor3 = PURPLE,
Text = "+ New Script",
TextColor3 = WHITE,
TextSize = 12,
Font = Enum.Font.GothamMedium,
BorderSizePixel = 0,
AutoButtonColor = false,
ZIndex = 22,
}, sidebar)
corner(newScript, 10)
gradient(newScript)
--==============================================================
-- RIGHT SIDE
--==============================================================
local right = create("Frame", {
Size = UDim2.new(1, -197, 1, 0),
Position = UDim2.fromOffset(197, 0),
BackgroundTransparency = 1,
ZIndex = 20,
}, content)
--==============================================================
-- EDITOR
--==============================================================
local editor = create("Frame", {
Size = UDim2.new(1, 0, 0.61, 0),
BackgroundColor3 = PANEL,
BorderSizePixel = 0,
ClipsDescendants = true,
ZIndex = 20,
}, right)
corner(editor, 14)
stroke(editor, 0.5)
-- tabs
local tabs = create("Frame", {
Size = UDim2.new(1, 0, 0, 45),
BackgroundColor3 = Color3.fromRGB(12, 14, 23),
BorderSizePixel = 0,
ZIndex = 25,
}, editor)
local activeTab = create("TextButton", {
Size = UDim2.fromOffset(125, 35),
Position = UDim2.fromOffset(8, 5),
BackgroundColor3 = Color3.fromRGB(34, 29, 55),
Text = "main.lua Γ",
TextColor3 = WHITE,
TextSize = 11,
Font = Enum.Font.Code,
BorderSizePixel = 0,
AutoButtonColor = false,
ZIndex = 26,
}, tabs)
corner(activeTab, 8)
create("Frame", {
Size = UDim2.new(1, 0, 0, 2),
Position = UDim2.new(0, 0, 1, -2),
BackgroundColor3 = PURPLE,
BorderSizePixel = 0,
ZIndex = 27,
}, activeTab)
local addTab = create("TextButton", {
Size = UDim2.fromOffset(35, 35),
Position = UDim2.fromOffset(140, 5),
BackgroundColor3 = PANEL2,
Text = "+",
TextColor3 = TEXT,
TextSize = 18,
Font = Enum.Font.Gotham,
BorderSizePixel = 0,
AutoButtonColor = false,
ZIndex = 26,
}, tabs)
corner(addTab, 8)
-- editor body
local editorBody = create("Frame", {
Size = UDim2.new(1, 0, 1, -45),
Position = UDim2.fromOffset(0, 45),
BackgroundColor3 = Color3.fromRGB(10, 13, 21),
BorderSizePixel = 0,
ZIndex = 21,
}, editor)
-- line numbers
local numbers = create("TextLabel", {
Size = UDim2.fromOffset(38, 1),
Position = UDim2.fromOffset(10, 12),
BackgroundTransparency = 1,
Text = "1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15",
TextColor3 = Color3.fromRGB(65, 70, 90),
TextSize = 12,
Font = Enum.Font.Code,
TextYAlignment = Enum.TextYAlignment.Top,
TextXAlignment = Enum.TextXAlignment.Right,
ZIndex = 23,
}, editorBody)
-- separator
create("Frame", {
Size = UDim2.new(0, 1, 1, -20),
Position = UDim2.fromOffset(58, 10),
BackgroundColor3 = Color3.fromRGB(43, 47, 64),
BorderSizePixel = 0,
ZIndex = 23,
}, editorBody)
-- code editor
local codeBox = create("TextBox", {
Size = UDim2.new(1, -75, 1, -20),
Position = UDim2.fromOffset(70, 10),
BackgroundTransparency = 1,
BorderSizePixel = 0,
MultiLine = true,
ClearTextOnFocus = false,
TextWrapped = false,
TextXAlignment = Enum.TextXAlignment.Left,
TextYAlignment = Enum.TextYAlignment.Top,
Font = Enum.Font.Code,
TextSize = 13,
TextColor3 = Color3.fromRGB(210, 215, 232),
PlaceholderColor3 = Color3.fromRGB(75, 80, 100),
Text = [[-- Welcome to Lua Runner
-- Client-side workspace
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local function greet()
print("Hello, " .. LocalPlayer.Name)
end
greet()
-- Write your game's approved
-- logic here]],
ZIndex = 24,
}, editorBody)
--==============================================================
-- BOTTOM AREA
--==============================================================
local bottom = create("Frame", {
Size = UDim2.new(1, 0, 0.36, 0),
Position = UDim2.new(0, 0, 0.64, 0),
BackgroundTransparency = 1,
ZIndex = 20,
}, right)
--==============================================================
-- OUTPUT
--==============================================================
local output = create("Frame", {
Size = UDim2.new(1, -150, 1, 0),
BackgroundColor3 = PANEL,
BorderSizePixel = 0,
ZIndex = 20,
}, bottom)
corner(output, 14)
stroke(output, 0.5)
create("TextLabel", {
Size = UDim2.fromOffset(150, 40),
Position = UDim2.fromOffset(15, 0),
BackgroundTransparency = 1,
Text = ">_ OUTPUT",
TextColor3 = Color3.fromRGB(155, 115, 255),
TextSize = 11,
Font = Enum.Font.GothamBold,
TextXAlignment = Enum.TextXAlignment.Left,
ZIndex = 25,
}, output)
local clearOutput = create("TextButton", {
Size = UDim2.fromOffset(70, 30),
Position = UDim2.new(1, -82, 0, 6),
BackgroundColor3 = PANEL3,
Text = "Clear",
TextColor3 = TEXT,
TextSize = 10,
Font = Enum.Font.GothamMedium,
BorderSizePixel = 0,
AutoButtonColor = false,
ZIndex = 26,
}, output)
corner(clearOutput, 8)
local outputList = create("ScrollingFrame", {
Size = UDim2.new(1, -20, 1, -70),
Position = UDim2.fromOffset(10, 42),
BackgroundTransparency = 1,
BorderSizePixel = 0,
ScrollBarThickness = 2,
CanvasSize = UDim2.new(0, 0, 0, 0),
ZIndex = 25,
}, output)
local outputLayout = create("UIListLayout", {
Padding = UDim.new(0, 4),
SortOrder = Enum.SortOrder.LayoutOrder,
}, outputList)
local function addOutput(message, color)
local label = create("TextLabel", {
Size = UDim2.new(1, -5, 0, 20),
BackgroundTransparency = 1,
Text = message,
TextColor3 = color or TEXT,
TextSize = 11,
Font = Enum.Font.Code,
TextXAlignment = Enum.TextXAlignment.Left,
ZIndex = 26,
}, outputList)
outputList.CanvasSize = UDim2.new(
0,
0,
0,
outputLayout.AbsoluteContentSize.Y + 10
)
return label
end
addOutput("[10:24:01] β Workspace initialized", GREEN)
addOutput("[10:24:01] β Ready for input", GREEN)
--==============================================================
-- ACTIONS
--==============================================================
local actions = create("Frame", {
Size = UDim2.new(0, 140, 1, 0),
Position = UDim2.new(1, -140, 0, 0),
BackgroundColor3 = PANEL,
BorderSizePixel = 0,
ZIndex = 20,
}, bottom)
corner(actions, 14)
stroke(actions, 0.5)
local function actionButton(text, y, primary)
local b = create("TextButton", {
Size = UDim2.new(1, -20, 0, 42),
Position = UDim2.fromOffset(10, y),
BackgroundColor3 = primary and PURPLE or PANEL3,
Text = text,
TextColor3 = WHITE,
TextSize = 11,
Font = Enum.Font.GothamMedium,
BorderSizePixel = 0,
AutoButtonColor = false,
ZIndex = 25,
}, actions)
corner(b, 10)
if primary then
gradient(b)
end
b.MouseEnter:Connect(function()
if primary then
tween(b, {
BackgroundTransparency = 0.08
}, 0.12)
else
tween(b, {
BackgroundColor3 = Color3.fromRGB(35, 39, 58)
}, 0.12)
end
end)
b.MouseLeave:Connect(function()
if primary then
tween(b, {
BackgroundTransparency = 0
}, 0.12)
else
tween(b, {
BackgroundColor3 = PANEL3
}, 0.12)
end
end)
return b
end
local runButton = actionButton("βΆ RUN", 10, true)
local clearButton = actionButton("β» CLEAR", 60, false)
local copyButton = actionButton("β£ COPY", 110, false)
-- workspace information
create("Frame", {
Size = UDim2.new(1, -20, 0, 1),
Position = UDim2.fromOffset(10, 168),
BackgroundColor3 = Color3.fromRGB(48, 51, 70),
BackgroundTransparency = 0.3,
BorderSizePixel = 0,
ZIndex = 25,
}, actions)
create("TextLabel", {
Size = UDim2.new(1, -20, 0, 20),
Position = UDim2.fromOffset(10, 180),
BackgroundTransparency = 1,
Text = "WORKSPACE",
TextColor3 = MUTED,
TextSize = 9,
Font = Enum.Font.GothamBold,
TextXAlignment = Enum.TextXAlignment.Left,
ZIndex = 25,
}, actions)
create("TextLabel", {
Size = UDim2.new(1, -20, 0, 45),
Position = UDim2.fromOffset(10, 203),
BackgroundTransparency = 1,
Text = "Local workspace\nReady",
TextColor3 = TEXT,
TextSize = 10,
Font = Enum.Font.Gotham,
TextXAlignment = Enum.TextXAlignment.Left,
TextYAlignment = Enum.TextYAlignment.Top,
ZIndex = 25,
}, actions)
--==============================================================
-- STATUS
--==============================================================
local status = create("TextLabel", {
Size = UDim2.fromOffset(150, 20),
Position = UDim2.new(0, 15, 1, -25),
BackgroundTransparency = 1,
Text = "β Ready",
TextColor3 = GREEN,
TextSize = 10,
Font = Enum.Font.GothamMedium,
TextXAlignment = Enum.TextXAlignment.Left,
ZIndex = 30,
}, main)
--==============================================================
-- SAFE RUN HOOK
--==============================================================
local function setStatus(text, color)
status.Text = "β " .. text
status.TextColor3 = color
end
local function submitCode(code)
--==========================================================
-- PUT YOUR OWN GAME'S APPROVED COMMAND HANDLER HERE.
--
-- Do not use arbitrary loadstring/injected-code execution.
--==========================================================
print("[Lua Runner] Code submitted:")
print(code)
end
runButton.MouseButton1Click:Connect(function()
local code = codeBox.Text
if code:gsub("%s+", "") == "" then
setStatus("Nothing to run", YELLOW)
addOutput("[" .. os.date("%H:%M:%S") .. "] ! Editor is empty", YELLOW)
return
end
setStatus("Running...", YELLOW)
submitCode(code)
addOutput(
"[" .. os.date("%H:%M:%S") .. "] βΆ Script submitted",
GREEN
)
setStatus("Ready", GREEN)
end)
clearButton.MouseButton1Click:Connect(function()
codeBox.Text = ""
setStatus("Editor cleared", MUTED)
addOutput(
"[" .. os.date("%H:%M:%S") .. "] β» Editor cleared",
YELLOW
)
end)
clearOutput.MouseButton1Click:Connect(function()
for _, child in ipairs(outputList:GetChildren()) do
if child:IsA("TextLabel") then
child:Destroy()
end
end
setStatus("Output cleared", MUTED)
end)
copyButton.MouseButton1Click:Connect(function()
-- Normal Roblox experiences do not have unrestricted
-- clipboard access from a LocalScript.
setStatus("Clipboard unavailable", YELLOW)
addOutput(
"[" .. os.date("%H:%M:%S") .. "] ! Clipboard unavailable",
YELLOW
)
end)
newScript.MouseButton1Click:Connect(function()
codeBox.Text = "-- New Luau script\n\n"
setStatus("New script", GREEN)
end)
--==============================================================
-- CLOSE
--==============================================================
close.MouseButton1Click:Connect(function()
tween(main, {
Size = UDim2.new(0.92, 0, 0, 0)
}, 0.25)
task.wait(0.25)
gui:Destroy()
end)
--==============================================================
-- MINIMIZE
--==============================================================
local minimized = false
local normalSize = UDim2.new(0.92, 0, 0.88, 0)
minimize.MouseButton1Click:Connect(function()
if minimized then
tween(main, {
Size = normalSize
}, 0.25)
content.Visible = true
status.Visible = true
minimized = false
else
tween(main, {
Size = UDim2.new(0.92, 0, 0, 68)
}, 0.25)
content.Visible = false
status.Visible = false
minimized = true
end
end)
--==============================================================
-- MAXIMIZE
--==============================================================
local maximized = false
maximize.MouseButton1Click:Connect(function()
if maximized then
tween(main, {
Size = normalSize
}, 0.25)
maximized = false
else
tween(main, {
Size = UDim2.new(0.97, 0, 0.94, 0)
}, 0.25)
maximized = true
end
end)
--==============================================================
-- DRAGGING
--==============================================================
local dragging = false
local dragStart
local startPos
header.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
dragStart = input.Position
startPos = main.Position
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)
UserInputService.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = false
end
end)
--==============================================================
-- F8 TOGGLE
--==============================================================
UserInputService.InputBegan:Connect(function(input, processed)
if processed then
return
end
if input.KeyCode == Enum.KeyCode.F8 then
gui.Enabled = not gui.Enabled
end
if input.KeyCode == Enum.KeyCode.Return then
if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl)
or UserInputService:IsKeyDown(Enum.KeyCode.RightControl) then
runButton:Activate()
end
end
end)
print("Modern Lua Runner loaded successfully.")



Made by skidGPT tuffπ₯Άπ₯Άπ₯Άπππ