Command Prompt
Key RequiredUniversal

Command Prompt

Universal ScriptCommanderPromptCommanderPrompt 537 views 922 executesUpdated Jun 26, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•405 lines (13801 chars)
-- Delta CMD — Mobile Compact Edition
-- Small draggable window + touch drag support

local Players          = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")

local player    = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")

if playerGui:FindFirstChild("DeltaCMD") then
    playerGui.DeltaCMD:Destroy()
end

local screen = Instance.new("ScreenGui")
screen.Name           = "DeltaCMD"
screen.ResetOnSpawn   = false
screen.IgnoreGuiInset = true
screen.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
screen.Parent         = playerGui

-- Colors
local BG       = Color3.fromRGB(12, 12, 12)
local TITLE_BG = Color3.fromRGB(20, 20, 20)
local TEXT_CLR = Color3.fromRGB(204, 204, 204)
local ERR_CLR  = Color3.fromRGB(255, 85, 85)
local GREEN    = Color3.fromRGB(80, 200, 80)
local WIN_REDH = Color3.fromRGB(232, 17, 35)
local WIN_BLUE = Color3.fromRGB(0, 120, 212)
local PANEL_BG = Color3.fromRGB(24, 24, 24)

local function mkCorner(p, r)
    local c = Instance.new("UICorner")
    c.CornerRadius = UDim.new(0, r or 4)
    c.Parent = p
end

local function mkHover(b, n, h)
    b.MouseEnter:Connect(function() b.BackgroundColor3 = h end)
    b.MouseLeave:Connect(function() b.BackgroundColor3 = n end)
end

-- ══════════════════════════════════════════════════════════
-- BOTTOM PANEL
-- ══════════════════════════════════════════════════════════
local panel = Instance.new("Frame")
panel.Size             = UDim2.new(0, 320, 0, 42)
panel.Position         = UDim2.new(0.5, -160, 1, -52)
panel.BackgroundColor3 = PANEL_BG
panel.BorderSizePixel  = 0
panel.ZIndex           = 10
panel.Parent           = screen
mkCorner(panel, 8)

local panelStroke = Instance.new("UIStroke")
panelStroke.Color     = Color3.fromRGB(50, 50, 50)
panelStroke.Thickness = 1
panelStroke.Parent    = panel

local panelLbl = Instance.new("TextLabel")
panelLbl.Size               = UDim2.new(0, 105, 1, 0)
panelLbl.Position           = UDim2.new(0, 10, 0, 0)
panelLbl.BackgroundTransparency = 1
panelLbl.Text               = "⬛ Delta Tools"
panelLbl.TextColor3         = Color3.fromRGB(140, 140, 140)
panelLbl.TextSize           = 11
panelLbl.Font               = Enum.Font.Gotham
panelLbl.TextXAlignment     = Enum.TextXAlignment.Left
panelLbl.ZIndex             = 11
panelLbl.Parent             = panel

local div = Instance.new("Frame")
div.Size             = UDim2.new(0, 1, 0.6, 0)
div.Position         = UDim2.new(0, 112, 0.2, 0)
div.BackgroundColor3 = Color3.fromRGB(55, 55, 55)
div.BorderSizePixel  = 0
div.ZIndex           = 11
div.Parent           = panel

local appBtn = Instance.new("TextButton")
appBtn.Size             = UDim2.new(0, 78, 0, 30)
appBtn.Position         = UDim2.new(0, 120, 0.5, -15)
appBtn.BackgroundColor3 = Color3.fromRGB(16, 16, 16)
appBtn.Text             = ">_ CMD"
appBtn.TextColor3       = TEXT_CLR
appBtn.TextSize         = 12
appBtn.Font             = Enum.Font.Code
appBtn.BorderSizePixel  = 0
appBtn.ZIndex           = 11
appBtn.Parent           = panel
mkCorner(appBtn, 5)
mkHover(appBtn, Color3.fromRGB(16,16,16), Color3.fromRGB(42,42,42))

-- ══════════════════════════════════════════════════════════
-- CMD WINDOW  (compact: 310 × 250)
-- ══════════════════════════════════════════════════════════
local win = Instance.new("Frame")
win.Name             = "CMDWin"
win.Size             = UDim2.new(0, 310, 0, 250)
win.Position         = UDim2.new(0.5, -155, 0.5, -125)
win.BackgroundColor3 = BG
win.BorderSizePixel  = 0
win.Visible          = false
win.ZIndex           = 20
win.Parent           = screen
mkCorner(win, 4)

-- ── Title bar (28px) ──────────────────────────────────────
local tb = Instance.new("Frame")
tb.Name             = "TitleBar"
tb.Size             = UDim2.new(1, 0, 0, 28)
tb.BackgroundColor3 = TITLE_BG
tb.BorderSizePixel  = 0
tb.ZIndex           = 21
tb.Parent           = win
mkCorner(tb, 4)

-- fill bottom half so only top corners are rounded
local tbFill = Instance.new("Frame")
tbFill.Size             = UDim2.new(1, 0, 0.5, 0)
tbFill.Position         = UDim2.new(0, 0, 0.5, 0)
tbFill.BackgroundColor3 = TITLE_BG
tbFill.BorderSizePixel  = 0
tbFill.ZIndex           = 21
tbFill.Parent           = tb

local tbIcon = Instance.new("TextLabel")
tbIcon.Size               = UDim2.new(0, 16, 0, 16)
tbIcon.Position           = UDim2.new(0, 6, 0.5, -8)
tbIcon.BackgroundTransparency = 1
tbIcon.Text               = "⬛"
tbIcon.TextSize           = 11
tbIcon.Font               = Enum.Font.Gotham
tbIcon.TextColor3         = TEXT_CLR
tbIcon.ZIndex             = 22
tbIcon.Parent             = tb

local tbTitle = Instance.new("TextLabel")
tbTitle.Size               = UDim2.new(1, -110, 1, 0)
tbTitle.Position           = UDim2.new(0, 24, 0, 0)
tbTitle.BackgroundTransparency = 1
tbTitle.Text               = "Command Prompt"
tbTitle.TextColor3         = TEXT_CLR
tbTitle.TextSize           = 11
tbTitle.Font               = Enum.Font.Gotham
tbTitle.TextXAlignment     = Enum.TextXAlignment.Left
tbTitle.ZIndex             = 22
tbTitle.Parent             = tb

-- Window controls (smaller buttons for mobile)
local function mkWinBtn(xOff, label, norm, hov)
    local b = Instance.new("TextButton")
    b.Size             = UDim2.new(0, 32, 1, 0)
    b.Position         = UDim2.new(1, xOff, 0, 0)
    b.BackgroundColor3 = norm
    b.Text             = label
    b.TextColor3       = TEXT_CLR
    b.TextSize         = 11
    b.Font             = Enum.Font.Gotham
    b.BorderSizePixel  = 0
    b.ZIndex           = 22
    b.Parent           = tb
    mkHover(b, norm, hov)
    return b
end

local minBtn   = mkWinBtn(-96, "─", TITLE_BG, Color3.fromRGB(48,48,48))
local maxBtn   = mkWinBtn(-64, "□", TITLE_BG, Color3.fromRGB(48,48,48))
local closeBtn = mkWinBtn(-32, "✕", TITLE_BG, WIN_REDH)

-- ── Terminal output ───────────────────────────────────────
local term = Instance.new("ScrollingFrame")
term.Size                 = UDim2.new(1, 0, 1, -62)
term.Position             = UDim2.new(0, 0, 0, 28)
term.BackgroundColor3     = BG
term.BorderSizePixel      = 0
term.ScrollBarThickness   = 5
term.ScrollBarImageColor3 = Color3.fromRGB(80, 80, 80)
term.CanvasSize           = UDim2.new(0, 0, 0, 0)
term.ZIndex               = 21
term.Parent               = win

local termList = Instance.new("UIListLayout")
termList.SortOrder = Enum.SortOrder.LayoutOrder
termList.Padding   = UDim.new(0, 0)
termList.Parent    = term

local termPad = Instance.new("UIPadding")
termPad.PaddingLeft  = UDim.new(0, 6)
termPad.PaddingTop   = UDim.new(0, 4)
termPad.PaddingRight = UDim.new(0, 10)
termPad.Parent       = term

-- ── Input row (34px) ─────────────────────────────────────
local inputBg = Instance.new("Frame")
inputBg.Size             = UDim2.new(1, 0, 0, 34)
inputBg.Position         = UDim2.new(0, 0, 1, -34)
inputBg.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
inputBg.BorderSizePixel  = 0
inputBg.ZIndex           = 21
inputBg.Parent           = win

local sepLine = Instance.new("Frame")
sepLine.Size             = UDim2.new(1, 0, 0, 1)
sepLine.BackgroundColor3 = Color3.fromRGB(38, 38, 38)
sepLine.BorderSizePixel  = 0
sepLine.ZIndex           = 22
sepLine.Parent           = inputBg

local promptLbl = Instance.new("TextLabel")
promptLbl.Size               = UDim2.new(0, 38, 1, -2)
promptLbl.Position           = UDim2.new(0, 5, 0, 1)
promptLbl.BackgroundTransparency = 1
promptLbl.Text               = "C:\\>"
promptLbl.TextColor3         = TEXT_CLR
promptLbl.TextSize           = 12
promptLbl.Font               = Enum.Font.Code
promptLbl.TextXAlignment     = Enum.TextXAlignment.Left
promptLbl.ZIndex             = 22
promptLbl.Parent             = inputBg

local inputBox = Instance.new("TextBox")
inputBox.Size               = UDim2.new(1, -96, 1, -4)
inputBox.Position           = UDim2.new(0, 43, 0, 2)
inputBox.BackgroundTransparency = 1
inputBox.Text               = ""
inputBox.PlaceholderText    = ""
inputBox.TextColor3         = TEXT_CLR
inputBox.TextSize           = 12
inputBox.Font               = Enum.Font.Code
inputBox.TextXAlignment     = Enum.TextXAlignment.Left
inputBox.ClearTextOnFocus   = false
inputBox.ZIndex             = 22
inputBox.Parent             = inputBg

local runBtn = Instance.new("TextButton")
runBtn.Size             = UDim2.new(0, 46, 0, 24)
runBtn.Position         = UDim2.new(1, -50, 0.5, -12)
runBtn.BackgroundColor3 = WIN_BLUE
runBtn.Text             = "Run"
runBtn.TextColor3       = Color3.fromRGB(255, 255, 255)
runBtn.TextSize         = 11
runBtn.Font             = Enum.Font.GothamSemibold
runBtn.BorderSizePixel  = 0
runBtn.ZIndex           = 22
runBtn.Parent           = inputBg
mkCorner(runBtn, 3)
mkHover(runBtn, WIN_BLUE, Color3.fromRGB(20, 140, 232))

-- ══════════════════════════════════════════════════════════
-- LOGIC
-- ══════════════════════════════════════════════════════════
local lineIdx = 0
local history = {}
local histPos = 0

local function addLine(text, color)
    lineIdx += 1
    local lbl = Instance.new("TextLabel")
    lbl.LayoutOrder         = lineIdx
    lbl.Size                = UDim2.new(1, 0, 0, 0)
    lbl.AutomaticSize       = Enum.AutomaticSize.Y
    lbl.BackgroundTransparency = 1
    lbl.Text                = (text == "" or text == nil) and " " or text
    lbl.TextColor3          = color or TEXT_CLR
    lbl.TextSize            = 12
    lbl.Font                = Enum.Font.Code
    lbl.TextXAlignment      = Enum.TextXAlignment.Left
    lbl.TextWrapped         = true
    lbl.ZIndex              = 22
    lbl.Parent              = term
    task.defer(function()
        term.CanvasSize = UDim2.new(0,0,0, termList.AbsoluteContentSize.Y + 10)
        term.CanvasPosition = Vector2.new(0, term.CanvasSize.Y.Offset)
    end)
end

local function clearOutput()
    for _, v in ipairs(term:GetChildren()) do
        if v:IsA("TextLabel") then v:Destroy() end
    end
    lineIdx = 0
    term.CanvasSize = UDim2.new(0,0,0,0)
end

local function execCode(raw)
    raw = raw:match("^%s*(.-)%s*$")
    if raw == "" then return end
    table.insert(history, raw)
    histPos = #history + 1
    addLine("C:\\>" .. raw, TEXT_CLR)

    local cmd = raw:lower():match("^(%S+)")
    if cmd == "cls" or cmd == "clear" then
        clearOutput(); return
    elseif cmd == "help" then
        addLine("cls/clear — clear screen", TEXT_CLR)
        addLine("help      — this list",    TEXT_CLR)
        addLine("(else)    — Lua/Luau",     TEXT_CLR)
        addLine("", nil); return
    end

    local ok, fn = pcall(loadstring, raw)
    if not ok or type(fn) ~= "function" then
        addLine("Not recognized: " .. (raw:match("^(%S+)") or raw), TEXT_CLR)
        if not ok then addLine("Lua: " .. tostring(fn), ERR_CLR) end
    else
        local s, r = pcall(fn)
        if s then
            if r ~= nil then addLine(tostring(r), TEXT_CLR) end
        else
            addLine(tostring(r), ERR_CLR)
        end
    end
    addLine("", nil)
end

-- Welcome (shortened for small screen)
addLine("Microsoft Windows [Version 10.0.26100]", TEXT_CLR)
addLine("(c) Microsoft Corporation.", TEXT_CLR)
addLine("", nil)
addLine("Delta Lua/Luau active. Type 'help'.", GREEN)
addLine("", nil)

-- ══════════════════════════════════════════════════════════
-- WINDOW EVENTS
-- ══════════════════════════════════════════════════════════
local isOpen = false
local isMax  = false
local savedSz, savedPos

local function openWin()  isOpen = true;  win.Visible = true  end
local function closeWin() isOpen = false; win.Visible = false end

appBtn.MouseButton1Click:Connect(function()
    if isOpen then closeWin() else openWin() end
end)
closeBtn.MouseButton1Click:Connect(closeWin)
minBtn.MouseButton1Click:Connect(closeWin)

maxBtn.MouseButton1Click:Connect(function()
    if not isMax then
        savedSz, savedPos = win.Size, win.Position
        win.Size     = UDim2.new(1, 0, 1, -52)
        win.Position = UDim2.new(0, 0, 0, 0)
        isMax = true
    else
        win.Size, win.Position = savedSz, savedPos
        isMax = false
    end
end)

local function submit()
    local code = inputBox.Text
    inputBox.Text = ""
    execCode(code)
end
runBtn.MouseButton1Click:Connect(submit)
inputBox.FocusLost:Connect(function(entered) if entered then submit() end end)

UserInputService.InputBegan:Connect(function(input)
    if not win.Visible then return end
    if input.KeyCode == Enum.KeyCode.Up then
        histPos = math.max(1, histPos - 1)
        inputBox.Text = history[histPos] or ""
    elseif input.KeyCode == Enum.KeyCode.Down then
        histPos = math.min(#history + 1, histPos + 1)
        inputBox.Text = history[histPos] or ""
    end
end)

-- ══════════════════════════════════════════════════════════
-- DRAG — works for both MOUSE and TOUCH
-- ══════════════════════════════════════════════════════════
local dragging, dragStart, winStart = false, nil, nil

tb.InputBegan:Connect(function(input)
    if isMax then return end
    if input.UserInputType == Enum.UserInputType.MouseButton1
    or input.UserInputType == Enum.UserInputType.Touch then
        dragging  = true
        dragStart = input.Position
        winStart  = win.Position
    end
end)

UserInputService.InputEnded:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1
    or input.UserInputType == Enum.UserInputType.Touch then
        dragging = false
    end
end)

UserInputService.InputChanged:Connect(function(input)
    if not dragging then return end
    if input.UserInputType == Enum.UserInputType.MouseMovement
    or input.UserInputType == Enum.UserInputType.Touch then
        local d = input.Position - dragStart
        win.Position = UDim2.new(
            winStart.X.Scale, winStart.X.Offset + d.X,
            winStart.Y.Scale, winStart.Y.Offset + d.Y
        )
    end
end)

print("[DeltaCMD Mobile] Ready.")

Features & Information

Its basically like a Command Prompt And Executes scripts
#CMD#Command Prompt#Executor

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts