Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

Humanoid not taking damage when an Accessory is hit by the part?

I've been trying at this for a while and I do understand why it's not working. I'm making my first simple gun and when the bullet hits the player, as in their arm or their torso then yes it does damage them, but when you hit their hat or something on their back it doesn't damage them. If someone could tell me why this is not working that'd be great, thank you!

	if part then
		if part.Parent:FindFirstChild("Humanoid") or part:IsA("Accessory") and part.Parent:FindFirstChild("Humanoid").Health > 0 then
			part.Parent.Humanoid:TakeDamage(Damage)
		end
	end

1 answer

✓ Accepted answer

The reason this doesn't work is because hat/accessory parts aren't in the player.Character. There layered deeper in player.Character.Hat.Handle

and example is this

the way you can fix this is by making your script look a little more like this

if part then
	local findhumanoid=part.Parent:FindFirstChild("Humanoid")
	if findhumanoid~=nil then
		findhumanoid:TakeDamage(Damage)
	else
		findhumanoid=part.Parent.Parent:FindFirstChild("Humanoid")
		if findhumanoid~=nil then
			findhumanoid:TakeDamage(Damage)
		end
	end
end

This discussion is preserved as it was. New answers, comments, and votes are closed.