Sequence runs several games back to back as one call. Every stage must pass; the first failure or cancel ends the run there and the rest are never played. You get a single true/false back.
The stages can be different games - that’s the whole point. A vault door can be “pick the lock, breach the panel, patch the wires” without your resource writing any glue, tracking state between games, or handling a player who cancels halfway.
This is different from multi-stage games, where one game repeats N times via
stages. A Sequence chains different games; a game’s own stages repeats the same game.The call
Export:exports['awoken_minigames']:Sequence(opts) - returns true only if every stage passed.
The
game is the game’s name (the same one used in config/games/): lockpick, hexBreach, wires, snake, and so on. config is that game’s own options - the same ones on its config page. Leave config out to use your server defaults for that game.
What it handles for you
- The player flows straight from one game into the next - no “press to start” between stages.
- Games can mix keyboard and mouse freely: the cursor is handled for each stage, so
{ snake, aimTest, keys }(keyboard, mouse, keyboard) just works. - A typo in a game name is skipped with a console warning rather than breaking your script.
Reward getting partway
Sequence gives you true or false. If you’d rather reward a player for the stages they did clear, use SequenceResult instead - same run, but it tells you how many they finished:
result.stagesCompleted (how many they cleared), result.totalStages (how many there were), and result.success (true only if they cleared them all).
Checking a sequence on your server
A chain counts as one thing. If you verify the win on your server, the game name to use is'sequence':