The *hide_reuse command, if used at the top of a scene without indentation (as seen in the example below), 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, as in the following example:
*hide_reuse *label Home What do you want to do next? *choice *allow_reuse #Eat some food. You eat some food and feel refreshed. *goto Home #Sleep. You're not tired enough! *goto Home #Go outside. It's raining outside so you decide to stay inside. *goto Home
In the above example, the "Sleep" and "Go outside" options will not be displayed again once selected by the player (due to the overriding *hide_reuse command) but the "Eat some food" option will always be selectable when this *choice option list is displayed, due to the specific *allow_reuse command for that option.
Confused? For a clearer understanding of the purpose of *hide/*allow, it would probably be best to approach this topic from the point of view of the more-detailed *hide_reuse command, as *allow_reuse is the minor exception, not the main command for this purpose.
|Choice||*choice, *fake_choice, *disable_reuse, *hide_reuse, *allow_reuse, *selectable_if|
|Variable||*create, *temp, *set, Arithmetic operators, *delete, *input_number, *input_text, *print, *rand|
|Conditional||*if, *elseif, *else|
|Goto||*label, *goto, *goto_scene, *goto_random_scene, *gosub, *gosub_scene, *finish|
|Formatting||Bold text, Italic text, *image, *line_break, *page_break, *link, *stat_chart|
|Miscellaneous||*comment, *scene_list, *title, *author, *achieve, *achievement, *check_achievements, *bug, *ending, *more_games, *share_this_game, *show_password, *script|