Download
(109 Kb)
Download
Updated: 11/07/18 09:25 AM
Pictures
File Info
Compatibility:
Murkmire (4.2)
Updated:11/07/18 09:25 AM
Created:09/13/17 05:41 PM
Monthly downloads:1,473
Total downloads:230,453
Favorites:206
MD5:
Categories:Bags, Bank, Inventory, Data Mods, Graphic UI Mods, Miscellaneous, Utility Mods
Auto Category - Custom Inventory Categories  Popular! (More than 5000 hits)
Version: 1.34
by: rockingdice, crafty35a
Still struggling to manage your inventory? Always full of items that you don't know how to deal with?

This add-on will help sort things out!

Auto Category adds categories to your inventory, bank, guild bank, craft bag, and crafting station screens. Fully customizable!


Supported add-ons:
Alpha Gear
FCO Item Saver
Tamriel Trade Centre
Master Merchant
Iakoni's Gear Changer
BetterUI
Set Tracker



Original Keyboard Interface:





Inventory Grid View:





BetterUI for Gamepad:




  • Pre-defined rules and settings for beginners, download and use with no more settings required. Just that easy!
  • A nice header is added for each custom category. Get a clear view of your inventory.
  • Auto integrate with all interfaces. Keyboard is fully supported. Gamepad supports most of them, and
    Gamepad with BetterUI is supported.
  • Fully customizable rules based on LUA, for advanced users you can categorize items as the way you want.
  • Use pre-defined or your own rules, applying them to your backpack/bank/guild bank/craft bag/craft station, it will refresh categories immediately without reloading.
  • Complete wiki for learning rules. Need more rules/Have great ideas/Need other add-on integration? Just request a new API!
  • Auto group for your set items without adding rules one by one.


You can find more rule details and examples in:
Auto Category's wiki

If you enjoy this add-on and think my work is really worthy, you can send me in-game coin to:
@RockingDice in NA megaserver
or donate via Paypal :
Donate!

Any donations will keep me make more good add-on for improving your gaming experience!
[b]
1.34 Changes:
  • Added itemname() to match items by name. Returns true if the item name contains any of the provided strings (case insensitive), e.g. itemname("Maelstrom", "Alkosh")

1.33 Changes:
  • Bumped API version for Murkmire.

1.32 Changes:
  • More huge performance improvements! Thanks again to Shadowfen who did all the work here. (Pre-compile rules as they are changed)
  • Replaced Set Tracker support function GetSetTrackerState() with IsTracked(). If you used the old function, you will need to update your rule (sorry). This was done to bring the usage inline with the way the other similar functions work. Usage, e.g.: IsTracked("Sell/Decon", "Collecting")

1.31 Changes:
  • Big performance increase (2x or better for me), thank you to Shadowfen for the code change suggestion!
  • Updated libraries

1.30 Changes:
  • Added French translation. Big thanks to Hasgaad!

1.29 Changes:
  • HOTFIX - resolve errors at merchant due to Wolfhunter API changes.

1.28 Changes:
  • Bumped API version for Wolfhunter.

1.27 Changes:
  • Bumped API version for Summerset.
  • Added support for jewelry crafting ingredients. Note: you will need to either create a new rule yourself, or reset AutoCategory to default settings to grab the new default rule.
    • To create your own rule, use
      Lua Code:
      1. filtertype("jewelrycrafting")
    • To reset to default settings: In the Auto Category add-on menu, use the Defaults button. Then use the /reloadui command. Important: this will remove any custom rules/settings you have defined.
  • New API function "IsMarkedIS()" - use to test whether an item is marked with Item Saver. Note that FCO ItemSaver users should continue to use "IsMarked()"

1.26 Changes:
  • New API function "islocked()" - use to test whether an item has been locked.

1.24 Changes:
  • Resolve circular dependency issue with DoItAll (requires matching update to DoItAll).


1.23 Changes:
  • Added Set Tracker support! Use "getsettrackerstate()" to retrieve the name of the Set Tracker category, if an item is tracked.
  • Added charlevel() and charcp() to pull current character level and CP. Can be used to compare item level to your character level with a custom rule. (Thanks to VulcanTourist)

1.22 Changes:
  • You can now define separate settings for your home storage chests (they will take their initial settings from your bank settings, but can be customized at will).

1.21 Changes:
  • Added support for home storage chests (big thanks to raj72616a). Currently, they will use the settings selected for your bank (no custom settings for home chests yet).
  • Bumped API version for Dragon Bones.
  • New maintainer (crafty35a).


1.19 Changes:
  • Fixed Localization.
  • New Feature: Collapsed/Expanded status can be saved now. You can turn it on in the general setting menu.

1.18 Changes:
  • Fixed Bug: IGV will show the last category correctly.
  • Fixed Bug: Items Count can be turned off permanently.
  • Fixed Bug: Quest Panel will not complain about lua error.

1.17 Changes:
  • Removed debug logs in destruct/improvement panel

1.16 Changes:
  • New Feature: Collapsible Category. You can now click the header to fold all items inside. Get an overall view of your inventory! Context Menu is available, you can collapse/expand all headers with one click.
  • New Feature: Hide-able Category. You can hide some categories to focus on the items you need to deal with. Also you can hide the items that are not matched in the 'Other' category. Can be set in bag setting menu.
  • New Feature: Items Count. You can get a total number about how many items inside the category. This can be turned off in the general setting menu.
  • Account Wide setting changed: You can switch account wide/character wide for each of your characters. (* Need to select again if you use character setting before, don't affect the bag settings)
  • Fixed bug: Removed duplicated rules in bag setting.
  • Fixed bug: German set names should be able to be matched now.
  • Changed api:keepresearch()
    After a lot of tests, the api is not working fine. So I decided to make the api work more simple: It will match all the items can be researched. If you want better result, please use it with other api together. This is a basic idea to filter the item that is not part of a set and can be researched:
    Lua Code:
    1. keepresearch() and not isset()
  • New api:isset() api:ismonsterset()

1.15 Changes:
  • New feature: Category header's height is customizable!
  • New feature: You can change the name of ungrouped Category.
  • New feature: Added a message in chat when toggling the add-on's function, and a switch for it to turn on/off.
  • Fixed bug: Toggling in Inventory Grid View should not result a bad layout.
  • Fixed bug: Removed tag should not to be restored after relog.
  • New Add-ons Integrated!
    Do It All: You can now use it with AC together.
    Alpha Gear: Added a new api:alphagear
    Master Merchant: Added a new api:getpricemm
    Tamriel Trade Centre: Added a new api:getpricettc
  • New api:isinbank

1.14 Changes:
  • CwC is supported!
  • Fixed integration for Inventory Grid View(3.2).

1.13 Changes:
  • Fixed Bug: Setting for Craft Station is not working.
  • Added API:
    Code:
    getquality
    please see api:getquality
  • Updated localization for Chinese.

1.12 Changes:
  • New Function: Export to all bag settings. You can now replace all bag settings by one of them.
  • Added API:
    Code:
    quality
    please see api:quality
  • Fixed Bug: Import from bag setting will incorrectly make settings be linked together.

1.11 Changes:
  • New bags supported: Guild Bank / Craft Bag / Craft Station for both keyboard and gamepad mode.
  • New function: Import from bag setting: you can import from a bag setting to replace current one. No need to create it from the beginning. Make backups by copying your AutoCategory.lua in SavedVariables folder!
  • New add-on supported: Quick Menu you can toggle Auto Category by Quick Menu to save a key binding, check it out!
  • Added API:
    Code:
    sellprice
    islearnable
    please see api:sellprice and api:islearnable for more info.

1.10 Changes:
1.09 Changes:
1.08 Changes:
  • Fixed Category 'Trait/Style Gems' (If not changed, please try to restore to defaults)
  • Added Localization support.

1.07 Changes:
  • Fixed a rare issue of IGV integration.

1.06 Changes:
  • Fixed Quest tab issue.
  • Adjusted the height of header to the same as item row.
  • Added custom appearance of header text. You can set up them in the setting menu (or type /ac)

1.05 Changes:
  • Fixed multiple add-on compatible issue.
  • Fixed auto set name in different languages.
  • Added API:
    Code:
    iscrafted
    please see api reference and tutorial for more info.

1.04 Changes:
  • Added gamepad trade inventory support. Thanks @catsith105 for testing!

1.03 Changes:
  • Integrated with 'Inventory Grid View'
  • Added a tutorial button.
  • Added a wiki home page and tutorial page.

1.02 Changes:
  • Fixed banking issue with deposit/withdraw items.

1.01 Changes:
  • Updated lib: LibAddonMenu to r24
  • Refined Addon Setting Menu
Archived Files (30)
File Name
Version
Size
Uploader
Date
1.33
110kB
crafty35a
10/22/18 06:46 AM
1.32
109kB
crafty35a
09/21/18 12:32 PM
1.31
110kB
crafty35a
09/17/18 09:08 AM
1.30
105kB
crafty35a
08/24/18 11:57 AM
1.29
104kB
crafty35a
08/13/18 08:39 AM
1.28
104kB
crafty35a
08/13/18 06:56 AM
1.27
104kB
crafty35a
05/21/18 06:31 AM
1.26
105kB
crafty35a
04/20/18 11:11 AM
1.25
105kB
crafty35a
04/19/18 01:21 PM
1.24
105kB
crafty35a
04/16/18 09:57 AM
1.23
105kB
crafty35a
04/15/18 06:37 PM
1.22
105kB
crafty35a
04/12/18 09:14 PM
1.21
104kB
crafty35a
04/11/18 11:25 AM
1.19
104kB
rockingdice
10/29/17 09:35 PM
1.18
103kB
rockingdice
10/29/17 11:11 AM
1.17
103kB
rockingdice
10/29/17 07:53 AM
1.16
103kB
rockingdice
10/28/17 11:55 PM
1.15
105kB
rockingdice
10/25/17 10:07 AM
1.14
103kB
rockingdice
10/23/17 07:59 PM
1.13
103kB
rockingdice
10/21/17 02:09 AM
1.12
107kB
rockingdice
10/19/17 05:04 AM
1.11
106kB
rockingdice
10/18/17 09:33 AM
1.10
104kB
rockingdice
10/08/17 08:26 AM
1.09
98kB
rockingdice
09/21/17 09:50 PM
1.08
96kB
rockingdice
09/18/17 09:13 PM
1.07
75kB
rockingdice
09/17/17 09:42 AM
1.06
75kB
rockingdice
09/15/17 09:12 PM
1.05
71kB
rockingdice
09/15/17 01:02 PM
1.04
71kB
rockingdice
09/14/17 10:25 AM
1.03
71kB
rockingdice
09/13/17 05:41 PM


Post A Reply Comment Options
Unread 05/08/18, 09:24 PM  
crafty35a
 
crafty35a's Avatar

Forum posts: 7
File comments: 116
Uploads: 0
Re: Crashes

Originally Posted by Elijafire
Currently this addon crashes my game when I open the guild bank.
I cannot reproduce this with any of my guilds, can you give me any more information? Anyone else able to confirm or deny this?
Report comment to moderator  
Reply With Quote
Unread 05/08/18, 09:27 PM  
VulcanTourist
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 232
Uploads: 1
Re: Re: charcp() not returning a useful result

Originally Posted by crafty35a
Originally Posted by VulcanTourist
The function needed a test to set a ceiling of 160 on the value that it returns
It doesn't really make sense to have a "CharCP" function that returns something besides the actual character CP. Why not build the logic into your custom filter rule?
I don't know how to do that, if it's possible and not overly cumbersome.

As long as what it does is documented in the wiki, I don't think the function name need be confusing. As I discovered, returning the actual or even effective character CP value has no use at all for any category matching, period, so why not massage what's returned to suit the purpose, as long as it's documented? Surely doing so in an LUA function directly is more efficient than in a parsed and exec'd string?

Originally Posted by crafty35a
Originally Posted by Elijafire
Currently this addon crashes my game when I open the guild bank.
I cannot reproduce this with any of my guilds, can you give me any more information? Anyone else able to confirm or deny this?
It doesn't occur for me, and I have many dozens of mods installed. I thought it was odd to declare such a showstopper issue without any further detail. I did, however, have the guild bank frame hang/freeze earlier today when I was experimenting with a category rule, and a bunch of LUA error detail was dumped into the chat frame rather than the usual notification. Is it possible to craft a category rule that when parsed and exec'd could crash the game? That would be quite the exploit.
Last edited by VulcanTourist : 05/08/18 at 09:37 PM.
Report comment to moderator  
Reply With Quote
Unread 05/08/18, 09:46 PM  
crafty35a
 
crafty35a's Avatar

Forum posts: 7
File comments: 116
Uploads: 0
Re: Re: Re: charcp() not returning a useful result

Originally Posted by VulcanTourist
I don't know how to do that, if it's possible and not overly cumbersome.
Post your current rule code here and I will take a look
Report comment to moderator  
Reply With Quote
Unread 05/10/18, 06:57 PM  
jayman10000

Forum posts: 2
File comments: 160
Uploads: 0
I have been happy to use autocategory. But as soon as I began dealing with guild banks I had to stop. The performance degradation is simply to bad. It's literally like 500% increase in time spent waiting, and when opening the guild bank if there is more than 300 items in there it's just horrid. Not to mentioned actually withdrawing and depositing has severe lag on each item.

I really like the categories, but there is something wrong and/or very inefficient about how this addon works. I wish I knew how to code well so I could fix this myself, but unfortunately I will be stuck with the vanilla mess of a long scrolling list; but at least it has good performance.
Report comment to moderator  
Reply With Quote
Unread 05/10/18, 07:24 PM  
VulcanTourist
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 232
Uploads: 1
Originally Posted by jayman10000
I have been happy to use autocategory. But as soon as I began dealing with guild banks I had to stop. The performance degradation is simply to bad. It's literally like 500% increase in time spent waiting, and when opening the guild bank if there is more than 300 items in there it's just horrid. Not to mentioned actually withdrawing and depositing has severe lag on each item.

I really like the categories, but there is something wrong and/or very inefficient about how this addon works. I wish I knew how to code well so I could fix this myself, but unfortunately I will be stuck with the vanilla mess of a long scrolling list; but at least it has good performance.
I've been willing to endure the "lag" you describe (which really isn't lag in the correct sense) because being able to categorize everything is crucial to me, but your complaint is not invalid. If one were to take AutoCategory and strip out all the custom programmability and leave just a one-size-fits-all cookie-cutter version, it might result in reduced computational burden that would please you. I wouldn't find any use for that one-size-fits-all version, though. The time it saves me in making sense of virtual containers full of hundreds of virtual items - once I've been able to customize it to my workflow and way of visualizing things - is well worth the extra seconds I wait for transactions to finish.
.
Last edited by VulcanTourist : 05/10/18 at 07:25 PM.
Report comment to moderator  
Reply With Quote
Unread 05/10/18, 07:41 PM  
VulcanTourist
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 232
Uploads: 1
Re: Re: Re: Re: charcp() not returning a useful result

Originally Posted by crafty35a
Originally Posted by VulcanTourist
I don't know how to do that, if it's possible and not overly cumbersome.
Post your current rule code here and I will take a look
Originally my altered Low Level category rule looked like this:
type("armor", "weapon","jewelry") and (level() < charlevel() or (level == 50 and cp() < charcp())) and not keepresearch()
However, while I was trying to figure out why it wasn't working as intended I simplified it to this, which apparently (with my modification to the function) produces the same result:
type("armor", "weapon","jewelry") and cp() < charcp() and not keepresearch()
I'm not sure why that works. My original rule might have been too pedantic because there are things I don't understand about LUA or the ESO API.
Report comment to moderator  
Reply With Quote
Unread 05/11/18, 09:03 PM  
crafty35a
 
crafty35a's Avatar

Forum posts: 7
File comments: 116
Uploads: 0
Re: Re: Re: Re: Re: charcp() not returning a useful result

Originally Posted by VulcanTourist
type("armor", "weapon","jewelry") and (level() < charlevel() or (level == 50 and cp() < charcp())) and not keepresearch()
Just add an explicit check for whether the item is 160 with the cp() function.
Report comment to moderator  
Reply With Quote
Unread 05/11/18, 09:16 PM  
crafty35a
 
crafty35a's Avatar

Forum posts: 7
File comments: 116
Uploads: 0
Originally Posted by jayman10000
But as soon as I began dealing with guild banks I had to stop.
I will try to look into this, but I am not the original author of Auto Category and may not be qualified to resolve this type of issue. Guild Banks work OK for me, but are definitely a little slower to open. If you're mainly having issues with Guild Banks, just remove all the rules from your Guild Bank settings. That will work around it for now.
Report comment to moderator  
Reply With Quote
Unread 05/11/18, 10:27 PM  
VulcanTourist
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 232
Uploads: 1
Re: Re: Re: Re: Re: Re: charcp() not returning a useful result

Originally Posted by crafty35a
Originally Posted by VulcanTourist
type("armor", "weapon","jewelry") and (level() < charlevel() or (level == 50 and cp() < charcp())) and not keepresearch()
Just add an explicit check for whether the item is 160 with the cp() function.
I think you've forgotten the reason why I asked for those functions and altered the rule in the first place: I want the Category to match gear that is a lower level than the current character. Testing against a CP value of 160 makes it no different than the original rule, which didn't need the extra function(s).

What I thought you were going to offer was an elegant means to eliminate if cp > 160 then cp = 160 end from the charcp() function itself? I'd rather not be maintaining my own private fork of AutoCategory just for one sentence of code. For my rule to work, either that must remain in the charcp() function or an efficient equivalent needs to be inserted into the matching rule. I don't know how to implement that.
Report comment to moderator  
Reply With Quote
Unread 05/12/18, 07:28 PM  
crafty35a
 
crafty35a's Avatar

Forum posts: 7
File comments: 116
Uploads: 0
Re: Re: Re: Re: Re: Re: Re: charcp() not returning a useful result

Originally Posted by VulcanTourist
Originally Posted by crafty35a
Originally Posted by VulcanTourist
type("armor", "weapon","jewelry") and (level() < charlevel() or (level == 50 and cp() < charcp())) and not keepresearch()
Just add an explicit check for whether the item is 160 with the cp() function.
I think you've forgotten the reason why I asked for those functions and altered the rule in the first place: I want the Category to match gear that is a lower level than the current character. Testing against a CP value of 160 makes it no different than the original rule, which didn't need the extra function(s).

What I thought you were going to offer was an elegant means to eliminate if cp > 160 then cp = 160 end from the charcp() function itself? I'd rather not be maintaining my own private fork of AutoCategory just for one sentence of code. For my rule to work, either that must remain in the charcp() function or an efficient equivalent needs to be inserted into the matching rule. I don't know how to implement that.
If the item is CP 160, how can it possibly be lower level than the current character? Do you have characters that can wear gear >CP160?
Report comment to moderator  
Reply With Quote
Unread 05/12/18, 08:02 PM  
VulcanTourist
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 232
Uploads: 1
Re: Re: Re: Re: Re: Re: Re: Re: charcp() not returning a useful result

Originally Posted by crafty35a
If the item is CP 160, how can it possibly be lower level than the current character? Do you have characters that can wear gear >CP160?
I'm not sure why you changed your original reply to this, but I can answer this one more directly. No, I don't have characters that can wear gear that has a CP value greater than 160, nor does that gear exist yet; you know this. The issue was and is that the charcp() function as I originally imagined it only returns the effective CP level of the character, a value that is worthless when trying to determine whether a gear item is above or below the "gear CP level" of a character. Here's a thought experiment:

I have three characters, one that is CP100 and another that is CP300. I have a piece of CP160 gear in the bank. You and I both can easily see that it will be "low level" to NEITHER of those characters. With my original Low Level rule,
type("armor", "weapon","jewelry") and (level() < charlevel() or (level == 50 and cp() < charcp())) and not keepresearch()
when each character visits the bank, how is that piece of gear categorized?

The answer is that it's categorized as Low Level for ONE of them, the CP300 character, which is clearly wrong. Why does that mis-categorization take place? It's because of this test:
cp() < charcp()
160 < 300

Do see the problem and why I had to add the extra if statement to the function? Any character whose CP level is greater than 160 must have its CP level as reported by the ESO API capped to a range of 0 to 160, else the above test returns an erroneous result.
.
Last edited by VulcanTourist : 05/12/18 at 08:06 PM.
Report comment to moderator  
Reply With Quote
Unread 05/12/18, 08:36 PM  
crafty35a
 
crafty35a's Avatar

Forum posts: 7
File comments: 116
Uploads: 0
Re: Re: Re: Re: Re: Re: Re: Re: Re: charcp() not returning a useful result

Originally Posted by VulcanTourist
Any character whose CP level is greater than 160 must have its CP level as reported by the ESO API capped to a range of 0 to 160, else the above test returns an erroneous result.
.
I still don't think you are understanding what I'm saying. The basic issue is that CP160 item should never be classified as low level, right? So what I'm saying is that you should just check at the beginning of your rule whether the item is 160, the rest of the code is irrelevant. Pseudo-code:

(itemcp != 160)
AND
(rest of your tests)

This will return false if the item is CP160, so it will never be marked as low level. Character CP is irrelevant in this case.
Report comment to moderator  
Reply With Quote
Unread 05/12/18, 08:53 PM  
VulcanTourist
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 232
Uploads: 1
Re: charcp() not returning a useful result

Originally Posted by crafty35a
Originally Posted by VulcanTourist
Any character whose CP level is greater than 160 must have its CP level as reported by the ESO API capped to a range of 0 to 160, else the above test returns an erroneous result.
I still don't think you are understanding what I'm saying. The basic issue is that CP160 item should never be classified as low level, right? So what I'm saying is that you should just check at the beginning of your rule whether the item is 160, the rest of the code is irrelevant. Pseudo-code:

(itemcp != 160)
AND
(rest of your tests)

This will return false if the item is CP160, so it will never be marked as low level. Character CP is irrelevant in this case.
I understand your approach now. I'll change the rule to include that and take the if statement out of the function, and see if the result is the same over time. It will have to be changed if they ever increase the maximum gear CP level, but that would be true of my if statement, too... and you'd rather not have me be asking you to change that when that happens.
.
Last edited by VulcanTourist : 05/13/18 at 04:01 PM.
Report comment to moderator  
Reply With Quote
Unread 05/13/18, 01:38 PM  
zsban
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 3
Uploads: 1
Re: Re: Crashes

Originally Posted by crafty35a
Originally Posted by Elijafire
Currently this addon crashes my game when I open the guild bank.
I cannot reproduce this with any of my guilds, can you give me any more information? Anyone else able to confirm or deny this?
Yes, I have similar crashes, and narrowed it down to this addon. It happens even if I temporarily turn it off with the keybinding before trying to open the guild bank.

One more thing I noticed, that it only crashes when I try to open my own guild's bank, it's not crashing if I try to open another guild's bank (where I have limited access, if it might have anything to do with it?)

Small update: I removed all rules from my guild bank settings, and that way it does not crash (yet).
Last edited by zsban : 05/13/18 at 01:47 PM.
Report comment to moderator  
Reply With Quote
Unread 05/13/18, 05:34 PM  
VulcanTourist
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 232
Uploads: 1
Re: Re: Re: Crashes

Originally Posted by zsban
Yes, I have similar crashes, and narrowed it down to this addon. It happens even if I temporarily turn it off with the keybinding before trying to open the guild bank.

One more thing I noticed, that it only crashes when I try to open my own guild's bank, it's not crashing if I try to open another guild's bank (where I have limited access, if it might have anything to do with it?)
This is much more helpful than simply stating that it crashes and offering nothing else. Perhaps there is indeed something unique about ownership of the guild that is being accessed that causes trouble.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: