Wave Image
















  • 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.