How do I improve this little script?

Does LoadCharacter reset the character?

I think it works in client

local Player = game.Players.LocalPlayer
repeat
	wait()
until
Player.Character
Player.Character.Head:Destroy()

Sadly, this doesn’t work. I didn’t get resetted

Weird.

Also, I wouldn’t set the RespawnTime so low, as it has tendency to break my avatar when I set it below 2-1.

It works fine for me maybe try it again and wait 20-30 seconds?

I did. It doesn’t work for me.

Did you put it in a server script?

Yes. In workspace. Shouldnt be a problem.

Are you sure, because this work fine for me

game.Players.PlayerAdded:Connect(function(Player)
	task.delay(20, function()
		Player:LoadCharacter()
	end)
end)

Can you load the char multiple times because I already do it on join in another script but I want it to do after 20 secs again in a different script.

no. doing it on join will break the character or do nothing. just do it in once

It works but I just want it to do after 20 secs again.

When I removed the head it worked.

Why remove the head, may I ask?

does it needs to be server script cuz its client sided

or just make an instance instead if you really want to run it on server script

game.Players.PlayerAdded:Connect(function(Player)
	Player.CharacterAdded:Connect(function(Character)
		wait() -- You need a bit of delation for the character load its children actually
		Instance.new("Explosion", Character).Position = Character.HumanoidRootPart.Position
	end)
end)

If you remove the head, the character resets

Why are you doing a explosion lmao. Can’t you just let the character reset?

Why not kill it simply? Removing the head is just complicating your life.

When setting the health to 0 nothing happens

Do you have a script that interferes with the player’s dead state or humanoid health?