Basic Help Menu by Wade Clarke


Chapter: Overview

The Basic Help Menu provides a HELP command (with synonyms HINT, HINTS, ABOUT and INFO) which will bring up a help menu system in your Glulx or Z-Code project for Inform version 6M62 or greater. The menus contain a set of introductory instructions on how to play interactive fiction.

An optional additional menu called 'the table of setting options' is included (and it's used in the example project) which adds controls for managing verbosity and score notification to the menus. This menu is not included by default because both these features are being used by fewer Inform projects these days.

Basic Help Menu is essentially an update of Emily Short's Basic Help Menu extension to make it compatible with my own new Menus extension. This extension's prose content is 99% identical to that in Emily's Basic Help Menu, so the author of the instructions which will appear in your game is really Emily Short. As Emily's Basic Help Menu is to Emily's classic Menus extension, my Basic Help Menu is to my new Menus extension.

This version 4 of Basic Help Menu depends upon the extension Menus (by Wade Clarke, version 5 at least) to function, and tries to include it in your game automatically. If you have not already done so, you will need to download Menus from Inform's Public Library and add it to your Inform extensions collection.

Version 4 of Basic Help Menu requires Inform 6M62 or greater.

Chapter: Usage

For any given game, you're likely to want to modify the menu content. This extension defines a table of help contents, the table of instruction options (which contains the help text) and the table of setting options (which lets the player turn score notification and verbosity on and off, but which is NOT included in the help system by default). You should certainly modify the introduction stub in the table of help contents, which otherwise just says 'Welcome to (your game) ' when selected by a player. For the instructions on creating / editing help menus, please refer to the documentation of the Menus extension.

To add the verbosity and score notification functionality to your own project, add a submenu link in your menu system to the table of setting options.

* How to manage a modified version of this extension?

From Inform 6L02 onwards, you can save a copy of an extension you've modified for use with a particular project in that project's materials folder. Within 'materials', create an 'Extensions' folder, and inside that create a 'Wade Clarke' folder (extensions are filed by author name). If you put a copy of 'Basic Help Menu' into that Wade Clarke folder, you can hack it all you want to suit your project without affecting any other projects or the vanilla copy of the extension in your primary extensions colllection.

Example: * Basics - A very small game mostly consisting of help.

"Basics"

The Room of Bewilderment is a room. In the Room of Bewilderment is a panel of 57 brass buttons, a trap door, a lever marked DO NOT PULL, a brightly-gleaming sawblade, and a sheet of instructions in Mandarin.

When play begins:
     say "You step into the Room of Bewilderment with the words of the host ringing in your ears: you can always ask for HELP.";
     choose row 1 in table of help contents;
     now description entry is "Basics is a very small game consisting almost entirely of its help content. Its purpose is to demonstrate the Basic Help Menu extension."

Include Basic Help Menu by Wade Clarke.

table of help contents (continued)
title (text)     subtable (table name)     description (text)     used (number)     bookpage (number)     localpage (number)
"Contacting the author"     --     "If you have any difficulties with [story title], please contact me at..."
"Hints"     table of hints     --
"Settings"     table of setting options     --

table of hints
title (text)     subtable (table name)     description (text)     used (number)     bookpage (number)     localpage (number)
"What do I do with the string?"     table of hinting     "Remember that you know how to macrame."
"hint"     --     "Oh, come now, isn't it obvious?"