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,755
Total downloads:227,812
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/21/18, 02:00 PM  
jayman10000

Forum posts: 2
File comments: 160
Uploads: 0
Originally Posted by crafty35a
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.
oh hey that's some useful advice. somehow I have missed that this is possible to disable, thanks
Report comment to moderator  
Reply With Quote
Unread 05/21/18, 06:32 AM  
crafty35a
 
crafty35a's Avatar

Forum posts: 7
File comments: 116
Uploads: 0
Re: Please add support for Item Saver

Originally Posted by Shadowfen
I've written a function and added ItemSaver to the OptionalDependsOn
Added as "IsMarkedIS()" in today's update, enjoy!
Report comment to moderator  
Reply With Quote
Unread 05/14/18, 10:46 AM  
crafty35a
 
crafty35a's Avatar

Forum posts: 7
File comments: 116
Uploads: 0
Re: Re: Re: Please add support for Item Saver

Yes, I misread, I wasn't aware there was a mod called Item Saver. I will add in support in the next update, thanks for the request!
Report comment to moderator  
Reply With Quote
Unread 05/14/18, 09:25 AM  
VulcanTourist
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 232
Uploads: 1
Re: Re: Please add support for Item Saver

Originally Posted by crafty35a
Hey, you may have missed that Auto Category already has FCO ItemSaver support via the IsMarked() function. Does yours do something different? I am not at my computer right now to take a closer look.
The presence of FCOItemSaver support is why he's written the additional support function for ItemSaver, which serves the same purpose as that mod. He acknowledged it when he said "(Which is different from FCO Item Saver)". Some people just choose to use it instead of FCOItemSaver because of familiarity or specifics of implementation. Personally, starting as a newbie in February, I looked at both and decided that FCOItemSaver was the better choice for me, but perhaps the choice is more nuanced for the next newbie if integration with ItemSaver is added to this mod.
.
Last edited by VulcanTourist : 05/14/18 at 09:52 AM.
Report comment to moderator  
Reply With Quote
Unread 05/14/18, 06:13 AM  
crafty35a
 
crafty35a's Avatar

Forum posts: 7
File comments: 116
Uploads: 0
Re: Please add support for Item Saver

Originally Posted by Shadowfen
(Which is different from FCO Item Saver)

I've written a function and added ItemSaver to the OptionalDependsOn:
Code:
code
It is working for me thusfar, but I'd like it to be added in so that my friends can download and use the code too.

You have a marvelous addon! I'm growing quite fond of it.
Hey, you may have missed that Auto Category already has FCO ItemSaver support via the IsMarked() function. Does yours do something different? I am not at my computer right now to take a closer look.
Report comment to moderator  
Reply With Quote
Unread 05/13/18, 09:43 PM  
Shadowfen
AddOn Author - Click to view AddOns

Forum posts: 83
File comments: 755
Uploads: 15
Please add support for Item Saver

(Which is different from FCO Item Saver)

I've written a function and added ItemSaver to the OptionalDependsOn:
Code:
function AutoCategory.RuleFunc.IsItemMarked( ... )
	local fn = "isitemmarked"
	if ItemSaver == nil then
		return false
	end
	local ac = select( '#', ... ) 
	local checkSets = {}
	for ax = 1, ac do
		
		local arg = select( ax, ... )
		if not arg then
			error( string.format("error: %s():  argument is nil." , fn))
		end
		checkSets[arg]=true
	end
	local ismarked, setname = ItemSaver_IsItemSaved(AutoCategory.checkingItemBagId, AutoCategory.checkingItemSlotIndex)
	if ismarked == true then
		if ac > 0 then
			if checkSets[setname] ~= nil then
				return true
			end
			return false
		else
			return true
		end
	end
	return ismarked
	
end
It is working for me thusfar, but I'd like it to be added in so that my friends can download and use the code too.

You have a marvelous addon! I'm growing quite fond of it.
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
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/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/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: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
Post A Reply



Category Jump: