Serious issue affecting *disable_reuse and checkpoints


#1

Let’s take the following example:

*label village
What part of the village do you want to explore?
*choice
*disable_reuse #The graveyard
*goto graveyard

*disable_reuse #The church
*goto church

*disable_reuse #The inn
*goto inn

#Leave town
*goto leave

Let’s say you go to the graveyard. After you explore it, go back to label village. Of course, the option to go to the graveyard is now grey and not selectable.

The awful thing happens when you leave the town, die, and you respawn at a checkpoint just before label village. All the locations that you visited before you died are also not selectable.

Is there a way to get around the issue?


#2

It’s a simple fix add *allow_reuse at the beginning of every text document. That way whenever you reload it unlocks all the previously disabled options as it affects everything after it. Also remember if you add a midscene checkpoint you will have to add it in just after the start point as well.


#3

Thank you very much. What if I add allow_reuse in death.txt? Will it still work?


#4

Yes that’s a good idea. Tag it to your savegame system. The script process is entirely linear so it will work anywhere as long as the command is read before the you come back to those options again.


#5

Would that really work? The ChoiceScript wiki says that it is used in a different way:

The *allow_reuse command should only be used if, at the top of a scene, there’s an overriding *hide_reuse command (not indented, as shown in the example below). The *hide_reuse command prevents any *choice options – anywhere in this same scene – from being selected a second time in those instances where your scripting loops back (*goto home in the example below) to again display the same *choice list. However, In those cases where you do intend for a particular *choice option to be selectable more than once regardless, preceding that option with *allow_reuse will enable this,


#6

I know it says that on the website, but I am using it without any problems. If you are concerned just make a simple menu somewhere and stick allow_reuse at the top of the page. It’s always best to try a practical test rather than take other peoples word for it.