Vote for Our Mud on TMC!











help > w > autopath
AUTOPATH HALP

WHO?
Misery

WHEN?
July 2011

WAT?
Autopath assigns paths you see to some semi-stable nicknames.

WHY?
So you can assign some aliases to make use of the stable nicknames to
read/copy/source/clone/goto/etc. file paths mentioned by other wizards
in conversation, or seen through commands you issue yourself.

WHERE?
The default nicknames are last_path, last_obj, last_file, and last_dir.
If you do no further configuration, two of these will be stored for every
path you *SEE* caused by: say, tell, reply, wizard, bugs, and any
verb for a valid channel.

Notes on default behavior:
     1.) SEE is operative. Your own paths will get nicknamed. This
         isn't good or bad--it can save you from re-referencing a
         path again and again, and give you a way to autopath by
         simply saying the path. It just might not be immediately
         evident.

     2.) last_path is always stored; last_obj is stored for a cloned
         object, last_file is stored for a verified file, 
         last_dir for a directory.

     3.) The FIRST path seen in a message is captured.
     
     4.) Implied above but only messages caused by wizards will save.

HOW?
You can configure a few variables to make Autopath more useful. For
now you'll need to do this with eval, but I may add commands to work
with these eventually.

settings:
     message_me - Enables a one-line message saying how many paths
                  were identified and what nicknames were assigned.
                  Messaging can't be much more verbose than this
                  without risking recursion.
                  
                  use:
                  eval this_player()->set("autopath/message_me", 1)
                  eval this_player()->delete("autopath/message_me")
                  
      store_all - Enables the capturing of all paths in a message.
                  By itself this does nothing, however, as additional
                  paths are *only* stored for commands you've added
                  to your include list.
                  
                  use:
                  eval this_player()->set("autopath/store_all", 1)
                  eval this_player()->delete("autopath/store_all")
                  
        include - You can include commands that aren't by default
                  parsed for paths by setting them by verb name
                  under the include setting.
                  
                  Commands in the include list get their own nickname(s)
                  in a last_command_name format. If store_all is set,
                  it'll be last_command_1, etc. When store_all is set,
                  all previous, numbered nicknames for this command will
                  be cleared, to avoid ambiguous situations where nicknames
                  1 and 2 were replaced with new paths, but 3 and 4 weren't,
                  and still remain.
                  
                  NOTE: You can also treat "debug" and, "editing" as 
                        command names, even though they aren't. This will
                        save paths you get in messages from notify_d in the
                        first case, and in the second case specifically
                        file-edit notifications.

                  use:
                  eval this_player()->set("autopath/include/command_name")
                  eval this_player()->set("autopath/include/look")
                  eval this_player()->delete("autopath/include/look")
                  eval this_player()->set("autopath/include/debug")
                  
         ignore - You can also ignore paths from default commands,
                  including channels.
                  
                  use:
                  eval this_player()->set("autopath/ignore/command_name")
                  eval this_player()->set("autopath/ignore/chat")
                  eval this_player()->delete("autopath/ignore/chat")
                  
Notes on setting behavior:
      1.) Ignore wins out over include.

      2.) Because the store_all flag enables capturing paths in the
          code logic, but the paths aren't captured unless you've added
          the command to your include list, with store_all enabled you'll
          see a message saying it's adding X paths to nicknames: ...
          
          The number it gives you is the number of identified paths but
          won't represent the number of paths actually stored unless you
          have Autopath enabled for that command. This may be messaged
          better in the future but I didn't have the heart to put Morganti
          through another round of sourcing for it atm.