local localPlayer = game.Players.LocalPlayer -- CONFIG local settings = { boxColor = Color3.fromRGB(255, 0, 0), nameColor = Color3.fromRGB(255, 255, 255), healthBarColor = Color3.fromRGB(0, 255, 0), refreshRate = 0.1 } local espObjects = {} local function createESP(player) if player == localPlayer or espObjects[player] then return end local character = player.Character if not character or not character:FindFirstChild("Head") then return end local head = character.Head local bill = Instance.new("BillboardGui") bill.Name = "ESP" bill.Adornee = head bill.Size = UDim2.new(0, 200, 0, 50) bill.StudsOffset = Vector3.new(0, 3, 0) bill.AlwaysOnTop = true local name = Instance.new("TextLabel", bill) name.Text = player.Name name.Size = UDim2.new(1, 0, 0.5, 0) name.BackgroundTransparency = 1 name.TextColor3 = settings.nameColor name.TextStrokeTransparency = 0 name.TextScaled = true local healthBG = Instance.new("Frame", bill) healthBG.Position = UDim2.new(0.25, 0, 0.5, 0) healthBG.Size = UDim2.new(0.5, 0, 0.15, 0) healthBG.BackgroundColor3 = Color3.fromRGB(40, 40, 40) healthBG.BorderSizePixel = 0 local healthBar = Instance.new("Frame", healthBG) healthBar.Name = "HealthBar" healthBar.Size = UDim2.new(1, 0, 1, 0) healthBar.BackgroundColor3 = settings.healthBarColor healthBar.BorderSizePixel = 0 bill.Parent = head espObjects[player] = {billboard = bill, healthBar = healthBar} end game:GetService("RunService").RenderStepped:Connect(function() for player, esp in pairs(espObjects) do if player and player.Character and player.Character:FindFirstChild("Humanoid") then local health = player.Character.Humanoid.Health local maxHealth = player.Character.Humanoid.MaxHealth esp.healthBar.Size = UDim2.new(math.clamp(health / maxHealth, 0, 1), 0, 1, 0) end end end) for _, player in pairs(game.Players:GetPlayers()) do createESP(player) end game.Players.PlayerAdded:Connect(function(player) player.CharacterAdded:Connect(function() wait(1) createESP(player) end) end)