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,066
Total downloads:234,720
Favorites:207
MD5:
Categories:Discontinued & Outdated, 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
Optional Files (1)
File Name
Version
Size
Author
Date
Type
4.2
112kB
09/06/24 11:14 AM
Addon


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/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, 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/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/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, 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/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/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, 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/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/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: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:17 PM  
crafty35a
 
crafty35a's Avatar

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

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?
Last edited by crafty35a : 05/08/18 at 09:18 PM.
Report comment to moderator  
Reply With Quote
Unread 05/08/18, 12:53 PM  
VulcanTourist
AddOn Author - Click to view AddOns

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

When I asked for the inclusion of the charcp() function, I was guilty of poor conceptualization. You added the function as I drafted it, but it doesn't work as I intended because I screwed up. What it now returns is the actual character's CP, but if that value is higher than 160 then it becomes useless in tests against gear levels and instead results in erroneous matches. I didn't catch this sooner because I didn't have enough variety of stored gear.

The function needed a test to set a ceiling of 160 on the value that it returns. I have corrected the function locally, but could you add this correction to the next update so that it carries forward?
Code:
function AutoCategory.RuleFunc.CharCP( ... )
    local fn = "charcp"
    local cp = GetUnitChampionPoints("player")
    if cp > 160 then
        cp = 160
    end
    return cp
end
If there's a more efficient way of coding that by embedding the test directly into the declaration for cp, you're welcome to do it.
Last edited by VulcanTourist : 05/08/18 at 12:56 PM.
Report comment to moderator  
Reply With Quote
Unread 05/08/18, 10:37 AM  
VulcanTourist
AddOn Author - Click to view AddOns

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

Originally Posted by Elijafire
Currently this addon crashes my game when I open the guild bank.
Illuminating!
Report comment to moderator  
Reply With Quote
Unread 05/08/18, 10:08 AM  
Elijafire

Forum posts: 2
File comments: 44
Uploads: 0
Crashes

Currently this addon crashes my game when I open the guild bank.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: