Help Standard
2 March 1995, email to lily-dev@rpi.edu
The new
/help standard is as follows:
-
/help will first try to find the help in the standard index.
- if the player is a programmer, admin, or consultant
/help will look in each of those indexes.
- if the player has given two arguments (poker deal or uno cards)
/help will try to find (args[1]+"_obj") (ie poker_obj or uno_obj), and look in that object for an "hm_index" and an "hm_help" pair (just like $help_mgr does) it will utilize the help in that object to satisfy the user's request
- if the player is participating in a cardgame (player.cardgame = #0) and the cardgame object has an "hm_index" and an "hm_help" pair (just like
$help_mgr does) it will utilize the help in that object to satisfy the user's request.
So! If you have a game called "foo" and you want to bundle help with the module (the module the user loads into their server). You need to have the following:
- $foo.hm_index
- a LIST of words help can use to satisfy user requests
- $foo.hm_help
- a LIST of STRing LISTs which contain the actual help to print to the user
- $help_mgr.foo_obj
- an OBJect handle for the
$foo object, this is used by /help when a user does the double-argument form of /help.
If the user types in a help that fails to find any matches, before an error is reported /help tries to match the word to (word+"_obj") in the $help_mgr. If the match is found the
default help ("help" in hm_index) is displayed for that user.
So!
/help uno will find the 'uno_obj', go to the hm_index for the OBJ in that property, find the "help" entry in the hm_index and print that for the user.
Thus,
/help package_name is also supported.
We should remove the need to specify a $_obj property on the help object, and if someone asks for help on hearts, we should check to see if $hearts has help. --
CoKe - 16 Dec 2003
to top