Lich:Script invdb: Difference between revisions

The official GemStone IV encyclopedia.
Jump to navigation Jump to search
No edit summary
 
(16 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{3rd-party}}
Cross-character searching & tracking of inventory, lockers, bank accounts, and other data.
Cross-character searching & tracking of characters, inventory, lockers, bank accounts, and other data

Now including support for family vaults!
Now including support for family vaults!


author: Xanlin (Xanlin on discord)
tldr: run <PRE>;invdb</PRE> to load your stuff, then <PRE>;invdb thing</PRE> to find your thing.


=== Getting Started ===
== Getting Started ==


'''tldr''': run <CODE>;invdb</CODE> to load your stuff, then <CODE>;invdb thing</CODE> to find your thing.
<PRE>
+---------------------------------------------------------------+
;invdb help > help text (this)
;invdb menu > basic starter menu
;invdb examples > examples
;invdb changelog > changelog


==Help==
first parameter: action (default to refresh all if no parameters provided)
<CODE>;invdb help</CODE>
options: refresh, query, sum (or total), export, reset, delete, drop
refresh load/update your database
query prints out results to your story window
sum less detail than query, aggregates by type and item
export export table or query to a file
reset clear everything and start over
delete delete stuff, can be complicated, more on this later
drop drops a table, (item|bank|char)


<pre>
;invdb help > help text (this)
second parameter: target (defaults to all or item)
;invdb examples > examples
options: bank, char, item, inv, locker
bank bank account & silvers
;invdb menu > basic starter menu
;invdb changelog > changelog
char character info
item both inventory and lockers
inv inventory, but not lockers
locker locker(s), but not inventory
optional parameters:
char=name # supports wildcards
game=gsiv # ignore this if you only play one game
type=gem # based on your GameObj type data.
amount(<|<=|=|>|>=)42 # amount greater than, equal to, etc a number
qty(<|<=|=|>|>=)42 # qty greater than, equal to, etc a number
noun=stone # buggy on items from locker manifest,
grabs the last word in the name
path=backpack # all items that start in a backpack
stack=(jar|bundle|stack|pack) # only jars implemented so far
status=(empty|partial|full) # to help find empty or full jars
marked=Y # not recorded in standard lockers
registered=Y # not recorded in standard lockers
worn= # not yet implemented


first parameter: action (default to refresh all if no parameters provided)
delay=5 #adds a delay before doing stuff
options: refresh, query, sum (or total), export, reset, delete, drop
useful for adding to autostart
refresh load/update your database
query prints out results to your story window
All other input is used as a search string in the primary name in the target.
sum less detail than query, aggregates by type and item
count shows totals by character and location
export export table or query to a file
reset clear everything and start over
delete delete stuff, can be complicated, more on this later


If no parameters are provided, defaults to `refresh all`
second parameter: target (defaults to all or item)
options: bank, char, item, inv, locker, tickets
bank bank account & silvers
char character info
item both inventory and lockers
inv inventory, but not lockers
locker locker(s), but not inventory
tickets ticket balance information


optional parameters:
If no applicatable action & target are specified,
char=name # supports wildcards
defaults to querying for items based on other input
game=gsiv # defaults to the current game
+---------------------------------------------------------------+
type=gem # based on your GameObj type data.
exporting:
noun=stone # filter by item noun
;invdb export (char|item|inv|locker|bank) (optional parameters)
path=backpack # all items that start in a backpack
- additional optional export parameters:
format=(csv|txt|pipe) default = csv
stack=(jar|bundle|stack|pack) # only jars implemented so far
status=(empty|partial|full) # to help find empty or full jars
dir="directory path" default = $lich_dir\\inv\\
marked=Y # not recorded in standard lockers
file="filename.ext" default = (params)_target_timestamp.csv
registered=Y # not recorded in standard lockers
+---------------------------------------------------------------+
worn= # not yet implemented
most commands have abbreviations:
q = query c = char m = marked
groupby=char # adds char column to sum/total queries
orderby="path asc, qty desc" # customize result order
i = item g = game r = registered
in = inv t = type s = stack
delay=6 # delay N seconds before doing stuff (e.g. autostart)

l = locker n = noun status = status
b = bank p = path w = worn
All other input is used as a search string in the primary name in the target.
If no parameters are provided, defaults to `refresh all`
If no applicable action & target are specified, defaults to searching items
+---------------------------------------------------------------+
exporting:
;invdb export (char|item|inv|locker|bank|tickets|sbank|stickets) (optional parameters)
- additional optional export parameters:
format=(csv|txt|pipe) default = csv
dir="c:\usersme\desktop" default = $lich_dir\inv\
file="filename.ext" default = target_(params)_timestamp.csv
+---------------------------------------------------------------+
most commands have abbreviations:
q = query c = char m = marked
i = item g = game r = registered
in = inv t = type s = stack
l = locker n = noun status = status
b = bank p = path
+---------------------------------------------------------------+
settings (on/off is converted into true/false)
;invdb --settings lists your current settings
;invdb --jar=on/off will turn on/off looking in jars
;invdb --stack=on/off will turn on/off reading stacks of notes (light and deep notes)
</pre>

==Menu==

<CODE>;invdb menu</CODE>
<pre>
+--------------------------------------------------------------+
+--------------------------------------------------------------+
| invdb |
| invdb |
+--------------------------------------------------------------+
+--------------------------------------------------------------+


Run #1 first if your database is empty:
Run #1 first if your database is empty:
1: ;invdb refresh all to create/update the database
1: ;invdb refresh all to create/update the database

some examples:
other examples:
2: character list ;invdb query char
2: character list ;invdb query char
3: bank accounts ;invdb q bank
3: bank accounts ;invdb q bank
4: landing bank total ;invdb sum bank amount>100000 elan
4: landing bank total ;invdb sum bank amount>100000 elan
5: all gems in inv(s) ;invdb q inv type=gem
5: all gems in inv(s) ;invdb q inv type=gem
6: your stuff ;invdb q item c=Xanlin
6: your stuff ;invdb q item c=Xanlin
7: all locker stuff ;invdb q locker
7: all locker stuff ;invdb q locker
8: all empty jars ;invdb type=jar status=empty
8: all empty jars ;invdb type=jar status=empty
9: total gems ;invdb sum type=gem
9: total gems ;invdb sum type=gem
10: total uncut diamonds ;invdb sum type=gem =uncut dia*
10: total uncut diamonds ;invdb sum type=gem =uncut dia*
11: locker counts ;invdb count char=Xanlin

Add an optional delay for autostart: ;autostart add invdb delay=3
Add an optional delay for autostart:
+--------------------------------------------------------------+ </PRE>
;autostart add --global invdb delay=6 @no_squelch
To set autostart ;repository to download updates:
;autostart add --global repository download-updates
To set invdb to auto-update:
;repository set-updatable invdb
To update just your character info on logout:
;alias add --global quit=;eq Script.run('invdb','refresh char');fput 'quit'
+--------------------------------------------------------------+
</pre>
* If you don't have premium lockers, your locker location is just listed as `locker`. If you don't have a paid subscription, you need to run the script at each locker that has contents with the locker open.
* If you don't have premium lockers, your locker location is just listed as `locker`. If you don't have a paid subscription, you need to run the script at each locker that has contents with the locker open.


==Default Query==
After you've run <PRE>;invdb</PRE> on each of the characters you want to load:


After you've run <CODE>;invdb</CODE> or <CODE>;invdb refresh all</CODE> on each of the characters you want to load:
example in-game output:


searching for something related to button:
example searching for something containing the word button:

<CODE>;inv q button</CODE>
<pre>


<PRE>
>;inv q button
--- Lich: invdb active.
--- Lich: invdb active.
... loc: location of the item (hands|inv|locker|town abbr if multi locker)
... loc: location of the item (hands|inv|locker|town abbr if multi locker)
Line 109: Line 131:
... m: marked (Y or blank)
... m: marked (Y or blank)
... r: registered (Y or blank)
... r: registered (Y or blank)
... h: hidden (Y or blank)
-------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
name |loc | path | qty|type |stk|epf|m|r| item
name | loc | path | qty | type | stk | epf | m | r | h | item
-------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
Somealt1 |locker| locker | 1|armor | | | | | reinforced silver-buttoned leathers
Xanlin |locker| locker | 1| | | | | | silvery moon-shaped button painted with the words, "Community. Unity. Icemule. Vote Tawariell."
Xanlin | inv | | 1 | unknown | | | Y | Y | | black suede pants caught with horn buttons
SomeAlt1| inv | | 1 | clothing | | | Y | | | dark silver-buttoned breeches
-------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
matched 2 rows from item.
matched 2 rows from item.
--- Lich: invdb has exited. </PRE>
--- Lich: invdb has exited. </pre>
finding where you stashed some gems:
finding where you stashed some gems:


<CODE>;inv type=gem =uncut diamond</CODE>
<PRE>
<pre>
>;inv type=gem =uncut diamond
--- Lich: invdb active.
--- Lich: invdb active.
--------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------
Line 132: Line 155:
--------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------
matched 5 rows from item.
matched 5 rows from item.
--- Lich: invdb has exited. </PRE>
--- Lich: invdb has exited. </pre>
getting a total number of an item:
getting a total number of an item:


<PRE>
<pre>
>;inv sum type=gem =uncut diamond
>;inv sum type=gem =uncut diamond
--- Lich: invdb active.
--- Lich: invdb active.
Line 145: Line 168:
--------------------------------------------------------------
--------------------------------------------------------------
matched 2 rows from item.
matched 2 rows from item.
--- Lich: invdb has exited. </PRE>
--- Lich: invdb has exited. </pre>


==Bank==
bank accounts:


Can't remember how much that one character has in their bank?
Can't remember how much that one character has in their bank?


<PRE>
<pre>
>;inv q bank char=xanlin
>;inv q bank char=xanlin
--- Lich: invdb active.
--- Lich: invdb active.
Line 168: Line 191:
------------------------------------------------------------------------
------------------------------------------------------------------------
matched 9 rows from bank.
matched 9 rows from bank.
--- Lich: invdb has exited. </PRE>
--- Lich: invdb has exited. </pre>
total up all your bank accounts:
total up all your bank accounts:


<PRE>
<pre>
>;inv sum bank
>;inv sum bank
--- Lich: invdb active.
--- Lich: invdb active.
Line 188: Line 211:
--------------------------------------------------------------
--------------------------------------------------------------
matched 9 rows from bank.
matched 9 rows from bank.
--- Lich: invdb has exited. </PRE>
--- Lich: invdb has exited. </pre>
Get your total at just one bank if you prefer:
Get your total at just one bank if you prefer:


<PRE>
<pre>
>;inv sum bank elan
>;inv sum bank elan
--- Lich: invdb active.
--- Lich: invdb active.
Line 200: Line 223:
--------------------------------------------------------------
--------------------------------------------------------------
matched 1 rows from bank.
matched 1 rows from bank.
--- Lich: invdb has exited. </PRE>
--- Lich: invdb has exited. </pre>
==Export==

Don't care for the in game queries and prefer your spreadsheets instead? You can export to csv (or tab/pipe delimited) and do whatever you want with it:
Don't care for the in game queries and prefer your spreadsheets instead? You can export to csv (or tab/pipe delimited) and do whatever you want with it:


<PRE>
<pre>
>;inv export item
>;inv export item
--- Lich: invdb active.
--- Lich: invdb active.
exported 1166 rows from item to
exported 1166 rows from item to
C:/.../lich/inv/item_2018-06-28_12-59-35.csv.
C:/.../lich/inv/item_2018-06-28_12-59-35.csv.
--- Lich: invdb has exited. </PRE>
--- Lich: invdb has exited. </pre>
item_2018-06-28_12-59-35.csv :
item_2018-06-28_12-59-35.csv :
<PRE>
<pre>
name,loc,path,qty,type,stk,epf,m,r,item
name,loc,path,qty,type,stk,epf,m,r,item
Xanlin,inv,"",1,clothing,"", ,"","",thick ebonwood armband
Xanlin,inv,"",1,clothing,"", ,"","",thick ebonwood armband
Line 239: Line 262:
Xanlin,inv,bag,3,"","", ,"","",crisp parchment bloodscrip
Xanlin,inv,bag,3,"","", ,"","",crisp parchment bloodscrip
Xanlin,inv,bag,1,clothing,"", ,Y,Y,pair of rolaren-toed boots
Xanlin,inv,bag,1,clothing,"", ,Y,Y,pair of rolaren-toed boots
Xanlin,inv,bag,2,gem,"", ,"","",uncut star-of-Tamzyrr diamond </PRE>
Xanlin,inv,bag,2,gem,"", ,"","",uncut star-of-Tamzyrr diamond </pre>


=== Other useful commands ===
==Other useful commands==


Want to delete a character?
Want to delete a character?


<PRE> >;invdb delete character char=<name></PRE>
<CODE>;invdb delete character char=<name></CODE>

How about a partial match when you want anything containing one word?

<CODE>;invdb shimmering *orb</CODE>

==Bags of Holding and other stacking containers==

To have a [[Bag of Holding]] or stacking container ([[Forager Vasculum]], [[I_Dream_of_Geology_Series/Oremonger|Oremonger]], [[The Crafter's Caboodle]], [[Super-Fish-All Tackle Box]]) scanned in invdb, add the full name of the item to your invdb settings with the `;invdb +boh` command.

<pre>
>;invdb --settings
--- Lich: invdb active.
invdb settings:
-------------------------------------------------------------------------------------------------------------
setting | value | description
confirm_large_output | true | require unpause script when output rows > 100
jar | true | check contents of jars
stack | false | check number of stacked notes
silence_stack | true | silences lines from checking jars, notes, etc.
open_containers | true | opens and closes containers for inventory check
date_format | %m/%d/%y | date format, e.g. %m/%d/%y or %Y-%m-%d
lumnis | true | includes lumnis tracking in 'refresh all'
resource | true | includes resource tracking in 'refresh all'
---------------------------------------------
container_noopen: names or nouns of containers not to try to open.
1. locket
add to this list using: ;invdb +container_noopen thing to add
remove from this list using: ;invdb -container_noopen thing to remove
boh: names of bags of holding.
1. large treasure sack with a blood crystal clasp
2. elesine treasure sack with a blood crystal clasp
3. copper-tacked glossy mahogany reticule
add to this list using: ;invdb +boh thing to add
remove from this list using: ;invdb -boh thing to remove
---------------------------------------------
</pre>

Example with my bamboo-shaped gold vasculum:
<pre>
>look in my vasc
Fashioned from a thin sheet of gold, the cylindrical tube is painted vivid jade and chartreuse and decorated with origami cranes caught mid-flight. Two small doors allow access to the interior, which appears to be filled with small compartments to store foraged items. A small sleeve on the side is perfect for housing a pair of snips, while a tiny hook on the opposite side has room for a pair of gloves. You quickly read the chalk-scribbled note on the lid:

1. a trollear mushroom (2 specimens)
2. a sprig of Imaera's Lace (1 specimen, which is ready for plucking)

>glance
You glance down to see a bamboo-shaped gold vasculum in your right hand and nothing in your left hand.

>;invdb +boh bamboo-shaped gold vasculum
invdb: bamboo-shaped gold vasculum added to the boh list

>;invdb-test refresh
...

>;invdb q item loc=hands char=xanlin
...
-----------------------------------------------------------------------------------------
name | loc | path | qty | type | stk | epf | m | r | h | item
-----------------------------------------------------------------------------------------
Xanlin | hands | | 1 | boh | | | Y | Y | | bamboo-shaped gold vasculum
Xanlin | hands | vasculum | 1 | specimen | boh | | | | | sprig of Imaera's Lace
Xanlin | hands | vasculum | 2 | specimen | boh | | | | | trollear mushroom
-----------------------------------------------------------------------------------------

</pre>

Items designated as a bag of holding type item are typed 'boh' in invdb.

<pre>
>;invdb q item type=boh
---------------------------------------------------------------------------------
name | loc | path | qty | type | stk | epf | m | r | h | item
---------------------------------------------------------------------------------
Xanlin | hands | | 1 | boh | | | Y | Y | | bamboo-shaped gold vasculum
---------------------------------------------------------------------------------
</pre>

Items inside certain item stacking containers may be assigned a new type in invdb, such as ore, specimen, or gemstone.
<pre>
>;invdb q item type=specimen
-----------------------------------------------------------------------------------------
name | loc | path | qty | type | stk | epf | m | r | h | item
-----------------------------------------------------------------------------------------
Xanlin | hands | vasculum | 1 | specimen | boh | | | | | sprig of Imaera's Lace
Xanlin | hands | vasculum | 2 | specimen | boh | | | | | trollear mushroom
-----------------------------------------------------------------------------------------
</pre>

Query items in any sort of bag of holding by with `stack=boh` filter.

<pre>
;invdb q item stack=boh
-----------------------------------------------------------------------------------------
name | loc | path | qty | type | stk | epf | m | r | h | item
-----------------------------------------------------------------------------------------
Xanlin | hands | vasculum | 1 | specimen | boh | | | | | sprig of Imaera's Lace
Xanlin | hands | vasculum | 2 | specimen | boh | | | | | trollear mushroom
-----------------------------------------------------------------------------------------
</pre>




{{Third-Party Software}}
{{Third-Party Software}}
[[Category:Third-Party Software]]
{{top}}
{{top}}

Latest revision as of 10:54, 2 November 2023

Lich:Script invdb is a third party script and is not maintained by Simutronics. Simutronics is not responsible for the accuracy of the information presented on this page, nor is it liable for issues stemming from the use of the application on players' personal devices.

Cross-character searching & tracking of characters, inventory, lockers, bank accounts, and other data

Now including support for family vaults!

author: Xanlin (Xanlin on discord)

Getting Started

tldr: run ;invdb to load your stuff, then ;invdb thing to find your thing.

Help

;invdb help

    ;invdb help      > help text (this)
    ;invdb examples  > examples
    ;invdb menu      > basic starter menu
    ;invdb changelog > changelog

    first parameter: action (default to refresh all if no parameters provided)
      options: refresh, query, sum (or total), export, reset, delete, drop
        refresh   load/update your database
        query     prints out results to your story window
        sum       less detail than query, aggregates by type and item
        count     shows totals by character and location
        export    export table or query to a file
        reset     clear everything and start over
        delete    delete stuff, can be complicated, more on this later

    second parameter: target (defaults to all or item)
      options: bank, char, item, inv, locker, tickets
        bank      bank account & silvers
        char      character info
        item      both inventory and lockers
        inv       inventory, but not lockers
        locker    locker(s), but not inventory
        tickets   ticket balance information

    optional parameters:
      char=name                      # supports wildcards
      game=gsiv                      # defaults to the current game
      type=gem                       # based on your GameObj type data.
      noun=stone                     # filter by item noun
      path=backpack                  # all items that start in a backpack
      stack=(jar|bundle|stack|pack)  # only jars implemented so far
      status=(empty|partial|full)    # to help find empty or full jars
      marked=Y                       # not recorded in standard lockers
      registered=Y                   # not recorded in standard lockers
      worn=                          # not yet implemented
      groupby=char                   # adds char column to sum/total queries
      orderby="path asc, qty desc"   # customize result order
      delay=6                        # delay N seconds before doing stuff (e.g. autostart)

    All other input is used as a search string in the primary name in the target.
    If no parameters are provided, defaults to `refresh all`
    If no applicable action & target are specified, defaults to searching items
    +---------------------------------------------------------------+
    exporting:
      ;invdb export (char|item|inv|locker|bank|tickets|sbank|stickets) (optional parameters)
      - additional optional export parameters:
        format=(csv|txt|pipe)         default = csv
        dir="c:\usersme\desktop"   default = $lich_dir\inv\
        file="filename.ext"           default = target_(params)_timestamp.csv
    +---------------------------------------------------------------+
    most commands have abbreviations:
      q  = query      c = char        m = marked
      i  = item       g = game        r = registered
      in = inv        t = type        s = stack
      l  = locker     n = noun        status = status
      b  = bank       p = path
    +---------------------------------------------------------------+
    settings (on/off is converted into true/false)
      ;invdb --settings lists your current settings
      ;invdb --jar=on/off will turn on/off looking in jars
      ;invdb --stack=on/off will turn on/off reading stacks of notes (light and deep notes)

Menu

;invdb menu

  +--------------------------------------------------------------+
  |                          invdb                               |
  +--------------------------------------------------------------+

      Run #1 first if your database is empty:
       1: ;invdb refresh all to create/update the database

       other examples:
       2: character list       ;invdb query char
       3: bank accounts        ;invdb q bank
       4: landing bank total   ;invdb sum bank amount>100000 elan
       5: all gems in inv(s)   ;invdb q inv type=gem
       6: your stuff           ;invdb q item c=Xanlin
       7: all locker stuff     ;invdb q locker
       8: all empty jars       ;invdb type=jar status=empty
       9: total gems           ;invdb sum type=gem
      10: total uncut diamonds ;invdb sum type=gem =uncut dia*
      11: locker counts        ;invdb count char=Xanlin

      Add an optional delay for autostart:
          ;autostart add --global invdb delay=6 @no_squelch
      To set autostart ;repository to download updates:
          ;autostart add --global repository download-updates
      To set invdb to auto-update:
          ;repository set-updatable invdb
      To update just your character info on logout:
          ;alias add --global quit=;eq Script.run('invdb','refresh char');fput 'quit'
  
  +--------------------------------------------------------------+
  • If you don't have premium lockers, your locker location is just listed as `locker`. If you don't have a paid subscription, you need to run the script at each locker that has contents with the locker open.

Default Query

After you've run ;invdb or ;invdb refresh all on each of the characters you want to load:

example searching for something containing the word button:

;inv q button


--- Lich: invdb active.
...  loc: location of the item (hands|inv|locker|town abbr if multi locker)
... path: the path to an item, e.g. `backpack > box` is in a box, in a backpack
... type: object type, per GameObj.type_data
...  stk: stack, a non-standard container, e.g. jar|bundle|voucher pack
...  epf: status (empty|partial|full) for jars/stacks
...    m: marked (Y or blank)
...    r: registered (Y or blank)
...     h: hidden (Y or blank)
-----------------------------------------------------------------------------------------
 name    | loc   | path       | qty | type     | stk | epf | m | r | h | item
-----------------------------------------------------------------------------------------
 Xanlin  | inv   |            |   1 | unknown  |     |     | Y | Y |   | black suede pants caught with horn buttons
 SomeAlt1| inv   |            |   1 | clothing |     |     | Y |   |   | dark silver-buttoned breeches
-----------------------------------------------------------------------------------------
matched 2 rows from item.
--- Lich: invdb has exited. 

finding where you stashed some gems:

;inv type=gem =uncut diamond

--- Lich: invdb active.
--------------------------------------------------------------------------------------------------------
 name         |loc   | path             | qty|type      |stk|epf|m|r| item                             
--------------------------------------------------------------------------------------------------------
 Somealt1     |inv   | satchel          |   2|gem       |   |   | | | uncut diamond 
 Mule1        |inv   | sack > jar       | 100|gem       |jar|   | | | uncut diamond 
 Mule2        |hands | jacket > jar     |  42|gem       |jar|   | | | uncut diamond 
 Mule2        |inv   | greatcloak > jar |  63|gem       |jar|   | | | uncut diamond 
 Mule3        |inv   | bag              |   1|gem       |   |   | | | uncut diamond 
--------------------------------------------------------------------------------------------------------
matched 5 rows from item.
--- Lich: invdb has exited. 

getting a total number of an item:

>;inv sum type=gem =uncut diamond
--- Lich: invdb active.
--------------------------------------------------------------
type      |        amount | item                             
--------------------------------------------------------------
gem       |           208 | uncut diamond 
gem       |           208 | total                            
--------------------------------------------------------------
matched 2 rows from item.
--- Lich: invdb has exited. 

Bank

Can't remember how much that one character has in their bank?

>;inv q bank char=xanlin
--- Lich: invdb active.
------------------------------------------------------------------------
 name         | bank                         |        amount | updated 
------------------------------------------------------------------------
 Xanlin       | First Elanith Secured Bank   |       ###,### | 06/25/18 
 Xanlin       | Great Bank of Kharam-Dzu     |        ##,### | 06/25/18 
 Xanlin       | Vornavis Bank of Solhaven    |       ###,### | 06/25/18 
 Xanlin       | Bank of Torre County         |       ###,### | 06/25/18 
 Xanlin       | Icemule Trace Bank           |     #,###,### | 06/25/18 
 Xanlin       | Bank of Kharag 'doth Dzulthu |        ##,### | 06/25/18 
 Xanlin       | United City-States Bank      |     #,###,### | 06/28/18 
 Xanlin       | Cysaegir Bank                |        ##,### | 06/26/18 
 Xanlin       | Total                        |     #,###,### | 06/28/18 
------------------------------------------------------------------------
matched 9 rows from bank.
--- Lich: invdb has exited. 

total up all your bank accounts:

>;inv sum bank
--- Lich: invdb active.
--------------------------------------------------------------
 bank                         |        amount |   characters 
--------------------------------------------------------------
 Bank of Kharag 'doth Dzulthu |        ##,### | Xanlin, Somealt 
 Bank of Torre County         |       ###,### | Xanlin, Somealt, Somealt2
 Cysaegir Bank                |        ##,### | Xanlin, Somealt, Somealt2
 First Elanith Secured Bank   |       ###,### | Xanlin, Somealt, Somealt2 
 Great Bank of Kharam-Dzu     |        ##,### | Xanlin, Somealt, Somealt2
 Icemule Trace Bank           |     #,###,### | Xanlin, Somealt, Somealt2 
 United City-States Bank      |     #,###,### | Xanlin, Somealt, Somealt2 
 Vornavis Bank of Solhaven    |       ###,### | Xanlin, Somealt, Somealt2
 grand total                  |     #,###,### | Xanlin, Somealt, Somealt2
--------------------------------------------------------------
matched 9 rows from bank.
--- Lich: invdb has exited. 

Get your total at just one bank if you prefer:

>;inv sum bank elan
--- Lich: invdb active.
--------------------------------------------------------------
 bank                         |        amount |   characters 
--------------------------------------------------------------
 First Elanith Secured Bank   |       ###,### | Xanlin, Somealt, Somealt2
--------------------------------------------------------------
matched 1 rows from bank.
--- Lich: invdb has exited. 

Export

Don't care for the in game queries and prefer your spreadsheets instead? You can export to csv (or tab/pipe delimited) and do whatever you want with it:

>;inv export item
--- Lich: invdb active.
exported 1166 rows from item to
C:/.../lich/inv/item_2018-06-28_12-59-35.csv.
--- Lich: invdb has exited. 

item_2018-06-28_12-59-35.csv :

name,loc,path,qty,type,stk,epf,m,r,item
Xanlin,inv,"",1,clothing,"", ,"","",thick ebonwood armband
Xanlin,inv,"",1,clothing,"", ,Y,"",translucent spidersilk backpack
Xanlin,inv,"",1,jewelry,"", ,"","",copper-bound linen badge
Xanlin,inv,"",1,clothing,"", ,Y,"",oiled light leather courier bag  with polished faenor buckles
Xanlin,inv,"",1,"","", ,Y,"",black leather disarming case
Xanlin,inv,"",1,clothing,"", ,Y,Y,translucent spidersilk cloak
Xanlin,inv,"",1,"","", ,Y,Y,pair of rolaren-studded gauntlets
Xanlin,inv,"",1,"","", ,Y,"",pair of black-tinted glasses
Xanlin,inv,"",1,"","", ,Y,"",onyx-studded shadowy black hip-satchel
Xanlin,inv,"",1,"","", ,"",Y,black hand insignia
Xanlin,inv,"",1,clothing,"", ,Y,Y,silver locksmith kit
Xanlin,inv,"",1,jewelry,"", ,"","",tiny iron catapult pin
Xanlin,inv,"",1,magic,"", ,Y,"",dull gold ring
Xanlin,inv,"",1,clothing,"", ,Y,"",matte black satchel
Xanlin,inv,"",1,"","", ,Y,"",dark leather scalemail
Xanlin,inv,"",1,"","", ,Y,"",leather swordbelt
Xanlin,inv,"",1,"","", ,Y,"",emerald-hued imflass trident symbol  adorned with blue coral
Xanlin,inv,backpack,1,magic,"", ,"","",white flask
Xanlin,inv,backpack,1,herb,"", ,"","",ambrominas leaf
Xanlin,inv,backpack,1,lockpick,"", ,"","",copper lockpick
Xanlin,inv,backpack,1,magic,"", ,"","",flawless gold ring
Xanlin,inv,backpack,1,magic,"", ,"","",small statue
Xanlin,inv,bag,1,magic,"", ,"","",ruby amulet
Xanlin,inv,bag,1,"","", ,Y,Y,thin coarse linen blindfold
Xanlin,inv,bag,3,"","", ,"","",crisp parchment bloodscrip
Xanlin,inv,bag,1,clothing,"", ,Y,Y,pair of rolaren-toed boots
Xanlin,inv,bag,2,gem,"", ,"","",uncut star-of-Tamzyrr diamond 

Other useful commands

Want to delete a character?

;invdb delete character char=<name>

How about a partial match when you want anything containing one word?

;invdb shimmering *orb

Bags of Holding and other stacking containers

To have a Bag of Holding or stacking container (Forager Vasculum, Oremonger, The Crafter's Caboodle, Super-Fish-All Tackle Box) scanned in invdb, add the full name of the item to your invdb settings with the `;invdb +boh` command.

>;invdb --settings
--- Lich: invdb active.
  invdb settings:
  -------------------------------------------------------------------------------------------------------------
  setting              | value    | description
  confirm_large_output | true     | require unpause script when output rows > 100
  jar                  | true     | check contents of jars
  stack                | false    | check number of stacked notes
  silence_stack        | true     | silences lines from checking jars, notes, etc.
  open_containers      | true     | opens and closes containers for inventory check
  date_format          | %m/%d/%y | date format, e.g. %m/%d/%y  or %Y-%m-%d
  lumnis               | true     | includes lumnis tracking in 'refresh all'
  resource             | true     | includes resource tracking in 'refresh all'
  ---------------------------------------------
  container_noopen: names or nouns of containers not to try to open.
    1. locket
           add to this list using: ;invdb +container_noopen thing to add
      remove from this list using: ;invdb -container_noopen thing to remove
  boh: names of bags of holding.
    1. large treasure sack with a blood crystal clasp
    2. elesine treasure sack with a blood crystal clasp
    3. copper-tacked glossy mahogany reticule
           add to this list using: ;invdb +boh thing to add
      remove from this list using: ;invdb -boh thing to remove
  ---------------------------------------------

Example with my bamboo-shaped gold vasculum:

>look in my vasc
Fashioned from a thin sheet of gold, the cylindrical tube is painted vivid jade and chartreuse and decorated with origami cranes caught mid-flight.  Two small doors allow access to the interior, which appears to be filled with small compartments to store foraged items.  A small sleeve on the side is perfect for housing a pair of snips, while a tiny hook on the opposite side has room for a pair of gloves.  You quickly read the chalk-scribbled note on the lid:

1.  a trollear mushroom (2 specimens)
2.  a sprig of Imaera's Lace (1 specimen, which is ready for plucking)

>glance
You glance down to see a bamboo-shaped gold vasculum in your right hand and nothing in your left hand.

>;invdb +boh bamboo-shaped gold vasculum
invdb: bamboo-shaped gold vasculum added to the boh list

>;invdb-test refresh
...

>;invdb q item loc=hands char=xanlin
...
-----------------------------------------------------------------------------------------
 name   | loc   | path     | qty | type     | stk | epf | m | r | h | item
-----------------------------------------------------------------------------------------
 Xanlin | hands |          |   1 | boh      |     |     | Y | Y |   | bamboo-shaped gold vasculum
 Xanlin | hands | vasculum |   1 | specimen | boh |     |   |   |   | sprig of Imaera's Lace
 Xanlin | hands | vasculum |   2 | specimen | boh |     |   |   |   | trollear mushroom
-----------------------------------------------------------------------------------------

Items designated as a bag of holding type item are typed 'boh' in invdb.

>;invdb q item type=boh
---------------------------------------------------------------------------------
 name   | loc   | path | qty | type | stk | epf | m | r | h | item
---------------------------------------------------------------------------------
 Xanlin | hands |      |   1 | boh  |     |     | Y | Y |   | bamboo-shaped gold vasculum
---------------------------------------------------------------------------------

Items inside certain item stacking containers may be assigned a new type in invdb, such as ore, specimen, or gemstone.

>;invdb q item type=specimen
-----------------------------------------------------------------------------------------
 name   | loc   | path     | qty | type     | stk | epf | m | r | h | item
-----------------------------------------------------------------------------------------
 Xanlin | hands | vasculum |   1 | specimen | boh |     |   |   |   | sprig of Imaera's Lace
 Xanlin | hands | vasculum |   2 | specimen | boh |     |   |   |   | trollear mushroom
-----------------------------------------------------------------------------------------

Query items in any sort of bag of holding by with `stack=boh` filter.

;invdb q item stack=boh
-----------------------------------------------------------------------------------------
 name   | loc   | path     | qty | type     | stk | epf | m | r | h | item
-----------------------------------------------------------------------------------------
 Xanlin | hands | vasculum |   1 | specimen | boh |     |   |   |   | sprig of Imaera's Lace
 Xanlin | hands | vasculum |   2 | specimen | boh |     |   |   |   | trollear mushroom
-----------------------------------------------------------------------------------------


Third-Party Software - edit
Lich Installation: Lich
Downloadable Lich Scripts: Go2 | Map | Repository | Popular Scripts
Return to the top of this page.