This is my first setup that goes beyond 2 combinators so I welcome constructive feedback.

Blueprint String
And here's how it works.Part A picks the zone type.:
- 1 Is a common Counter, i.e. a Decider looped to itself, if P < 5 output P = input (5 is the number of zone signals I use), i.e. it loops from 0 to 4
The counter counts one up whenever it gets a pulse P over the green wires on the poles
- 2 checks if each of the inputs equals P and outputs that signal as 1, i.e. one of the zone signals and P
- 3 is a constant combinator, providing the zone signals with values 1 through 5 (green = 1, blue = 2 and so on), and adds 1 to the P we get from the counter, so the P input to 2 loops from 1 through 5
- 4 is a constant combinator with P = -1 to cancel out the P output from 2
B cleans up the output of the zone scanner:
I want to discard the X and Y coordinate outputs and keep only the zone tile quantity and zone signal itself.
- 5 routes through every signal > 0 (each > 0 output each with input value)
- 6 is a constant combinator that adds -100k to the coordinate signals, so they are always filtered out by 5
C loops back the zone signal to the scanner input. Together with the 1 for the zone signal provided by combinator 2 in section A this makes the increasing signal counter for said zone.
Since we might have switched to another zone signal we do not want the original signal looped back but only its value.
- 7 inclues the condition that the zone singal must be smaller than the zone tile count and returns the zone signal value as Z
- 8 takes Z and multiplies it with the 1 of the input zone signal from secition A, returning the result as the value of whatever signal A currently shows
D is one of the two conditions that trigger the transition to the next zone: If the tile count for the current zone is zero, then
- 9 ouputs signal 0 with value 1
- 10 is a normal counter that results in a small delay. I set it to signal-0 < 30, i.e. it will take half a second to loop
- 11 ouputs P=1 when signal-0 reaches 27, i.e. just below the max value (29 gave me some signal interferences) That way, a single P is sent for one tick, switching section A to the next zone.
E is the other condition: if the tile count is not zero, then this section triggers when the zone signal reaches the tile count
- 12 checks if any input equals the tile count and returns those signals as value 1. This will always return the tile count signal.
- 13 therefore adds tile count -1 to the input of 14 to cancel that one out
- 14 therefore gets a single zone signal with value 1 when the zone signal loop at the scanner has reached the tile count. It then ouputs N=1
- 15 is a normal counter for N<4, because 14 will send a signal N for exactly 4 ticks (signal delay from the zone scanner or something like that, I didn't look into it)
- 16 triggers a single P when N hits 4, switching section A to the net zone.