--// FULL WALLHACK ESP (Highlight + Name + Health) - Fixed Team Colors local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local localPlayer = Players.LocalPlayer local espEnabled = false local espObjects = {} local RED_COLOR = Color3.fromRGB(255, 60, 60) local BLUE_COLOR = Color3.fromRGB(60, 120, 255) local function isEnemy(player) if not localPlayer.Team or not player.Team then return player ~= localPlayer end return player.Team ~= localPlayer.Team end local function getTeamColor(player) if not player.Team then return Color3.fromRGB(255, 220, 60) end return player.Team.TeamColor.Color end local function createESP(player) if espObjects[player] then return end if not isEnemy(player) then return end -- Strong safety local character = player.Character if not character then return end local root = character:FindFirstChild("HumanoidRootPart") local humanoid = character:FindFirstChild("Humanoid") if not root or not humanoid then return end -- WALLHACK HIGHLIGHT local highlight = Instance.new("Highlight") highlight.Name = "WallHack" highlight.FillColor = getTeamColor(player) -- Only enemies get colored highlight.OutlineColor = Color3.fromRGB(255, 255, 255) highlight.FillTransparency = 0.35 highlight.OutlineTransparency = 0 highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop highlight.Adornee = character highlight.Parent = character -- Billboard local billboard = Instance.new("BillboardGui") billboard.Name = "ESP_Billboard" billboard.Adornee = root billboard.Size = UDim2.new(5, 0, 2.5, 0) billboard.StudsOffset = Vector3.new(0, 3.5, 0) billboard.AlwaysOnTop = true billboard.LightInfluence = 0 billboard.Parent = character -- Name Tag local nameLabel = Instance.new("TextLabel") nameLabel.Size = UDim2.new(1, 0, 0.5, 0) nameLabel.BackgroundTransparency = 1 nameLabel.Text = player.DisplayName nameLabel.TextColor3 = getTeamColor(player) nameLabel.TextScaled = true nameLabel.Font = Enum.Font.GothamBold nameLabel.TextStrokeTransparency = 0.6 nameLabel.Parent = billboard -- Health Bar local healthBg = Instance.new("Frame") healthBg.Size = UDim2.new(0.85, 0, 0.22, 0) healthBg.Position = UDim2.new(0.075, 0, 0.65, 0) healthBg.BackgroundColor3 = Color3.new(0, 0, 0) healthBg.BorderSizePixel = 1 healthBg.Parent = billboard local healthBar = Instance.new("Frame") healthBar.Size = UDim2.new(1, 0, 1, 0) healthBar.BackgroundColor3 = Color3.fromRGB(0, 255, 80) healthBar.BorderSizePixel = 0 healthBar.Parent = healthBg espObjects[player] = { Highlight = highlight, Billboard = billboard, HealthBar = healthBar, Humanoid = humanoid } end local function removeESP(player) if espObjects[player] then if espObjects[player].Highlight then espObjects[player].Highlight:Destroy() end if espObjects[player].Billboard then espObjects[player].Billboard:Destroy() end espObjects[player] = nil end end local function updateESP() if not espEnabled then return end for _, player in ipairs(Players:GetPlayers()) do if player ~= localPlayer then if isEnemy(player) then local char = player.Character if char and char:FindFirstChild("HumanoidRootPart") then if not espObjects[player] then createESP(player) end -- Health update local data = espObjects[player] if data and data.Humanoid and data.HealthBar then local hp = math.clamp(data.Humanoid.Health / data.Humanoid.MaxHealth, 0, 1) data.HealthBar.Size = UDim2.new(hp, 0, 1, 0) if hp > 0.6 then data.HealthBar.BackgroundColor3 = Color3.fromRGB(0, 255, 80) elseif hp > 0.3 then data.HealthBar.BackgroundColor3 = Color3.fromRGB(255, 180, 0) else data.HealthBar.BackgroundColor3 = Color3.fromRGB(255, 50, 50) end end else removeESP(player) end else removeESP(player) -- Force remove teammates end end end end -- Toggle UserInputService.InputBegan:Connect(function(input, gp) if gp or input.KeyCode ~= Enum.KeyCode.K then return end espEnabled = not espEnabled print(espEnabled and "✅ FULL WALLHACK ENABLED" or "❌ WALLHACK DISABLED") if not espEnabled then for player, _ in pairs(espObjects) do removeESP(player) end end end) RunService.Heartbeat:Connect(updateESP) -- Connections Players.PlayerAdded:Connect(function(player) player.CharacterAdded:Connect(function() if espEnabled and isEnemy(player) then task.wait(0.3) createESP(player) end end) end) Players.PlayerRemoving:Connect(removeESP) print("Team-fixed Wallhack loaded! Press K")