Download
(91Kb)
Download
Updated: 06-29-24 03:52 PM
Pictures
File Info
Compatibility:
The War Within Beta (11.0.0)
Dark Heart (10.2.7)
Updated:06-29-24 03:52 PM
Created:unknown
Downloads:763,861
Favorites:1,968
MD5:
10.2.7

ItemRack  Popular! (More than 5000 hits)

Version: 3.34
by: Kharthus, Gello

This is a mod to make swapping equipment easier through popout slot menus, equip slot buttons, gear sets and automated swaps.

__ Quick Start Guide __

Minimap button:
* Right-click the minimap button to open options or create sets
* Left-click the minimap button to choose a set
* Shift-click the minimap button to unequip the last set equipped
* Alt-click the minimap button to toggle events on/off

Dockable buttons:
* Alt+click slots on the character sheet to create/remove buttons
* Alt+click yourself in the character sheet to create/remove a set button
* Alt+click the created buttons to toggle their auto-queue status
* Shift+drag buttons to break them apart if they're docked to each other
* Drag the menu's border around to dock it to a different side of buttons
* Right-click the menu's border to rotate the menu
* Size, alpha, spacing, etc are in options

Creating/equipping sets:
* You create sets in the Sets tab after right-clicking the minimap button
* Select slots for the set, choose a name and icon and click Save
* Once a set is saved, there are several ways to equip it:
1. Left-click the minimap button and choose the set
2. Mouseover a set button you've created (Alt+click yourself in character sheet)
3. Use a key binding you define in the set ("Bind Key" button)
4. In macros with /itemrack equip setname
5. In events or scripts that use EquipSet("setname")

Popout menus:
* Click an item or set in a menu to equip it
* Shift+click a set in a menu to unequip it
* Alt+click an item in a menu to hide/unhide it
* Hold Alt as you mouseover a slot to show all hidden items

While at a bank:
* Items/sets in the bank have a blue border.
* Selecting an item or set that's in the bank will pull it from the bank to your bags.
* Selecting an item or set that's not in the bank will attempt to put it all into the bank.

__ Slash Commands __

/itemrack : list the most common slash commands
/itemrack opt : summon the options GUI
/itemrack equip setname : equips a set
/itemrack reset : resets buttons
/itemrack reset everything : wipes all settings, sets and events
/itemrack lock/unlock : locks and unlocks the buttons
/itemrack toggle set name[, second set name] : equips/unequips "set name" (or swaps between two sets if a second set given)

__ Macro Functions __

EquipSet("setname") -- equips "setname"
UnequipSet("setname") -- unequips "setname"
ToggleSet("setname") -- toggles (equips then unequips) "setname"
IsSetEquipped("setname") -- returns true if "setname" is equipped

In the unlikely event that another mod (or default UI in the future) uses these function names, you can use their long version ItemRack.EquipSet(), ItemRack.UnequipSet(), etc. This mod only commandeers the shortened names if they appear to be unused.

__ Events __

2.2 (re)introduces events. These are scripts to automatically equip and unequip gear as things happen in game.

To use an event:
1. In the 'Sets' tab, create or make sure you have a set you'd like to equip when the event happens.
2. In the 'Events' tab, click the red ? icon beside the event you want to use.
3. Choose the set for this event.
4. Ensure the event has a check beside it.

As events are enabled, a separate process watches for those events and equips (and unequips if chosen) as they happen.

If you want to create or edit an event, there are four types of events:

Buff: These events equip gear as you gain buffs. ie, Evocation, Drinking and being on a mount.
Stance: These events equip gear when you change stances or forms. ie, Battle Stance, Moonkin Form, Shadowform
Zone: These events equip gear when you're in one of a list of zones. ie, the PVP event includes all arena and BG maps.
Script: For those with lua knowledge, you can create your own event based on a game event. A couple examples are in the default events.

When dealing with events, it's good to keep some things in mind:
* You'll get the most predictable behavior by having sets that don't overlap. If you're a warrior with a Tanking, DPS and PVP set, consider not including weapons in those sets. If you decide to make an event to swap in a 2H when you go into Berserker Stance and a 1h+shield when you go into Defensive Stance, you won't step on the toes of events that swap in PVP gear in a BG/arena or a tuxedo in a city.
* A gold gear icon on the minimap button (and on the sets button if you've created one) means that events are enabled. If you decide you want to temporarily shut down all events, Alt+click the minimap button or the sets button. (You can disable events in options also)
* For non-English users, you might want to edit the events that have English text within them. I try to keep it locale-independant when possible (ie, warrior and most druid stances use the numbers instead of names), but you'll never enter "Stormwind City" on a deDE client for the city event.
* Script Events do not have a "set" defined to them like other events do. They need to EquipSet("setname") explicitly. Its set button will always be the macro keys icon.
* Advanced users of 1.9x may notice the lack of a delay option in scripted events. I've decided to pull this down into the scripting system to streamline the event process. For now, you can use ItemRack.CreateTimer and ItemRack.StartTimer defined in ItemRack.lua.

__ New in 3.34 - By Kharthus __

* Fixed IsEquippableItem and IsEquippedItem calls

__ New in 3.33 - By Kharthus __

* Fixed C_AddOns calls
* Fixed UnitBuff call

__ New in 3.32 - By Kharthus __

* Fixed all GetItem API calls
* Fixed UseItemByName
* Changed GetMouseFocus to GetMouseFoci for 11.0.0

__ New in 3.31 - By Kharthus __

* TOC update for 11.0.0 patch

__ New in 3.30 - By Kharthus __

* TOC update for 10.2.7 patch

__ New in 3.29 - By Kharthus __

* TOC update for 10.2.6 patch

__ New in 3.28 - By Kharthus __

* TOC update for 10.1.5 patch

__ New in 3.27 - By Kharthus __

* TOC update for 10.1.0 patch
* Addon compartment support
* Clickthrough buttons once again work on mouseUp
* Fix for addons collecting buttons (thanks sfmict)

__ New in 3.26 - By Kharthus __

* Fixed set icon list (thanks SlavKnightGeto)
* Fixed inventory icon sizing in Options window

__ New in 3.25 - By Kharthus __

* Fixed clickthrough on floating buttons that use inventory items.

__ New in 3.24 - By Kharthus __

* TOC update for 10.0.7 patch

__ New in 3.23 - By Kharthus __

* TOC update for 10.0.5 patch

__ New in 3.22 - By Kharthus __

* Fix for errors when mousing over item slots

__ New in 3.21 - By Kharthus __

* Updates for 10.0.2 patch

__ New in 3.20 - By Kharthus __

* Updates for 10.0 patch

__ New in 3.17 - By Kharthus __

* TOC update for 9.2.5 patch

_ New in 3.16 - By Kharthus __

* TOC update for 9.2 patch

__ New in 3.15 - By Kharthus __

* TOC update for 9.1.5 patch

__ New in 3.14 - By Kharthus __

* TOC update for 9.1 patch

__ New in 3.13 - By Kharthus __

* TOC update for 9.0.5 patch

__ New in 3.12 - By Kharthus __

* TOC update for 9.0.2 patch

__ New in 3.11 - By Kharthus __

- Updates to support Shadowlands Pre-Patch

- Change log up to this version removed from hosting site and archived in Change Log.txt
Optional Files (0)


Archived Files (18)
File Name
Version
Size
Author
Date
3.33
91kB
Kharthus
06-28-24 11:47 PM
3.32
91kB
Kharthus
06-28-24 11:09 PM
3.31
91kB
Kharthus
06-14-24 12:19 PM
3.30
91kB
Kharthus
05-07-24 07:44 PM
3.29
91kB
Kharthus
05-05-24 10:53 PM
3.28
91kB
Kharthus
07-18-23 01:31 PM
3.27
91kB
Kharthus
05-07-23 11:56 AM
3.26
91kB
Kharthus
04-02-23 08:20 PM
3.25
91kB
Kharthus
03-27-23 07:37 AM
3.24
91kB
Kharthus
03-26-23 02:22 PM
3.23
91kB
Kharthus
02-24-23 12:56 PM
3.22
91kB
Kharthus
12-02-22 02:32 AM
3.21
91kB
Kharthus
11-15-22 08:29 PM
3.20
91kB
Kharthus
11-04-22 11:17 AM
3.17
91kB
Kharthus
06-01-22 10:36 PM
3.16
91kB
Kharthus
02-22-22 10:36 PM
3.15
91kB
Kharthus
01-28-22 09:56 AM
3.14
91kB
Kharthus
07-03-21 08:50 AM


Post A Reply Comment Options
Unread 05-26-23, 05:46 PM  
Kharthus
A Fallenroot Satyr
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 294
Uploads: 9
Re: Loadouts?

Originally Posted by Holymez
I've been looking for an addon that would switch gearsets when I change loadouts w/in a spec (IE - switch between prot raid & prot M+). So far, IR's the only one that come close, but I'm not sure if even it will do it.

Is there a way or a script that will allow you to swap gear that way? It's been years since I've mucked around with LUA, so I'm not comfortable just trying my hand at it blindly.

TIA!

Mez
ItemRack was written long, long before the current spec system. It has some builtin scripting, but no idea how well that still works. You can poke around, but no guarantee those functions still work correctly.
Report comment to moderator  
Reply With Quote
Unread 05-23-23, 08:49 PM  
Holymez
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
Loadouts?

I've been looking for an addon that would switch gearsets when I change loadouts w/in a spec (IE - switch between prot raid & prot M+). So far, IR's the only one that come close, but I'm not sure if even it will do it.

Is there a way or a script that will allow you to swap gear that way? It's been years since I've mucked around with LUA, so I'm not comfortable just trying my hand at it blindly.

TIA!

Mez
Report comment to moderator  
Reply With Quote
Unread 03-28-23, 12:24 PM  
LadySilverwolf
Premium Member
 
LadySilverwolf's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 41
File comments: 70
Uploads: 2
Originally Posted by Kharthus

Should work now in 3.25. It was due to a UI change with DF that broke a bunch of stuff.
Thank you so very much!!!
__________________
~ Strength of Character withstands the Test of Time. ~
Report comment to moderator  
Reply With Quote
Unread 03-27-23, 07:37 AM  
Kharthus
A Fallenroot Satyr
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 294
Uploads: 9
Originally Posted by LadySilverwolf
One of the things I really like about ItemRack is the fact I can put an equipment button on my interface that does not take up a spot on my bars. I typically use these types of buttons to use features such as engineering goblin gliders on capes, or other 'Use' items like teleport rings.

Unfortunately the ability to 'click' on these buttons seems to have disappeared or is no longer available. I receive no errors, nor do am I able to activate the items when clicking ItemRack buttons.

Has this change come about because of the new UI interface changes with DF? It had been working in Shadowlands.
Should work now in 3.25. It was due to a UI change with DF that broke a bunch of stuff.
Report comment to moderator  
Reply With Quote
Unread 01-21-23, 11:57 AM  
LadySilverwolf
Premium Member
 
LadySilverwolf's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 41
File comments: 70
Uploads: 2
One of the things I really like about ItemRack is the fact I can put an equipment button on my interface that does not take up a spot on my bars. I typically use these types of buttons to use features such as engineering goblin gliders on capes, or other 'Use' items like teleport rings.

Unfortunately the ability to 'click' on these buttons seems to have disappeared or is no longer available. I receive no errors, nor do am I able to activate the items when clicking ItemRack buttons.

Has this change come about because of the new UI interface changes with DF? It had been working in Shadowlands.
__________________
~ Strength of Character withstands the Test of Time. ~
Report comment to moderator  
Reply With Quote
Unread 12-02-22, 02:43 PM  
Kharthus
A Fallenroot Satyr
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 294
Uploads: 9
Originally Posted by DreamsUnderStars
Mousing over the item rack slots, and I think it happens on all my characters. I'll turn off the other addons to see if I still get the errors.

Strange, it doesn't seem to be doing it anymore... I tried it on my monk both with/without other addons.
It wasn't consistent for me either, so I just put in a workaround.
Report comment to moderator  
Reply With Quote
Unread 11-26-22, 11:26 AM  
DreamsUnderStars
A Defias Bandit

Forum posts: 3
File comments: 105
Uploads: 0
Mousing over the item rack slots, and I think it happens on all my characters. I'll turn off the other addons to see if I still get the errors.

Strange, it doesn't seem to be doing it anymore... I tried it on my monk both with/without other addons.
Last edited by DreamsUnderStars : 11-26-22 at 12:32 PM.
Report comment to moderator  
Reply With Quote
Unread 11-22-22, 09:53 AM  
Kharthus
A Fallenroot Satyr
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 294
Uploads: 9
Certain class/race? Mousing over an item slot on the character frame? I'm not currently seeing this error.

Originally Posted by DreamsUnderStars
This happens everytime I mouse over an item slot. I can still use the addon, I just have to move the bug window around. Still useable (for now), just a bother.

Code:
Message: Interface/AddOns/ItemRack/ItemRack.lua:497: bad argument #2 to 'GetContainerItemLink' (outside of expected range 0 to 4294967295 - Usage: local itemLink = C_Container.GetContainerItemLink(containerIndex, slotIndex))
Time: Thu Nov 17 13:56:46 2022
Count: 1
Stack: Interface/AddOns/ItemRack/ItemRack.lua:497: bad argument #2 to 'GetContainerItemLink' (outside of expected range 0 to 4294967295 - Usage: local itemLink = C_Container.GetContainerItemLink(containerIndex, slotIndex))
[string "=[C]"]: in function `GetContainerItemLink'
[string "@Interface/AddOns/ItemRack/ItemRack.lua"]:497: in function `getid'
[string "@Interface/AddOns/ItemRack/ItemRack.lua"]:546: in function `FindItem'
[string "@Interface/AddOns/ItemRack/ItemRack.lua"]:1398: in function `IDTooltip'
[string "@Interface/AddOns/ItemRackOptions/ItemRackOptions.lua"]:52: in function `InvOnEnter'
[string "*ItemRackOptions.xml:738_OnEnter"]:1: in function <[string "*ItemRackOptions.xml:738_OnEnter"]:1>

Locals: (*temporary) = -1
(*temporary) = -13
(*temporary) = "outside of expected range 0 to 4294967295 - Usage: local itemLink = C_Container.GetContainerItemLink(containerIndex, slotIndex)"
Report comment to moderator  
Reply With Quote
Unread 11-17-22, 12:57 PM  
DreamsUnderStars
A Defias Bandit

Forum posts: 3
File comments: 105
Uploads: 0
This happens everytime I mouse over an item slot. I can still use the addon, I just have to move the bug window around. Still useable (for now), just a bother.

Code:
Message: Interface/AddOns/ItemRack/ItemRack.lua:497: bad argument #2 to 'GetContainerItemLink' (outside of expected range 0 to 4294967295 - Usage: local itemLink = C_Container.GetContainerItemLink(containerIndex, slotIndex))
Time: Thu Nov 17 13:56:46 2022
Count: 1
Stack: Interface/AddOns/ItemRack/ItemRack.lua:497: bad argument #2 to 'GetContainerItemLink' (outside of expected range 0 to 4294967295 - Usage: local itemLink = C_Container.GetContainerItemLink(containerIndex, slotIndex))
[string "=[C]"]: in function `GetContainerItemLink'
[string "@Interface/AddOns/ItemRack/ItemRack.lua"]:497: in function `getid'
[string "@Interface/AddOns/ItemRack/ItemRack.lua"]:546: in function `FindItem'
[string "@Interface/AddOns/ItemRack/ItemRack.lua"]:1398: in function `IDTooltip'
[string "@Interface/AddOns/ItemRackOptions/ItemRackOptions.lua"]:52: in function `InvOnEnter'
[string "*ItemRackOptions.xml:738_OnEnter"]:1: in function <[string "*ItemRackOptions.xml:738_OnEnter"]:1>

Locals: (*temporary) = -1
(*temporary) = -13
(*temporary) = "outside of expected range 0 to 4294967295 - Usage: local itemLink = C_Container.GetContainerItemLink(containerIndex, slotIndex)"
Last edited by DreamsUnderStars : 11-18-22 at 09:34 AM.
Report comment to moderator  
Reply With Quote
Unread 11-12-22, 10:41 AM  
Kharthus
A Fallenroot Satyr
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 294
Uploads: 9
Originally Posted by DreamsUnderStars
There's no function to hide the minimap button except on mouseover. I don't remember if that was ever an option though.
You can turn the minimap button off in settings.
Report comment to moderator  
Reply With Quote
Unread 11-11-22, 09:27 AM  
DreamsUnderStars
A Defias Bandit

Forum posts: 3
File comments: 105
Uploads: 0
There's no function to hide the minimap button except on mouseover. I don't remember if that was ever an option though.
Report comment to moderator  
Reply With Quote
Unread 10-29-22, 04:36 PM  
Kharthus
A Fallenroot Satyr
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 294
Uploads: 9
It's pretty badly broken. I can get past that first error, but I'm stuck on the next ten or so.
Report comment to moderator  
Reply With Quote
Unread 10-27-22, 07:37 AM  
DreamsUnderStars
A Defias Bandit

Forum posts: 3
File comments: 105
Uploads: 0
Code:
Message: Interface/AddOns/ItemRack/ItemRackButtons.lua:27: attempt to index global 'CharacterModelFrame' (a nil value)
Time: Thu Oct 27 09:36:32 2022
Count: 385
Stack: Interface/AddOns/ItemRack/ItemRackButtons.lua:27: attempt to index global 'CharacterModelFrame' (a nil value)
[string "@Interface/AddOns/ItemRack/ItemRackButtons.lua"]:27: in function `InitButtons'
[string "@Interface/AddOns/ItemRack/ItemRack.lua"]:201: in function `func'
[string "@Interface/AddOns/ItemRack/ItemRack.lua"]:819: in function `OnUpdate'
[string "*ItemRack.xml:10_OnUpdate"]:1: in function <[string "*ItemRack.xml:10_OnUpdate"]:1>

Locals: (*temporary) = <table> {
 ResetButtons = <function> defined @Interface/AddOns/ItemRack/ItemRackButtons.lua:686
 FindItem = <function> defined @Interface/AddOns/ItemRack/ItemRack.lua:529
 RunSetBinding = <function> defined @Interface/AddOns/ItemRack/ItemRack.lua:1856
 OnEnterButton = <function> defined @Interface/AddOns/ItemRack/ItemRackButtons.lua:384
 BracketInfo = <table> {
 }
 SameID = <function> defined @Interface/AddOns/ItemRack/ItemRack.lua:505
 LockChangedDuringSetSwap = <function> defined @Interface/AddOns/ItemRack/ItemRackEquip.lua:143
 OnItemLockChanged = <function> defined @Interface/AddOns/ItemRack/ItemRack.lua:227
 InitTimers = <function> defined @Interface/AddOns/ItemRack/ItemRack.lua:765
 SetFont = <function> defined @Interface/AddOns/ItemRack/ItemRack.lua:1772
 LegalDock = <function> defined @Interface/AddOns/ItemRack/ItemRackButtons.lua:197
 PlayerCanWear = <function> defined @Interface/AddOns/ItemRack/ItemRack.lua:685
 Menu = <table> {
 }
 MinimapDragging = <function> defined @Interface/AddOns/ItemRack/ItemRack.lua:1644
 OppositeSide = <table> {
 }
 ReflectClicked = <table> {
 }
 IsRed = <function> defined @Interface/AddOns/ItemRack/ItemRack.lua:678
 ReflectItemUse = <function> defined @Interface/AddOns/ItemRack/ItemRack.lua:1262
 MenuFrameOnMouseUp = <function> defined @Interface/AddOns/ItemRack/ItemRackButtons.lua:411
 InitEvents = <function> defined @Interface/AddOns/ItemRack/ItemRackEvents.lua:210
 StopTimer = <function> defined @Interface/AddOns/ItemRack/ItemRack.lua:803
 PeriodicQueueCheck = <function> defined @Interface/AddOns/ItemRack/ItemRackQueue.lua:4
 newUseItemByName = <function> defined @Interface/AddOns/ItemRack/ItemRack.lua:1296
 AlreadyInMenu = <function> defined @Interface/AddOns/ItemRack/ItemRack.lua:856
 UpdateMenuCooldowns = <function> defined @Interface/AddOns/ItemRack/ItemRack.lua:1053
 newUseAction = <function> defined @Interface/AddOns/ItemRack/ItemRack.lua:1282
 OnLoad = <function> defined @Interface/AddOns/ItemRack/ItemRack.lua:165
 RemoveButton = <function> defined @Interface/AddOns/ItemRack/ItemRackButtons.lua:128
 ClearLockList = <function> defined @Interface/AddOns/ItemRack/ItemRack.lua:639
 EventHandlers = <table> {
 }
 Version = "3.17"
 ButtonsDocking = <function> defined @Interface/AddOns/ItemRack/ItemRackButtons.lua:219
 ItemNearReady = <function> defined @Interface/AddOns/ItemRack/ItemRackQueue.lua:84
 ToggleSet = <function> defined @Interface/AddOns/ItemRack/ItemRackEquip.lua:318
 AddHidden = <function> defined @Interface/AddOns/ItemRack/ItemRack.lua:1801
 GetID = <function> defined @Interface/AddOns/ItemRack/ItemRack.lua:494
 KnownItems = <table> {
 }
 Notify = <function> defined @Interface/AddOns/ItemRack/ItemRack.lua:1546
 DockInfo = <table> {
 }
 ConstructLayout = <function> defined @Interface/AddOns/ItemRack/ItemRackButtons.lua:301
 ReflectClickedUpdate = <function> defined @Interface/AddOns/ItemRack/ItemRackButtons.lua:532
 CHARGES_PATTERNS = <table> {
 }
 GetCountByID = <function> defined @Interface/AddOns/ItemRack/ItemRack.lua:521
 InitCore = <function> defined @Interface/AddOns/ItemRack/ItemRack.lua:344
 IsHidden = <function> defined @Interface/AddOns/ItemRack/ItemRack.lua:1821
 MenuMouseoverFrames = <table> {
 }
 UpdateCombatQueue = <function> defined @Interface/AddOns/ItemRack/ItemRack.lua:1332
 GetInfoByID = <function> defined @Interface/AddOns/ItemRa
Report comment to moderator  
Reply With Quote
Unread 10-26-22, 08:54 AM  
Kharthus
A Fallenroot Satyr
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 294
Uploads: 9
Originally Posted by DreamsUnderStars
Is this going to be updated for 10.0?
That's the plan. Let me know what isn't working. I haven't logged in yet.
Report comment to moderator  
Reply With Quote
Unread 10-25-22, 11:41 PM  
DreamsUnderStars
A Defias Bandit

Forum posts: 3
File comments: 105
Uploads: 0
Is this going to be updated for 10.0?
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: