Quantcast
Download
(911 Kb)
Download
Updated: 10/12/18 01:27 PM
Pictures
File Info
Compatibility:
Murkmire (4.2)
Wolfhunter (4.1)
Summerset (4.0)
Updated:10/12/18 01:27 PM
Created:09/11/18 09:42 AM
Monthly downloads:213
Total downloads:356
Favorites:8
MD5:
4.2
Rulebased Inventory
Version: 1.2.2
by: TaxTalis [More]
YOU ARE USING THIS ADDON AT YOUR OWN RISK!
I will not hold responsible for any damage or inconvenience this addon might cause for any reason.
This said, I have tested this addon on my main account for quite some time and try to do everything I can to make your experience with this addon as good and as safe as possible.

The main documentation is located at the addon's folder, there are all possible terms and functions for rules noted and it is quite impossible to go without it.
I admit, this is not an addon for everyone. There is no interface defining the rules for you by clicking buttons, you have to insert them by text.
A wrongly defined (but valid) rule may cause severe damage when fencing, destroying or deconstructing as the items will never return after such an action was taken.

Needed libraries
  • LibStub
  • LibAsync
  • LibAddonMenu-2.0
  • LibCustomMenu
Supported addons
  • FCOIS
  • CraftStore
  • Master Merchant
  • Tamriel Trade Centre


About Rulebased Inventory
After installing it, it does nothing. It’s simple as that.
You have to define rules for different tasks which then are executed automatically.
Tasks to define rules for are:
  • Move from Backpack to Bank (starts when opening the Bank UI)
  • Move from Bank to Backpack (starts when opening the Bank UI)
  • Sell at Store and Fence (starts when opening the Store or Fence UI)
  • Launder (starts when opening the Fence UI)
  • Junk (is checked continuously (“on update”) for each item on the backpack)
  • Destroy (is checked continuously (“on update”) for each item on the backpack)
  • Deconstruct (starts when opening the deconstruct tab of an Crafting Station UI)
  • Notification (is checked continuously (“on update”) for each new item)
Currencies and Homebank are not supported. Please see features in development.



Key Features
  • take actions on specific amounts of an item, not only on a whole stack (e.g. keep only 100 lockpicks in inventory)
  • check if your current character is the first one of a defined list in need of an item for research or a recipe to learn (so you can "hand down" a recipe if your main crafter doesn't need it to your secondary and further) (CraftStore needed)
  • save profiles and load them on multiple characters
  • a notification will include pricing from MM and TTC, count of vouchers for masterwrits and the count you have in backpack, bank and craftbag
  • ...


Features and fixes in development
  • event-based deconstruct
  • event-based refine
  • AutoCategory support
  • Homebank
  • Guildbank
Example rules
Bag-To-Bank (Exclude Bank-To-Bag is on)
Lua Code:
  1. itemnamematch("Lockpick") or (soulgem)
  2. or (survey)
  3. or (masterwrit)
  4. or (intricate)
  5. or (recipe)
Transfer all lockpicks, soulgems, surveys, masterwrits, recipes and items which are intricate to the bank.
Except items which would be transferred from bank to backpack!

Bank-To-Bag (Exclude off, otherwise rules are blocking themselves)
lua Code:
  1. ((itemnamematch("lockpick") or ((soulgem) and (filled) and not itemnamematch("Crown"))) and countbackpack < 100)
  2. or ((masterwrit) and itemnamematch("blacksmithing","clothier","woodworking"))
  3. or ((intricate) and cp >= 150)
  4. or (learnlist("Seika Kitamura", "Caelean", "Gilvalar Merohin") and ((recipe_drink) or (recipe_food)))
  5. or (learnlist("Caelean", "Seika Kitamura", "Gilvalar Merohin") and not ((recipe_drink) or (recipe_food)))
  6. or (item_enchanting)
  7. or ((item_jewelry) and not fcoisismarked)
  8. or (treasuremap)
This will transfer lockpicks and soulgems to the backpack until there are 100 of each or no more available in bank. Furthermore Blacksmithing, Clothier and Woodworking Masterwrits, intricate items with a minimal cp of 150, recipes this character is first of the list needing it (here: different lists for food/drink and other recipes), all glyphs, not by FCOIS marked jewelry and at last all treasurmaps will be transferred. All these items will be excluded from the previous task as the exclude-switch there is active. This only means for example soulgems and lockpicks ABOVE 100 in backpack will be transferred to bank.

Junk
Lua Code:
  1. (trash)
  2. or (treasure)
  3. or (ornate)
  4. or ((potion) and not ((crafted) or itemnamematch("crown", "gold")) and cp < 150)
  5. or (junk)
  6. or (((drink) or (food)) and not ((crafted) or itemnamematch("crown", "gold")))
This will junk any treasure, ornate items, potions (includes poisons), drinks and food which are not crafted, do not have "crown" or "gold" in their name and are below cp 150. Further all items of the lowest quality (like rotten food) are junked.

Destroy
Lua Code:
  1. (stolen) and (tool)

Will destroy all stolen lockpicks (and other stolen items of type tool, if there are any)
Needed libraries
  • LibStub
  • LibAsync
  • LibAddonMenu-2.0
  • LibCustomMenu

Cumulative change log for version 1.2.2
  • added filters for events to not listen to unnecessary ones
  • rewrite of action- and event-queue
  • rewrite of action execution
  • rewrite of bagCache and generation of actions from task
  • rewrites for integration of LibAsync to reduce runtime per frame for less lag
  • API bump for Murkmire

Cumulative change log for version 0.10.1
  • dropped library because of instability: LibLoadedAddons
  • functions fcoismarker and fcoismarkermatch now support the custom names for fcois markers
  • safe rule switch for deconstruct now has the tooltip it deserves
  • events (junk/notification/destroy) now only are accepted when items were added to the bag to reduce lag
  • fixed notification to try to notify about already again empty slots (like loot containers directly extracted by other addons)
  • optimized events (junk/notification/destroy) to only create a cache of the whole bag if necessary to further reduce lag

Cumulative change log for version 0.8.0
  • tasks are only executed if a rule was defined
  • output now shows intricate and ornate symbols
  • added itemdata: fcoisismarked (replaces fcoislocked)
  • added itemdata: fcoismarker
  • added function: fcoismarker
  • added function: fcoismarkermatch

Cumulative change log for version 0.6.1
  • fixed variables leaking into global namespace (thanks Votan!)
  • added German translation
  • added itemdata: tags
  • added function: itemtag
  • added function: itemtagmatch
  • added itemdata: reagenttraits
  • added function: reagenttrait
  • added function: reagenttraitmatch
  • minimum delay and timeout lowered

-Version 0.4.2 was initial release-
Archived Files (4)
File Name
Version
Size
Author
Date
0.10.1
910kB
TaxTalis
09/26/18 12:27 PM
0.8.0
911kB
TaxTalis
09/16/18 01:58 PM
0.6.1
909kB
TaxTalis
09/15/18 07:08 AM
0.4.2
903kB
TaxTalis
09/11/18 10:06 AM


Post A Reply Comment Options
Unread Yesterday, 03:14 PM  
Pat1487

Forum posts: 0
File comments: 14
Uploads: 0
I see what I did now, I wasn't using parenthesis when I first started making rules and started using them a little later without realizing how important they are even for simple 1 word rules like (intricate). I thought I would only need them for things that had multiple comparisons to them, like "(X and (Y or Z)) and A", but this needs them around everything like "((X) and ((Y) or (Z))) and (A)".

I had this: "armor_intricate or jewelry_intricate or weapon_intricate"
Instead of this: "(armor_intricate) or (jewelry_intricate) or (weapon_intricate)"

That's what I get for messing around with an addon like this instead of sleeping.

Thanks for the help.

Just to make sure I understand, if I want to destroy recipes that are already known by a character that are worth less than 1k on ttc this is the rule I would add to destroy right?
Code:
(learnlist("CharacterName")) and (ttcvalueavg>0) and (ttcvalueavg<1000)
Report comment to moderator  
Reply With Quote
Unread Yesterday, 12:59 PM  
TaxTalis
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 42
Uploads: 1
fcoismarker in 1.2.2 and (intricate)

@anachronicPanda:
I just tested, for me everything is working fine, please post your rule and/or check the itemdata with RbI's context menu entry if the marker is set and recognized by RbI.

@Pat1487:
both "(intricate)" and "(armor_intricate) or (jewelry_intricate) or (weapon_intricate)" seem to work fine for me and do not find any surprising things like soulgems. The testing for deconstuct will be fixed in an update coming the next days (after it passed testing on my main as usual).
Also "(material_raw_jewelry)" works fine for me for identifying raw jewelry material.
And no, there is no way to set FCOISMarker with RbI, and I think there will never be.
Please post your rule and I will try to help!
Last edited by TaxTalis : 10/23/18 at 01:37 PM.
Report comment to moderator  
Reply With Quote
Unread Yesterday, 05:34 AM  
TaxTalis
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 42
Uploads: 1
First of all sorry you had such a hard time with RbI, though it sure is not totally simple to use.
The testing for deconstruct is defective and I have to look into this. It broke due to the last update when asynchronous handling was introduced.


For the armor_intricate and so I need to test for myself. I only use (intricate) which checks on trait_info rather than the actual trait. When I recall correctly, For example trait materials do also respond to a armor_trait if the trait asked is the trait they are the material for. Please take a look into the decomentation, the (material_raw) could be what you are looking for.
Otherwise please post your rule and what you wanted to achieve and I will try to help out as much as I can when I’m back home and have the game open to test a little


Originally Posted by Pat1487
I'm having difficulty understanding how to make rules

I wanted to deconstruct intricate items automatically, I thought all I would have to do was type (intricate) into the Deconstruct rule but when I hit test it didn't find the intricate item in my inventory.

So I tried: (armor_intricate) or (jewelry_intricate) or (weapon_intricate)
Which also didn't find my item when I hit test, so I hit save (since the test didnt return any items I didnt think it would deconstruct anything) and figured I'd go back to it later, but when I went to a crafting station it deconstructed everything it could (luckily I didn't have anything important)

I hit abort to see if something else was saved, but no, and when I hit test (with a new intricate item) it wouldn't find any items. So I put the same thing into the bag to bank rule and it found all of the armor/weapons I was holding, soulgems, and a bunch of crown store consumables for some reason.

Thats when I realized the deconstruct rule doesn't output the list of items it finds but still finds the same items and that (intricate) does work.

What I don't understand is why does the "(armor_intricate) or (jewelry_intricate) or (weapon_intricate)" rule find so many things, shouldn't it just find armor, jewelry, or weapons with the intricate trait.

I had a similar problem trying to move raw jewelry materials to my bank, I can't even begin to explain that one though. I ended up just getting an updated version of BankManagerRevived that someone posted in the comments of that addon to do it

Also, is there a way to use this to set FCOIS markers. For example, I want to set all items with the divines trait that i don't already have researched to be marked as "reserved for research" so I know to research that item next
Last edited by TaxTalis : 10/23/18 at 05:43 AM.
Report comment to moderator  
Reply With Quote
Unread Yesterday, 01:06 AM  
Pat1487

Forum posts: 0
File comments: 14
Uploads: 0
I'm having difficulty understanding how to make rules

I wanted to deconstruct intricate items automatically, I thought all I would have to do was type (intricate) into the Deconstruct rule but when I hit test it didn't find the intricate item in my inventory.

So I tried: (armor_intricate) or (jewelry_intricate) or (weapon_intricate)
Which also didn't find my item when I hit test, so I hit save (since the test didnt return any items I didnt think it would deconstruct anything) and figured I'd go back to it later, but when I went to a crafting station it deconstructed everything it could (luckily I didn't have anything important)

I hit abort to see if something else was saved, but no, and when I hit test (with a new intricate item) it wouldn't find any items. So I put the same thing into the bag to bank rule and it found all of the armor/weapons I was holding, soulgems, and a bunch of crown store consumables for some reason.

Thats when I realized the deconstruct rule doesn't output the list of items it finds but still finds the same items and that (intricate) does work.

What I don't understand is why does the "(armor_intricate) or (jewelry_intricate) or (weapon_intricate)" rule find so many things, shouldn't it just find armor, jewelry, or weapons with the intricate trait.

I had a similar problem trying to move raw jewelry materials to my bank, I can't even begin to explain that one though. I ended up just getting an updated version of BankManagerRevived that someone posted in the comments of that addon to do it

Also, is there a way to use this to set FCOIS markers. For example, I want to set all items with the divines trait that i don't already have researched to be marked as "reserved for research" so I know to research that item next
Last edited by Pat1487 : 10/23/18 at 01:19 AM.
Report comment to moderator  
Reply With Quote
Unread 10/22/18, 12:58 AM  
TaxTalis
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 42
Uploads: 1
Re: fcoismarker working in latest version?

I am using fcoismarker("locked") and it is working fine, but this isn’t a dynamic or custom named marker. This functionality hasn’t been touched this version, so I am unaware of any problems. I will investigate this.

Originally Posted by anachronicPanda
Hi,

First, thanks for this awesome mod. It makes ESO much less tedious.

I use fcoismarker("[CustomName]") to tag items for junk, decon and bag-to-bank commands. I noticed the rules stopped working after I installed version RulebasedInventory_1.2.2. I went back to version RulebasedInventory_0.10.1 and the rules work again. My other plain vanilla rules seem to process just fine.

Would you be able to confirm fcoismarker command is working as intended?

Thanks
Last edited by TaxTalis : 10/22/18 at 01:00 AM.
Report comment to moderator  
Reply With Quote
Unread 10/21/18, 05:07 PM  
anachronicPanda

Forum posts: 0
File comments: 1
Uploads: 0
fcoismarker working in latest version?

Hi,

First, thanks for this awesome mod. It makes ESO much less tedious.

I use fcoismarker("[CustomName]") to tag items for junk, decon and bag-to-bank commands. I noticed the rules stopped working after I installed version RulebasedInventory_1.2.2. I went back to version RulebasedInventory_0.10.1 and the rules work again. My other plain vanilla rules seem to process just fine.

Would you be able to confirm fcoismarker command is working as intended?

Thanks
Last edited by anachronicPanda : 10/21/18 at 05:08 PM.
Report comment to moderator  
Reply With Quote
Unread 10/19/18, 03:12 AM  
TaxTalis
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 42
Uploads: 1
I don‘t think this is a feature fitting the purpose of RbI.
This should be implemented in a specific fishing addon, don’t you think?

Originally Posted by SlippyCheeze
Wishlist: fillet fish on "pickup", or if that isn't possible, on opening the inventory.
Last edited by TaxTalis : 10/19/18 at 03:12 AM.
Report comment to moderator  
Reply With Quote
Unread 10/17/18, 04:24 PM  
SlippyCheeze
AddOn Author - Click to view AddOns

Forum posts: 52
File comments: 204
Uploads: 1
Wishlist: fillet fish on "pickup", or if that isn't possible, on opening the inventory.
Last edited by SlippyCheeze : 10/17/18 at 04:25 PM.
Report comment to moderator  
Reply With Quote
Unread 10/17/18, 06:30 AM  
TaxTalis
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 42
Uploads: 1
MM lags at initialization at my client too.
When I recall yes, executing an task while MM still initializes does increase this lag. Still, that’s the only occurrence I am aware of at my client. A wilde guess is MM too is using async and they somehow interfere or the load in a frame then just gets to high as there are two addons trying async calls.
RbI still retrieves values from MM on loot to check for pricing, so sure with MM disabled it would not be able to and when enabled MM too needs to run code to determine the pricing for an item just looted because RbI requests this.
Thanks for testing I’ll look into this.

Originally Posted by Chivana
I disabled all other addons and then re-enabled them one by one: No lag at all - until I enabled Master Merchant.
MM and RbI together = lag on loot, even with all other addons disabled.
MM or RbI alone = no problem.
MM also stutters a bit while initializing though. I wonder what it's doing on loot...
So the lag I encounter might be caused by MM, but it happens only when RbI is enabled.
Last edited by TaxTalis : 10/17/18 at 06:31 AM.
Report comment to moderator  
Reply With Quote
Unread 10/16/18, 10:44 PM  
Chivana

Forum posts: 0
File comments: 16
Uploads: 0
I disabled all other addons and then re-enabled them one by one: No lag at all - until I enabled Master Merchant.
MM and RbI together = lag on loot, even with all other addons disabled.
MM or RbI alone = no problem.
MM also stutters a bit while initializing though. I wonder what it's doing on loot...
So the lag I encounter might be caused by MM, but it happens only when RbI is enabled.
Last edited by Chivana : 10/16/18 at 11:21 PM.
Report comment to moderator  
Reply With Quote
Unread 10/16/18, 01:14 PM  
TaxTalis
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 42
Uploads: 1
Well good point, for looting there is no check if there is a rule defined before the addon starts collecting data.
But this is a small relieve as when rules defined the addon would still lag.
Dustman and RbI sound quite redundant, but neither Dustman nor Itemsaver should lag when RbI comes into play. Anyway what it does is: it collects data of the whole backpack when an item was looted. This isn't necessary for both notification and junk, but for destroy this is a huge advantage and as for every new item there could be a destroy waiting this cache is build up using an asynchronous library written by votan.
Apparently this isn't enough to keep the amount of lua code executed in a single frame low enough for your client to handle. I am sorry that this big update does not bring the awaited effect, mainly as I put a good amount of time in it. I will again, and try to clear things up a bit here and there and see what it'll bring for you. As said before, my client does not lag due to RbI at any moment with patch 1.2.2.. Neither while looting (even when destroy kicks in) nor at UI executing a task. Thus I have a hard time figuring out what happens when you're encountering lag, but I'm guessing it to be the caching of your inventory items.

This said, I'll try my best and the task-startup message is noted as requested feature.
Thank you.

Originally Posted by Chivana
My PC is good enough. The question is: What is the addon doing if I loot an item but there is no rule defined? Maybe it makes other addons lag? I use a lot: Dustman, Itemsaver for example All these never lag when looting.

At opening the bank (and rule defined): [RbI] working...
Last edited by TaxTalis : 10/16/18 at 01:23 PM.
Report comment to moderator  
Reply With Quote
Unread 10/16/18, 11:36 AM  
Chivana

Forum posts: 0
File comments: 16
Uploads: 0
My PC is good enough. The question is: What is the addon doing if I loot an item but there is no rule defined? Maybe it makes other addons lag? I use a lot: Dustman, Itemsaver for example All these never lag when looting.

At opening the bank (and rule defined): [RbI] working...
Report comment to moderator  
Reply With Quote
Unread 10/16/18, 12:48 AM  
TaxTalis
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 42
Uploads: 1
May I ask what hardware you‘re gaming on?
And do you want a message at login or at bankUI open?
The MM message is a login message, thus my confusion.

Originally Posted by Chivana
Lag started after I installed the latest update, and it's gone when I disable the addon. Pretty sure it's RbI causing the lag. Maybe it's because I don't use it on my main. It was activated, but no rules defined.

The start msg would tell me that the addon is actually working, and I should wait for it to finish. I don't want to wait for ever because it's not working for w/e reason. MasterMerchant for ex. hat a msg like that:
Master Merchant initializing...
Master Merchant initialized -- Holding information on 167512 sales.
Last edited by TaxTalis : 10/16/18 at 02:21 AM.
Report comment to moderator  
Reply With Quote
Unread 10/15/18, 07:32 AM  
Chivana

Forum posts: 0
File comments: 16
Uploads: 0
Lag started after I installed the latest update, and it's gone when I disable the addon. Pretty sure it's RbI causing the lag. Maybe it's because I don't use it on my main. It was activated, but no rules defined.

The start msg would tell me that the addon is actually working, and I should wait for it to finish. I don't want to wait for ever because it's not working for w/e reason. MasterMerchant for ex. hat a msg like that:
Master Merchant initializing...
Master Merchant initialized -- Holding information on 167512 sales.
Report comment to moderator  
Reply With Quote
Unread 10/15/18, 05:50 AM  
TaxTalis
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 42
Uploads: 1
Re: Lag worse!

Lag on loot again? I thought async would have tackled that :/
Can you please confirm this is RbI and not some other addon? I can try to exclude the bagCache again for events but really thought async would do the trick here...
this is like really really hard to fix, I encounter no lag at any time introduced by RbI...

As for bank and other UI: as long as you have a task defined, there will be a message of RbI when finished. I don’t see why to include a message at startup of a task as this won’t help you see if you can close the UI. You can close the UI when it proclaims it has finished. Which it will even if there were no actions to be done as long as a rule was defined. Well shouldn’t be hard to do, so I’ll see to implement one, but this won’t be in high priority if there isn’t another need for this.

Thank you for your feedback!

Originally Posted by Chivana
Async is a good idea, but it makes the client lag for a few seconds anytime an item is looted. It seems to be always active, not only when opening the bank.

And could you please add a chat msg when RbI starts, so we know it's running and don't close the bank to early?
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: