How to use disable_reuse with *goto_scene?


#1

I’m trying to make a scenario where basically a player has a choice to view three different scenes, and after every one it goes back to the same choice screen so they can view the others if they want or they can continue. My problem is that the scenes are multiple paragraphs, and if I try to put all of it in the #option for the *choice the *choice function doesn’t work properly, but if I use a *goto_scene for the #option then the *disable_reuse doesn’t work and the player can continue to click on that option. It isn’t gamebreaking, but I’m just trying to grey out the option after the player has viewed one of the scenes, but I can’t seem to manage it without breaking the code.

This is what I have on the page with the options–each scene the *goto_scene leads to is multiple paragraphs (and a few page breaks)
"
You are now presented with a choice. You have seen the memory that shines clearest in Dante’s mind, and you have seen some of what he is and who he was. You may decide that this is not enough information to make a clear Judgement, and you may want to Delve into another memory to learn more.You may also, for a small amount of time, Confer with his soul and speak directly to him to gauge his character. Or you may decide that you have seen enough, and you may Pass Judgement upon him. The choice is yours, Rayne.

*choice
*disable_reuse #Delve
*goto_scene dantememorydelvem
*disable_reuse #Confer
*goto_scene dantememoryconferm
*disable_reuse #Pass Judgement
*goto_scene dantememoryjudgem
"


#2
  1. I’m probably wrong about this (the code of my own thing made *disable_reuse impractical) but I thought *disable_reuse was supposed to be a tag placed right at the beginning of each individual chapter file…?

  2. Why not *goto a section placed elsewhere in this chapter file, instead of using *goto_scene to access a section in another chapter file?


#3

This is a bit of a workaround, but if disable_reuse won’t work here, you could get the effect with new variables instead :thinking: you could have a variable for each of the three scenes, which you can then set if the player goes to the respective scene. Then you can use *selectable_if on the choices instead.


#4

What about using *gosub_scene with *return instead of two *goto_scenes? I think that might preserve your *disable_reuse.


#5

It can be used to define a scene or to define singular choice-bodies; I prefer the later method myself.


#6

Add three variables to startup:

*create delve true
*create confer true
*create pass true

You could then use

*choice
  *selectable_if (delve)  #Delve
    *set delve false
    *goto_scene dantememorydelvem
  *selectable_if (confer)  #Confer
    *set confer false
    *goto_scene dantememoryconferm
  *selectable_if (pass)  #Pass Judgement
    *set pass false
    *goto_scene dantememoryjudgem

That should do what you want.

Edit: I’ve just spotted that this is what TSSL said.


#7

It sounds to me like the problem might be in using *goto_scene (i.e. load a different scene file, which does indeed lose the *disable_reuse flag along with any other scene-specific stuff, like *temp variables) instead of a simple *goto / *label combination to jump to a different section within the same scene file. You’re only talking about “multiple paragraphs” for each option of that *choice, which doesn’t sound like it really needs to load an entirely new scene file for each option?

As @Miseri mentions, there should also be no problem having multiple paragraphs of narrative in response to a particular *disable_reuse option—provided it is all correctly indented, and is followed with something like *goto or *finish. It’s most likely that you encountered this sort of basic error when first trying multiple paragraphs there and simply came to the wrong conclusion about why the error occurred (i.e. assumed *disable_reuse was to blame). It’s worth trying the ‘multiple paragraphs in option response’ approach again, bearing this in mind.


#8

I have been trying to do this, but when it tries to return to the options is says there is an incorrect indent and it was expecting 2 lines where there are 4. Format is basically the same as what I originally had only with *gosub instead of *goto and *return at the end of the scene.


#9

This format worked! I was having a bit of trouble using *selectable_if in the past so I hadn’t tried it for this, but seeing the exact thing I needed to type for it helped me visualize what I needed to do and I got the result I wanted! Thank you!