i am making a spectate gui, but it crashes often, how can i fix it ? ? ? ? ?

script.Parent.Parent.Parent.Parent.Spectate.Target:WaitForChild("number")
local number = 1
local cam = workspace.CurrentCamera
local Players = game.Players:GetPlayers()
Next = script.Parent
Next.MouseButton1Click:connect(function()
	if Players[number] ~= nil then
		number = number +1
		cam.CameraSubject = Players[number].Character.Humanoid
		
	end
end)