No selectable option error? (Again...)

Okay so this is a bit embarrassing considering I had asked about this problem weeks ago. I thought it was solved, but after some rounds of playtesting, I’m getting the error again but only at specific conditions.

Code below. Including the story just in case so sorry for the wall of text.

*temp car 0
*temp outside false
*temp phone false

*temp outside_once false

*comment Start here
*label stranded
*if (car = 1)
    *page_break
    Maybe you'll have better luck with something else. [i](A prickle of unease runs down your neck.)[/i]
*if (car = 2)
    *page_break
    Well…There's one more thing you can try at least. [i](Pressure builds at the back of your head.)[/i]
*if (car != 3)
     *choice
        *hide_reuse #Use my phone to call for help. 
            *if (outside = false)
                You make a reach for your phone that was left sitting in one of the cupholders by your side, the next course of action already churning in your head. Your plan is to make a call to whatever towtruck is in the area and have them bring you car into their shop so it can be fixed, then get a cab to bring you and your luggage to your parent's place. Pretty simple and straightforward enough, right?
                
                It's too bad you failed to account for one glaring problem: On the top-right corner of the smooth, obsidian screen, was a flashing red 'x'. You inhale sharply at the sight, rubbing your temples with one hand.  
                
                No signal. Of course. You're suddenly tempted to chuck the phone back to where you found it. 
             
                *set car +1
                *set phone true
                *goto stranded
                
            *if (outside = true)
                You open the car door and 
                *if (umbrella = true) 
                    shake the excess water off of the umbrella. Snapping it shut, you place it back in the glovebox as you slip inside.
                *if (umbrella = false)   
                    carefully make your way inside, feeling the seat under you immediately dampen as water rolls off your body. You wince. 
                    
                Making a reach for your phone that was left sitting in one of the cupholders by your side, the next course of action is already churning in your head. Your plan is to make a call to whatever towtruck is in the area and have them bring you car into their shop so it can be fixed, then get a cab to bring you and your luggage to your parent's place. Pretty simple and straightforward enough, right? 
                
                It's too bad you failed to account for one glaring problem: On the top-right corner of the smooth, obsidian screen, was a flashing red 'x'. You inhale sharply at the sight, rubbing your temples with one hand.  
                
                No signal. Of course. You're suddenly tempted to chuck the phone back to where you found it. 
                
                *set outside false
                *set outside_once true
                *set car +1
                *set phone true
                *goto stranded
                
        *hide_reuse #Flag down a passing car. Hopefully someone will stop for me.
            *if ((outside = false) and (outside_once = true))
                Perhaps it would've been better if you had decided to do this while you were still outside. How inefficient of you.
                *if (umbrella = true)
                    The umbrella is grabbed from its place in the glovebox, and you head on out once more.
                    
                *if (umbrella = false)  
                    You dread having to get wet again after you've finally started to dry off, but you still open the car door once more.
             
                *set car +1
                *goto carlook
            
            *if (outside = false)
                The rains have thankfully (and surprisingly) eased off quite a bit, so it's more of an particularly aggressive drizzle than the buffeting storm it was before. Still, you're not looking forward to being out there.
                
                But you open the car door anyway, a fine mist clinging to your clothes the second you do.
                *if (umbrella = true) 
                    Thankfully, you still remember about the umbrella you had managed to get from back at the diner. You make a grab for it and pop it open, holding it high above your head. Relieved about not having to worry about getting any more wet, you walk confidently out to the side of the car.
                *if (umbrella = false)
                    You unfortunately don't have anything to protect yourself with, having forgotten to bring an umbrella in the first place. With a resigned sigh, you walk out towards the side of the car. 
                    
                Standing under the rain, you squint your eyes as you turn to face the direction you came from. You knew you were driving along on a more secluded route, far from the main highways, but it hadn't hit you just how isolated you really are until you saw what state the road was in. 
                
                It was barely wide enough to even fit two vehicles due to its fracturing concrete foundations. Moss and lichen grew between the cracks, and the yellow road markings were barely even visible. This is the kind of road you'll see cut through untamed forests and curve at mountain bases, where its only semblance of safety are the rusted guardrails that looked like they haven't been replaced (or maintained, for the matter) since the day they were first place down. 
               
                You shake your head at the idle thought and furrow your brows, trying to see if you can pick up any sound of distant rubber tires or the bright glaring of headlights. Winds that carried the mild scent of pine needles blew around you as you stood there, waiting. For someone. Anyone.
                
                …But no-one passed you. 
                
                Your slump your shoulders, trying to ignore the feeling of a clawing disappointment in your chest. 
         
                *set outside true
                *set car +1
                *goto stranded
           
            *if (outside = true)
                Since you're already outside, you might as well check for any passing cars as well. 
                
                *label carlook
                You turn to face the direction of where you came from. Your eyes squint and you furrow your brows in concentration, trying to see if you can pick up any sound of distant rubber tires or the bright glaring of headlights. Winds that carried the mild scent of pine needles blew around you as you stood there, waiting. For someone. Anyone.
                
                …But no-one passed you. 
                
                Your slump your shoulders, trying to ignore the feeling of a clawing disappointment in your chest. 
                
                *set car +1
                *set outside true
                *goto stranded
            
        *hide_reuse #Perhaps I can check the engine and see what's wrong.
            *if ((outside = false) and (outside_once = true))
                Perhaps it would've been better if you had decided to do this while you were still outside. How inefficient of you.
                *if (umbrella = true)
                    The umbrella is grabbed from its place in the glovebox, and you head on out once more.
                    
                *if (umbrella = false)  
                    You dread in having to get wet again after you've finally started to dry off, but you still open the car door once more.              
                *goto enginelook
            
            *if (outside = false) 
                The rains have thankfully (and surprisingly) eased off quite a bit, so it's more of an particularly aggressive drizzle than the buffeting storm it was before. Still, you're not looking forward to being out there.
                
                But you open the car door anyway, a fine mist clinging to your clothes the second you do.
                *if (umbrella = true) 
                    Thankfully, you still remember about the umbrella you had managed to get from back at the diner. You make a grab for it and pop it open, holding it high above your head. Relieved about not having to worry about getting any more wet, you walk confidently out to the front of the car.
                *if (umbrella = false)
                    You unfortunately don't have anything to protect yourself with, having forgotten to bring an umbrella in the first place. With a resigned sigh, you walk out towards to the front of the car.                 
                
                Standing under the rain, your gaze lingers on the road. You knew you were driving along on a more secluded route, far from the main highways, but it hadn't hit you just how isolated you really are until you saw what state the road was in. 
                 
                It was barely wide enough to even fit two vehicles due to its fracturing concrete foundations. Moss and lichen grew between the cracks, and the yellow road markings were barely even visible. This is the kind of road you'll see cut through untamed forests and curve at mountain bases, where its only semblance of safety are the rusted guardrails that looked like they haven't been replaced (or maintained, for the matter) since the day they were first place down.      
                
                You shake your head at the idle thought and pop the hood open, leaning forward to inspect the engine. Thin wisps of white smoke emerge from within its bulky form. 
                *if (Intelligence >= 15)
                    You breath a small sigh of relief. It's a small mercy that the smoke wasn't black, because that would mean a possibility of a fire. And frankly, you don't want to deal with that at the moment.
                *if (Intelligence < 15)
                    You wince at the sight, unsure what that's supposed to mean for you. Smoke is supposed to be a bad thing, right?
                    
                *page_break           
                Regardless, whether you know the cause of why the engine broke down or not, you still possess no skills in fixing it. You'll have to leave that to the professionals.        
                *if (phone = true)
                    Too bad you had already tried calling for them earlier, to no avail. 
                *if (phone = false)
                    At least you can still try to call for a towtruck or something later on.
                So for now, you'll just have to leave the engine as is.         
           
                *set outside true
                *set car +1
                *goto stranded
            
            *if (outside = true)
                Since you're already outside, you might as well check on the engine as well.  
                
                *label enginelook
                You walk over to the front of your vehicle and pop the hood open, leaning forward as you try to inspect said engine. Thin wisps of white smoke emerge from within its bulky form. 
                *if (Intelligence >= 15)
                    You breath a small sigh of relief. It's a small mercy that the smoke wasn't black, because that would mean a possibility of a fire. And frankly, you don't want to deal with that at the moment.
                *if (Intelligence < 15)
                    You wince at the sight, unsure what that's supposed to mean for you. The smoke is supposed to be a bad thing, right? 
                    
                Regardless, whether you know the cause of why the engine broke down or not, you still possess no skills in fixing it. You'll have to leave that to the professionals.        
                *if (phone = true)
                    Too bad you had already tried calling for them earlier, to no avail. 
                *if (phone = false)
                    At least you can still try to call for a towtruck or something later on.
                So for now, you'll just have to leave the engine as it is.         
               
                *set car +1
                *set outside true
                *goto stranded
            
*page_break
[i](Everything feels off, somehow)[/i] cont.

I’m literally only getting the error if I choose: [Choice 3 -> Choice 1 -> Choice 2] (Both in demo and IDE). Any other combination works perfectly fine, so I’m stumped here.

Any help is appreciated. Thank you in advance and sorry for the trouble.

The problem is in your second choice. If outside = false and outside_once = true (which they do if you go 3 -> 1 -> 2), you drop into the first *if block, where you increment the car variable, then *goto the carlook label…where you increment car again.

When you return to the stranded label for the third time, car = 4, so it drops you back to the choice (because car != 3), but you’ve already picked all the options, so there are none left.

2 Likes

Oh shoot that worked! It was so easy to fix, I can’t believe I missed that little variable :sweat_smile:. Thank you so much!

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.