
KeylessUniversal

--[[
ULTIMATE ESP + AIMBOT v7.2 — WITH FOV CIRCLE
- Boxes, Names, Tools, Health, Distance
- Highlight ESP
- Tracers (V)
- FOV Circle (C)
- Aimbot (Hold RMB, toggle K)
- Whitelist GUI (P)
- Keybind GUI (B)
- Respawn-proof
]]
-- SERVICES
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Camera = workspace.CurrentCamera
local LocalPlayer = Players.LocalPlayer
-- KEYBINDS
local Keybinds = {
ToggleTeamESP = Enum.KeyCode.N,
ToggleNames = Enum.KeyCode.T,
ToggleBox = Enum.KeyCode.Q,
ToggleHighlight = Enum.KeyCode.H,
ToggleTracers = Enum.KeyCode.V,
ToggleFOV = Enum.KeyCode.C,
SwitchAimPart = Enum.KeyCode.E,
ToggleAimbot = Enum.KeyCode.K,
TeamTarget = Enum.KeyCode.LeftAlt,
OpenWhitelist = Enum.KeyCode.P,
OpenKeybinds = Enum.KeyCode.B
}
-- SETTINGS
local Settings = {
AimPart = "Head",
AimbotEnabled = false,
AimbotActive = true,
TargetTeam = false,
ESPMode = "Box", -- Box / Highlight / Off
ShowNames = true,
ShowTeamESP = true,
ShowTracers = true,
FOVEnabled = true,
FOVRadius = 150,
FOVColor = Color3.fromRGB(255, 0, 0),
FOVThickness = 2
}
local Whitelist = {}
local ESP = {}
-- FOV CIRCLE
local FOVCircle = Drawing.new("Circle")
FOVCircle.Radius = Settings.FOVRadius
FOVCircle.Color = Settings.FOVColor
FOVCircle.Thickness = Settings.FOVThickness
FOVCircle.Filled = false
FOVCircle.Visible = Settings.FOVEnabled
-- CREATE ESP
local function CreateESP(plr)
if plr == LocalPlayer or ESP[plr] then return end
local d = {
Box = Drawing.new("Square"),
Name = Drawing.new("Text"),
Dist = Drawing.new("Text"),
Tool = Drawing.new("Text"),
HBarBG = Drawing.new("Square"),
HBar = Drawing.new("Square"),
HText = Drawing.new("Text"),
Tracer = Drawing.new("Line")
}
d.Box.Thickness = 2; d.Box.Filled = false; d.Box.Transparency = 1
d.Name.Size = 16; d.Name.Center = true; d.Name.Outline = true
d.Dist.Size = 14; d.Dist.Center = true; d.Dist.Outline = true
d.Tool.Size = 14; d.Tool.Center = true; d.Tool.Outline = true
d.HBarBG.Filled = true; d.HBarBG.Color = Color3.new(0,0,0); d.HBarBG.Transparency = 0.5
d.HBar.Filled = true
d.HText.Size = 14; d.HText.Center = true; d.HText.Outline = true
d.Tracer.Thickness = 2
d.Tracer.Transparency = 1
local hl = Instance.new("Highlight")
hl.Parent = Camera
hl.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
ESP[plr] = {Draw = d, HL = hl}
RunService.RenderStepped:Connect(function()
local char = plr.Character
local hum = char and char:FindFirstChild("Humanoid")
local root = char and char:FindFirstChild("HumanoidRootPart")
local head = char and char:FindFirstChild("Head")
local myRoot = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
if not (char and hum and root and hum.Health > 0) then
for _,v in pairs(d) do v.Visible = false end
hl.Enabled = false
return
end
local pos, on = Camera:WorldToViewportPoint(root.Position)
local isTeam = plr.Team == LocalPlayer.Team and LocalPlayer.Team ~= nil
if not on or (isTeam and not Settings.ShowTeamESP) then
for _,v in pairs(d) do v.Visible = false end
hl.Enabled = false
return
end
local color = isTeam and Color3.fromRGB(0,255,255) or Color3.fromRGB(255,0,0)
local hp = hum.Health / hum.MaxHealth
local dist = myRoot and math.floor((root.Position - myRoot.Position).Magnitude).."m" or ""
local tool = char:FindFirstChildWhichIsA("Tool")
-- Highlight
hl.Adornee = char
hl.FillColor = color
hl.OutlineColor = color
hl.Enabled = Settings.ESPMode == "Highlight"
local top = Camera:WorldToViewportPoint(root.Position + Vector3.new(0,3,0))
local bot = Camera:WorldToViewportPoint(root.Position - Vector3.new(0,4,0))
local height = math.abs(top.Y - bot.Y)
local width = height * 0.7
d.Box.Size = Vector2.new(width, height)
d.Box.Position = Vector2.new(pos.X - width/2, pos.Y - height/2)
d.Box.Color = color
d.Box.Visible = Settings.ESPMode == "Box"
local headPos = head and Camera:WorldToViewportPoint(head.Position + Vector3.new(0,1,0)) or pos
d.Name.Text = plr.DisplayName
d.Name.Position = Vector2.new(headPos.X, headPos.Y - 40)
d.Name.Visible = Settings.ShowNames
d.Dist.Text = dist
d.Dist.Position = Vector2.new(headPos.X, headPos.Y - 25)
d.Dist.Visible = Settings.ShowNames
d.Tool.Text = tool and tool.Name or "None"
d.Tool.Position = Vector2.new(headPos.X, headPos.Y - 10)
d.Tool.Visible = Settings.ShowNames
local bx = pos.X - width/2 - 20
local by = pos.Y - height/2
d.HBarBG.Position = Vector2.new(bx-2, by-2)
d.HBarBG.Size = Vector2.new(6, height+4)
d.HBarBG.Visible = Settings.ShowNames
d.HBar.Position = Vector2.new(bx, by + height - height*hp)
d.HBar.Size = Vector2.new(4, height*hp)
d.HBar.Color = Color3.fromRGB(255*(1-hp),255*hp,0)
d.HBar.Visible = Settings.ShowNames
d.HText.Text = math.floor(hum.Health).." HP"
d.HText.Position = Vector2.new(bx-25, by + height/2 - 8)
d.HText.Visible = Settings.ShowNames
d.Tracer.From = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y)
d.Tracer.To = Vector2.new(pos.X, pos.Y)
d.Tracer.Color = color
d.Tracer.Visible = Settings.ShowTracers
end)
end
-- PLAYER SETUP
for _,p in pairs(Players:GetPlayers()) do
if p ~= LocalPlayer then
if p.Character then CreateESP(p) end
p.CharacterAdded:Connect(function()
task.wait(1)
CreateESP(p)
end)
end
end
Players.PlayerAdded:Connect(CreateESP)
-- AIMBOT TARGET
local function GetTarget()
local best, closest = nil, Settings.FOVRadius
local mouse = UserInputService:GetMouseLocation()
for _,p in pairs(Players:GetPlayers()) do
if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild(Settings.AimPart) then
local hum = p.Character:FindFirstChild("Humanoid")
if hum and hum.Health > 0 then
local teammate = p.Team == LocalPlayer.Team and LocalPlayer.Team ~= nil
if not teammate or Settings.TargetTeam then
local pos, on = Camera:WorldToViewportPoint(p.Character[Settings.AimPart].Position)
if on then
local dist = (Vector2.new(pos.X, pos.Y) - mouse).Magnitude
if dist < closest then
closest = dist
best = p.Character[Settings.AimPart]
end
end
end
end
end
end
return best
end
-- AIMBOT LOOP
RunService.Heartbeat:Connect(function()
if Settings.AimbotEnabled and Settings.AimbotActive then
local t = GetTarget()
if t then
Camera.CFrame = CFrame.new(Camera.CFrame.Position, t.Position)
end
end
end)
-- INPUT
UserInputService.InputBegan:Connect(function(input, gp)
if gp then return end
local k = input.KeyCode
if k == Keybinds.ToggleTeamESP then Settings.ShowTeamESP = not Settings.ShowTeamESP
elseif k == Keybinds.ToggleNames then Settings.ShowNames = not Settings.ShowNames
elseif k == Keybinds.ToggleBox then Settings.ESPMode = Settings.ESPMode == "Box" and "Off" or "Box"
elseif k == Keybinds.ToggleHighlight then Settings.ESPMode = Settings.ESPMode == "Highlight" and "Off" or "Highlight"
elseif k == Keybinds.ToggleTracers then Settings.ShowTracers = not Settings.ShowTracers
elseif k == Keybinds.ToggleFOV then Settings.FOVEnabled = not Settings.FOVEnabled
elseif k == Keybinds.SwitchAimPart then Settings.AimPart = Settings.AimPart == "Head" and "HumanoidRootPart" or "Head"
elseif k == Keybinds.ToggleAimbot then Settings.AimbotActive = not Settings.AimbotActive
end
if input.UserInputType == Enum.UserInputType.MouseButton2 and Settings.AimbotActive then
Settings.AimbotEnabled = true
UserInputService.MouseBehavior = Enum.MouseBehavior.LockCenter
end
end)
UserInputService.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton2 then
Settings.AimbotEnabled = false
UserInputService.MouseBehavior = Enum.MouseBehavior.Default
end
end)
-- UPDATE FOV CIRCLE
RunService.RenderStepped:Connect(function()
FOVCircle.Position = UserInputService:GetMouseLocation()
FOVCircle.Radius = Settings.FOVRadius
FOVCircle.Visible = Settings.FOVEnabled
end)
print("ULTIMATE ESP + AIMBOT v7.2 LOADED")
print("V = Tracers | C = FOV | K = Toggle Aimbot | RMB = Hold Aim")No comments yet for this script.

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

