Fallen Parts Destroy Height is not respawning character!

you could just put a kill brick under the map

1 Like

Yes, but the “Dead” state isn’t firing, since the humanoid is still regenerating health points, meaning it’s still on a running state and ultimatly didn’t changed its state.

Check if any body parts of the body became nil, then reload the player again

1 Like

I could but this would be inefficient. The whole map does ~16384 studs meaning I would have to place ~8 blocks of a size of 2048 studs, and if the player goes fast enough, he can get through this brick.

so add a check for if the humanoidrootpart Y position is low enough, load character

Okay so i got this:

local voidHeight = workspace.FallenPartsDestroyHeight
local players = game:GetService("Players")
local player = players.LocalPlayer or players.PlayerAdded:Wait()
local character = player.Character or player.CharacterAdded:Wait()
local hmr = character:WaitForChild("HumanoidRootPart")

hmr:GetPropertyChangedSignal("Position"):Connect(function()
	if hmr.Position.Y <= voidHeight then
		print("Player died from falling into the void!")
	else
		print("Player died but did not fall into the void!")
	end
end)

Same here, if the player goes fast enough, this can be problemtic.
I used it before. And if the player goes atleast at -1500 studs (Y velocity) he can get through this condition, allowing him to touch the fallen parts destroying height.

I think you’re thinking a little too deep. How would the player get that fast? You should just ensure theres no way for the player to even end up falling into the void.

PropertyChangedSignal for Position or AssemblyLinearVelocity isn’t firing properly. It’s better to use it in a condition in a RenderStep. But I also tried that. This isn’t really efficient because the player can go faster than the delta time between each frame that check the condition
Thanks for the time though.

I gave u a basic outline of what u can do, u can edit the script to work for u as u want

1 Like

Yes but this would kill the “Roblox” aspect for the game. But it’s fine I just use the PropertyChangedSignal method for the “Parent” of the HumanoidRootPart to check if its parent has been changed to nil using :Destroy

I don’t think the void will trigger any destroy events.

It does. Since it destroys any parts that goes beyond this height, the Parent of each part is set to nil which leads to the part deletion.

I have noticed alot of people had this problem tho.
but i found an old solution of mine, maybe check it

1 Like

Hello! I did a little research on your topic and found out that if the RequiresNeck property of Humanoid is false, you should set it to true. Try this, it should solve your problem! Also make sure that the Motor6D named Neck is disabled after its Part0 and Part1 are directly connected by some hard physical connection and vice versa. Otherwise the character is dead…

If it doesn’t help, then I think you need to use something like the code I’ve provided below. This script checks if the root part of the character has a Parent. If the Parent is missing from the root part, the player character is automatically loaded after the RespawnTime value in the Players service

local Players = game:GetService('Players')

Players.PlayerAdded:Connect(function(Player)
	Player.CharacterAdded:Connect(function(Character)
		local Humanoid: Humanoid = Character:WaitForChild('Humanoid')
		local CharacterRootPart = Humanoid.RootPart
		CharacterRootPart:GetPropertyChangedSignal('Parent'):Connect(function()
			if CharacterRootPart.Parent ~= nil then return end
			task.wait(Players.RespawnTime)
			Player:LoadCharacter()
		end)
	end)
end)

Wow thanks ! It is because my Ragdoll module sets it to false but I never realized it. After 2 years with this problem, it is finally fully fixed !

1 Like

Mark this as solution then so that they can immediately find what needs to be done. Good luck, glad to help you!

1 Like

Oh weird? On my screen it says it already has been marked as solved.

The site didn’t updated I think. Check if it works now

Yes, it has appeared! Keep working on your game.

1 Like