BreakJointsOnDeath prevents death on unanchored parts

Characters which stand on an unanchored part, which they are not the networkowner of, with their humanoid’s BreakJointsOnDeath property set to false will never die.

Deaths that do occur after a while are due to the part’s ownership being changed to the player in vicinity.

Although the humanoid’s Health property is visibly seen as 0, neither the Died event of humanoids is fired nor is the character respawned.

This problem occurs when you reset your character through the menu, but the character will die correctly when the server changes the character’s health to 0.

https://cdn.discordapp.com/attachments/691400276325695589/711484629416149002/Desktop_subwayrepo.rbxl_-_Roblox_Studio_2020-05-17_03-42-38.mp4

subwayrepo.rbxl (18.9 KB)

  • Respawn time is set to 1000 for testing

  • Three unanchored parts

  • disabled script in workspace that changes the part’s networkowner to the player in game, after 5 seconds

  • Script in StarterPlayer/StarterCharacter which has written

local char = script.Parent
local hum = char:WaitForChild("Humanoid")
hum.BreakJointsOnDeath = false
hum.Died:Connect(function()
	warn('death')
	char:BreakJoints()
end)
7 Likes

I’m also experiencing this. I thought this could have been a issue related to a ragdoll module or even my chassis model that i use on one of my places, but standing on unanchored parts seems to be the actual cause of this bug.

Identically to what @DanzLua said, my character is shown with 0 health after resetting on the client (and .Died does not fire too; and my character itself never respawns), but it’s still alive on the server, and setting humanoid health to 0 from there properly kills it.

Client View


Just to avoid any confusion, the green bar in the top middle is not a health bar; it’s stamina. (look to the top right corner)

Server View


i guess the screenshots might not be very helpful :frowning_face:

also you can still sit on seats with this bug