In my map, a team has to capture 3 out of 4 flags to win. I’m using checkpoint flags with the functions axis_capture and allied_capture 1) showing the flag in the map, 2) changing the command map marker to show the state of the map, 3) assessing gamepoints and 4) adjusting gamepoints if this was the first capture for a flag. Here is the script - I used the same logic as in Steelrat’s forward spawn prefab.
checkpoint01
{
spawn
{
wait 200
accum 0 set 2 // Who owns flag: 0-Axis, 1-Allied
accum 2 set 0 // Axis have not captures flag once yet
accum 3 set 0 // Allies have not captured flag once yet
}
trigger axis_capture // Touched by an Axis player
{
accum 0 abort_if_equal 0 // do Axis own flag?
accum 0 set 0 // Axis own the flag
wm_announce "Axis have captured the Cafe. Axis get 1 point" // the get one point is just a visual reminder to check if the script is working
remapshader "gfx/breakout/flag1neutral" "gfx/breakout/flag1axis"
remapshader "gfx/breakout/flag1allied" "gfx/breakout/flag1axis"
remapshaderflush
globalaccum 1 inc -1 //allies lose a point
globalaccum 2 inc 1 //axis gain a point
trigger game_manager axis_checkgame
accum 3 abort_if_equal 1 //Abort if Allies have captured flag once
accum 2 abort_if_equal 1 //Abort if Axis have captured flag once
accum 2 set 1 //Axis have captured at least once
globalaccum 1 inc 1 //if the allies have not captured the flag before, their accum gains one, effectively resetting the net loss to 0
wm_announce "allied accum reset by 1"
}
trigger allied_capture // Touched by an allied player
{
accum 0 abort_if_equal 1 // do Allies own flag?
accum 0 set 1 // Allies own the flag
wm_announce "Allies capture the Cafe. Allies get 1 point"
remapshader "gfx/breakout/flag1neutral" "gfx/breakout/flag1allied"
remapshader "gfx/breakout/flag1axis" "gfx/breakout/flag1allied"
remapshaderflush
globalaccum 1 inc 1
globalaccum 2 inc -1
trigger game_manager allied_checkgame
accum 3 abort_if_equal 1 //Abort if Allies have captured flag once
accum 2 abort_if_equal 1 //Abort if Axis have captured flag once
accum 3 set 1 //Allies have captured flag at least once
globalaccum 2 inc 1
wm_announce "axis accum reset by 1"
}
}
It seems that if the axis run thru and touch 2 of the flags and then the allies run thru and touch 3 flags, something isn’t registering accum values or something, the allies are not winning the game when they should. 
I put them in a lot of placed in my scripts. That way there is no need for debug-things… you simply get a message when a relevant part of the script got executed.