Up to Main Index                          Up to Journal for December, 2022

                    JOURNAL FOR FRIDAY 9TH DECEMBER, 2022
______________________________________________________________________________

SUBJECT: Working on a WolfMUD in-game help system
   DATE: Fri  9 Dec 20:37:34 GMT 2022

Wednesday was an actual WolfMUD Wednesday. Something that has not happened in
a long time. I didn’t have time to write about it — until now. Still, some
people did notice I’d pushed out a temporary branch called helpSystem.

The helpSystem branch is just that — the beginnings of an in-game player help
system. It does not do much yet and has a number of quirks and bugs.

The help topics are written in a data/help.wrj file. For example:


  %%
     Topic: PUT
  Synopsis: Place items into a container.
     Usage: PUT <item>... <container>
      Also: GET DROP TAKE
  Examples: PUT APPLE BASKET
          : PUT APPLE MY BASKET

  The PUT command is used to place items from your inventory into a container.

  @MY_CONTAINER

  Containers may be placed inside other containers.
  %%
     Topic: TAKE
  Synopsis: Remove items from a container.
     Usage: TAKE <item>... <container>
      Also: GET DROP PUT
  Examples: TAKE APPLE BASKET
          : TAKE APPLE MY BASKET

  The TAKE command is used to remove items from a container and place them
  into your inventory.

  @MY_CONTAINER
  %%
  Ref: MY_CONTAINER

  The container may be in your inventory or at your current location. If there
  are multiple containers, containers at your current location will be used
  before containers of the same name in your inventory. To specifically use a
  container in your inventory use the MY qualifier.
  %%


Topics are not just for commands. Topics can explain anything, although the
above is used to provide help on the PUT and GET commands. You could have
topics on politics, lore or anything else.

This is the help system in action:


  >/help
  The following help topics are available:

  /HELP DROP GET INVENTORY PUT TAKE
  >/? put
  Topic: PUT
         Place items into a container.

  Usage: PUT <item>... <container>

  The PUT command is used to place items from your inventory into a container.

  The container may be in your inventory or at your current location. If there
  are multiple containers, containers at your current location will be used
  before containers of the same name in your inventory. To specifically use a
  container in your inventory use the MY qualifier.

  Containers may be placed inside other containers.

  Examples: PUT APPLE BASKET
            PUT APPLE MY BASKET

  See also: DROP, GET and TAKE
  >/help take
  Topic: TAKE
         Remove items from a container.

  Usage: TAKE <item>... <container>

  The TAKE command is used to remove items from a container and place them
  into your inventory.

  The container may be in your inventory or at your current location. If there
  are multiple containers, containers at your current location will be used
  before containers of the same name in your inventory. To specifically use a
  container in your inventory use the MY qualifier.

  Examples: TAKE APPLE BASKET
            TAKE APPLE MY BASKET

  See also: DROP, GET and PUT
  >


Anybody can pull the helpSystem branch and have a play. Be warned, this is
probably not the final form of the help system. I would therefore advise
against writing swathes of help text — at least until the branch is stable and
merged into the dev branch.

I may not get time to work on the help system, or any other personal coding,
until next weekend — 17th onwards — due to a very busy work schedule. But, it
is nice to pick up WolfMUD’s code again after having a short break working on
my programming language Mere :)

--
Diddymus


  Up to Main Index                          Up to Journal for December, 2022