
KeylessUniversal

--// UNIVERSAL ADMIN PANEL REAL (NO SOLO VISUAL) - LocalScript
--// StarterPlayer > StarterPlayerScripts
local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
if playerGui:FindFirstChild("UniversalAdminPanel") then
playerGui.UniversalAdminPanel:Destroy()
end
local gui = Instance.new("ScreenGui")
gui.Name = "UniversalAdminPanel"
gui.ResetOnSpawn = false
gui.Parent = playerGui
-- MAIN
local main = Instance.new("Frame")
main.Size = UDim2.new(0, 760, 0, 500)
main.Position = UDim2.new(0.5, -380, 0.5, -250)
main.BackgroundColor3 = Color3.fromRGB(20,20,35)
main.BorderSizePixel = 0
main.Parent = gui
Instance.new("UICorner", main).CornerRadius = UDim.new(0,18)
local stroke = Instance.new("UIStroke")
stroke.Color = Color3.fromRGB(0,255,255)
stroke.Thickness = 2
stroke.Parent = main
-- TITLE
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1,-60,0,45)
title.Position = UDim2.new(0,15,0,5)
title.BackgroundTransparency = 1
title.Text = "Oplo Keyless"
title.TextColor3 = Color3.new(1,1,1)
title.Font = Enum.Font.GothamBold
title.TextSize = 24
title.TextXAlignment = Enum.TextXAlignment.Left
title.Parent = main
-- MINIMIZE
local minimize = Instance.new("TextButton")
minimize.Size = UDim2.new(0,40,0,40)
minimize.Position = UDim2.new(1,-50,0,5)
minimize.Text = "-"
minimize.Font = Enum.Font.GothamBold
minimize.TextSize = 24
minimize.TextColor3 = Color3.new(1,1,1)
minimize.BackgroundColor3 = Color3.fromRGB(0,170,255)
minimize.Parent = main
Instance.new("UICorner", minimize)
-- LEFT PANEL
local left = Instance.new("Frame")
left.Size = UDim2.new(0,180,1,-55)
left.Position = UDim2.new(0,0,0,55)
left.BackgroundColor3 = Color3.fromRGB(15,15,28)
left.Parent = main
-- RIGHT PANEL
local powers = Instance.new("ScrollingFrame")
powers.Size = UDim2.new(1,-190,1,-65)
powers.Position = UDim2.new(0,190,0,60)
powers.CanvasSize = UDim2.new(0,0,0,1200)
powers.ScrollBarThickness = 6
powers.BackgroundTransparency = 1
powers.Parent = main
local grid = Instance.new("UIGridLayout")
grid.CellSize = UDim2.new(0,160,0,55)
grid.CellPadding = UDim2.new(0,10,0,10)
grid.Parent = powers
-- FUNCTIONS
local flying = false
local noclip = false
local function getChar()
return player.Character or player.CharacterAdded:Wait()
end
local function fly()
local char = getChar()
local hrp = char:WaitForChild("HumanoidRootPart")
if flying then
flying = false
if hrp:FindFirstChild("FlyVelocity") then hrp.FlyVelocity:Destroy() end
if hrp:FindFirstChild("FlyGyro") then hrp.FlyGyro:Destroy() end
return
end
flying = true
local bv = Instance.new("BodyVelocity")
bv.Name = "FlyVelocity"
bv.MaxForce = Vector3.new(999999,999999,999999)
bv.Parent = hrp
local bg = Instance.new("BodyGyro")
bg.Name = "FlyGyro"
bg.MaxTorque = Vector3.new(999999,999999,999999)
bg.Parent = hrp
task.spawn(function()
while flying and hrp.Parent do
local cam = workspace.CurrentCamera
bg.CFrame = cam.CFrame
local dir = Vector3.zero
if UIS:IsKeyDown(Enum.KeyCode.W) then dir += cam.CFrame.LookVector end
if UIS:IsKeyDown(Enum.KeyCode.S) then dir -= cam.CFrame.LookVector end
if UIS:IsKeyDown(Enum.KeyCode.A) then dir -= cam.CFrame.RightVector end
if UIS:IsKeyDown(Enum.KeyCode.D) then dir += cam.CFrame.RightVector end
if UIS:IsKeyDown(Enum.KeyCode.Space) then dir += Vector3.new(0,1,0) end
bv.Velocity = dir * 80
task.wait()
end
end)
end
local function activatePower(power)
local char = getChar()
local hum = char:FindFirstChildOfClass("Humanoid")
local hrp = char:FindFirstChild("HumanoidRootPart")
if power == "Fly" then
fly()
elseif power == "Speed" then
hum.WalkSpeed = 100
elseif power == "Jump" then
hum.JumpPower = 150
elseif power == "Normal" then
hum.WalkSpeed = 16
hum.JumpPower = 50
elseif power == "Noclip" then
noclip = not noclip
task.spawn(function()
while noclip do
for _,v in pairs(char:GetDescendants()) do
if v:IsA("BasePart") then
v.CanCollide = false
end
end
task.wait()
end
end)
elseif power == "Invisible" then
for _,v in pairs(char:GetDescendants()) do
if v:IsA("BasePart") then
v.Transparency = 0.7
end
end
elseif power == "Visible" then
for _,v in pairs(char:GetDescendants()) do
if v:IsA("BasePart") then
v.Transparency = 0
end
end
elseif power == "BigHead" then
char.Head.Size = Vector3.new(5,5,5)
elseif power == "SmallHead" then
char.Head.Size = Vector3.new(1,1,1)
elseif power == "Sit" then
hum.Sit = true
elseif power == "Reset" then
hum.Health = 0
elseif power == "Spin" then
task.spawn(function()
for i = 1,150 do
hrp.CFrame *= CFrame.Angles(0, math.rad(20), 0)
task.wait()
end
end)
elseif power == "Flashlight" then
if not char.Head:FindFirstChild("Light") then
local light = Instance.new("SpotLight")
light.Name = "Light"
light.Brightness = 5
light.Range = 30
light.Parent = char.Head
end
elseif power == "Sparkles" then
Instance.new("Sparkles", hrp)
elseif power == "Fire" then
Instance.new("Fire", hrp)
elseif power == "Smoke" then
Instance.new("Smoke", hrp)
elseif power == "ForceField" then
Instance.new("ForceField", char)
elseif power == "Heal" then
hum.Health = hum.MaxHealth
elseif power == "Gravity Low" then
workspace.Gravity = 50
elseif power == "Gravity Normal" then
workspace.Gravity = 196.2
elseif power == "FOV+" then
workspace.CurrentCamera.FieldOfView = 120
elseif power == "FOV Normal" then
workspace.CurrentCamera.FieldOfView = 70
end
end
-- CATEGORIES
local categories = {
Player = {"Fly","Speed","Jump","Normal","Noclip","Invisible","Visible","Reset"},
Fun = {"BigHead","SmallHead","Spin","Sit","Sparkles","Fire","Smoke","ForceField"},
Utility = {"Flashlight","Heal","Gravity Low","Gravity Normal","FOV+","FOV Normal","Speed","Jump"}
}
local function clearButtons()
for _,v in pairs(powers:GetChildren()) do
if v:IsA("TextButton") then
v:Destroy()
end
end
end
local function loadCategory(cat)
clearButtons()
for _,power in ipairs(categories[cat]) do
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0,160,0,55)
btn.Text = power
btn.Font = Enum.Font.GothamBold
btn.TextSize = 16
btn.TextColor3 = Color3.new(1,1,1)
btn.BackgroundColor3 = Color3.fromRGB(35,35,55)
btn.Parent = powers
Instance.new("UICorner", btn)
btn.MouseButton1Click:Connect(function()
activatePower(power)
end)
end
end
-- CATEGORY BUTTONS
local y = 10
for cat,_ in pairs(categories) do
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(1,-20,0,45)
btn.Position = UDim2.new(0,10,0,y)
btn.Text = cat
btn.Font = Enum.Font.GothamBold
btn.TextSize = 18
btn.TextColor3 = Color3.new(1,1,1)
btn.BackgroundColor3 = Color3.fromRGB(25,25,45)
btn.Parent = left
Instance.new("UICorner", btn)
btn.MouseButton1Click:Connect(function()
loadCategory(cat)
end)
y += 55
end
loadCategory("Player")
-- MINIMIZE
local minimized = false
local oldSize = main.Size
minimize.MouseButton1Click:Connect(function()
minimized = not minimized
if minimized then
left.Visible = false
powers.Visible = false
main.Size = UDim2.new(0,250,0,50)
minimize.Text = "+"
else
left.Visible = true
powers.Visible = true
main.Size = oldSize
minimize.Text = "-"
end
end)
-- DRAG
local dragging = false
local dragStart
local startPos
title.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
dragStart = input.Position
startPos = main.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
UIS.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)



Sca.