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
With today's maintenance on Wrath-Classic, I'm getting a lot of errors. This includes disabling Blizz's UI at the bank. I click the bag, but it doesn't disable Blizz UI.
HI Folks
My restack stopped working, does anyone know why?
I have assigned most of my gear to a custom category "gear xpac" which is placed in area 6. Majority of those items will reset back to their default category (which is in area 3), but moving them around (like swapping place of my two rings) seems to update so that the bag realises where they were supposed to be. Any idea what is causing this?
edit: video showing the issue:
download 3.10.12 alpha 4 as theres a bunch of tooltip scanning stuff that should be fixed in there. let me know if it isnt
hi would it be possible to enable class color when u hover your gold in the bag? right now i believe its only 1 color and in orange?
class colours in tooltips is already in there, you just have to turn it on
I have the current release (3.10.12) and have found that items are not tinting red if they are not my primary armor type on everything except cloth. So Leather, mail, and plate will have all armor types they can actually equip untinted - for example, my max level paladin has mail armor untinted. I do have the option checked.
theres an option in one of the alphas to tint "unwearable" items
Not sure if this is a game issue or addon:
I made two slots. one for equipment (soulbound) and one for equipment. For some reason, some equipment (soulbound) items are showing up in the equipment slot.
When I enter edit mode to check the equipment (soulbound) item, it shows as equipment.
If I sell something, the bag refreshes and moves some but not all items to the correct slot.
I've used kdiff3 on a few libs to find out discrepancies and came across this:
There could be some kind of issue with the version of the CallbackHandler lib that you are using even though it's theoretically the latest one.
There is indeed a patched version of that lib that is still also named 1-0 noted as recently patched by Nevcairiel:
--[[ $Id: CallbackHandler-1.0.lua 1284 2022-09-25 09:15:30Z nevcairiel $ ]]
I have found to be used in the Talent Tree Tweaks addon.
I tried replacing Arinventory's lib with this patched one and so far I haven't had that error popping anymore.
Maybe some functionalities of this lib used by other addons need the "patched version" ?
Which could cause other addons to have issues if it is the original version that is in use...
Just guessing there, I haven't investigated any further, I will update if I find anything else.
Here is a pastebin of the single lua file in the lib: https://pastebin.com/QM54vNW4
Hope this helps :)
Edit: I just had the error popping again when using Talent Tree Tweaks...
Fun fact I get an error on MultiBarRight:SetScaleBase() and a simple search inside my AddOns folder on "SetScaleBase",
Shows that it's never ever used anywhere...
I guess I should report that on the Talent Tree Tweaks addon for it's using that addon that trigger the error...
its not published yet.
i've copied the source over and theres no a lot of changes, they just dont make local copies of a few functions
Still considering myself as a new user of Ark, so - question:
Currently the location of item slots in windows is aligned to the bottom right corner. So upper left corner has some empty space (because value of "window lines multiplied by window rows" is not always equal to the real total number of summed item slots in all bags).
How can I move this empty space to the bottom right corner, and start positioning of item slots from top left corner (similar to other addons)?
set the item anchor position to where in the bar you want them to start
set the bar anchor position to where you want those to start in the window
you can also flip them via the sorting order, either overall or for a particular bar
In reply to Arkayenro:
Thanks, but currently I did not grow up to use bars yet. For now, I'm using the Ark only as a kind of "all-in-one".
Taking this into account, how can I reach the goal of removing the empty space in the top left corner?
EDIT: Forgot to tell that if I change items anchor to Top Left, then the order of items also changes (the last item in the bank goes to the top left). I don't want to change the order, I want the first item to go to the top left corner, and without empty item slots, like it is done in other addons.
EDIT 2: I think I found how to do what I want:
Items->Style->General->Anchor Point=Top Left
Bars->Style->General->Anchor Point=Default
Window->Style->General->Sorting Method=[9993] Bag / Slot (Descending)
(Please correct me if I'm wrong.)
No, that's basically it. If you really want to make use of this addon, you should take the time to look through all the options yourself, and configure them according to your needs. I made bars for equipment, consumables, labor and quests. I also put empty slots in their own bar and hid that bar, so they aren't displayed anymore.
| Got this error popping at some point:
1x [ADDON_ACTION_BLOCKED] AddOn 'ArkInventory' tried to call the protected function 'ActionButton2:SetAttribute()'.
[string "@!BugGrabber/BugGrabber.lua"]:480: in function <!BugGrabber/BugGrabber.lua:480>
[string "=[C]"]: in function `SetAttribute'
[string "@FrameXML/ActionButton.lua"]:350: in function `UpdatePressAndHoldAction'
[string "@FrameXML/ActionButton.lua"]:412: in function `Update'
[string "@FrameXML/ActionButton.lua"]:362: in function <FrameXML/ActionButton.lua:357>
[string "=[C]"]: in function `UpdateAction'
[string "@FrameXML/ActionButton.lua"]:821: in function `OnEvent'
[string "@FrameXML/ActionButton.lua"]:216: in function <FrameXML/ActionButton.lua:213>
[string "=[C]"]: in function `SetMacroSpell'
[string "@GSE/API/Storage.lua"]:734: in function `method'
[string "@FrameXML/RestrictedFrames.lua"]:791: in function <FrameXML/RestrictedFrames.lua:783>
[string "=[C]"]: ?
...
[string "@FrameXML/ChatFrame.lua"]:4888: in function `ChatEdit_SendText'
[string "@FrameXML/ChatFrame.lua"]:3132: in function <FrameXML/ChatFrame.lua:3125>
[string "=[C]"]: in function `UseAction'
[string "@FrameXML/SecureTemplates.lua"]:364: in function `handler'
[string "@FrameXML/SecureTemplates.lua"]:690: in function <FrameXML/SecureTemplates.lua:672>
[string "@FrameXML/SecureTemplates.lua"]:704: in function <FrameXML/SecureTemplates.lua:697>
[string "@FrameXML/SecureTemplates.lua"]:746: in function `SecureActionButton_OnClick'
[string "@FrameXML/ActionButton.lua"]:109: in function `TryUseActionButton'
[string "@FrameXML/ActionButton.lua"]:144: in function `ActionButtonDown'
[string "ACTIONBUTTON2"]:2: in function <[string "ACTIONBUTTON2"]:1>
-------------------------------------------------------------------------------------------------------------
After that, the following error started to happen constantly whenever I was fighting
------------------------------------------------------------------------------------------------------------
620x FrameXML/EditModeUtil.lua:22: attempt to perform arithmetic on local 'offsetX' (a nil value)
[string "@FrameXML/EditModeUtil.lua"]:22: in function `GetRightActionBarWidth'
[string "@FrameXML/EditModeUtil.lua"]:53: in function `GetRightContainerAnchor'
[string "@FrameXML/UIParent.lua"]:3082: in function `UIParentManageFramePositions'
[string "@FrameXML/UIParent.lua"]:2561: in function <FrameXML/UIParent.lua:2548>
[string "=[C]"]: in function `SetAttribute'
[string "@FrameXML/UIParent.lua"]:3104: in function `UIParent_ManageFramePositions'
[string "@FrameXML/EditModeManager.lua"]:605: in function `UpdateRightActionBarPositions'
[string "@FrameXML/EditModeManager.lua"]:557: in function `UpdateActionBarLayout'
[string "@FrameXML/ActionBar.lua"]:351: in function `UpdateVisibility'
[string "@FrameXML/ActionBar.lua"]:310: in function `ShowOverride'
[string "@FrameXML/ActionBar.lua"]:300: in function `SetShown'
[string "@FrameXML/MultiActionBars.lua"]:32: in function <FrameXML/MultiActionBars.lua:30>
[string "@FrameXML/MultiActionBars.lua"]:43: in function `MultiActionBar_Update'
[string "@FrameXML/ActionBarController.lua"]:209: in function `ValidateActionBarTransition'
[string "@FrameXML/ActionBarController.lua"]:161: in function `ActionBarController_UpdateAll'
[string "@FrameXML/ActionBarController.lua"]:66: in function <FrameXML/ActionBarController.lua:55>
Locals:
self = <table> {
GetSettingMapFromSettings = <function> defined @FrameXML/EditModeUtil.lua:58
IsRightAnchoredActionBar = <function> defined @FrameXML/EditModeUtil.lua:3
GetRightContainerAnchor = <function> defined @FrameXML/EditModeUtil.lua:52
IsBottomAnchoredActionBar = <function> defined @FrameXML/EditModeUtil.lua:8
GetRightActionBarWidth = <function> defined @FrameXML/EditModeUtil.lua:18
GetBottomActionBarHeight = <function> defined @FrameXML/EditModeUtil.lua:33
}
offset = 0
point = nil
relativeTo = nil
relativePoint = nil
offsetX = nil
offsetY = nil
(*temporary) = 45.000046
(*temporary) = 45.000046
(*temporary) = MultiBarRight {
0 = <userdata>
buttonPadding = 2
UpdateSystemSettingAlwaysShowButtons = <function> defined @FrameXML/EditModeSystemTemplates.lua:772
UpdateMagnetismRegistration = <function> defined @FrameXML/EditModeSystemTemplates.lua:506
GetSnapOffsets = <function> defined @FrameXML/EditModeSystemTemplates.lua:411
UpdateFrameStrata = <function> defined @FrameXML/ActionBar.lua:194
UpdateButtonArt = <function> defined @FrameXML/EditModeSystemTemplates.lua:669
IsFrameAnchoredToMe = <function> defined @FrameXML/EditModeSystemTemplates.lua:469
buttonTemplate = "MultiBar3ButtonTemplate"
ShowBase = <function> defined =[C]:-1
IsShown = <function> defined @FrameXML/ActionBar.lua:286
GetSelectionOffset = <function> defined @FrameXML/EditModeSystemTemplates.lua:363
ResetToDefaultPosition = <function> defined @FrameXML/EditModeSystemTemplates.lua:148
RefreshButtonArt = <function> defined @FrameXML/EditModeSystemTemplates.lua:662
GetScaledSelectionSides = <function> defined @FrameXML/EditModeSystemTemplates.lua:355
SelectSystem = <function> defined @FrameXML/EditModeSystemTemplates.lua:534
buttonArtDirty = false
GetFrameMagneticEligibility = <function> defined @FrameXML/EditModeSystemTemplates.lua:489
AddLayoutChildren = <function> defined @SharedXML/LayoutFrame.lua:48
IsBelowFrame = <function> defined @FrameXML/EditModeSystemTemplates.lua:322
UpdateSystemSettingIconSize = <function> defined @FrameXML/EditModeSystemTemplates.lua:714
SetScaleBase = <function> defined =[C]:-1
HasActiveChanges = <function> defined @FrameXML/EditModeSystemTemplates.lua:244
GetScaledCenter = <function> defined @FrameXML/EditModeSystemTemplates.lua:348
DoesSettingDisplayValueEqual = <function> defined @FrameXML/EditModeSystemTemplates.lua:268
Layout = <function> defined @SharedXML/LayoutFrame.lua:333
settingDisplayInfoMap = <table> {
}
addSystemIndexToName = true
IsLayoutFrame = <function> defined @SharedXML/LayoutFrame.lua:36
DoesSettingValueEqual = <function> defined @FrameXML/EditModeSystemTemplates.lua:263
MarkDirty = <function> defined @SharedXML/LayoutFrame.lua:90
ShouldResetSettingsDialogAnchors = <function> defined @FrameXML/EditModeSystemTemplates.lua:91
dirtySettings = <table> {
}
UpdateGridLayout = <function> defined @FrameXML/EditModeSystemTemplates.lua:648
IsToTheLeftOfFrame = <function> defined @FrameXML/EditModeSystemTemplates.lua:304
GetSettingsDialogAnchor = <function> defined @FrameXML/EditModeSystemTemplates.lua:288
hasActiveChanges = false
OnSystemLoad = <function> defined @FrameXML/EditModeSystemTemplates.lua:3
ClearFrameSnap = <function> defined @FrameXML/EditModeSystemTemplates.lua:448
GetCombinedCenterOffset = <function> defined @FrameXML/EditModeSystemTemplates.lua:398
SetupSettingsDialogAnchor = <function> defined @FrameXML/EditModeSystemTemplates.lua:232
IsShownOverride = <function> defined @FrameXML/ActionBar.lua:286
dirty = false
SetPointBase = <function> defined =[C]:-1
UpdateSystem = <function> defined @FrameXML/EditModeSystemTemplates.lua:586
CacheGridSettings = <function>
Not sure if this can help in some way but I thought I might post it.
On a note, I have NoTaint2 addon installed and it did not pop the "Action bar are Tainted!" banner yet.
> [string "@GSE/API/Storage.lua"]:734: in function `method'
what is GSE?
i dont touch action bars, no need to. it will either be taint from the shared libraries, or something using the shared libraries to call that function.
In reply to Arkayenro:
GSE is Gnome Sequencer.
It is an addon that make macros allowing for simple one button kind of rotation at the expense of precision and performance.
It's pretty useful to get acquainted with a new class or if you just want to have a simple easy going playstyle.
That is quite misleading that the error report from WoW doesn't point at the incriminated library.
And it doesn't help anyone either, as it seems people are having trouble localizing this problem.
------------------------------------------------------------------------------------------
While you're here, I'm taking the chance to try to tackle a problem I have with ArkInventory and that you might help me with:
Whenever I move the ArkInventory bag window, or when I just left or right click anywhere but on a button or on an item.
The items inside the ArkInventory bag window become completely non-interactive, no reaction to clicks, no mouseover tooltip.
This until I close and reopen the window or until I click the Refresh button. Clicking in between two items cause the same issue.
Is there a way I could fix this ? It is a bit annoying...
Thanks!
that sounds like one of the frames has bumped up over the items. standard framelevel issue but ive got code that completely rebuilds the framelevels to get around that happening (which runs on refresh).
theres not a lot i can do to fix it though, thus the workaround.
I got to have it kind of automatically "fixing" the issue using a small ahk script:
Assuming 'F10' is the default hotkey for opening / closing bags.
Using a function key to avoid those keys being added to input fields like the chat dialog for instance.
As it would happen if using a letter hotkey like 'b', you'd constantly get 'bb' added wherever you click.
#IfWinActive ahk_exe Wow.exe
^F10:: FixEnabled := !FixEnabled
#if FixEnabled
~RButton Up::
SetTimer, CloseReopenBag, -50
return
~LButton Up::
SetTimer, CloseReopenBag, -50
return
CloseReopenBag() {
Send {F10}
Send {F10}
}
#if
#IfWinActive
It's pretty bare but at least it does the job ^^
The 50ms delay is to give enough time so the window position is saved before we close / reopen it.
It was jerking the window back where it came from when I tried to send the b/b right away...
You would also likely want to mute those two sound IDs: 567461 and 567512 (bag open and close)
using MuteSounfFile addon to avoid having those constantly triggered with every mouse clicks:
Edit:
It's a crappy fix tbh, better not use it, you'd have trouble with every drop down menu that would close on button release.
Or you'd have to have another hotkey just to disable it, that's way too much bother for what it is, better wait for 3.10.12 alpha 1 :)
I edited it to use Control+F10 as toggle to enable disable the fix, you can edit the hotkeys I use as it suits you better...