
Key RequiredUniversal

-- Owned By ProScripts
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
local flying = false
local flySpeed = 50
local flyConnection
local danceTrack
local rolling = false
local rollSpeed = 100
local rollConnection
local rollGyro
local rollVel
-- notification on load
game.StarterGui:SetCore("SendNotification", {
Title = "ProScripts";
Text = "Script By @ProScripts — hope you enjoy";
Duration = 5;
})
-- main GUI
local gui = Instance.new("ScreenGui")
gui.Name = "ProCommandUI"
gui.ResetOnSpawn = false
gui.Parent = PlayerGui
-- main frame
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 450, 0, 50)
frame.Position = UDim2.new(0.5, -225, 0.9, 0)
frame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
frame.BackgroundTransparency = 0.2
frame.BorderSizePixel = 0
frame.Parent = gui
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 12)
corner.Parent = frame
-- command TextBox
local box = Instance.new("TextBox")
box.Size = UDim2.new(1, -20, 1, 0)
box.Position = UDim2.new(0, 10, 0, 0)
box.BackgroundTransparency = 1
box.PlaceholderText = "Enter command (type 'help' for list)"
box.TextColor3 = Color3.fromRGB(255, 255, 255)
box.TextScaled = true
box.Font = Enum.Font.GothamBold
box.ClearTextOnFocus = true
box.Parent = frame
-- help menu
local helpFrame = Instance.new("Frame")
helpFrame.Size = UDim2.new(0, 300, 0, 200)
helpFrame.Position = UDim2.new(0.5, -150, 0.3, 0)
helpFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
helpFrame.BorderSizePixel = 0
helpFrame.Visible = false
helpFrame.Parent = gui
local helpCorner = Instance.new("UICorner")
helpCorner.CornerRadius = UDim.new(0, 12)
helpCorner.Parent = helpFrame
local helpTitle = Instance.new("TextLabel")
helpTitle.Size = UDim2.new(1, 0, 0, 40)
helpTitle.Position = UDim2.new(0, 0, 0, 0)
helpTitle.BackgroundTransparency = 1
helpTitle.Text = "Command Help"
helpTitle.TextColor3 = Color3.fromRGB(0, 255, 127)
helpTitle.TextScaled = true
helpTitle.Font = Enum.Font.GothamBold
helpTitle.Parent = helpFrame
local helpText = Instance.new("TextLabel")
helpText.Size = UDim2.new(1, -20, 1, -40)
helpText.Position = UDim2.new(0, 10, 0, 40)
helpText.BackgroundTransparency = 1
helpText.TextColor3 = Color3.fromRGB(255, 255, 255)
helpText.TextWrapped = true
helpText.Text = [[Available commands:
esp all → Highlight all players
esp playername → Highlight specific player
unesp all → Remove highlights from all
unesp playername → Remove highlight from player
help → Show this help menu
spin 360 → idk wth is this
fly on → enable fly dont look funny
fly off → disable fly
roll on → enables rolling mode (character spins/rolls and moves faster)
roll off → disables rolling mode and returns to normal movement
dance → normal speed
dance 2 → twice as fast
dance 0.5 → half speed
]]
helpText.TextScaled = false
helpText.Font = Enum.Font.Gotham
helpText.Parent = helpFrame
-- highlight helpers
local function highlightCharacter(char)
if char:FindFirstChildOfClass("Highlight") then return end
local h = Instance.new("Highlight")
h.FillColor = Color3.fromRGB(0, 255, 127)
h.OutlineColor = Color3.fromRGB(255, 255, 255)
h.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
h.Parent = char
end
local function removeHighlights(char)
for _, v in ipairs(char:GetChildren()) do
if v:IsA("Highlight") then
v:Destroy()
end
end
end
local function setupESP(p)
p.CharacterAdded:Connect(function(char)
highlightCharacter(char)
end)
if p.Character then
highlightCharacter(p.Character)
end
end
local function removeESP(p)
p.CharacterAdded:Connect(function(char)
removeHighlights(char)
end)
if p.Character then
removeHighlights(p.Character)
end
end
local function runCommand(cmd)
local args = string.split(cmd:lower(), " ")
local command = args[1]
local target = args[2]
if command == "help" then
helpFrame.Visible = not helpFrame.Visible
return
end
if not command then return end
if command == "esp" and target then
if target == "all" then
for _, plr in ipairs(Players:GetPlayers()) do
if plr ~= LocalPlayer then
setupESP(plr)
end
end
else
local p = Players:FindFirstChild(target)
if p and p ~= LocalPlayer then
setupESP(p)
end
end
elseif command == "fly" and target then
if target == "on" and not flying and LocalPlayer.Character then
local char = LocalPlayer.Character
local hrp = char:FindFirstChild("HumanoidRootPart")
local hum = char:FindFirstChild("Humanoid")
if hrp and hum then
hum.PlatformStand = true
flying = true
local UIS = game:GetService("UserInputService")
local runService = game:GetService("RunService")
local velocity = Vector3.new(0,0,0)
flyConnection = runService.RenderStepped:Connect(function()
if not flying then return end
local moveDir = Vector3.new(0,0,0)
if UIS:IsKeyDown(Enum.KeyCode.W) then moveDir = moveDir + hrp.CFrame.LookVector end
if UIS:IsKeyDown(Enum.KeyCode.S) then moveDir = moveDir - hrp.CFrame.LookVector end
if UIS:IsKeyDown(Enum.KeyCode.A) then moveDir = moveDir - hrp.CFrame.RightVector end
if UIS:IsKeyDown(Enum.KeyCode.D) then moveDir = moveDir + hrp.CFrame.RightVector end
if UIS:IsKeyDown(Enum.KeyCode.Space) then moveDir = moveDir + Vector3.new(0,1,0) end
if UIS:IsKeyDown(Enum.KeyCode.LeftShift) then moveDir = moveDir - Vector3.new(0,1,0) end
hrp.Velocity = moveDir.Unit * flySpeed
end)
end
elseif target == "off" and flying and LocalPlayer.Character then
local char = LocalPlayer.Character
local hum = char:FindFirstChild("Humanoid")
if hum then
hum.PlatformStand = false
end
flying = false
if flyConnection then
flyConnection:Disconnect()
flyConnection = nil
end
end
elseif command == "roll" and target then
if target == "on" and LocalPlayer.Character and not rolling then
local char = LocalPlayer.Character
local hrp = char:WaitForChild("HumanoidRootPart")
local hum = char:WaitForChild("Humanoid")
hum.PlatformStand = true
rolling = true
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local gyro = Instance.new("BodyGyro")
gyro.MaxTorque = Vector3.new(1e5,1e5,1e5)
gyro.P = 2000
gyro.CFrame = hrp.CFrame
gyro.Parent = hrp
local vel = Instance.new("BodyVelocity")
vel.MaxForce = Vector3.new(1e5,1e5,1e5)
vel.Velocity = Vector3.new(0,0,0)
vel.Parent = hrp
rollConnection = RunService.RenderStepped:Connect(function()
if not rolling then return end
local dir = Vector3.new()
if UIS:IsKeyDown(Enum.KeyCode.W) then dir = dir + hrp.CFrame.LookVector end
if UIS:IsKeyDown(Enum.KeyCode.S) then dir = dir - hrp.CFrame.LookVector end
if UIS:IsKeyDown(Enum.KeyCode.A) then dir = dir - hrp.CFrame.RightVector end
if UIS:IsKeyDown(Enum.KeyCode.D) then dir = dir + hrp.CFrame.RightVector end
if UIS:IsKeyDown(Enum.KeyCode.Space) then dir = dir + Vector3.new(0,1,0) end
if UIS:IsKeyDown(Enum.KeyCode.LeftShift) then dir = dir - Vector3.new(0,1,0) end
if dir.Magnitude > 0 then
vel.Velocity = dir.Unit * rollSpeed
gyro.CFrame = CFrame.lookAt(hrp.Position, hrp.Position + dir)
else
vel.Velocity = Vector3.new(0,0,0)
end
end)
elseif target == "off" and rolling and LocalPlayer.Character then
local char = LocalPlayer.Character
local hum = char:FindFirstChild("Humanoid")
local hrp = char:FindFirstChild("HumanoidRootPart")
if hum then hum.PlatformStand = false end
rolling = false
if rollConnection then rollConnection:Disconnect() rollConnection = nil end
if hrp then
for _, v in ipairs(hrp:GetChildren()) do
if v:IsA("BodyGyro") or v:IsA("BodyVelocity") then v:Destroy() end
end
end
end
elseif command == "unesp" and target then
if target == "all" then
for _, plr in ipairs(Players:GetPlayers()) do
if plr ~= LocalPlayer then
removeESP(plr)
end
end
else
local p = Players:FindFirstChild(target)
if p and p ~= LocalPlayer then
removeESP(p)
end
end
elseif command == "dance" then
local speed = tonumber(args[2]) or 1 -- default 1 if not specified
if LocalPlayer.Character then
local hum = LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
if hum then
if danceTrack then
danceTrack:Stop()
danceTrack:Destroy()
end
local anim = Instance.new("Animation")
anim.AnimationId = "rbxassetid://507771019" -- default Roblox dance
danceTrack = hum:LoadAnimation(anim)
danceTrack.Priority = Enum.AnimationPriority.Action
danceTrack:Play()
danceTrack:AdjustSpeed(speed)
end
end
elseif command == "spin" and target then
local amount = tonumber(target)
if amount and LocalPlayer.Character then
local hrp = LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
if hrp then
local totalRotation = 0
local step = 10
local runService = game:GetService("RunService")
local conn
conn = runService.RenderStepped:Connect(function()
if totalRotation >= amount then
conn:Disconnect()
return
end
hrp.CFrame = hrp.CFrame * CFrame.Angles(0, math.rad(step), 0)
totalRotation = totalRotation + step
end)
end
end
end
end
-- textbox connection
box.FocusLost:Connect(function(enterPressed)
if enterPressed and box.Text ~= "" then
runCommand(box.Text)
box.Text = ""
end
end)
-- close button
local closeBtn = Instance.new("TextButton")
closeBtn.Size = UDim2.new(0, 30, 0, 30)
closeBtn.Position = UDim2.new(1, -35, 0, 5) -- top-right corner
closeBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
closeBtn.Text = "X"
closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
closeBtn.Font = Enum.Font.GothamBold
closeBtn.TextScaled = true
closeBtn.Parent = helpFrame
closeBtn.MouseButton1Click:Connect(function()
helpFrame.Visible = false
end)
-- auto ESP for new players
Players.PlayerAdded:Connect(function(p)
p.CharacterAdded:Connect(function(char)
-- do nothing automatically, wait for commands
end)
end)



what *ing game bro
@Acemonk you see the * it says universal ANYONE