Esp all players
Key RequiredUniversal

Esp all players

Universal ScriptRobloxplayer37864Robloxplayer37864 1K views 894 executesUpdated Jan 17, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•71 lines (2204 chars)
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer

local function createESP(player)
	if player == LocalPlayer then return end

	local function onCharacterAdded(character)
		local humanoid = character:WaitForChild("Humanoid", 10)
		local head = character:WaitForChild("Head", 10)
		if not humanoid or not head then return end

		-- Apply Highlight to the body
		local highlight = character:FindFirstChild("ESPHighlight") or Instance.new("Highlight")
		highlight.Name = "ESPHighlight"
		highlight.Parent = character
		highlight.FillColor = Color3.fromRGB(0, 255, 0)
		highlight.FillTransparency = 0.5
		highlight.OutlineColor = Color3.fromRGB(255, 255, 255)
		highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop

		-- Apply Billboard for Name and HP
		if head:FindFirstChild("ESPBillboard") then
			head.ESPBillboard:Destroy()
		end

		local billboard = Instance.new("BillboardGui")
		billboard.Name = "ESPBillboard"
		billboard.Size = UDim2.new(0, 200, 0, 50)
		billboard.StudsOffset = Vector3.new(0, 3, 0) 
		billboard.AlwaysOnTop = true                 
		billboard.Parent = head

		local label = Instance.new("TextLabel")
		label.Size = UDim2.new(1, 0, 1, 0)
		label.BackgroundTransparency = 1
		label.TextColor3 = Color3.fromRGB(255, 255, 255)
		label.TextStrokeTransparency = 0             
		label.TextScaled = true
		label.Font = Enum.Font.SourceSansBold
		label.Parent = billboard

		local function updateText()
			if not humanoid or not humanoid.Parent then return end
			
			local hp = math.floor(humanoid.Health)
			local maxHp = math.floor(humanoid.MaxHealth)
			label.Text = string.format("%s\nHP: %d/%d", player.Name, hp, maxHp)
			
			if hp <= 25 then
				label.TextColor3 = Color3.fromRGB(255, 50, 50) 
			elseif hp <= 50 then
				label.TextColor3 = Color3.fromRGB(255, 255, 0)
			else
				label.TextColor3 = Color3.fromRGB(0, 255, 0)   
			end
		end

		humanoid.HealthChanged:Connect(updateText)
		updateText()
	end

	player.CharacterAdded:Connect(onCharacterAdded)
	if player.Character then
		onCharacterAdded(player.Character)
	end
end

for _, player in ipairs(Players:GetPlayers()) do
	createESP(player)
end
Players.PlayerAdded:Connect(createESP)

Features & Information

Esp all players when the text above the player is yellow it means they have a bit of health left but when red it means they have very low health when green it means they have good health
#Esp script

Community Comments (3)

Robloxplayer37864Robloxplayer37864Jan 17, 2026

Enjoy I guess...

drooiidcyber52drooiidcyber52Jan 17, 2026

w

Replying to @drooiidcyber52
Robloxplayer37864Robloxplayer37864Jan 17, 2026

@drooiidcyber52 ty

More Scripts for Universal Scripts