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.