local debounce = false
script.Parent.HumanoidRootPart.Touched:Connect(function(Touch)
if Touch.Parent:FindFirstChild("Humanoid") and not debounce and Touch.Parent.Name ~= "Zombie" then
debounce = true
wait(1)
script.Parent.HumanoidRootPart.Anchored = true
local clone = game.ReplicatedStorage.Zombie:Clone()
Touch.Parent.Humanoid.Health = 0
wait(4.9)
script.Parent.HumanoidRootPart.Anchored = false
debounce = false
for i,v in pairs(Touch.Parent:GetChildren()) do
if v:IsA("Accessory") or v:IsA("Clothing") or v:IsA("BodyColors") then
local stuffclone = v:Clone()
stuffclone.Parent = clone
end
end
clone.Name = "Zombie"
clone.HumanoidRootPart.Position = script.Parent.HumanoidRootPart.Position
clone.Parent = game.Workspace
Touch.Parent:Destroy()
end
end)
For some reason, the for loop doesn't get accessories but it gets the other stuff

2 comments
You're killing the player which causes his accessories to fall to the void and get delete and only after that do you clone them into the clone I'd suggest storing them in a table beforehand
Thanks! This fixed my problem.