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,791
Total downloads:227,980
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 04/15/18, 03:38 PM  
crafty35a
 
crafty35a's Avatar

Forum posts: 7
File comments: 116
Uploads: 0
Originally Posted by VulcanTourist
I missed your comment here. I've already done it and submitted it as a 1.22 patch. Feel free to inspect and include it in the next update.
You seem to be misunderstanding the purpose of the currently implemented Low Level rule. It's not flawed at all, it's just an entirely different rule than what you were looking for. It matches all gear <CP160 because due to the nature of ESO, that gear is generally of little value.

I understand your desire for a different rule, but you're replacing a rule that a lot of people will use with one that has much more of a niche use case. Can you remove the patch? It's somewhat misleading since it implies that there is something wrong with the default low level gear rule.

I will definitely implement the two new functions that are needed for you (or anyone else) to implement this type of custom filter, I still plan to do that tonight or tomorrow.
Last edited by crafty35a : 04/15/18 at 03:40 PM.
Report comment to moderator  
Reply With Quote
Unread 04/15/18, 03:00 PM  
VulcanTourist
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 232
Uploads: 1
Originally Posted by crafty35a
Originally Posted by VulcanTourist
I've added the functions back and added aliases for them in that block. Fingers crossed.
That should do the trick. You just want functions to return char level and char CP? I can add those in, I will probably push an update tonight or tomorrow.
I missed your comment here. I've already done it and submitted it as a 1.22 patch. Feel free to inspect and include it in the next update.
Report comment to moderator  
Reply With Quote
Unread 04/15/18, 01:22 PM  
VulcanTourist
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 232
Uploads: 1
Originally Posted by VulcanTourist
Originally Posted by crafty35a
Originally Posted by VulcanTourist
I've added the functions back and added aliases for them in that block. Fingers crossed.
That should do the trick. You just want functions to return char level and char CP? I can add those in, I will probably push an update tonight or tomorrow.
I added the functions back and added aliases for them in that block, then modified the Low Level rule to use them again... but it still doesn't work and fails in the same way: even items that were in that Category already get relegated to Other instead. Nothing matches the modified conditions. I need to investigate that API call, what it's really supposed to do, its usage, and what data types it returns. It may not behave as I guessed it does. I know nothing of the data typing in LUA, but if I'm expecting integers and it's returning strings that aren't type-converted, then that could explain it. If it's entirely the wrong API call then that would also explain it.

I've asked for help elsewhere in the forum about that API function and data typing.
One reply to one of my posts for help got a straight-to-the-point reply:
GetUnitChampionPoints("player") = 850
GetUnitEffectiveChampionPoints("player") = 720
GetUnitLevel("player") = 50
So the short story is that indeed I've been using the wrong API functions. I've switched to using GetUnitChampionPoints and GetUnitLevel. I haven't tested it rigorously yet, but the change resulted in level 50 CP120 items that were previously "low level" for both my CP200+ and level 43 characters now only being low-level for my CP200+ character, and those items match other rules instead for my level 43 character. It seems to be working now as it should have always worked.

I submitted my modified file as a patch specifically for 1.22.
Last edited by VulcanTourist : 04/15/18 at 02:57 PM.
Report comment to moderator  
Reply With Quote
Unread 04/15/18, 10:40 AM  
RandallMcRandy

Forum posts: 0
File comments: 2
Uploads: 0
GamePad UI Broken Alchemy Station

Howdy, Love the addon, everything works great... Except the Alchemy station on the GamePad UI, kinda broken...
I'll attach a screenshot of what I mean.

As you can see it just throws everything everywhere, splits up the waters, oil, and reagents.
Anyway to just turn this off for alchemy stations? As the default alchemy station works just fine...

Thanks!
Last edited by RandallMcRandy : 04/15/18 at 10:43 AM.
Report comment to moderator  
Reply With Quote
Unread 04/15/18, 09:55 AM  
VulcanTourist
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 232
Uploads: 1
Originally Posted by crafty35a
Originally Posted by VulcanTourist
I've added the functions back and added aliases for them in that block. Fingers crossed.
That should do the trick. You just want functions to return char level and char CP? I can add those in, I will probably push an update tonight or tomorrow.
I added the functions back and added aliases for them in that block, then modified the Low Level rule to use them again... but it still doesn't work and fails in the same way: even items that were in that Category already get relegated to Other instead. Nothing matches the modified conditions. I need to investigate that API call, what it's really supposed to do, its usage, and what data types it returns. It may not behave as I guessed it does. I know nothing of the data typing in LUA, but if I'm expecting integers and it's returning strings that aren't type-converted, then that could explain it. If it's entirely the wrong API call then that would also explain it.

I've asked for help elsewhere in the forum about that API function and data typing.
Last edited by VulcanTourist : 04/15/18 at 10:11 AM.
Report comment to moderator  
Reply With Quote
Unread 04/15/18, 09:46 AM  
crafty35a
 
crafty35a's Avatar

Forum posts: 7
File comments: 116
Uploads: 0
Originally Posted by VulcanTourist
I've added the functions back and added aliases for them in that block. Fingers crossed.
That should do the trick. You just want functions to return char level and char CP? I can add those in, I will probably push an update tonight or tomorrow.
Last edited by crafty35a : 04/15/18 at 09:48 AM.
Report comment to moderator  
Reply With Quote
Unread 04/15/18, 08:16 AM  
VulcanTourist
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 232
Uploads: 1
Originally Posted by crafty35a
Originally Posted by VulcanTourist
I suspect that my attempted functions are not even being recognized
In addition to creating the new function, did you add an entry in AutoCategory.Environment at the end of that same .lua file? I started working on Set Tracker support tonight, and was able to get it working without much issue.
No, I didn't! I didn't know about that section of code or what it does. After the failure I quickly backpedaled my addition. Looking at that code section, it's what my intuition whispered might be needed in addition to the function definitions themselves. It's establishing aliases of a sort, it appears.

I've added the functions back and added aliases for them in that block. Fingers crossed.
Last edited by VulcanTourist : 04/15/18 at 09:56 AM.
Report comment to moderator  
Reply With Quote
Unread 04/14/18, 11:23 PM  
crafty35a
 
crafty35a's Avatar

Forum posts: 7
File comments: 116
Uploads: 0
Originally Posted by VulcanTourist
I suspect that my attempted functions are not even being recognized
In addition to creating the new function, did you add an entry in AutoCategory.Environment at the end of that same .lua file? I started working on Set Tracker support tonight, and was able to get it working without much issue.
Report comment to moderator  
Reply With Quote
Unread 04/14/18, 01:25 PM  
VulcanTourist
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 232
Uploads: 1
Originally Posted by Phinix
Not to sound rude, but discussions about the inner working of LUA and development....
That isn't the discussion. The discussion is about a rule of this mod that doesn't work correctly, and my attempt to fix it, an attempt which happens to require some LUA and an API call. That might ultimately benefit from what you suggest as a supportive tactic, but it's not off-topic. The only and entire point is to make that rule function as intended.
Report comment to moderator  
Reply With Quote
Unread 04/14/18, 01:07 PM  
Phinix
 
Phinix's Avatar
AddOn Author - Click to view AddOns

Forum posts: 186
File comments: 1783
Uploads: 32
Not to sound rude, but discussions about the inner working of LUA and development should generally go to the Lua/XML Help or General Authoring Discussion forum sections here on ESOUI, which exist specifically for that purpose, and not individual author's support threads.

You will probably find more feedback and useful support there.
Report comment to moderator  
Reply With Quote
Unread 04/14/18, 12:43 PM  
VulcanTourist
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 232
Uploads: 1
Originally Posted by VulcanTourist
Is this about right to add new filter functions to return character level and CP?
Code:
function AutoCategory.RuleFunc.CharLevel( ... )
	local fn = "charlevel"
	local level, cp, iconsize
	GetLevelOrChampionPointsString(level, cp, iconsize)
	return level
end

function AutoCategory.RuleFunc.CharCP( ... )
	local fn = "charcp"
	local level, cp, iconsize
	GetLevelOrChampionPointsString(level, cp, iconsize)
	return cp
end
If so, do I just add them to AutoCategory_RuleFunc.lua, or must they also be registered or declared elsewhere?
My first attempt to use these, by modifying the Low Level filter, was a failure. It caused certain CP160 items to appear uncategorized as Other and did not have the intended effect. I suspect that my attempted functions are not even being recognized and trying to call them silently causes an error. The modified Low Level rule:
Code:
type("armor", "weapon")
and (level() < charlevel() or cp() < charcp())
and not keepresearch()
(The keepresearch() exclusion was an earlier modification to prevent low level research items from being snagged by this rule and never appearing as Researchable.)

How is data typed in LUA? A type mismatch could also be at issue. I have no specifics of the API function GetLevelOrChampionPointsString() or its proper use, only the function name and its arguments. For that matter, it could be the wrong function for the job entirely, since I have no documentation what it does.

The Low Level rule was always misleading for any character that isn't already veteran level. The addition of a character level test is crucial to making it applicable for any character and not just veterans. While many or all of my other many rule and precedence changes are a matter of personal taste, this one is not. If a means to add a character test to it can't be found, then I would recommend removing the rule entirely.
Last edited by VulcanTourist : 04/14/18 at 01:01 PM.
Report comment to moderator  
Reply With Quote
Unread 04/14/18, 08:14 AM  
crafty35a
 
crafty35a's Avatar

Forum posts: 7
File comments: 116
Uploads: 0
Originally Posted by VulcanTourist
Is this about right to add new filter functions to return character level and CP?
Code:
function AutoCategory.RuleFunc.CharLevel( ... )
	local fn = "charlevel"
	local level, cp, iconsize
	GetLevelOrChampionPointsString(level, cp, iconsize)
	return level
end

function AutoCategory.RuleFunc.CharCP( ... )
	local fn = "charcp"
	local level, cp, iconsize
	GetLevelOrChampionPointsString(level, cp, iconsize)
	return cp
end
If so, do I just add them to AutoCategory_RuleFunc.lua, or must they also be registered or declared elsewhere?
Honestly, I haven't attempted to add rules yet. I'll be digging into that soon because I want to add Set Tracker support. Give it a try though!
Report comment to moderator  
Reply With Quote
Unread 04/14/18, 06:45 AM  
Baertram
Super Moderator
 
Baertram's Avatar
ESOUI Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 4987
File comments: 6040
Uploads: 78
My intention was to show you what you can do about your suggestion to get it done. I proposed you a way to contact others. And believe me we are in contact and create library's where possible already since years.
You either need to respect this and if there is no library doing what you want already it's either not possible or Noone thought about it.
That's why I told you about the Gitter channel.

If you are not able to code, ok. You can try to learn it. If you're not interested, ok. But please don't blame the devs then. I think Phinix described it pretty well.
And forgive me if you thought it's sarcasm. You don't know me. I am this way, simple, direct. It was a kind of hint (source code, Gitter) why there is no such library which you have thought of.

But this got nothing to do with lone wolves. We are in contact, several devs on this and other channels
Last edited by Baertram : 04/14/18 at 06:46 AM.
Report comment to moderator  
Reply With Quote
Unread 04/14/18, 04:37 AM  
VulcanTourist
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 232
Uploads: 1
Is this about right to add new filter functions to return character level and CP?
Code:
function AutoCategory.RuleFunc.CharLevel( ... )
	local fn = "charlevel"
	local level, cp, iconsize
	GetLevelOrChampionPointsString(level, cp, iconsize)
	return level
end

function AutoCategory.RuleFunc.CharCP( ... )
	local fn = "charcp"
	local level, cp, iconsize
	GetLevelOrChampionPointsString(level, cp, iconsize)
	return cp
end
If so, do I just add them to AutoCategory_RuleFunc.lua, or must they also be registered or declared elsewhere?
Report comment to moderator  
Reply With Quote
Unread 04/13/18, 09:22 PM  
Phinix
 
Phinix's Avatar
AddOn Author - Click to view AddOns

Forum posts: 186
File comments: 1783
Uploads: 32
I agree about not discussing this here anymore. However, I think if most addon authors didn't believe in doing something for the sake of doing something that needs doing as you say, they probably wouldn't be posting all these cool free addons here. They would just make it for themselves and keep it to themselves. The fact they choose to share freely with the world shows by their ACTIONS they are pretty darned enlightened, if you ask me.

Another aspect of enlightened thinking is EMPATHY, and knowing how to treat others with respect and kindness in one's words and deeds. Whether we realize it or not, and whether it is even our intention, the way we come across often fails to convey this simple Golden Rule. Peace.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: