Oplo Keyless
Key RequiredUniversal

Oplo Keyless

Universal ScriptOploZsaOploZsa 652 views 39 executesUpdated Apr 29, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•334 lines (8103 chars)
--// 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)

Features & Information

Fly, Speed, Visual Particles (ALL EXECUTORS SUPPORTED) PC + MOBILE + IOS

Community Comments (1)

Sca.

More Scripts for Universal Scripts