local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer -- GUI local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "ESP_GUI" ScreenGui.ResetOnSpawn = false ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") local Button = Instance.new("TextButton") Button.Size = UDim2.new(0, 160, 0, 60) Button.Position = UDim2.new(0, 20, 0, 20) Button.Text = "ESP: OFF" Button.TextScaled = true Button.Parent = ScreenGui local espEnabled = false local connections = {} -- Clear ESP local function clearAllESP() for _, player in pairs(Players:GetPlayers()) do if player.Character then for _, v in pairs(player.Character:GetDescendants()) do if v:IsA("Highlight") or v:IsA("BillboardGui") then v:Destroy() end end end end end -- Create ESP local function setupCharacter(player, character) if player == LocalPlayer then return end local head = character:WaitForChild("Head", 5) local humanoid = character:WaitForChild("Humanoid", 5) if not head or not humanoid then return end -- Outline local highlight = Instance.new("Highlight") highlight.FillColor = Color3.fromRGB(255, 0, 0) highlight.FillTransparency = 0.4 highlight.OutlineColor = Color3.fromRGB(255,255,255) highlight.Parent = character -- HP local billboard = Instance.new("BillboardGui") billboard.Size = UDim2.new(0, 200, 0, 80) billboard.StudsOffset = Vector3.new(0, 3, 0) billboard.Adornee = head billboard.AlwaysOnTop = true billboard.Parent = head local text = Instance.new("TextLabel") text.Size = UDim2.new(1, 0, 1, 0) text.BackgroundTransparency = 1 text.TextScaled = true text.Font = Enum.Font.SourceSansBold text.TextStrokeTransparency = 0 text.TextColor3 = Color3.fromRGB(0, 255, 0) text.Parent = billboard local function updateHP() text.Text = "HP: " .. math.floor(humanoid.Health) end updateHP() local conn = humanoid.HealthChanged:Connect(updateHP) table.insert(connections, conn) end -- DFUNEWIWUWPI local function setupPlayer(player) if player == LocalPlayer then return end if player.Character then setupCharacter(player, player.Character) end local conn = player.CharacterAdded:Connect(function(char) if espEnabled then setupCharacter(player, char) end end) table.insert(connections, conn) end -- Enable ESP local function enableESP() clearAllESP() for _, player in pairs(Players:GetPlayers()) do setupPlayer(player) end end -- Disable ESP local function disableESP() clearAllESP() for _, conn in pairs(connections) do conn:Disconnect() end connections = {} end -- Button Button.MouseButton1Click:Connect(function() espEnabled = not espEnabled if espEnabled then Button.Text = "ESP: ON" enableESP() else Button.Text = "ESP: OFF" disableESP() end end) -- New Players Players.PlayerAdded:Connect(function(player) if espEnabled then setupPlayer(player) end end)