
KeylessUniversal

-- UltimateAdminPanel_WithLockOn.lua
-- LocalScript -> StarterGui
-- Full Admin Panel (black + neon green) + Lock-On aimbot (players + NPCs, smooth, auto-switch)
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInput = game:GetService("UserInputService")
local Workspace = game:GetService("Workspace")
local StarterGui = game:GetService("StarterGui")
local player = Players.LocalPlayer
if not player then return end
local playerGui = player:WaitForChild("PlayerGui")
-- Prevent duplicate GUI
if playerGui:FindFirstChild("UltimateAdminPanel") then
return
end
-- ---------- Config for Lock-On ----------
local LOCK_CONFIG = {
RANGE = 250, -- detection range in studs
LERP = 0.36, -- camera lerp smoothing (0..1)
REQUIRE_ONSCREEN = false, -- require head to be on screen
IGNORE_WALLS = false -- if false, raycast to prefer visible targets
}
-- ---------- UI ----------
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "UltimateAdminPanel"
screenGui.ResetOnSpawn = false
screenGui.Parent = playerGui
local main = Instance.new("Frame")
main.Name = "Main"
main.Size = UDim2.new(0, 520, 0, 720)
main.Position = UDim2.new(0.5, -260, 0.08, 0)
main.BackgroundColor3 = Color3.fromRGB(10,10,10)
main.BorderSizePixel = 0
main.ClipsDescendants = true
main.Active = false
main.Selectable = false
main.Parent = screenGui
local header = Instance.new("Frame", main)
header.Size = UDim2.new(1,0,0,52)
header.BackgroundTransparency = 1
header.Active = true
local title = Instance.new("TextLabel", header)
title.Size = UDim2.new(1,-140,1,0)
title.Position = UDim2.new(0,12,0,0)
title.BackgroundTransparency = 1
title.Text = "Admin Panel"
title.Font = Enum.Font.Arcade
title.TextSize = 22
title.TextColor3 = Color3.fromRGB(0,255,0)
title.TextXAlignment = Enum.TextXAlignment.Left
local closeBtn = Instance.new("TextButton", header)
closeBtn.Size = UDim2.new(0,100,0,36)
closeBtn.Position = UDim2.new(1,-116,0,8)
closeBtn.Text = "Close"
closeBtn.Font = Enum.Font.Arcade
closeBtn.TextSize = 16
closeBtn.BackgroundColor3 = Color3.fromRGB(35,0,0)
closeBtn.TextColor3 = Color3.fromRGB(0,255,0)
closeBtn.AutoButtonColor = true
closeBtn.Parent = header
closeBtn.MouseButton1Click:Connect(function() main.Visible = false end)
-- header drag
do
local dragging, dragInput, dragStart, startPos
header.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)
header.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement then dragInput = input end
end)
UserInput.InputChanged:Connect(function(input)
if input == dragInput and dragging and dragStart and startPos 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)
end
-- scroll area (active to allow internal buttons clickable)
local scroll = Instance.new("ScrollingFrame", main)
scroll.Size = UDim2.new(1, -16, 1, -72)
scroll.Position = UDim2.new(0, 8, 0, 60)
scroll.BackgroundTransparency = 1
scroll.ScrollBarThickness = 6
scroll.AutomaticCanvasSize = Enum.AutomaticSize.Y
scroll.Active = true
scroll.Selectable = false
local listLayout = Instance.new("UIListLayout", scroll)
listLayout.SortOrder = Enum.SortOrder.LayoutOrder
listLayout.Padding = UDim.new(0,6)
local function notify(t, txt, dur)
pcall(function() StarterGui:SetCore("SendNotification", {Title = t, Text = txt, Duration = dur or 3}) end)
end
local function makeButton(text, callback)
local btn = Instance.new("TextButton")
btn.Parent = scroll
btn.Size = UDim2.new(1, -12, 0, 44)
btn.BackgroundColor3 = Color3.fromRGB(6,6,6)
btn.BorderSizePixel = 0
btn.Font = Enum.Font.Arcade
btn.TextSize = 15
btn.Text = text
btn.TextColor3 = Color3.fromRGB(0,255,0)
local corner = Instance.new("UICorner", btn)
corner.CornerRadius = UDim.new(0,8)
btn.MouseButton1Click:Connect(function()
local ok, err = pcall(callback)
if not ok then warn("Button callback error:", err) end
end)
return btn
end
-- ---------- small helpers ----------
local function waitForChar()
if player.Character and player.Character.Parent then return player.Character end
return player.CharacterAdded:Wait()
end
local function getHumanoid(p)
p = p or player
local ch = p.Character
if not ch then return nil end
return ch:FindFirstChildOfClass("Humanoid")
end
local function getHRP(p)
p = p or player
local ch = p.Character
if not ch then return nil end
return ch:FindFirstChild("HumanoidRootPart") or ch:FindFirstChildWhichIsA("BasePart")
end
-- ---------- state ----------
local state = {
fly={on=false, bv=nil, conns={}},
esp={on=false, list={}},
lockOn={on=false, target=nil, range=LOCK_CONFIG.RANGE},
spin=false,
walkSpeed=16,
walkIncr=10,
jumpBoost=false,
noclip=false,
invisible=false,
forceField=false,
godmode={on=false, conn=nil}
}
-- ---------- ESP (players + NPCs) ----------
local function createESPForCharacter(model, displayName)
if not model or state.esp.list[model] then return end
local hrp = model:FindFirstChild("HumanoidRootPart") or model:FindFirstChildWhichIsA("BasePart")
if not hrp then return end
local b = Instance.new("BillboardGui")
b.Name = "ESP_"..tostring(displayName)
b.Adornee = hrp
b.Size = UDim2.new(0, 140, 0, 48)
b.AlwaysOnTop = true
b.Parent = playerGui
local lbl = Instance.new("TextLabel", b)
lbl.Size = UDim2.fromScale(1,1)
lbl.BackgroundTransparency = 0.35
lbl.BackgroundColor3 = Color3.fromRGB(0,0,0)
lbl.TextColor3 = Color3.fromRGB(0,255,0)
lbl.Font = Enum.Font.Arcade
lbl.TextSize = 14
lbl.Text = displayName
local conn
conn = RunService.Heartbeat:Connect(function()
if not model.Parent then
if conn then conn:Disconnect() end
if b and b.Parent then b:Destroy() end
state.esp.list[model] = nil
return
end
local myHRP = getHRP(player)
if myHRP and hrp then
local dist = math.floor((hrp.Position - myHRP.Position).Magnitude)
lbl.Text = displayName .. "\n" .. tostring(dist) .. " studs"
end
end)
state.esp.list[model] = {gui=b, conn=conn}
end
local function removeESPForCharacter(model)
local entry = state.esp.list[model]
if entry then
if entry.conn then pcall(function() entry.conn:Disconnect() end) end
if entry.gui and entry.gui.Parent then pcall(function() entry.gui:Destroy() end) end
state.esp.list[model] = nil
end
end
local function scanForNPCsAndCreate()
for _, obj in ipairs(Workspace:GetDescendants()) do
if obj:IsA("Model") and obj:FindFirstChildOfClass("Humanoid") and obj:FindFirstChild("Head") then
if not Players:GetPlayerFromCharacter(obj) then
createESPForCharacter(obj, obj.Name)
end
end
end
end
-- ESP toggle
makeButton("ESP (Players + NPCs) Toggle", function()
state.esp.on = not state.esp.on
if state.esp.on then
for _, pl in ipairs(Players:GetPlayers()) do
if pl ~= player and pl.Character then createESPForCharacter(pl.Character, pl.Name) end
end
scanForNPCsAndCreate()
notify("ESP", "ON")
else
for model, entry in pairs(state.esp.list) do
pcall(function()
if entry.conn then entry.conn:Disconnect() end
if entry.gui and entry.gui.Parent then entry.gui:Destroy() end
end)
end
state.esp.list = {}
notify("ESP", "OFF")
end
end)
Players.PlayerAdded:Connect(function(pl)
pl.CharacterAdded:Connect(function(ch)
if state.esp.on then createESPForCharacter(ch, pl.Name) end
end)
end)
Players.PlayerRemoving:Connect(function(pl)
if pl.Character then removeESPForCharacter(pl.Character) end
end)
Workspace.DescendantAdded:Connect(function(obj)
if state.esp.on and obj:IsA("Model") and obj:FindFirstChildOfClass("Humanoid") and obj:FindFirstChild("Head") and not Players:GetPlayerFromCharacter(obj) then
createESPForCharacter(obj, obj.Name)
end
end)
Workspace.DescendantRemoving:Connect(function(obj)
if state.esp.list[obj] then removeESPForCharacter(obj) end
end)
-- ---------- Lock-On (players + NPCs) ----------
local function isModelValidForLock(model)
if not model or not model.Parent then return false end
local head = model:FindFirstChild("Head")
local humanoid = model:FindFirstChildOfClass("Humanoid")
if not head or not humanoid then return false end
if humanoid.Health and humanoid.Health <= 0 then return false end
if Players:GetPlayerFromCharacter(model) == player then return false end
-- distance
local myHead = player.Character and player.Character:FindFirstChild("Head")
if not myHead then return false end
local d = (head.Position - myHead.Position).Magnitude
if d > LOCK_CONFIG.RANGE then return false end
-- optional on-screen check
if LOCK_CONFIG.REQUIRE_ONSCREEN then
local _, onScreen = Workspace.CurrentCamera:WorldToViewportPoint(head.Position)
if not onScreen then return false end
end
-- optional visibility (raycast)
if not LOCK_CONFIG.IGNORE_WALLS then
local origin = Workspace.CurrentCamera.CFrame.Position
local direction = (head.Position - origin)
local rayParams = RaycastParams.new()
rayParams.FilterDescendantsInstances = {player.Character}
rayParams.FilterType = Enum.RaycastFilterType.Blacklist
rayParams.IgnoreWater = true
local result = Workspace:Raycast(origin, direction.Unit * math.min(direction.Magnitude, LOCK_CONFIG.RANGE), rayParams)
if result and result.Instance then
local partAncestor = result.Instance:FindFirstAncestorOfClass("Model")
if partAncestor ~= model then
-- blocked
return false
end
end
end
return true
end
local function findClosestValidTarget()
local myHead = player.Character and player.Character:FindFirstChild("Head")
if not myHead then return nil end
local bestDist = LOCK_CONFIG.RANGE
local bestModel = nil
-- players
for _, pl in ipairs(Players:GetPlayers()) do
if pl ~= player and pl.Character and pl.Character:FindFirstChild("Head") then
local model = pl.Character
if isModelValidForLock(model) then
local d = (model.Head.Position - myHead.Position).Magnitude
if d < bestDist then bestDist = d; bestModel = model end
end
end
end
-- NPCs (models in workspace with Humanoid + Head)
for _, obj in ipairs(Workspace:GetDescendants()) do
if obj:IsA("Model") and obj:FindFirstChildOfClass("Humanoid") and obj:FindFirstChild("Head") then
if not Players:GetPlayerFromCharacter(obj) then
if isModelValidForLock(obj) then
local d = (obj.Head.Position - myHead.Position).Magnitude
if d < bestDist then bestDist = d; bestModel = obj end
end
end
end
end
return bestModel
end
makeButton("Lock-On Toggle", function()
state.lockOn.on = not state.lockOn.on
if not state.lockOn.on then state.lockOn.target = nil end
notify("Lock-On", state.lockOn.on and "ON" or "OFF")
end)
-- smooth camera lerp to current lock target; auto-switch if invalid
RunService.RenderStepped:Connect(function()
if not state.lockOn.on then return end
-- validate current target
local targ = state.lockOn.target
if not targ or not targ.Parent or not targ:FindFirstChild("Head") or not isModelValidForLock(targ) then
state.lockOn.target = findClosestValidTarget()
targ = state.lockOn.target
if not targ then return end
end
local head = targ:FindFirstChild("Head")
if not head then return end
-- ensure still in range
local myHead = player.Character and player.Character:FindFirstChild("Head")
if not myHead then return end
local dist = (head.Position - myHead.Position).Magnitude
if dist > LOCK_CONFIG.RANGE then
state.lockOn.target = nil
return
end
local cam = Workspace.CurrentCamera
if not cam then return end
local camPos = cam.CFrame.Position
local goal = CFrame.new(camPos, head.Position)
cam.CFrame = cam.CFrame:Lerp(goal, LOCK_CONFIG.LERP)
end)
-- ---------- Fly (improved) ----------
local flyInputs = {forward=0,right=0,up=0}
local function startFly()
if state.fly.bv and state.fly.bv.Parent then return end
local ch = waitForChar()
local hrp = ch:FindFirstChild("HumanoidRootPart") or ch:FindFirstChildWhichIsA("BasePart")
if not hrp then return end
state.fly.bv = Instance.new("BodyVelocity")
state.fly.bv.Name = "__UltimateFlyBV"
state.fly.bv.MaxForce = Vector3.new(1e5,1e5,1e5)
state.fly.bv.P = 10000
state.fly.bv.Velocity = Vector3.new(0,0,0)
state.fly.bv.Parent = hrp
local hum = ch:FindFirstChildOfClass("Humanoid")
if hum then hum.PlatformStand = true end
table.insert(state.fly.conns, UserInput.InputBegan:Connect(function(input, processed)
if processed then return end
local k = input.KeyCode
if k==Enum.KeyCode.W then flyInputs.forward = 1 end
if k==Enum.KeyCode.S then flyInputs.forward = -1 end
if k==Enum.KeyCode.D then flyInputs.right = 1 end
if k==Enum.KeyCode.A then flyInputs.right = -1 end
if k==Enum.KeyCode.Space then flyInputs.up = 1 end
if k==Enum.KeyCode.LeftShift or k==Enum.KeyCode.LeftControl then flyInputs.up = -1 end
end))
table.insert(state.fly.conns, UserInput.InputEnded:Connect(function(input, processed)
if processed then return end
local k = input.KeyCode
if k==Enum.KeyCode.W or k==Enum.KeyCode.S then flyInputs.forward = 0 end
if k==Enum.KeyCode.A or k==Enum.KeyCode.D then flyInputs.right = 0 end
if k==Enum.KeyCode.Space or k==Enum.KeyCode.LeftShift or k==Enum.KeyCode.LeftControl then flyInputs.up = 0 end
end))
table.insert(state.fly.conns, RunService.Heartbeat:Connect(function()
if not state.fly.on then return end
local cam = Workspace.CurrentCamera
if not cam or not state.fly.bv then return end
local move = Vector3.new()
if flyInputs.forward ~= 0 then move = move + cam.CFrame.LookVector * flyInputs.forward end
if flyInputs.right ~= 0 then move = move + cam.CFrame.RightVector * flyInputs.right end
if flyInputs.up ~= 0 then move = move + Vector3.new(0, flyInputs.up, 0) end
if move.Magnitude > 0 then
state.fly.bv.Velocity = move.Unit * 140
else
state.fly.bv.Velocity = Vector3.new(0,0,0)
end
end))
end
local function stopFly()
state.fly.on = false
if state.fly.bv and state.fly.bv.Parent then pcall(function() state.fly.bv:Destroy() end) end
state.fly.bv = nil
for _,c in ipairs(state.fly.conns) do pcall(function() c:Disconnect() end) end
state.fly.conns = {}
local ch = player.Character
local hum = ch and ch:FindFirstChildOfClass("Humanoid")
if hum then hum.PlatformStand = false end
end
makeButton("Fly Toggle", function()
state.fly.on = not state.fly.on
if state.fly.on then startFly(); notify("Fly", "ON") else stopFly(); notify("Fly", "OFF") end
end)
-- ---------- Spin ----------
makeButton("Spin Toggle", function()
state.spin = not state.spin
notify("Spin", state.spin and "ON" or "OFF")
end)
RunService.RenderStepped:Connect(function()
if state.spin and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
local hrp = player.Character.HumanoidRootPart
hrp.CFrame = hrp.CFrame * CFrame.Angles(0, math.rad(18), 0)
end
end)
-- ---------- WalkFast incremental ----------
makeButton("WalkFast (click to increase)", function()
local hum = getHumanoid()
if not hum then notify("WalkFast", "No humanoid") return end
state.walkSpeed = (state.walkSpeed or 16) + state.walkIncr
hum.WalkSpeed = state.walkSpeed
notify("WalkSpeed", "Now " .. tostring(hum.WalkSpeed))
end)
makeButton("Reset WalkSpeed", function()
local hum = getHumanoid()
if not hum then notify("WalkSpeed", "No humanoid") return end
state.walkSpeed = 16
hum.WalkSpeed = 16
notify("WalkSpeed", "Reset to 16")
end)
-- ---------- JumpBoost ----------
makeButton("JumpBoost Toggle", function()
local hum = getHumanoid()
if not hum then notify("Jump", "No humanoid") return end
state.jumpBoost = not state.jumpBoost
hum.JumpPower = state.jumpBoost and 150 or 50
notify("JumpBoost", state.jumpBoost and "ON" or "OFF")
end)
-- ---------- Noclip ----------
makeButton("Noclip Toggle", function()
state.noclip = not state.noclip
notify("Noclip", state.noclip and "ON" or "OFF")
end)
RunService.Stepped:Connect(function()
if state.noclip and player.Character then
for _, part in ipairs(player.Character:GetDescendants()) do
if part:IsA("BasePart") then part.CanCollide = false end
end
end
end)
-- ---------- Invisibility ----------
makeButton("Invisibility Toggle (local)", function()
state.invisible = not state.invisible
if player.Character then
for _, part in ipairs(player.Character:GetDescendants()) do
if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
pcall(function() part.Transparency = state.invisible and 1 or 0 end)
end
if part:IsA("Decal") then pcall(function() part.Transparency = state.invisible and 1 or 0 end) end
end
end
notify("Invisibility", state.invisible and "ON" or "OFF")
end)
-- ---------- ForceField (visual) ----------
makeButton("ForceField Toggle", function()
state.forceField = not state.forceField
if state.forceField then
if player.Character and not player.Character:FindFirstChildOfClass("ForceField") then
local ff = Instance.new("ForceField", player.Character)
ff.Name = "__AdminForceField"
end
notify("ForceField", "ON")
else
if player.Character then
for _, v in ipairs(player.Character:GetChildren()) do
if v:IsA("ForceField") and v.Name == "__AdminForceField" then pcall(function() v:Destroy() end) end
end
end
notify("ForceField", "OFF")
end
end)
-- ---------- Teleport nearest (instant) ----------
makeButton("Teleport to Nearest", function()
local hrp = getHRP(player)
if not hrp then notify("Teleport","No HRP"); return end
local best = math.huge; local bestModel = nil
for _, pl in ipairs(Players:GetPlayers()) do
if pl ~= player and pl.Character and pl.Character:FindFirstChild("HumanoidRootPart") then
local d = (pl.Character.HumanoidRootPart.Position - hrp.Position).Magnitude
if d < best then best = d; bestModel = pl.Character end
end
end
for _, obj in ipairs(Workspace:GetDescendants()) do
if obj:IsA("Model") and obj:FindFirstChildOfClass("Humanoid") and obj:FindFirstChild("HumanoidRootPart") then
if not Players:GetPlayerFromCharacter(obj) then
local d = (obj.HumanoidRootPart.Position - hrp.Position).Magnitude
if d < best then best = d; bestModel = obj end
end
end
end
if bestModel and bestModel:FindFirstChild("HumanoidRootPart") then
hrp.CFrame = bestModel.HumanoidRootPart.CFrame + Vector3.new(0,3,0)
notify("Teleport", "To nearest target")
else
notify("Teleport", "No target found")
end
end)
-- ---------- Teleport by name prompt ----------
makeButton("Teleport To (by name)", function()
local tb = Instance.new("TextBox", screenGui)
tb.Size = UDim2.new(0, 360, 0, 36)
tb.Position = UDim2.new(0.5, -180, 0.5, -18)
tb.PlaceholderText = "Enter exact player name and press Enter"
tb.ClearTextOnFocus = false
tb:CaptureFocus()
tb.FocusLost:Connect(function(enter)
if enter and tb.Text ~= "" then
local target = Players:FindFirstChild(tb.Text)
local hrp = getHRP(player)
if target and target.Character and target.Character:FindFirstChild("HumanoidRootPart") and hrp then
hrp.CFrame = target.Character.HumanoidRootPart.CFrame + Vector3.new(0,3,0)
notify("Teleport", "To "..tb.Text)
else
notify("Teleport","Player not found or no character")
end
end
pcall(function() tb:Destroy() end)
end)
end)
-- ---------- Bring / Fling / Explosion / Freeze / Unfreeze / Kill ----------
makeButton("Bring All", function()
local myHRP = getHRP(player)
if not myHRP then notify("Bring","No HRP"); return end
for _, pl in ipairs(Players:GetPlayers()) do
if pl~=player and pl.Character and pl.Character:FindFirstChild("HumanoidRootPart") then
pcall(function()
pl.Character.HumanoidRootPart.CFrame = myHRP.CFrame * CFrame.new(math.random(-6,6), 0, math.random(-6,6))
end)
end
end
notify("Bring","Attempted (client-side)")
end)
makeButton("Fling All", function()
for _, pl in ipairs(Players:GetPlayers()) do
if pl.Character and pl.Character:FindFirstChild("HumanoidRootPart") then
pcall(function()
pl.Character.HumanoidRootPart.Velocity = Vector3.new(math.random(-1800,1800), 1600 + math.random(0,400), math.random(-1800,1800))
end)
end
end
notify("Fling", "Applied (client)")
end)
makeButton("Explosion All", function()
for _, pl in ipairs(Players:GetPlayers()) do
if pl.Character and pl.Character:FindFirstChild("HumanoidRootPart") then
local e = Instance.new("Explosion")
e.Position = pl.Character.HumanoidRootPart.Position
e.BlastRadius = 10
e.DestroyJointRadiusPercent = 0
e.Parent = Workspace
end
end
notify("Explosion", "Created (client)")
end)
makeButton("Freeze All (anchor)", function()
for _, pl in ipairs(Players:GetPlayers()) do
if pl.Character then
for _, part in ipairs(pl.Character:GetDescendants()) do
if part:IsA("BasePart") then pcall(function() part.Anchored = true end) end
end
end
end
notify("FreezeAll", "Anchored (client)")
end)
makeButton("Unfreeze All", function()
for _, pl in ipairs(Players:GetPlayers()) do
if pl.Character then
for _, part in ipairs(pl.Character:GetDescendants()) do
if part:IsA("BasePart") then pcall(function() part.Anchored = false end) end
end
end
end
notify("Unfreeze", "Unanchored")
end)
makeButton("Kill Nearest", function()
local hrp = getHRP(player)
if not hrp then notify("Kill","No HRP") return end
local best = math.huge; local target = nil
for _, pl in ipairs(Players:GetPlayers()) do
if pl~=player and pl.Character and pl.Character:FindFirstChildOfClass("Humanoid") and pl.Character:FindFirstChild("HumanoidRootPart") then
local d = (pl.Character.HumanoidRootPart.Position - hrp.Position).Magnitude
if d < best then best = d; target = pl.Character end
end
end
if target and target:FindFirstChildOfClass("Humanoid") then
pcall(function() target:FindFirstChildOfClass("Humanoid").Health = 0 end)
notify("Kill", "Attempted nearest kill")
else
notify("Kill", "No target")
end
end)
-- ---------- Godmode (local) ----------
makeButton("Godmode Toggle (local)", function()
state.godmode.on = not state.godmode.on
if state.godmode.on then
state.godmode.conn = RunService.Heartbeat:Connect(function()
local hum = getHumanoid()
if hum then
if hum.Health <= 1 then hum.Health = hum.MaxHealth end
hum.Health = math.min(hum.MaxHealth, hum.Health + 0.75)
end
end)
else
if state.godmode.conn then pcall(function() state.godmode.conn:Disconnect() end) end
state.godmode.conn = nil
end
notify("Godmode", state.godmode.on and "ON" or "OFF")
end)
-- ---------- Give Tool / Coins / Announce / Respawn / Clear ----------
makeButton("Give Local Sword", function()
local tool = Instance.new("Tool")
tool.Name = "LocalSword"
tool.CanBeDropped = false
local handle = Instance.new("Part")
handle.Name = "Handle"; handle.Size = Vector3.new(1,4,1)
handle.Color = Color3.fromRGB(0,255,0); handle.Parent = tool
tool.Parent = player.Backpack
pcall(function() local hum = getHumanoid(); if hum then hum:EquipTool(tool) end end)
notify("Tool","LocalSword added")
end)
makeButton("Give Coins (local)", function()
if not player:FindFirstChild("leaderstats") then
local folder = Instance.new("Folder", player); folder.Name = "leaderstats"
local coins = Instance.new("IntValue", folder); coins.Name = "Coins"; coins.Value = 99999
else
local coins = player.leaderstats:FindFirstChild("Coins")
if coins and coins:IsA("IntValue") then coins.Value = coins.Value + 99999 end
end
notify("Coins","Added (local)")
end)
makeButton("Announce (system)", function()
pcall(function()
StarterGui:SetCore("ChatMakeSystemMessage", {
Text = "[ADMIN] This server has been upgraded.";
Color = Color3.fromRGB(0,255,0);
Font = Enum.Font.GothamBold;
})
end)
end)
makeButton("Respawn Self", function() pcall(function() player:LoadCharacter() end) end)
makeButton("Clear All Effects", function()
if state.fly.on then pcall(stopFly) end
state.spin = false
state.lockOn.on = false; state.lockOn.target = nil
state.noclip = false
state.invisible = false
state.jumpBoost = false
state.forceField = false
for k, v in pairs(state.esp.list) do pcall(function() if v.conn then v.conn:Disconnect() end; if v.gui and v.gui.Parent then v.gui:Destroy() end end) end
state.esp.list = {}
for k, v in pairs(state.multiESP.list) do pcall(function() if v.gui and v.gui.Parent then v.gui:Destroy() end end) end
state.multiESP.list = {}
if player.Character then
for _, part in ipairs(player.Character:GetDescendants()) do
if part:IsA("BasePart") then pcall(function() part.CanCollide = true; part.Transparency = 0; part.Anchored = false end) end
if part:IsA("Decal") then pcall(function() part.Transparency = 0 end) end
if part:IsA("ForceField") and part.Name == "__AdminForceField" then pcall(function() part:Destroy() end) end
end
local hum = getHumanoid()
if hum then hum.WalkSpeed = 16; hum.JumpPower = 50; hum.PlatformStand = false end
end
if state.godmode.conn then pcall(function() state.godmode.conn:Disconnect() end) end
state.godmode.conn = nil; state.godmode.on = false
notify("Clear", "All effects cleared")
end)
-- ---------- event handling ----------
Players.PlayerAdded:Connect(function(pl)
pl.CharacterAdded:Connect(function(ch)
if state.esp.on then createESPForCharacter(ch, pl.Name) end
end)
end)
Players.PlayerRemoving:Connect(function(pl)
if pl.Character then removeESPForCharacter(pl.Character) end
end)
Workspace.DescendantAdded:Connect(function(obj)
if state.esp.on and obj:IsA("Model") and obj:FindFirstChildOfClass("Humanoid") and obj:FindFirstChild("Head") and not Players:GetPlayerFromCharacter(obj) then
createESPForCharacter(obj, obj.Name)
end
end)
Workspace.DescendantRemoving:Connect(function(obj)
if state.esp.list[obj] then removeESPForCharacter(obj) end
end)
-- toggle GUI by RightControl
UserInput.InputBegan:Connect(function(input, processed)
if processed then return end
if input.KeyCode == Enum.KeyCode.RightControl then
main.Visible = not main.Visible
end
end)
-- cleanup on character remove
player.CharacterRemoving:Connect(function()
if state.fly.on then pcall(stopFly) end
if state.godmode.conn then pcall(function() state.godmode.conn:Disconnect() end) end
for k,v in pairs(state.esp.list) do pcall(function() if v.conn then v.conn:Disconnect() end; if v.gui and v.gui.Parent then v.gui:Destroy() end end) end
state.esp.list = {}
state.multiESP.list = {}
end)
notify("Admin Panel", "Loaded. RightCtrl toggles GUI", 4)No comments yet for this script.

![[KEYLESS] Moondiety Script | 17+ supported Games](https://scriptblox.com/images/sb/0-1753093706828.png)

