ArkInventory
ArkInventory (for The War Within)
:boom: Please ensure you are using the latest alpha version if you have the War Within client.
ArkInventory (for Retail, Classic, and Cataclysm)
ArkInventory's display windows are built from "virtual bars", you assign categories to bars so that items in that category are displayed on the specific bars you want. There is no limit to the number of bars you can have inside a window but obviously you only have so much screen real estate before it becomes "too many".
ArkInventory uses several methods to assign a default category to an item such as what professions you have, tooltip scanning, basic type/subtype and PeriodicTable. You then assign those categories to a virtual bar.
You can also over-ride the default category by creating a rule that matches either a single or multiple items.
Overview:
- user configurable window width and height
- separate keybindings for each location for easy viewing
- assign items to a category of your choice (overrides the default assignment)
- assign categories to the bar of your choice
- unlimited number of bars (there are practical limits though before your screen becomes full)
- sort each bar differently if required
- user configurable bars per row
- sell junk items automatically or manually (delete available via a keybinding or right clicking when at a vendor)
- random pet and mount summons. can also assign a group of them to select from
Key Bindings:
- Press ESCAPE to bring up the blizzard menu
- click on Key Bindings
- scroll down to AddOns > ArkInventory
- bind the keys you want to use
Need Help?
:memo: Wiki
:memo: Frequently Asked Questions
:memo: Sorting
:memo: Rules
:memo: If you are having an issue the first step is to disable all other mods and test with only ArkInventory loaded
:memo: If the issue is still there, please check for an existing issue and create a new issue if required.
:memo: If the issue is gone, re-enable your other mods one by one until the issue comes back, then note the last mod you enabled in your issue as well as notifying the author of the other mod
See ChangeHistory.md for changes to the latest version. See VersionHistory.md for all previous changes.
:boom: The NoLib variant
it seems quite a few people are somehow getting the NoLib variant from their download client when they didn't specifically ask for it, instead of the full variant, and its causing issues as they don't have the required libraries installed separately. Please ensure you are downloading the full. if you see nolib in the filename then its the wrong variant, unless you are actually installing all of the required libraries separately as well. If you have to you can manually download the full variant from CurseForge, WoWInterface, or Wago.
:boom: Junk Sell getting blocked
While auto-destroy remains blocked, From 30960 onwards you can setup a Key Binding to manually sell and destroy your items. Note that blizzard require one keypress per item deletion, so if you have multiple items that need to be deleted you will need to press the Key Binding multiple times. A message will be output if you have remaining items that can still be deleted.
:warning: Ensure you have backup copies of your saved variables file
Sometimes you cannot revert back to a previous version without a backup, especially alpha or beta versions, so before upgrading please make sure you have made a backup of your saved variables file
Your saved variables file is normally located at ...\World of Warcraft\_client_\WTF\Account\yourwowaccountname\SavedVariables\ArkInventory.lua
It is your responsibility to ensure you have adequate backups of your saved variables file. You dont have to do them frequently, just after you've made major changes to your config is probably fine for most people, but you should get into the habit of making backups because when it does corrupt you wont have to reconfigure everything from scratch.
If you have your download client set to automatically download alpha/beta versions you should definitely have backups.
A simple way to back up the saved variables file is to just do a copy and paste then rename the new file (using the version number of ArkInventory or the date is a good idea), eg ArkInventory-30900.lua, or ArkInventory-20191228.lua
It would be great if it was possible to group Anima items once Shadowlands launches.
Also Queens Conservatory (Night Fae) items are good being grouped. I"m not sure if there are other covenant items that could be grouped.
I need to check, but when I loaded it up yesterday, it had lost the category for System: Equipment: Soulbound
the consumable > anima category is there already but only displays in the shadowlands beta (possibly the PTR as well), it should automatically pick up anything with anima
if you do find something that isnt picked up please open a ticket and let me know the short id (edit mode, click on item > debug > short id) so i can add it
you may have checked a bar it was already assigned to as it wont show up in that case (no point giving you an entry for something thats already assigned to the bar youre in)
Hi, I've suddenly been enjoying an FPS cap of 30 out of nowhere and thanks to some long troubleshooting I've identified that it's caused by running ArkInventory and "Better Transmog and Wardrobe" together. Disabling either and the problem vanishes, but yeah, you guys don't like each other much!
if possible could you try one of the latest alphas? i've rebuilt the tooltip refresh code and it might help
In reply to Arkayenro:
Ta. Tried the alpha. An update was also pushed from Better Wardrobe. With those changes in place, getting about 80 fps with either/both ArkInventory and BetterWardrobe on. Turning both off and it's pretty much the same. I don't know why this is 20fps slower than it was last night - haven't made any other changes - but still, plays OK so *shrug*.
BTW Using the Arkinventory alpha I got lots of error messages when opening bags (or opening a bag slot in guild) eg
ArkInventory:TEMP.1 tooltip not ready:[ITEMNAME]
ArkInventory:TEMP.2 tooltip not ready:[SAMEITEMNAME]
or just lots of these after re-enabling:
ArkInventory:TEMP.1 tooltip not ready:[]
those arent error messages, they are debug output (its an alpha), im trying to find a problem that might be linked to the tooltip data not being ready
they should only trigger once or twice each session per uncached item and then stop
In reply to Arkayenro:
Ah OK, thanks. Yes, they aren't bothersome. As you say, they only occur once.
I've been using the addon for almost a month now, and it's AMAZING!
However, one issue I'm running in is that the addon seems to mess up with Battle Pets tooltips.
I use TSM to show values of battle pets. Here is a screenshot with ArkInventory disabled
here it is with ArkInvetory enabled
How can I show TSM portion with ArkInventory?
you cant, not unless TSM hook my custom tooltip as well.
your only other option is to disable the custom pet tooltip in the config so it uses the blizzard tooltip, which TSM hooks
In reply to Arkayenro:
That was it! Thanks a lot!!
I get this error a bit random, mostlt when I enter combat.
Message: [ADDON_ACTION_BLOCKED] AddOn 'ArkInventory' tried to call the protected function 'ARKINV_Frame1Status:SetHeight()'.
Time: Mon Aug 31 13:56:02 2020
Count: 1
Stack: [ADDON_ACTION_BLOCKED] AddOn 'ArkInventory' tried to call the protected function 'ARKINV_Frame1Status:SetHeight()'.
Interface\AddOns\ArkInventory\ArkInventory.lua:10071: in function `Frame_Changer_Update'
...nterface\AddOns\ArkInventory\ArkInventoryStorage.lua:543: in function <...nterface\AddOns\ArkInventory\ArkInventoryStorage.lua:536>
[C]: ?
...Inventory\Externals\Ace3\AceBucket\AceBucket-3.0.lua:73: in function <...Inventory\Externals\Ace3\AceBucket\AceBucket-3.0.lua:71>
...Inventory\Externals\Ace3\AceBucket\AceBucket-3.0.lua:87: in function `func'
...rkInventory\Externals\Ace3\AceTimer\AceTimer-3.0.lua:57: in function <...rkInventory\Externals\Ace3\AceTimer\AceTimer-3.0.lua:50>
Locals: <none>
weird, mine doesnt seem to care if i open/close the bag changer window while in combat. was this in classic or retail, the ptr or beta?
was it any time in combat or when youre doing something specific? like targeting a spell?
In reply to Arkayenro:
It's in Classic.
I'm not 100% sure when the error is coming, it seems a bit random, but always in combat.
But after the error have been there, then I can't open my bags in combat until after I reload.
I will try and take a note of when it is and then return to you. :)
In reply to SubbyDK:
Just came when I missed a "Eviscerate"
**EDIT**
It have happend 4 more times this evening.
1 time when I body pulled and just when I got hit the error came.
2 times the error came when auto attacking.
1 time when I got hit by AoE.
Everytime the bags have been closed.
Hope this will help you. :)
1 min ago ...only when open bag..
11x ...faceAddOnSkins\SkinsArkInventory-30934.lua:58: attempt to index field '?' (a nil value)
[string "@AddOnSkins\SkinsArkInventory-30934.lua"]:58: in function <...faceAddOnSkins\SkinsArkInventory.lua:43>
[string "=[C]"]: in function `Frame_Bar_Paint'
[string "@ArkInventory\ArkInventory-30934.lua"]:6538: in function `Frame_Container_Draw'
[string "@ArkInventory\ArkInventory-30934.lua"]:5260: in function `Frame_Main_Draw_Threaded'
[string "@ArkInventory\ArkInventory-30934.lua"]:5190: in function <ArkInventory\ArkInventory.lua:5189>
Locals:
bar = ARKINV_Frame1ScrollContainerBar1 {
0 = <userdata>
template = "Transparent"
ArkBorder = <unnamed> {
}
PixelSnapDisabled = true
IsSkinned = true
ArkEdit = ARKINV_Frame1ScrollContainerBar1Edit {
}
ArkBackground = ARKINV_Frame1ScrollContainerBar1Background {
}
SetBackdropBorderColor = <function> defined =[C]:-1
SetBackdropColor = <function> defined =[C]:-1
pixelBorders = <table> {
}
ARK_Data = <table> {
}
}
loc_id = 1
(*temporary) = <function> defined =[C]:-1
(*temporary) = ARKINV_Frame1ScrollContainerBar1 {
0 = <userdata>
template = "Transparent"
ArkBorder = <unnamed> {
}
PixelSnapDisabled = true
IsSkinned = true
ArkEdit = ARKINV_Frame1ScrollContainerBar1Edit {
}
ArkBackground = ARKINV_Frame1ScrollContainerBar1Background {
}
SetBackdropBorderColor = <function> defined =[C]:-1
SetBackdropColor = <function> defined =[C]:-1
pixelBorders = <table> {
}
ARK_Data = <table> {
}
}
(*temporary) = nil
(*temporary) = nil
(*temporary) = "ArkBorder"
(*temporary) = "ARKINV_Frame1ScrollContainerBar1"
(*temporary) = "attempt to index field '?' (a nil value)"
AS = <table> {
AC = <table> {
}
SkinAchievement = <function> defined @AddOnSkins\Skins\Blizzard\Retail\Achievement.lua:16
Blizzard_Channels = <function> defined @AddOnSkins\Skins\Blizzard\Retail\Channels.lua:12
Blizzard_AbilityButton = <function> defined @AddOnSkins\Skins\Blizzard\Retail\ExtraButtons.lua:4
ArrowRotation = <table> {
}
modules = <table> {
}
CancelTimer = <function> defined @ElvUI\Libraries\Ace3\AceTimer-3.0\AceTimer-3.0.lua:147
FindFrameBySizeChild = <function> defined @AddOnSkins\Core\API.lua:1148
Blizzard_ItemSocketingUI = <function> defined @AddOnSkins\Skins\Blizzard\Retail\Character.lua:440
RaiderIO = <function> defined @AddOnSkins\SkinsRaiderIO.lua:10
GradientHighlight = <function> defined @AddOnSkins\Core\API.lua:285
Blank = "ElvUI\Media\Textures\White8x8"
LCG = <table> {
}
SkinIconButton = <function> defined @AddOnSkins\Core\API.lua:709
ScheduleTimer = <function> defined @ElvUI\Libraries\Ace3\AceTimer-3.0\AceTimer-3.0.lua:94
ADDON_LOADED = <function> defined @AddOnSkins\Core\Core.lua:163
SkinErrors = <table> {
}
BuildProfile = <function> defined @AddOnSkins\Core\Options.lua:557
data = <table> {
}
UIScale = 0.711100
db = <table> {
}
SkinBackdropFrame = <function> defined @AddOnSkins\Core\API.lua:997
AdjustForTheme = <function> defined @AddOnSkins\Core\API.lua:1058
SetEnabledState = <function> defined @ArkInventory\Externals\Ace3\AceAddon\AceAddon-3.0.lua:424
Hook = <function> defined @ElvUI\Libraries\Ace3\AceHook-3.0\AceHook-3.0.lua:274
Options = <table> {
}
Font = "Addons\SharedMedia_MyMedia\font\Naowh.ttf"
events = <table> {
}
Noop = <function> defined @AddOnSkins\Init.lua:41
SetBackdropColor = <function> defined @AddOnSkins\Core\API.lua:99
SkinDoubleStateIconRow = <function> defined @AddOnSkins\Core\API.lua:1282
Blizzard_Mail = <function> defined @AddOnSkins\Skins\Blizzard\Retail\Mail.lua:4
SkinWidgetContainer = <function> defined @AddOnSkins\Core\API.lua:1312
Media = <table> {
}
NewModule = <function> defined @ArkInventory\Externals\Ace3\AceAddon\AceAddon-3.0.lua:235
SkinTooltip = <function> defined @AddOnSkins\Core\API.lua:1028
EmbedSystem_WindowResize = <function> defined @AddOnSkins\Embed\ElvUI.lua:82
EnumObjects = <function> defined @AddOnSkins\Core\API.lua:1096
Blizzard_Calendar = <function> defined @AddOnSkins\Skins\Blizzard\Retail\Calendar.lua:13
GetChatWindowInfo = <function> defined @AddOnSkins\Embed\Core.lua:19
EmbedEnterCombat = <function> defined @AddOnSkins\Em
any idea?
known issue, they need to update their side
https://github.com/arkayenro/arkinventory/issues/1340
would you mind editing your posts to get rid of the really long stack traces, they dont actually help, just the error is fine
In reply to Arkayenro:
tx for fast reèply ..so i wait update addonskin...anyway good work ...and tx for update this good addon by
today when log ...version 3.09.33
1x ArkInventory\ArkInventory-30933.lua:12178: ...ns\ArkInventory\ArkInventoryCollectionReputation.lua:419: attempt to perform arithmetic on local 'barMax' (a nil value)
[string "=[C]"]: ?
[string "@ArkInventory\ArkInventory-30933.lua"]:12178: in function `ThreadResume'
[string "*:OnUpdate"]:1: in function <[string "*:OnUpdate"]:1>
Locals:
(*temporary) = "...ns\ArkInventory\ArkInventoryCollectionReputation.lua:419: attempt to perform arithmetic on local 'barMax' (a nil value)"
and when open bag ...
12x ...faceAddOnSkins\SkinsArkInventory-30933.lua:58: attempt to index field '?' (a nil value)
[string "@AddOnSkins\SkinsArkInventory-30933.lua"]:58: in function <...faceAddOnSkins\SkinsArkInventory.lua:43>
[string "=[C]"]: in function `Frame_Bar_Paint'
[string "@ArkInventory\ArkInventory-30933.lua"]:6540: in function `Frame_Container_Draw'
[string "@ArkInventory\ArkInventory-30933.lua"]:5262: in function `Frame_Main_Draw_Threaded'
[string "@ArkInventory\ArkInventory-30933.lua"]:5192: in function <ArkInventory\ArkInventory.lua:5191>
Locals:
bar = ARKINV_Frame1ScrollContainerBar1 {
0 = <userdata>
template = "Transparent"
ArkBorder = <unnamed> {
}
PixelSnapDisabled = true
IsSkinned = true
ArkEdit = ARKINV_Frame1ScrollContainerBar1Edit {
}
ArkBackground = ARKINV_Frame1ScrollContainerBar1Background {
}
SetBackdropBorderColor = <function> defined =[C]:-1
SetBackdropColor = <function> defined =[C]:-1
pixelBorders = <table> {
}
ARK_Data = <table> {
}
}
loc_id = 1
(*temporary) = <function> defined =[C]:-1
(*temporary) = ARKINV_Frame1ScrollContainerBar1 {
0 = <userdata>
template = "Transparent"
ArkBorder = <unnamed> {
}
PixelSnapDisabled = true
IsSkinned = true
ArkEdit = ARKINV_Frame1ScrollContainerBar1Edit {
}
ArkBackground = ARKINV_Frame1ScrollContainerBar1Background {
}
SetBackdropBorderColor = <function> defined =[C]:-1
SetBackdropColor = <function> defined =[C]:-1
pixelBorders = <table> {
}
ARK_Data = <table> {
}
}
(*temporary) = nil
(*temporary) = nil
(*temporary) = "ArkBorder"
(*temporary) = "ARKINV_Frame1ScrollContainerBar1"
(*temporary) = "attempt to index field '?' (a nil value)"
AS = <table> {
AC = <table> {
}
SkinAchievement = <function> defined @AddOnSkins\Skins\Blizzard\Retail\Achievement.lua:16
Blizzard_Channels = <function> defined @AddOnSkins\Skins\Blizzard\Retail\Channels.lua:12
Blizzard_AbilityButton = <function> defined @AddOnSkins\Skins\Blizzard\Retail\ExtraButtons.lua:4
ArrowRotation = <table> {
}
modules = <table> {
}
CancelTimer = <function> defined @ElvUI\Libraries\Ace3\AceTimer-3.0\AceTimer-3.0.lua:147
FindFrameBySizeChild = <function> defined @AddOnSkins\Core\API.lua:1148
Blizzard_ItemSocketingUI = <function> defined @AddOnSkins\Skins\Blizzard\Retail\Character.lua:440
RaiderIO = <function> defined @AddOnSkins\SkinsRaiderIO.lua:10
GradientHighlight = <function> defined @AddOnSkins\Core\API.lua:285
Blank = "ElvUI\Media\Textures\White8x8"
LCG = <table> {
}
SkinIconButton = <function> defined @AddOnSkins\Core\API.lua:709
ScheduleTimer = <function> defined @ElvUI\Libraries\Ace3\AceTimer-3.0\AceTimer-3.0.lua:94
ADDON_LOADED = <function> defined @AddOnSkins\Core\Core.lua:163
SkinErrors = <table> {
}
BuildProfile = <function> defined @AddOnSkins\Core\Options.lua:557
data = <table> {
}
UIScale = 0.711100
db = <table> {
}
SkinBackdropFrame = <function> defined @AddOnSkins\Core\API.lua:997
AdjustForTheme = <function> defined @AddOnSkins\Core\API.lua:1058
SetEnabledState = <function> defined @ArkInventory\Externals\Ace3\AceAddon\AceAddon-3.0.lua:424
Hook = <function> defined @ElvUI\Libraries\Ace3\AceHook-3.0\AceHook-3.0.lua:274
Options = <table> {
}
Font = "Addons\SharedMedia_MyMedia\font\Naowh.ttf"
events = <table> {
}
Noop = <function> defined @AddOnSkins\Init.lua:41
SetBackdropColor = <function> defined @AddOnSkins\Core\API.lua:99
SkinDoubleStateIconRow = <function> defined @AddOnSkins\Core\API.lua:1282
Blizzard_Mail = <function> defined @AddOnSkins\Skins\Blizzard\Retail\Mail.lua:4
SkinWidgetContainer = <function> defined @AddOnSkins\Core\API.lua:1312
Media = <table> {
}
NewModule = <function> defined @ArkInventory\Externals\Ace3\AceAddon\AceAddon-3.0.lua:235
SkinTooltip = <function> defined @AddOnSkins\Core\API.lua:1028
EmbedSystem_WindowResize = <function> defined @AddOnSkins\Embed\ElvUI.lua:82
EnumObjects = <function> defined @AddOnSkins\Core\API.lua:1096
Blizzard_Calendar = <function> defined @AddOnSkins\Skins\Blizzard\Retail\Calendar.lua:13
GetChatWindowInfo = <function> defined @AddOnSkins\Embed\Core.lua:19
EmbedEnterCombat = <function> defined @AddOnSkins\Em
hope fix this....tx
should be fixed in 3.09.34
Just FYI Coming up with a LUA error using 3.09.31 after the last Shadowlands beta update and thought I should report it. The addon is still usable AFAIK. Thanks for all that you do for the community!
Message: Interface\AddOns\ArkInventory\ArkInventory.lua:7549: 'for' limit must be a number
Time: Thu Aug 27 14:33:49 2020
Count: 5
Stack: Interface\AddOns\ArkInventory\ArkInventory.lua:7549: 'for' limit must be a number
[string "@Interface\AddOns\ArkInventory\ArkInventory.lua"]:7549: in function `Frame_Bag_OnLoad'
[string "*:OnLoad"]:1: in function <[string "*:OnLoad"]:1>
[string "=[C]"]: in function `CreateFrame'
[string "@Interface\AddOns\ArkInventory\ArkInventory.lua"]:6702: in function `Frame_Container_OnLoad'
[string "*:OnLoad"]:1: in function <[string "*:OnLoad"]:1>
Locals: frame = ARKINV_Frame1ScrollContainerBag5 {
0 = <userdata>
ARK_Data = <table> {
}
}
framename = "ARKINV_Frame1ScrollContainerBag5"
loc_id = 1
bag_id = 5
(for index) = 1
(for limit) = nil
(for step) = 1
(*temporary) = <userdata>
(*temporary) = 4
(*temporary) = 23
(*temporary) = 4
(*temporary) = 23
(*temporary) = <function> defined =[C]:-1
(*temporary) = true
(*temporary) = "code failure: ArkInventory.Global.Location[1].Bags[5] is nil"
(*temporary) = "code failure: ArkInventory.Global.Location[%s].Bags[%s] is nil"
(*temporary) = "'for' limit must be a number"
string = <table> {
split = <function> defined =[C]:-1
match = <function> defined =[C]:-1
gmatch = <function> defined =[C]:-1
upper = <function> defined =[C]:-1
gsub = <function> defined =[C]:-1
format = <function> defined =[C]:-1
lower = <function> defined =[C]:-1
sub = <function> defined =[C]:-1
gfind = <function> defined =[C]:-1
rep = <function> defined =[C]:-1
char = <function> defined =[C]:-1
rtgsub = <function> defined @Interface\FrameXML\RestrictedInfrastructure.lua:610
join = <function> defined =[C]:-1
reverse = <function> defined =[C]:-1
byte = <function> defined =[C]:-1
trim = <function> defined =[C]:-1
len = <function> defined =[C]:-1
find = <function> defined =[C]:-1
}