*If condition not being called?

So a couple days ago I had an error regarding ‘choice does not exist’, and that got fixed (thank you). But now I’m having a new problem.

It’s little hard for me to explain but ill try my best. Here’s what I wanted to happen (Scroll down for full code) :

Step 1) Choice 2 ( Exit car and flag down help).

Step 2) Choice 1 (Enter car again and use phone)

Step 3) Choice 3 (Go back out and check engine)

Note: Choice 2 and choice 3 are interchangeable.


There’s supposed to be some flavor text that’ll mention how inefficient it is to leave the car, enter it, then leave again. You can see it in choice 2 and 3’s middle *if command

*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...

    *set car +1
    *set outside true
    *goto stranded

However, when I chose choice 3 (or 2) as last, it goes to the first *if command instead. That’s only for when you go ouside for the first time. And you end up getting it twice:

  *if (outside = false) 
            The rains have thankfully (and surprisingly) eased off quite a bit...
              
            *set outside true
            *set car +1
            *goto stranded

Basically the *if ((outside = false) and (outside_once = true)) isn’t being called even I’m so sure the variables are set.

And here is the full code:

*temp car 0
*temp outside false

*temp outside_once false

*label stranded

*if (car != 3)
     *choice
        *hide_reuse #Use my phone to call for help. 
            *if (outside = false)
                You make a reach for your phone...
                
                *set car +1
                *goto stranded
                
            *if (outside = true)
                You enter the car again.
              
                Making a reach for your phone...
                
                *set outside false
                *set outside_once true
                *set car +1
                *goto stranded
                
        *hide_reuse #Flag down a passing car. Hopefully someone will stop for me.
            *if (outside = false)
                The rains have thankfully (and surprisingly) eased off quite a bit...
                
                But you open the car door anyway, a fine mist clinging to your clothes the second you do.
         
                *set outside true
                *set car +1
                *goto stranded
           
            *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...
               
                *set car +1
                *goto carlook
           
            *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...
                
                *set car +1
                *set outside true
                *goto stranded
            
        *hide_reuse #Perhaps I can check the engine and see what's wrong.
            *if (outside = false) 
                The rains have thankfully (and surprisingly) eased off quite a bit..
.
                 But you open the car door anyway, a fine mist clinging to your clothes the second you do.
                *set outside true
                *set car +1
                *goto stranded
            
            *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...

                *set car +1
                *set outside true
                *goto stranded

*page_break
End

Is my problem making sense? I hope it does. English is not my first language :sweat_smile:. Please let me know if you need more clarification. The issue has been getting on my nerves since yesterday. Thank you very much in advance! :blush:

It’s because *if (outside = false) is above *if ((outside = false) and (outside_once = true). The second condition can’t be reached because it will always hit the first condition when outside is false. Try putting the second check above the first.

6 Likes

Oh, that worked perfectly! Thank you so much! :blush:

1 Like

Question resolved!