I have been getting this error consistantly for the past year and a half that I’ve been writing.
It happens every time I create a particularly long branching chain of choices. When a choice leads to other choices, and then start adding in fake choices and *if statements, and creating a long stretch of code where I spend about a minute just going from one of the original choices to the other.
Example
*choice
#Option
*if (variable =1)
*choice
#Option
*choice
#Option
*finish
#Option
*finish
#Option
*choice
#Option
*finish
#Option
*finish
` *if (variable =2)
*choice
#Option
*fake_choice
#Option
#Option
*choice
#Option
*finish
#Option
*finish
#Option
*if (variable =w)
*choice
#Option
*finish
#Option
*finish
*if (variable =x)
*choice
#Option
*finish
#Option
*finish
#Option
*if (variable =1)
*choice
#Option
*choice
#Option
*finish
#Option
*finish
#Option
*choice
#Option
*finish
#Option
*finish
` *if (variable =2)
*choice
#Option
*fake_choice
#Option
#Option
*choice
#Option
*finish
#Option
*finish
#Option
*if (variable =w)
*choice
#Option
*finish
#Option
*finish
*if (variable =x)
*choice
#Option
*finish
#Option
*finish
#Option
*if (variable =1)
*choice
#Option
*choice
#Option
*finish
#Option
*finish
#Option
*choice
#Option
*finish
#Option
*finish
` *if (variable =2)
*choice
#Option
*fake_choice
#Option
#Option
*choice
#Option
*finish
#Option
*finish
#Option
*if (variable =w)
*choice
#Option
*finish
#Option
*finish
*if (variable =x)
*choice
#Option
*finish
#Option
*finish
As expected, I run into quite a few problems. Sometimes a choice is mispelled, other times I forgot to put in a certain choice, or forgot to put in dialoge under a choice. These errors get caught and the fix is generaly easy to implement.
Yet this one error, “It is illegal to fall out of a *choice statement; you must *goto or *finish before the end of the indented block.” Is the one that I have never been able to figure out the cause of.
As far as I can tell, in a line like that, everything is taken care of. Every branch is going somewhere, either to a *finish or to a *goto_scene.
I’ve done workarounds; I’ve taken branches of choices and given them their own scene file (leading to a cluttered file system that is difficult to edit in bulk) and I’ve created *labels further down the line and placed the option branches there (which has created cluttered scenes that are difficult to sort through).
What I haven’t been able to do is figure out why this keeps happening.