Coder Social home page Coder Social logo

aard-plugins's Introduction

Summary
=======

The aard_inventory.xml file is a MUSHclient plugin for the Aardwolf mud.
See the wiki for instructions on installing the plugin.


Aard Inventory Manager
======================

This plugin manages your inventory and gives you tools to analyze and use
items in your inventory.

The first step you'll need to take is to find an out-of-the-way room where
you won't disturb anyone and then run "dinv build confirm".  This step
will identify all items you are wearing, all items in your main inventory,
and all items in containers in your inventory.  This will take roughly 5
minutes depending on how many items are in your inventory.  If you need to
halt the build simply go to sleep or go AFK.  You can "refresh" your
inventory later to complete the process of identifying everything you are
carrying.

Once you have a completed inventory table available, I recommend making a
manual backup in case something goes wrong in the future.  You can restore
from the backup and avoid the long build process again.  If anything in
your inventory has changed since the backup, your next refresh will simply 
update it to what you currently have.  To make a manual backup named
"my_first_awesome_backup" type "dinv backup create my_first_awesome_backup".
See "dinv help backup" for more details about creating, viewing, and restoring
backups.

Type "dinv help" for all available usage options.  For detailed examples of
how to use each option, simply type "dinv help <option>".


Usage
=====

  Inventory table access
    dinv build confirm
    dinv refresh [on | off | eager | all] <minutes>
    dinv search [objid | full] <query>

  Item management
    dinv get <query>
    dinv put <container relative name> <query>
    dinv store <query>
    dinv keyword [add | remove] <keyword name> <query>
    dinv organize [add | clear | display] <container relative name> <query>

  Equipment sets
    dinv set [display | wear] <priority name> <level>
    dinv weapon [next | <priority> <damType list>]
    dinv snapshot [create | delete | list | display | wear] <snapshot name>
    dinv priority [list | display | create | clone | delete | edit | copy | paste | compare] <name 1> <name 2>

  Equipment analysis
    dinv analyze [list | create | delete | display] <priority name> <positions>
    dinv usage <priority name | all> <query>
    dinv compare <priority name> <relative name>
    dinv covet <priority name> <auction #>

  Advanced options
    dinv backup [list | create | delete | restore] <backup name>
    dinv forget <query>
    dinv notify [none | light | standard | all]
    dinv regen [on | off]
    dinv reset [list | confirm] <module names | all>
    dinv cache [reset | size] [recent | frequent | custom | all] <# entries>
    dinv tags <names | all> [on | off]
    dinv reload

  Using equipment items
    dinv consume [add | remove | display | buy | small | big] <type> <name or quantity> <container>
    dinv portal [use] <portal object ID>
    dinv pass <pass ID> <# of seconds>

  Plugin info
    dinv version [check | changelog | update confirm]
    dinv help <command>


Release Notes
=============

1) If you give an item to an enchanter to boost the item's stats, you may pull the old stats from a
   cache instead of using the new enchantments when you get the item back.  In this case, you may use
   the "dinv forget <query>" option to remove that item from your inventory table and its related caches.
   The next inventory refresh will pick up the new stats for the item.

2) Most aard operations that modify an item's stats are detected and automatically trigger a 
   re-identification.  For example, enchantment spells, sharpening, reinforcing, tpenchanting, and wset
   all are handled transparently.  There are two known exceptions to this.  First, the setweight
   command does not result in an invitem update from aard's invitem system.  Second, scribing a scroll
   does not trigger an invitem update.  As a result, until this is changed on aard's side of things
   (or we manually add triggers in the plugin to watch for setweight and scribing) you will need to use
   the "dinv forget <query>" option on an item that changes weight or a scroll that is scribed.  This
   will cause the plugin to "forget" the existing data on the item so that the new information will be
   picked up on the next inventory refresh.

3) Wands and staves are not re-identified as they are used.  As a result, the number of charges
   shown in the item's display may not match reality as the item is used.  If this mode is not added
   to the aard invitem system, we may need to add a trigger to watch for this and update charges
   accordingly.

4) The plugin does not automatically open containers that are closed.  As a result, you won't be able
   to get/put items in a closed container.  Keep your containers open! :)

5) If the plugin tags are enabled, they will echo an end tag at the conclusion of an operation.  However,
   if the user goes into a state that doesn't allow echoing (e.g., AFK) then the plugin cannot report the
   end tag.  In this scenario, the plugin will notify the user about the end tag via a warning notification
   instead of an echo.  Triggers cannot catch notifications though so any code relying on end tags should
   either detect when you go AFK or cleanly time out after a reasonable amount of time.

6) If you add the portal wish after you have built your inventory table, you will need to either rebuild
   the table (dinv build confirm) or forget/re-identify your portals (dinv forget type portal) and
   (dinv refresh all).


Feature Wishlist
================

1) Implement a mechanism to (more) fully identify items if the identify wish is not available.
   For example, we could use lore, the identify or object read spells, or Hester's identify
   service found at "runto identify".  This would be a manual process to "clean up" partially
   identified items.

aard-plugins's People

Contributors

aardurel avatar l33t-xyz-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

aard-plugins's Issues

Timer/Trigger error after writing a note:

One of your scripts (in 'aard_inventory') just did something that requires TIMERS and TRIGGERS to be enabled, but they aren't. Please check your configuration settings.

I'm assuming you need to check for any functions that temporarily take you "out of the game" and disable things until they return.

Thanks for the great work!

Error while reloading the dinv plugin

Run-time error
Plugin: aard_inventory (called from world: Aardwolf)
Function/Sub: OnPluginSaveState called by Plugin aard_inventory
Reason: Executing plugin aard_inventory sub OnPluginSaveState
[string "Plugin: aard_inventory"]:20284: attempt to concatenate a nil value
stack traceback:
        [string "Plugin: aard_inventory"]:20284: in function 'getCurrentDir'
        [string "Plugin: aard_inventory"]:981: in function 'save'
        [string "Plugin: aard_inventory"]:289: in function <[string "Plugin: aard_inventory"]:260>
Reinstalled plugin aard_inventory (88c86ea252fc1918556df9fe)

Rearrange the documentation to put the most user-friendly scenarios first.

Dinv is a tour de force, but it's hard to learn about.

I'm reading through https://github.com/Aardurel/aard-plugins/wiki and I'm many paragraphs in and I keep encountering this pattern:

"Here's a thing you can do: <example of a thing I can do>"
"But actually you probably won't want to do that."
"Instead you'll probably want: <other thing>."
"But actually you probably won't want that either."
"Instead you'll probably want: <other other thing>."

The organization of the documentation feels very backwards to me. It talks about a thing and then immediately says that actually there's an easier way. If there's an easier way, tell me the easier way first. Only tell me about more complicated things later if the easier thing doesn't solve my need.

For example, this is more than half-way down the page: I suspect that most people won't even bother to use snapshots once they learn how to create and use stat priorities.

I suspect the same, so probably it should be at the top of the page instead of buried in the middle on the wrong end of 1408 other words.

The plugin can look at your exact situation at any time and find an "optimal" set for you to wear based on your current state.
I bet this is the highest impact feature of all of them. The guide should lead with it, because I bet it's actually the thing that would help the most people with the least amount of headache.

DINV set rounds up on fractional values for determination.

Was comparing DINV set to compare using identical ratios (but the standard 1.0, 1.5, .5, .4 in DINV), and I found that an item valued at 30 in compare was being considered second to a lower level item with 25. Since the DINV settings would make that 3.0 and 2.5, I checked if multiplying the numbers by 10 would fix it, and it did. Perhaps either discourage fractional values or don't round them up for comparison.

Error raised in timer function

I'm getting the following error:

DINV inv.config.load: inventory configuration table format is nil
DINV inv.config.init.atActive: failed to load config data from storage: internal error
DINV inv.init.atActiveCR: Failed to initialize "at active" inv.config module: internal error
Error raised in timer function (in wait module).
stack traceback:
[C]: in function 'assert'
[string "Plugin: aard_inventory"]:19849: in function 'loadTable'
[string "Plugin: aard_inventory"]:11040: in function 'load'
[string "Plugin: aard_inventory"]:10897: in function 'atActive'
[string "Plugin: aard_inventory"]:689: in function <[string "Plugin: aard_inventory"]:663>
Run-time error
Plugin: aard_inventory (called from world: Aardwolf)
Function/Sub: wait.timer_resume called by timer
Reason: processing timer "wait_timer_1574"
G:\Program Files (x86)\MUSHclient\lua\wait.lua:51: [string "Plugin: aard_inventory"]:19849: assertion failed!
stack traceback:
[C]: in function 'error'
G:\Program Files (x86)\MUSHclient\lua\wait.lua:51: in function <G:\Program Files (x86)\MUSHclient\lua\wait.lua:43>

Any clue what it could be?

Soft error when coming out of note mode with triggers temporarily disabled

It looks like dinv is incompatible with a script that disables triggers while writing notes.

Note posted in the Bugs forum.
You are back in the game.
One of your scripts (in 'aard_inventory') just did something that requires TRIGGERS to be enabled, but they aren't. Please check your configuration settings.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.