
KeylessUniversal

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local Camera = workspace.CurrentCamera
local LocalPlayer = Players.LocalPlayer
--true(On) false(Off)
getgenv().ESPEnabled = true
getgenv().BoxESP = true
getgenv().TracerESP = true
getgenv().NameESP = true
getgenv().DistanceESP = true
getgenv().HealthESP = true
getgenv().HealthOutlineESP = true
getgenv().WallhackEnabled = true
getgenv().TeamCheck = false
getgenv().RenderDistance = 1000
getgenv().BoxColor = Color3.fromRGB(255,255,255)
getgenv().TracerColor = Color3.fromRGB(255,255,255)
getgenv().NameColor = Color3.fromRGB(255,255,255)
getgenv().DistanceColor = Color3.fromRGB(255,255,255)
local boxes = {}
local tracers = {}
local nameTags = {}
local distanceTags = {}
local healthBars = {}
local function createText(size)
local text = Drawing.new("Text")
text.Size = size
text.Center = true
text.Outline = false
text.Visible = false
return text
end
local function createBarPair()
local outline = Drawing.new("Square")
outline.Thickness = 1
outline.Filled = true
outline.Visible = false
outline.Color = Color3.fromRGB(0,0,0)
local bar = Drawing.new("Square")
bar.Thickness = 1
bar.Filled = true
bar.Visible = false
bar.Color = Color3.fromRGB(0,255,0)
return {Outline = outline, Bar = bar}
end
local function isEnemy(player)
if not getgenv().TeamCheck then return true end
return player.Team ~= LocalPlayer.Team
end
local function createESP(character, player)
if not character or boxes[character] then return end
if player == LocalPlayer then return end
local hrp = character:FindFirstChild("HumanoidRootPart")
local head = character:FindFirstChild("Head")
local humanoid = character:FindFirstChild("Humanoid")
if not hrp or not head then return end
local box = Drawing.new("Square")
box.Visible = false
box.Color = getgenv().BoxColor
box.Filled = false
box.Transparency = 1
box.Thickness = 1
local line = Drawing.new("Line")
line.Visible = false
line.Color = getgenv().TracerColor
line.Thickness = 1
line.Transparency = 1
local nameTag = createText(11)
local distTag = createText(11)
if not healthBars[player] then
healthBars[player] = createBarPair()
end
local connection = RunService.RenderStepped:Connect(function()
if not getgenv().ESPEnabled or not getgenv().WallhackEnabled then
box.Visible = false
line.Visible = false
nameTag.Visible = false
distTag.Visible = false
if healthBars[player] then
healthBars[player].Outline.Visible = false
healthBars[player].Bar.Visible = false
end
return
end
if not isEnemy(player) then
box.Visible = false
line.Visible = false
nameTag.Visible = false
distTag.Visible = false
if healthBars[player] then
healthBars[player].Outline.Visible = false
healthBars[player].Bar.Visible = false
end
return
end
hrp = character:FindFirstChild("HumanoidRootPart")
head = character:FindFirstChild("Head")
humanoid = character:FindFirstChild("Humanoid")
if not hrp or not head or not humanoid then return end
local pos, visible = Camera:WorldToViewportPoint(hrp.Position)
local headPos = Camera:WorldToViewportPoint(head.Position + Vector3.new(0, 0.3, 0))
local legPos = Camera:WorldToViewportPoint(hrp.Position - Vector3.new(0, 2.5, 0))
local distance = (Camera.CFrame.Position - hrp.Position).Magnitude
if visible and distance <= getgenv().RenderDistance then
local scale = 1 / (pos.Z * math.tan(math.rad(Camera.FieldOfView * 0.5)) * 2) * 100
local width, height = math.floor(40 * scale), math.floor(62 * scale)
local position = Vector2.new(pos.X - width/2, pos.Y - height/2)
if getgenv().BoxESP then
box.Size = Vector2.new(width, height)
box.Position = position
box.Color = getgenv().BoxColor
box.Visible = true
else box.Visible = false end
if getgenv().TracerESP then
line.From = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y - 50)
line.To = Vector2.new(pos.X, pos.Y)
line.Color = getgenv().TracerColor
line.Visible = true
else line.Visible = false end
if getgenv().NameESP then
nameTag.Position = Vector2.new(headPos.X, headPos.Y - 20)
nameTag.Text = player.Name
nameTag.Color = getgenv().NameColor
nameTag.Visible = true
else nameTag.Visible = false end
if getgenv().DistanceESP and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
local dist = math.floor((hrp.Position - LocalPlayer.Character.HumanoidRootPart.Position).Magnitude)
distTag.Position = Vector2.new(legPos.X, legPos.Y + 5)
distTag.Text = tostring(dist) .. "m"
distTag.Color = getgenv().DistanceColor
distTag.Visible = true
else distTag.Visible = false end
if getgenv().HealthESP then
local outline = healthBars[player].Outline
local bar = healthBars[player].Bar
local barHeight = height * 0.95
local barWidth = 2
local barXPos = position.X - barWidth - 5
local barYPos = position.Y + (height - barHeight) / 2
local hpPercent = humanoid.Health / humanoid.MaxHealth
local filledHeight = barHeight * hpPercent
if getgenv().HealthOutlineESP then
outline.Size = Vector2.new(barWidth + 2, barHeight + 2)
outline.Position = Vector2.new(barXPos - 1, barYPos - 1)
outline.Visible = true
else outline.Visible = false end
bar.Size = Vector2.new(barWidth, filledHeight)
bar.Position = Vector2.new(barXPos, barYPos + (barHeight - filledHeight))
if humanoid.Health <= 20 then
bar.Color = Color3.fromRGB(255, 0, 0)
elseif humanoid.Health <= 65 then
bar.Color = Color3.fromRGB(255, 255, 0)
else
bar.Color = Color3.fromRGB(0, 255, 0)
end
bar.Visible = true
else
if healthBars[player] then
healthBars[player].Outline.Visible = false
healthBars[player].Bar.Visible = false
end
end
else
box.Visible = false
line.Visible = false
nameTag.Visible = false
distTag.Visible = false
if healthBars[player] then
healthBars[player].Outline.Visible = false
healthBars[player].Bar.Visible = false
end
end
end)
boxes[character] = {Box = box, Connection = connection}
tracers[character] = {Line = line}
nameTags[player] = nameTag
distanceTags[player] = distTag
end
local function removeESP(character, player)
if boxes[character] then
if boxes[character].Connection then boxes[character].Connection:Disconnect() end
if boxes[character].Box then boxes[character].Box:Remove() end
boxes[character] = nil
end
if tracers[character] then
if tracers[character].Line then tracers[character].Line:Remove() end
tracers[character] = nil
end
if nameTags[player] then
nameTags[player]:Remove()
nameTags[player] = nil
end
if distanceTags[player] then
distanceTags[player]:Remove()
distanceTags[player] = nil
end
if healthBars[player] then
if healthBars[player].Outline then healthBars[player].Outline:Remove() end
if healthBars[player].Bar then healthBars[player].Bar:Remove() end
healthBars[player] = nil
end
end
local function setupPlayer(player)
if player == LocalPlayer then return end
player.CharacterAdded:Connect(function(char)
removeESP(char, player)
task.wait(0.1)
char:WaitForChild("HumanoidRootPart", 5)
char:WaitForChild("Head", 5)
char:WaitForChild("Humanoid", 5)
createESP(char, player)
end)
player.CharacterRemoving:Connect(function(char)
removeESP(char, player)
end)
if player.Character and player.Character:FindFirstChild("HumanoidRootPart") and player.Character:FindFirstChild("Head") and player.Character:FindFirstChild("Humanoid") then
createESP(player.Character, player)
end
end
for _, player in pairs(Players:GetPlayers()) do
setupPlayer(player)
end
Players.PlayerAdded:Connect(setupPlayer)
Players.PlayerRemoving:Connect(function(player)
if player.Character then
removeESP(player.Character, player)
end
end)



It's really cool, there's no lag, respect to whoever made it.
Ряльно круто