Is there a way to make a players body parts stay after death?

I’m doing a little project and I want the dismembered body parts of the player to stay after death, any ideas?

1 Like

Humanoid.BreakJointsOnDeath

i still want the joints to break, i just want the body parts to stay after death.

oh okay then lemme see if i can get a solution

This should help a little Players.CharacterAutoLoads

got the solution!

game.Players.CharacterAutoLoads = false

game.Players.PlayerAdded:Connect(function(player)
	player.CharacterAdded:Connect(function(character)
		character:WaitForChild("Humanoid").Died:Connect(function()
			return
		end)
	end)
	player:LoadCharacter()
end)

the character will not spawn and the dismembered body parts will stay until you use player:LoadCharacter() to load the character again

i still want the player to be able to continue playing the game, but the players body still exists elsewhere. so if the player dies their body stays and they can literally step on themselves.

so if there is a big enough battle there would be a pile of body parts, for some reason that sounds fun to me. is there a way to clone the body parts on death in the same position as where the player dies at? and put them in a specific folder so i could delete them later?

no, the character still exists and it will not be useful

you can destroy the body or use player:LoadCharacter() like

cooldownuntildestroy = 10
wait(cooldownuntildestroy)
player.Character:LoadCharacter()

But i want the player to still exist, with the body parts from their dead selves… sorry if I’m not getting this

yes ik rn lemme get some info and dont worry i have a lot of free time lol

hey bro heres your script

game.Players.CharacterAutoLoads = false

game.Players.PlayerAdded:Connect(function(player)
	player.CharacterAdded:Connect(function(character)
		local Children = character:GetChildren()
		character:WaitForChild("Humanoid").Died:Connect(function()
			wait(2.9)
			for i = 1, #Children do
				local Clone = Children[i]:Clone()
				Clone.CanCollide = true
				Clone.Parent = workspace
				wait(0.1)
                player:LoadCharacter()
			end
		end)
	end)
	player:LoadCharacter()
end)
1 Like

Thanks! it works. but after you die, and respawn, it kills and respawns the character ~3 or more times.

You should clone the body, then breakjoints. Tell me if you need help with the scripting!

Hey!

try this maybe?



game.Players.PlayerAdded:Connect(function(player)
	player.CharacterAdded:Connect(function(char)
		

		char.Humanoid.Died:Connect(function()
			local parts = char:GetChildren()
			for i, v in pairs(parts) do
				if v:IsA("Part") or v:IsA("MeshPart") then
					local everything = {}
					table.insert(everything,v)
					for _, d in pairs(everything) do
						d.Parent = workspace
						
					end
				end
			end

		end)
	end)
end)

You can enable Archivable on their character model (so you can edit it) and clone their character when they die and after their character removes you parent the clone.

Though make a limit system where it deletes the characters if there’s too many.

your script makes the player respawn for every body part it clones

but i will just put a gui over the respawning with “loading bodyparts” or something

thanks for your help everyone!

Don’t need to put a gui for that!

This is the same script but modified it a bit.

game.Players.PlayerAdded:Connect(function(player)
	player.CharacterAdded:Connect(function(character)
		local Children = character:GetChildren()
		character:WaitForChild("Humanoid").Died:Connect(function()
			
			for i = 1, #Children do
				if Children[i]:IsA("MeshPart") then
				local Clone = Children[i]:Clone()
				Clone.CanCollide = true
				Clone.Parent = workspace
				wait(0.1)
				end
			end
		end)
	end)
	player:LoadCharacter()
end)
3 Likes

Thanks! that’s much better than what I was going to do.

4 Likes