Every #option in the first Choice Group must contain a complete copy of the second Choice Group’s #options.
Start by writing the *choice statement, the names for your Choice Groups, and one #option for the first Choice Group, like so:
*choice group1name group2name
#choice1, option1
Next, write all your #options for the second Choice Group, like so:
*choice group1name group2name
#choice1, option1
#choice2, option1
#choice2, option2
#choice2, option3
Now generally, if you’re making two Choice Groups on a single page, you’re setting two different variables at the same time, and you want to give your players independent control over each. So the first Choice Group will handle the first variable, and the second Choice Group will handle the second variable. Sounds reasonable, right?
Go ahead and add all those *set commands, indented under the #options for the second Choice Group like so:
*choice group1name group2name
#choice1, option1
#choice2, option1
*set variable1 "first"
*set variable2 "first"
#choice2, option2
*set variable1 "first"
*set variable2 "second"
#choice2, option3
*set variable1 "first"
*set variable2 "third"
Right now, we’ve only coded one #option for the first Choice Group. So every *set variable1 has been coded for the same result! "first", in this example. However, we’ve also coded every #option for the second Choice Group, so each *set variable2 gets a different result.
Following along so far? Let’s move on.
Next, add all the *goto commands (or their equivalents, as appropriate) under the *set commands. They get the same amount of indentation as the *set commands, like so:
*choice group1name group2name
#choice1, option1
#choice2, option1
*set variable1 "first"
*set variable2 "first"
*goto next_label
#choice2, option2
*set variable1 "first"
*set variable2 "second"
*goto next_label
#choice2, option3
*set variable1 "first"
*set variable2 "third"
*goto next_label
Now, copy everything that is indented under the first #option of the first Choice Group. Absolutely all of it.
Ready?
Write the rest of the #options for the first Choice Group, indented to match that lonely first #option. Like so:
*choice group1name group2name
#choice1, option1
#choice2, option1
*set variable1 "first"
*set variable2 "first"
*goto next_label
#choice2, option2
*set variable1 "first"
*set variable2 "second"
*goto next_label
#choice2, option3
*set variable1 "first"
*set variable2 "third"
*goto next_label
#choice1, option2
#choice1, option3
Are you ready to paste? I hope you’re ready to paste! Because that’s next. You copied everything that was indented under the first #option for the first Choice Group, so now we’re pasting all that under each of the new options we wrote to finish the first Choice Group!
It'll look like so (hidden due to length, click to reveal):
*choice group1name group2name
#choice1, option1
#choice2, option1
*set variable1 "first"
*set variable2 "first"
*goto next_label
#choice2, option2
*set variable1 "first"
*set variable2 "second"
*goto next_label
#choice2, option3
*set variable1 "first"
*set variable2 "third"
*goto next_label
#choice1, option2
#choice2, option1
*set variable1 "first"
*set variable2 "first"
*goto next_label
#choice2, option2
*set variable1 "first"
*set variable2 "second"
*goto next_label
#choice2, option3
*set variable1 "first"
*set variable2 "third"
*goto next_label
#choice1, option3
#choice2, option1
*set variable1 "first"
*set variable2 "first"
*goto next_label
#choice2, option2
*set variable1 "first"
*set variable2 "second"
*goto next_label
#choice2, option3
*set variable1 "first"
*set variable2 "third"
*goto next_label
Almost done! Only one last thing to do!
Now you need to go back and customize those *set variable1 commands to match which of the first Choice Group #options they’re actually indented under.
Like so:
*choice group1name group2name
#choice1, option1
#choice2, option1
*set variable1 "first"
*set variable2 "first"
*goto next_label
#choice2, option2
*set variable1 "first"
*set variable2 "second"
*goto next_label
#choice2, option3
*set variable1 "first"
*set variable2 "third"
*goto next_label
#choice1, option2
#choice2, option1
*set variable1 "second"
*set variable2 "first"
*goto next_label
#choice2, option2
*set variable1 "second"
*set variable2 "second"
*goto next_label
#choice2, option3
*set variable1 "second"
*set variable2 "third"
*goto next_label
#choice1, option3
#choice2, option1
*set variable1 "third"
*set variable2 "first"
*goto next_label
#choice2, option2
*set variable1 "third"
*set variable2 "second"
*goto next_label
#choice2, option3
*set variable1 "third"
*set variable2 "third"
*goto next_label
Now it’s finally done! Probably.
You could, optionally, add some unique text in where you’re setting your variables, to indicate to the player which unique combination of #options they had chosen. You could, optionally, change each *goto command to go to a different *label. However, all the “moving parts” that make it work are complete. It’s done.