GML Overview: Do

do { coding; } until (expression)

First the block will be executed, then if is false, the block is executed again. The do statement executes the block until expression is true. It is easy again to get into an infinite loop with the do statement, you need to have a variable in the until expression, and will have to change the variable in the block. You must have an until for every do, and the block will be executed at least once before checking expression.

Example
do { timer -= 1; // coding goes here that will repeat until time = 0; } until (timer < 0)