function getHumanoid(f)for f,S in pairs(f:GetChildren())do if S:IsA("\072\117\109\097\110\111\105\100")then return S end end end local f=script.Parent local S=getHumanoid(f)local m=f.HumanoidRootPart local x=m.Velocity.magnitude local s=game:GetService("\080\097\116\104\102\105\110\100\105\110\103\083\101\114\118\105\099\101")function GetPlayerNames()local f=(game:GetService("\080\108\097\121\101\114\115")):GetChildren()local S=nil for f,m in pairs(f)do if m:IsA("\080\108\097\121\101\114")then S=tostring(m.Name)end end return S end spawn(function()while wait()do end end)function GetPlayersBodyParts(f)local S=f if S then local f=S.Parent for f,S in pairs(f:GetChildren())do if S:IsA("\080\097\114\116")then return S.Name end end else return"\072\117\109\097\110\111\105\100\082\111\111\116\080\097\114\116"end end function GetTorso(f)local S=game.Workspace:GetChildren()local m=nil for S,x in pairs(S)do if x:IsA("\077\111\100\101\108")and(x~=script.Parent and x.Name==GetPlayerNames())then local S=x:FindFirstChild("\072\117\109\097\110\111\105\100\082\111\111\116\080\097\114\116")if(S.Position-f).magnitude<SearchDistance then m=S end end end return m end for S,m in pairs(f:GetChildren())do if m:IsA("\080\097\114\116")then m.Touched:connect(function(S)if S.Parent.Name==GetPlayerNames()and S.Parent.Name~=f.Name then local f=S.Parent local m=getHumanoid(f)m:TakeDamage(ZombieDamage)end end)end end
--]]

function getHumanoid(model)
	for _, v in pairs(model:GetChildren()) do
		if v:IsA("Humanoid") then
			return v
		end
	end
end

local zombie = script.Parent
local human = getHumanoid(zombie)
local hroot = zombie.HumanoidRootPart
local zspeed = hroot.Velocity.magnitude

local pfs = game:GetService("PathfindingService")

function GetPlayerNames()
	local players = game:GetService("Players"):GetChildren()
	local name = nil
	for _, v in pairs(players) do
		if v:IsA("Player") then
			name = tostring(v.Name)
		end
	end
	return name
end

spawn(function()
	while wait() do
	end
end)

function GetPlayersBodyParts(t)
	local torso = t
	if torso then
		local figure = torso.Parent
		for _, v in pairs(figure:GetChildren()) do
			if v:IsA("Part") then
				return v.Name
			end
		end
	else
		return "HumanoidRootPart"
	end
end

function GetTorso(part)
	local chars = game.Workspace:GetChildren()
	local torso = nil
	for _, v in pairs(chars) do
		if v:IsA("Model") and v ~= script.Parent and v.Name == GetPlayerNames() then
			local charRoot = v:FindFirstChild("HumanoidRootPart")
			if (charRoot.Position - part).magnitude < SearchDistance then
				torso = charRoot
			end
		end
	end
	return torso
end

for _, zambieparts in pairs(zombie:GetChildren()) do
	if zambieparts:IsA("Part") then
		zambieparts.Touched:connect(function(p)
			if p.Parent.Name == GetPlayerNames() and p.Parent.Name ~= zombie.Name then -- damage
				local enemy = p.Parent
				local enemyhuman = getHumanoid(enemy)
				enemyhuman:TakeDamage(ZombieDamage)
			end
		end)
	end
end
