Action Group
An Action Group bundles actions into one block, which keeps a macro organized and lets you collapse sections.
It is also the main way to loop a block of actions that does not need to be a reusable .
Loop Configuration
When you edit an Action Group's settings, you can define how it repeats:
- None: The group runs exactly once. Useful just for organization.
- Infinite: The group repeats endlessly until you manually stop it, or until it hits a action inside. You can also set a Time Limit (ms) so the loop stops on its own after a while; 0 means no limit.
- Counted: Repeats a specific number of times.
Advanced Mode
If none of the three fit, turn on Advanced Mode and write the loop condition yourself. Use custom loop logic takes a GScript expression that is checked before each pass; the group repeats while it is true. For example, "keep going until this variable stops changing" or "repeat while the battery is above 30%".
Managing the Loop Flow
While inside a repeating Action Group, you have two special actions at your disposal to control the flow. These are best used when paired with a :
- : Immediately jumps back to the start of the Action Group for the next iteration, skipping any remaining actions below it.
- : Immediately exits the entire Action Group, stopping all future repeats and moving on to the next action in your macro.
Code Equivalent
// Example of Counted loop with flow control
for (let i = 0; i < 10; i++) {
if (getVar("skip_this_one") == true) {
continue; // Continue Loop
}
if (getVar("stop_macro") == true) {
break; // Break Loop
}
console.log("Running action inside group...");
}