
KeylessUniversal

local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
-- UI CREATION
local FlyGuiMain = Instance.new("ScreenGui")
FlyGuiMain.Name = "FlyGui_Pro"
FlyGuiMain.ResetOnSpawn = false
FlyGuiMain.Parent = player:WaitForChild("PlayerGui")
local MainFrame = Instance.new("Frame")
MainFrame.Name = "Main"
MainFrame.Size = UDim2.new(0, 500, 0, 300)
MainFrame.Position = UDim2.new(0.5, -250, 0.5, -150)
MainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
MainFrame.BorderSizePixel = 0
MainFrame.Active = true
MainFrame.Parent = FlyGuiMain
local function createBtn(name, text, pos, size, color, parent)
local b = Instance.new("TextButton")
b.Name = name
b.Text = text
b.Position = pos
b.Size = size
b.BackgroundColor3 = color
b.BorderSizePixel = 0
b.Font = Enum.Font.SourceSansBold
b.TextColor3 = Color3.new(1, 1, 1)
b.TextSize = 16
b.Parent = parent
return b
end
-- Header
local Title = createBtn("Title", "Fly Gui - Make by My_Own_Script", UDim2.new(0,0,0,0), UDim2.new(0.9,0,0.12,0), Color3.fromRGB(0, 153, 188), MainFrame)
local Close = createBtn("Close", "X", UDim2.new(0.9,0,0,0), UDim2.new(0.1,0,0.12,0), Color3.fromRGB(200, 0, 0), MainFrame)
-- Left Side (Controls)
local LeftPanel = Instance.new("Frame", MainFrame)
LeftPanel.Size = UDim2.new(0.5, 0, 0.88, 0)
LeftPanel.Position = UDim2.new(0, 0, 0.12, 0)
LeftPanel.BackgroundTransparency = 1
local StartBtn = createBtn("Start", "START FLY", UDim2.new(0.05,0,0.05,0), UDim2.new(0.9,0,0.18,0), Color3.fromRGB(255, 140, 0), LeftPanel)
local PlusBtn = createBtn("Plus", "+10", UDim2.new(0.05,0,0.25,0), UDim2.new(0.25,0,0.15,0), Color3.fromRGB(0, 32, 150), LeftPanel)
local SpeedDisp = createBtn("Disp", "Speed: 50", UDim2.new(0.35,0,0.25,0), UDim2.new(0.3,0,0.15,0), Color3.fromRGB(67, 133, 200), LeftPanel)
local MinusBtn = createBtn("Minus", "-10", UDim2.new(0.7,0,0.25,0), UDim2.new(0.25,0,0.15,0), Color3.fromRGB(204, 170, 0), LeftPanel)
local NoclipBtn = createBtn("Noclip", "Noclip: OFF", UDim2.new(0.05,0,0.45,0), UDim2.new(0.9,0,0.15,0), Color3.fromRGB(60, 60, 60), LeftPanel)
local ColorBtn = createBtn("Color", "Click here to Change ESP Color", UDim2.new(0.05,0,0.65,0), UDim2.new(0.9,0,0.3,0), Color3.fromRGB(45, 45, 45), LeftPanel)
ColorBtn.TextWrapped = true
-- Right Side (Player List)
local RightPanel = Instance.new("ScrollingFrame", MainFrame)
RightPanel.Size = UDim2.new(0.45, 0, 0.8, 0)
RightPanel.Position = UDim2.new(0.52, 0, 0.15, 0)
RightPanel.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
RightPanel.BorderSizePixel = 0
RightPanel.CanvasSize = UDim2.new(0, 0, 0, 0)
local UIList = Instance.new("UIListLayout", RightPanel)
-- LOGIC VARIABLES
local flying, noclip = false, false
local speed = 50
local espTarget = "None"
local espColor = Color3.fromRGB(255, 0, 0)
local ctrl = {f = 0, b = 0, l = 0, r = 0, u = 0, d = 0}
-- DRAG LOGIC
local dragging, dragStart, startPos
Title.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true; dragStart = input.Position; startPos = MainFrame.Position
input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end)
end
end)
UserInputService.InputChanged:Connect(function(input)
if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
local delta = input.Position - dragStart
MainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end
end)
-- ESP CLEAR FUNCTION
local function clearAllESP()
espTarget = "None"
for _, p in pairs(Players:GetPlayers()) do
if p.Character and p.Character:FindFirstChild("ESPHighlight") then
p.Character.ESPHighlight.Enabled = false
end
end
end
-- ESP REFRESH SYSTEM
local function updateESP()
local allPlayers = Players:GetPlayers()
local selectedList = {}
if espTarget == "None" then
clearAllESP()
return
elseif espTarget == "Everyone" then
selectedList = allPlayers
elseif espTarget == "Random" then
if #allPlayers > 1 then
local r; repeat r = allPlayers[math.random(#allPlayers)] until r ~= player
selectedList = {r}
end
else
local p = Players:FindFirstChild(espTarget)
if p then selectedList = {p} end
end
-- Disable others
for _, p in pairs(allPlayers) do
if p.Character and p.Character:FindFirstChild("ESPHighlight") then
p.Character.ESPHighlight.Enabled = false
end
end
-- Apply New
for _, p in pairs(selectedList) do
if p ~= player and p.Character then
local h = p.Character:FindFirstChild("ESPHighlight") or Instance.new("Highlight", p.Character)
h.Name = "ESPHighlight"
h.FillColor = espColor
h.Enabled = true
end
end
end
-- UPDATE PLAYER LIST UI
local function refreshPlayerList()
for _, v in pairs(RightPanel:GetChildren()) do if v:IsA("TextButton") then v:Destroy() end end
local function addListBtn(name, targetVal, color)
local b = createBtn(name, name, UDim2.new(0,0,0,0), UDim2.new(1,0,0,30), color or Color3.fromRGB(50,50,50), RightPanel)
b.MouseButton1Click:Connect(function()
espTarget = targetVal
updateESP()
end)
end
-- Added unESP All (Clear) button
addListBtn("[ UN-ESP ALL ]", "None", Color3.fromRGB(150, 0, 0))
addListBtn("[ EVERYONE ]", "Everyone", Color3.fromRGB(0, 100, 0))
addListBtn("[ RANDOM ]", "Random", Color3.fromRGB(100, 100, 0))
for _, p in pairs(Players:GetPlayers()) do
if p ~= player then addListBtn(p.Name, p.Name) end
end
RightPanel.CanvasSize = UDim2.new(0,0,0, UIList.AbsoluteContentSize.Y)
end
Players.PlayerAdded:Connect(refreshPlayerList)
Players.PlayerRemoving:Connect(refreshPlayerList)
refreshPlayerList()
-- BUTTONS
StartBtn.MouseButton1Click:Connect(function()
if flying then flying = false else
flying = true; StartBtn.Text = "STOP FLY"
local char = player.Character; local root = char.HumanoidRootPart
local bg = Instance.new("BodyGyro", root); bg.maxTorque = Vector3.new(9e9, 9e9, 9e9); bg.P = 9e4
local bv = Instance.new("BodyVelocity", root); bv.maxForce = Vector3.new(9e9, 9e9, 9e9)
task.spawn(function()
while flying do RunService.RenderStepped:Wait()
char.Humanoid.PlatformStand = true; local cam = workspace.CurrentCamera.CFrame
bv.velocity = ((cam.LookVector * (ctrl.f + ctrl.b)) + (cam * CFrame.new(ctrl.l + ctrl.r, (ctrl.u + ctrl.d), 0).Position - cam.Position)).Unit * speed
bg.cframe = cam
if (ctrl.f+ctrl.b+ctrl.l+ctrl.r+ctrl.u+ctrl.d) == 0 then bv.velocity = Vector3.new(0,0,0) end
end
bg:Destroy(); bv:Destroy(); char.Humanoid.PlatformStand = false; StartBtn.Text = "START FLY"
end)
end
end)
NoclipBtn.MouseButton1Click:Connect(function()
noclip = not noclip
NoclipBtn.Text = noclip and "Noclip: ON" or "Noclip: OFF"
NoclipBtn.BackgroundColor3 = noclip and Color3.fromRGB(0, 150, 0) or Color3.fromRGB(60, 60, 60)
end)
local colors = {Color3.new(1,0,0), Color3.new(0,1,0), Color3.new(0,0,1), Color3.new(1,1,0), Color3.new(1,0,1), Color3.new(0,1,1)}
local colorIdx = 1
ColorBtn.MouseButton1Click:Connect(function()
colorIdx = (colorIdx % #colors) + 1
espColor = colors[colorIdx]
ColorBtn.TextColor3 = espColor
updateESP()
end)
PlusBtn.MouseButton1Click:Connect(function() speed += 10; SpeedDisp.Text = "Speed: "..speed end)
MinusBtn.MouseButton1Click:Connect(function() speed = math.max(0, speed-10); SpeedDisp.Text = "Speed: "..speed end)
-- INPUTS
UserInputService.InputBegan:Connect(function(i, g) if g then return end
if i.KeyCode == Enum.KeyCode.W then ctrl.f = 1 elseif i.KeyCode == Enum.KeyCode.S then ctrl.b = -1
elseif i.KeyCode == Enum.KeyCode.A then ctrl.l = -1 elseif i.KeyCode == Enum.KeyCode.D then ctrl.r = 1
elseif i.KeyCode == Enum.KeyCode.E then ctrl.u = 1 elseif i.KeyCode == Enum.KeyCode.Q then ctrl.d = -1 end
end)
UserInputService.InputEnded:Connect(function(i)
if i.KeyCode == Enum.KeyCode.W or i.KeyCode == Enum.KeyCode.S then ctrl.f, ctrl.b = 0, 0
elseif i.KeyCode == Enum.KeyCode.A or i.KeyCode == Enum.KeyCode.D then ctrl.l, ctrl.r = 0, 0
elseif i.KeyCode == Enum.KeyCode.E or i.KeyCode == Enum.KeyCode.Q then ctrl.u, ctrl.d = 0, 0 end
end)
RunService.Stepped:Connect(function()
if noclip and player.Character then
for _, v in pairs(player.Character:GetDescendants()) do if v:IsA("BasePart") then v.CanCollide = false end end
end
end)
Close.MouseButton1Click:Connect(function() FlyGuiMain:Destroy() flying = false noclip = false end)
![[KEYLESS] Moondiety Script | 17+ supported Games](https://scriptblox.com/images/sb/0-1753093706828.png)


w