1개월 전 · Jul 14, 2026 7:38 AM
Clean implementation of player ESP using the custom Drawing library:
LUA
local function CreateESP(player)
local box = Drawing.new('Square')
box.Thickness = 1.5
box.Filled = false
box.Color = Color3.fromRGB(0, 255, 128)
local nameTag = Drawing.new('Text')
nameTag.Size = 14
nameTag.Center = true
nameTag.Outline = true
nameTag.Color = Color3.fromRGB(255, 255, 255)
game:GetService('RunService').RenderStepped:Connect(function()
if player.Character and player.Character:FindFirstChild('HumanoidRootPart') then
local root = player.Character.HumanoidRootPart
local screenPos, onScreen = workspace.CurrentCamera:WorldToViewportPoint(root.Position)
if onScreen then
box.Visible = true
box.Position = Vector2.new(screenPos.X - 25, screenPos.Y - 35)
box.Size = Vector2.new(50, 70)
nameTag.Visible = true
nameTag.Position = Vector2.new(screenPos.X, screenPos.Y - 52)
nameTag.Text = player.Name .. ' [' .. math.floor(screenPos.Z) .. 'm]'
else
box.Visible = false
nameTag.Visible = false
end
end
end)
end