Help with Choices- Urgent, please

Hi, I’ve spent 45 hours trying to figure this out, and I am at my wits end. I would really appreciate it if someone could help me with some complex choices.

I’m doing a Civil War era piece.
My characters are on their way to freedom, and to get to the North from the South, they need to make the right choices.

I want it so that if they make the wrong choice, they have the option to start over at the beginning. It’s the most ambitious piece of episode coding I’ve ever done and I’ve run into problems.

I have made choices inside of choices inside of choices, but I run into problems when I try to use a “goto” command to a label at the beginning of the episode.

the goto label command creates a problem with choices later on.
How can I solve this probnlem?

01%20AM

I don’t think you can have goto commands inside a choice, is that your problem? Or what does the error say?

Can you add a photo of the error showing up in yhe script?

You can have goto inside of conditions but not labels. I
If you need labels inside of conditions (if/else) you will have to script it all, using labels instead of if/else.

Example:

NARR
This is a choice
choice (achoice)
"Option one"{
gain option1 
}
"Option 2"{
gain option2
}

Later in your script these choices should have consequences. So, you use a condition:

if (option1){

}
else{

}

Now you want to send the reader to a certain part in the script, if they chose option 1:

if (option1){
goto start
}


else{
goto go_on
}

Now, this is the start of your script:

        label start
        INT. THISISABACKGROUND - DAY
        &zoom reset AND cut to zone 1 
        ....

If however, you are already starting with a branch like …

if (otherchoiceconsequence){
label start
INT. THISISABACKGROUND - DAY
&zoom reset AND cut to zone 1 
....
}

… this will not work, because you cannot have labels inside of branches.

To go around this, you can use labels instead:

if (option1){
goto start
}

if (otherchoiceconsequence1){
goto otherchoiceconsequence1
}
else{
goto otherchoiceconsequence2

}

INT. RESTART - DAY
label start

EDIT: Here comes a line of text because you cannot have two labels following each other right away.

label otherchoiceconsequence1
INT. THISISABACKGROUND - DAY
&zoom reset AND cut to zone 1 

label otherchoiceconsequence2
INT. THISISABACKGROUND - DAY
&zoom reset AND cut to zone 1 

Important: Make sure your gains/flags are unique throughout your entire story.

I hope this helps. It’s a little complicated to explain.

Hey guys, thanks for the help, it was a bracket problem, I managed to figure it out after deleting all of the “#beat starts/ #beat ends” which was cluttering up the code.