So i have this problem with the
“it is illegal to fall out of the *choice statement, you must *goto or *finish” error. The problem is, that even though i have *goto at the end of the choice, it still displays. (I have tested this with QuickTest so it may be a bug of it?)
*choice
#Shoot.
*if Gunshooting = 55
arara
*page_break
*goto shuto
#I try to reason with them..
*if Focus = 60
tututuu
*page_break
*goto rum
*else
blahblahblah
*page_break
*goto amnesia
That’s not a bug. The problem is that your *goto statement was walled off behind the *if statement. So when a value other than 55 came along, it couldn’t reach the *goto and simply fell through to the #choice beneath.
Okay so I know there is another topic with this name, but I don’t have much of a choice (I couldn’t possibly waste an opportunity for a good pun at a time like this).
… I’ve searched everywhere. Tried everything I could think of. As far as I know, my code is great.
(“chapter2 line 137: It is illegal to fall out of a *choice statement; you must *goto or *finish before the end of the indented block.”)
I’ve taken out all the stuff I’ve written to make the little excerpt a lot shorter (easier to go through). If someone could take a look to see what I’m doing wrong, I would greatly appreciate it. Because I’m dyin’ over here
*choice
#CHOICECHOICECHOICECHOICECHOICECHOICECHOICECHOICE
THIS IS A CHOICE WAHOO
*choice
#Absolutely!
*if Acrobatics > 4
*if (peterscat=true)
MISSION SUCCESSFUL YAY
*goto thepath2
*else
MISSION SUCCESSFUL YAY 2
*goto thepath2
*if Acrobatics < 4
*if (peterscat=true)
FAILED THINGY
*goto thepath2
*else
FAILED THINGY 2
*goto thepath2
#THIS IS THE LINE THAT KEEPS BUGGING OUT
*if (peterscat=true)
HASCAT
*goto thepath2
*else
NOCAT
*goto thepath2
#CHOICE DENIED
BORING
*goto thepath2
*label thepath2
THE PATH YAY
I’ve been stuck on this problem for about a week trying different things. The best I’ve done is just put another bug in its place because i was feeling frustrated and sassy. I’m sick of losing progress and losing motivation over it…
thanks for trying @MeltingPenguins but I still got the error… even after overdoing it and getting rid of all of the free lines in the entire document, it still pops up.
Mocking me. Goading me into smashing my laptop violently against the very internet itself. It knows no such thing as mercy. It is relentless in its determination to infuriate me beyond all meaning.
It’s possible that the error is not on the line that’s reporting a problem.
Looking at the option that reads #Absolutely!, I see the code can handle a player whose character has more than 4 acrobatics (see: *if Acrobatics > 4). And I see the code can handle a player whose character has less than 4 acrobatics (see: *if Acrobatics < 4). But the game cannot proceed if the player’s character has exactly 4 acrobatics. There’s simply no code for that possibility.
Try replacing *if Acrobatics < 4 with *else.
I’ll examine the rest of the sample in more detail now. Maybe there’s something important I’m overlooking.
I suggested *else not because it has any different effect, but simply because ChoiceScript isn’t as clever as an actual person, and I wanted to make sure the game knew, without a doubt, that all alternatives were accounted for. It 100% should work fine with <= or >=, but I’d want to test it before I trusted it, if that makes sense?