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
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
}
looks like they removed a global, MAX_CONTAINER_ITEMS, which i used to prebuild the item slots. youd probably only notice an issue if you entered the game while in combat and tried to open your bags
it should be fine as i build them as needed as well but i'll see if theres a replacement to kill the error
should be fixed in the latest alpha (r1003-alpha)
Since the update, AddOnSkins is broken with Ark Inventory Classic:
Message: ...face\AddOns\AddOnSkins\Skins\AddOns\ArkInventory.lua:58: attempt to index field '?' (a nil value)
Time: Sat Aug 15 19:34:07 2020
Count: 10
Stack: ...face\AddOns\AddOnSkins\Skins\AddOns\ArkInventory.lua:58: attempt to index field '?' (a nil value)
...Ons\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:733: in function <...Ons\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:693>
...tCouncil_Classic\RCLootCouncil\Core\ErrorHandler.lua:146: in function <...tCouncil_Classic\RCLootCouncil\Core\ErrorHandler.lua:144>
[C]: ?
...face\AddOns\AddOnSkins\Skins\AddOns\ArkInventory.lua:58: in function <...face\AddOns\AddOnSkins\Skins\AddOns\ArkInventory.lua:43>
[C]: in function `Frame_Bar_Paint'
Interface\AddOns\ArkInventory\ArkInventory.lua:6530: in function `Frame_Container_Draw'
Interface\AddOns\ArkInventory\ArkInventory.lua:5252: in function `Frame_Main_Draw_Threaded'
Interface\AddOns\ArkInventory\ArkInventory.lua:5182: in function <Interface\AddOns\ArkInventory\ArkInventory.lua:5181>
Locals: errMsg = "...face\AddOns\AddOnSkins\Skins\AddOns\ArkInventory.lua:58: attempt to index field '?' (a nil value)"
tsmErrMsg = nil
oldModule = nil
private = <table> {
CreateErrorFrame = <function> defined @Interface\AddOns\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:514
num = 0
ErrorHandler = <function> defined @Interface\AddOns\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:132
hitInternalError = false
origErrorHandler = <function> defined @Interface\SharedXML\SharedBasicControls.lua:295
FormatErrorMessageSection = <function> defined @Interface\AddOns\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:495
AddonBlockedHandler = <function> defined @Interface\AddOns\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:480
SanitizeString = <function> defined @Interface\AddOns\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:488
GetStackLevelInfo = <function> defined @Interface\AddOns\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:328
ParseLocals = <function> defined @Interface\AddOns\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:380
errorReports = <table> {
}
IsTSMAddon = <function> defined @Interface\AddOns\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:456
localLinesTemp = <table> {
}
GetStackInfo = <function> defined @Interface\AddOns\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:297
}
MAX_STACK_DEPTH = 50
OLD_TSM_MODULES = <table> {
1 = "TradeSkillMaster_Accounting"
2 = "TradeSkillMaster_AuctionDB"
3 = "TradeSkillMaster_Auctioning"
4 = "TradeSkillMaster_Crafting"
5 = "TradeSkillMaster_Destroying"
6 = "TradeSkillMaster_Mailing"
7 = "TradeSkillMaster_Shopping"
8 = "TradeSkillMaster_Vendoring"
9 = "TradeSkillMaster_Warehousing"
}
shadowlands border changes caused the issue, they need to update.
issue has already been reported - https://github.com/arkayenro/arkinventory/issues/1340
Since the newest update, the border of items are shwown without corner. Doesnt look nice.
Also, caged battle pets are still shown as yellow "W" in my everywhere. While I have them picked up with my mouse, the icon changes to the correct one, but as soon as I drop them anywhere, they go back to "W". I cant open them and AI does not sort them in any way! ArkInventory is not usable like this!
borders will be fixed in the next alpha/release
battlepets showing the default wow icon is something that just happens, i think the pet journal possibly gets stuck somewhere and i cant get the data i need out of it, but i cant reproduce it to work out what the problem is
Hello, can you please attach VersionHistory on next releases? Right now we can't seen changes on CurseForge/Twitch, we has to open VersionHistory.txt in addon folder.