Editing helpfiles offline
---------------------------

Here is a helpfile

0 "REMOVE INVIS"~
#General Mage~
#general mage attack~
#END~
Syntax: cast 'remove invis' <object>

This spell will make an invisible object in the character's inventory
visible.
This is an AGGRESSIVE spell when used on others. I.e, it will attack
another player if you attempt to use it on them.
~   

As you notice, the new syntax is as follows

#General Mage~
#general mage attack~
#END~

You just add the indexes it would belong to.  HOWEVER!!! it is very important
once you have put in the index code that you make sure every helpfile has an
index or the game will not startup nexttime (it will leave a but with the helpfile
in question in your log).  


Editing helpfiles online
---------------------------
Syntax: hset hindex <help page> view
Syntax: hset hindex <help page> place <help index name>
Syntax: hset hindex <help page> create <help index name>
Syntax: hset hindex <help page> delete <number>
Syntax: hset hindex <help page> shift <number> <up/down>
Syntax: hset hindex crosslink <recepient index> <target index>

You can either alter an already existing helpfile, or create a new helpfile
and start editing it.  When you create a new helpfile, it automatically is
placed into the General group by default, so you might want to change that
when you are ready.  The above commands are the hset commands for altering
the indexes.  Here is the material provided in the helpfiles

----------------------
These are the commands to delete hindexes and place/remove/link
indexes by way of helpfiles.  You need a helpfile to use these
commands, well all besides crosslink.

view - Shows you all hindexes on a helpfile.  Mainly used to get
       the <number> to use in other arguments.
       
place - Places a helpfile in an already created index (only need the
        actual name of the hindex like fire instead of mage fire)

create - Creates a new index and places the helpfile in it.  This one
         requires a full hindex path to work (ex:  mage fire attack)
         
delete - Deletes a helpfile out of an hindex.  If no more helpfiles are
         present in the hindex and it is the last one on the chain, it
         will be deleted next reboot/copyover
         
shift - Shifts a hindex up or down on the view list.  If it was 3 and you
        shift it up, 3 becomes 2 and 2 becomes 3.  Mainly for cosmetic look.
        
crosslink - Crosslinks a helpindex.  This is when you have an index that points
            up to more than 1 other index.  YOU NEED to be very careful not to
            create an infinite loop with this command.
            
When you create an index, if you say only have mage and you create mage fire attack,
it will create both the fire and attack indexes for you, and place the helpfile in
attack.
-------------------

This pretty much explains it all, but I will go over crosslinking a bit more just
to make sure everyone understands what will cause a loop and what will not.  Say
we have the following map

---------------------------------------------------------
general
               mage
                              attack
                                             gem
                                             test
                              protect
imm
               attack
                              gem
                              test
               protect
---------------------------------------------------------

As you can see, attack is already crosslinked right now through mage
and imm.  ALSO:  Anything you crosslink anything below it and equal
to it will be crosslinked with both indexes here.  If I create imm->defense
it will also show up in general->mage->defense.  There is no way around this
at the moment, so plan accordingly.  Now on to crosslinking

This works fine because it will not loop forever since it doesn't go back, but
lets say I crosslink gem to to mage.  This will point backwards in the tree
and will cause an infinite loop.  General rule of thumb is not to point backwards,
specially if it is in your own tree.  If you point gem to protect, you might
get it to work, but that would be something to try offline because it still
might loop infinately because it is linked indirectly.

If you create an infinite loop, kill the mud and hope it boots up.  If it does
not, go into the helpfile and remove it manually from the helpfile at fault.  See
above for how to edit helpfiles offline.