When the game starts there are two players. If there is one player alive the player should get credits and return to the lobby. But instead of that the timer continues and the player won't get any credits. Any solutions?

Here is the script

local mapsinserverstorage = game:GetService('ServerStorage'):GetChildren()  -- Make sure that your maps are in serverstorage. If you have more than just maps in serverstorage, the script might actually choose that.
local chosenmap = mapsinserverstorage[math.random(1, #mapsinserverstorage)]
chosenmap:Clone().Parent = mapstorage
status.Value = "Loading Map.."
wait(3)
local spawns = chosenmap:WaitForChild('Spawns'):GetChildren()
for _, player in pairs (game.Players:GetPlayers()) do
	if player and #spawns > 0 then
		local torso = player.Character:WaitForChild('HumanoidRootPart')
		local allspawns = math.random(1, #spawns)
		local randomspawn = spawns[allspawns]
		if randomspawn and torso then
			table.remove(spawns, allspawns)
			torso.CFrame = CFrame.new(randomspawn.Position + Vector3.new(0,2,0))
			
			local primary = game.ReplicatedStorage.Handgun -- CHANGE THIS TO WHATEVER ITEM YOU WANT TO GIVE THEM WHEN THEY ARE TELEPORTED. MAKE SURE IT IS IN REPLICATED STORAGE.
			local newprimary = primary:Clone()
			newprimary.Parent = player.Backpack
			
		end
	end
end
status.Value = "Be The Last Standing!"
if status.Value then
	game.Workspace.Sound:Stop()
end
wait(4)
for i = 196,0,-1 do -- You can adjust the #196 to how long you want the round to last.
	if i == 0 then
		status.Value = "Time is up!"
		wait(3)
		break
    end
	wait(1)
	if #_G.gameplayers == 1 then
		for i, v in pairs(_G.gameplayers) do
			if v ~= nil then
				status.Value = v.." Won The Game!"
				game.Players[v].leaderstats.Cash.Value = game.Players[v].leaderstats.Cash.Value + 15 -- The #15 will be how much credit or cash is awarded to the player if there was only one player teleported.
				break
			end
		
		end
        break
	else
	    status.Value = i.."..Seconds Remaining!"
	end
end
	for i, player in ipairs(game.Players:GetPlayers()) do
	if player.Character then
		local hum = player.Character:FindFirstChild('Humanoid')
		if hum then
			hum.Health = 0
		end
	end
end
mapstorage:ClearAllChildren()

wait(5)
end

I think the problem is somewhere here but im not sure

   if #_G.gameplayers == 1 then
36	        for i, v in pairs(_G.gameplayers) do
37	            if v ~= nil then
38	                status.Value = v.." Won The Game!"
39	                game.Players[v].leaderstats.Cash.Value = game.Players[v].leaderstats.Cash.Value + 15 -- The #15 will be how much credit or cash is awarded to the player if there was only one player teleported.
40	                break
41	            end
42	 
43	        end
44	        break
45	    else
46	        status.Value = i.."..Seconds Remaining!"
47	    end
48	end
49	    for i, player in ipairs(game.Players:GetPlayers()) do
50	    if player.Character then
51	        local hum = player.Character:FindFirstChild('Humanoid')
52	        if hum then
53	            hum.Health = 0
54	        end
55	    end
56	end