When a player dies I have a script set their walkspeed and jumppower to 0 and make a GUI visible. It works the 1st time they die but never after that. I was told this could be solved by adding a CharacterAdded function so it would always find the current humanoid but that just broke the script entirely. This is a LocalScript if that helps any.

The code segment:

	hum.Died:Connect(function()
		wait(5)
		
		storage.RemoteEvents.MobileOff:FireServer()
		
		repeat wait() 
		looky.CameraType = Enum.CameraType.Scriptable
		until looky.CameraType == Enum.CameraType.Scriptable
		
		repeat wait()
		looky.CFrame = game.Workspace.startingcamerapos.CFrame
		until looky.CFrame == game.Workspace.startingcamerapos.CFrame
		
		script.Parent.Visible = true
	end)