Humanoid.Died not firing in specific case?

I’m trying to connect a .Died event to these rigs, and it works for the most part. However, for some reason in this specific case the event does not run and the humanoid’s health goes negative without being set to 0 and running the .Died event, but only when the health/maxHealth is 100? The rigs in the video are labeled with their healths. Humanoid.Health is printed when the .Died event fires in each humanoid.

I haven’t seen any other posts about this, and feel like this is potentially an engine issue, but I just want to double check. The tommy gun does 12 damage per shot and the sniper does 106.25 damage per headshot. I am using humanoid:TakeDamage() to deal the damage.

local rig = script.Parent

rig.Humanoid.Died:Connect(function()
	print(rig.Humanoid.Health)
end)

This is parented to each rig’s model and each rig is an exact copy except for health. I can just use .HealthChanged, but would prefer using .Died for what I’m trying to do.

Do rig.Humanoid.Changed and check of the health is less then or 0

1 Like

instead of setting health use :TakeDamage(amount)

1 Like

I am using humanoid:TakeDamage() to deal the damage.

1 Like


Works for me.

1 Like

image
im able to make it negative on the client using :TakeDamage on the client. But the server does not have the same problem.

1 Like

I tried replicating the video but it didnt work for me, have you tried seeing if this bug still happens on a new rig with a new script?

Try checking if BreakJointsOnDeath is enabled or not. If it isn’t, then enable it if you want to replicate the normal Roblox death on players.