Extended Zombie Hitbox
Key Required

Extended Zombie Hitbox

[ NEW ] Zombie HellFlamup17Flamup17 1K views 6 executesUpdated Apr 1, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•190 lines (5005 chars)
-- Made by me: i_justTrySomething

-- Keybind: "P" to remove Highlights and stop script (go all the way down to change it)

loadstring(game:HttpGet(('https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source'),true))()

local UserInputService = game:GetService("UserInputService")
local enemiesFolder = workspace:WaitForChild("MapContents"):WaitForChild("Enemies")
local ragdollsFolder = workspace.MapContents:WaitForChild("Ragdolls")

local trackedEnemies = {}
local stopAllLoops = false

-- CONFIG
local MAIN_HEAD_TRANSPARENCY = 0.9  -- do not touch or it will be unplayable.

local TARGET_FILL = 0.7   -- if too bright change to 0.9 (do not change to 1)

local BH_HEAD_SIZE = 20   -- change this number For Head Hitbox Size ! !! ! 


local TARGET_BH_HEAD_SIZE = Vector3.new(BH_HEAD_SIZE, BH_HEAD_SIZE, BH_HEAD_SIZE)
local LOOP_DELAY = 0.1   -- do not touch


local function unanchorModel(model)
	for _, part in ipairs(model:GetDescendants()) do
		if part:IsA("BasePart") then
			part.Anchored = false
		end
	end
end

local function ensureHighlight(parent, adornee, data)
	if not parent then return false end
	local highlight = parent:FindFirstChildOfClass("Highlight")
	if not highlight then
		highlight = Instance.new("Highlight")
		highlight.Parent = parent
		highlight.Adornee = adornee
		highlight.FillTransparency = TARGET_FILL
		highlight.OutlineTransparency = TARGET_FILL
		table.insert(data.Highlights, highlight)
		return true
	end

	if highlight.FillTransparency ~= TARGET_FILL then
		highlight.FillTransparency = TARGET_FILL
		highlight.OutlineTransparency = TARGET_FILL
		return true
	end
	return false
end

local function ensureSize(part, size, data)
	if not part or not part.Parent then return false end
	if part.Size ~= size then
		part.Size = size
		data.ModifiedParts[part] = true
		return true
	end
	return false
end

local function cleanupEnemy(enemy, data)
	for _, h in ipairs(data.Highlights) do
		if h and h.Parent then
			h:Destroy()
		end
	end
	for part, _ in pairs(data.ModifiedParts) do
		if part and part.Parent then
			part.Size = Vector3.new(1,1,1)
			part.Transparency = 0
			part.Anchored = false
			part.CanCollide = true
		end
	end
	trackedEnemies[enemy] = nil
end

local function cleanupAll()
	for enemy, data in pairs(trackedEnemies) do
		cleanupEnemy(enemy, data)
	end
end

local function setupEnemy(enemy)
	if not enemy:IsA("Model") or trackedEnemies[enemy] then return end

	local data = {Highlights = {}, ModifiedParts = {}}
	trackedEnemies[enemy] = data

	task.spawn(function()
		while enemy.Parent and not stopAllLoops do
			unanchorModel(enemy)
			local changed = false

			local hrp = enemy:FindFirstChild("HumanoidRootPart")
			if not hrp then
				task.wait(LOOP_DELAY)
				continue
			end

			local mainHead = enemy:FindFirstChild("Head")
			local bodyHitbox = hrp:FindFirstChild("BodyHitbox")
			local bhHead
			if bodyHitbox then
				bhHead = bodyHitbox:FindFirstChild("Head")
			end

			if mainHead then
				if mainHead.Transparency ~= MAIN_HEAD_TRANSPARENCY then
					mainHead.Transparency = MAIN_HEAD_TRANSPARENCY
				end
				mainHead.CanCollide = false
				changed = ensureHighlight(mainHead, mainHead, data) or changed
			end

			if bhHead then
				if bhHead.Transparency ~= MAIN_HEAD_TRANSPARENCY then
					bhHead.Transparency = MAIN_HEAD_TRANSPARENCY
				end
				bhHead.CanCollide = false
				changed = ensureSize(bhHead, TARGET_BH_HEAD_SIZE, data) or changed
				changed = ensureHighlight(bhHead, bhHead, data) or changed
				changed = ensureHighlight(bodyHitbox, bodyHitbox, data) or changed
			end

			if hrp then
				changed = ensureHighlight(enemy, hrp, data) or changed
			end

			-- Stop loop if mainHead exists and bhHead exists & sized correctly
			if mainHead and bhHead and bhHead.Size == TARGET_BH_HEAD_SIZE then
				break
			end

			task.wait(LOOP_DELAY)
		end
	end)

	local humanoid = enemy:FindFirstChildOfClass("Humanoid")
	if humanoid then
		local conn
		conn = humanoid.Died:Connect(function()
			cleanupEnemy(enemy, data)
			if conn then conn:Disconnect() end
		end)
	end
end

for _, obj in ipairs(enemiesFolder:GetDescendants()) do
	if obj:IsA("Model") then
		setupEnemy(obj)
	end
end

local childAddedConn = enemiesFolder.DescendantAdded:Connect(function(obj)
	if obj:IsA("Model") then
		setupEnemy(obj)
	end
end)

local ragdollConn = ragdollsFolder.ChildAdded:Connect(function(ragdoll)
	if ragdoll and ragdoll.Parent then
		ragdoll:Destroy()
	end
end)

for _, r in ipairs(ragdollsFolder:GetChildren()) do
	if r and r.Parent then
		r:Destroy()
	end
end

-- KEYBIND P TO CLEANUP
UserInputService.InputBegan:Connect(function(input, gameProcessed)
	if gameProcessed then return end
	if input.KeyCode == Enum.KeyCode.P then   -- Change "P" right after KeyCode into keybind you want.
		stopAllLoops = true
		if childAddedConn then childAddedConn:Disconnect() end
		if ragdollConn then ragdollConn:Disconnect() end
		cleanupAll()
		trackedEnemies = {}
		if script and script.Parent then
			script:Destroy()
		end
	end
end)

Features & Information

(Fixed) Zombie ESP + extended Hitbox + infinite yield -Im lazy to obfuscate it have fun..

Community Comments (0)

No comments yet for this script.