This is a mod to make swapping equipment easier through popout slot menus, equip slot buttons, gear sets and automated swaps.
__ New in 2.25 __
* Fix for Titan's Grip and dual spec
* Fix for Shaman's dual wield
* Updated .toc for 3.1
__ 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.
__ Future plans __
* Move back to an associated set icon for script events
* Possible option of flags for less "persistent" events (only equip if specific state changes)
* Tighter integration/use of EquipItemByName for unique slots
* Moving options to the default UI's new option panels
* Dynamically reordering gear swaps to handle unique-equipped gems in different sets
* Supporting the existing ItemRackFu and TitanFu plugins if possible
* Native ButtonFacade support
* Possibly adding a Combat Log event type
* A set button to sit to the left of weapon slot since the character model isn't an intuitive "button"
* Moving slot key bindings back to default key binding interface
[2009/06/09 19:31:51-232-x1]: ButtonFacade_ItemRack-2.25\ButtonFacade_ItemRack.lua:20: attempt to call method 'RegisterNamespace' (a nil value)
(tail call): ?:
<in C code>: ?
<string>:"safecall Dispatcher[1]":9: in function <[string "safecall Dispatcher[1]"]:5>
(tail call): ?:
AceAddon-3.0-5 (Accomplishment):502: in function `InitializeAddon'
AceAddon-3.0-5 (Accomplishment):614: in function <...Ons\Accomplishment\Lib\AceAddon-3.0\AceAddon-3.0.lua:607>
---
[2009/06/09 19:32:26-232-x1]: ButtonFacade_ItemRack-2.25\ButtonFacade_ItemRack.lua:45: attempt to index field 'db' (a nil value)
ButtonFacade_ItemRack-2.25\ButtonFacade_ItemRack.lua:61: in function `Load'
ButtonFacade_ItemRack-2.25\ButtonFacade_ItemRack.lua:66
in function <...dOns\ButtonFacade_ItemRack\ButtonFacade_ItemRack.lua:65>
(tail call): ?:
<in C code>: ?
<string>:"safecall Dispatcher[1]":9: in function <[string "safecall Dispatcher[1]"]:5>
(tail call): ?:
AceAddon-3.0-5 (Accomplishment):531: in function `EnableAddon'
AceAddon-3.0-5 (Accomplishment):543: in function `EnableAddon'
AceAddon-3.0-5 (Accomplishment):621: in function <...Ons\Accomplishment\Lib\AceAddon-3.0\AceAddon-3.0.lua:607>
<in C code>: in function `LoadAddOn'
Interface\FrameXML\UIParent.lua:229: in function `UIParentLoadAddOn':
Interface\FrameXML\UIParent.lua:252: in function `CombatLog_LoadUI':
Interface\FrameXML\UIParent.lua:497: in function <Interface\FrameXML\UIParent.lua:469>:
Interface\FrameXML\PaperDollFrame.lua:1205: attempt to index local 'self' (a nil value)
Count: 1
Call Stack:
[C]: ?
Interface\FrameXML\PaperDollFrame.lua:1205: in function `oldCharacterAmmoSlot_OnClick'
Interface\AddOns\ItemRack\ItemRackButtons.lua:92: in function <Interface\AddOns\ItemRack\ItemRackButtons.lua:87>
I'm having an issue with weapons of the same name.
I have two weapon sets. One is a Sinister Revenge + Webbed Death and the other is 2x Sinister Revenge, one with berserking and the other with a weapon chain.
When I have the Webbed Death set active and hit the macro to equip the double Sinister Revenge set, instead of actually swapping the weapons, I end up with the second Sinister Revenge + Webbed Death instead of having both SRs.
Originally posted by duppsko Is there a way to make it equip last equiped item?
With that i mean, im a druid going into stealth, it autoequips my +stealth boots, when i go out of catform i want it to equip the boots i had there before i went into catform?
There should be a way to do this using "unequip" or "toggle".
Is there a way to make it equip last equiped item?
With that i mean, im a druid going into stealth, it autoequips my +stealth boots, when i go out of catform i want it to equip the boots i had there before i went into catform?
I'm after a way to get ItemRack to change to a specific kit based both on druid form and group size - I've got a trinket that's worthless when soloing, but important when grouped. I've created two kits so I can choose which one suits, but I tend to forget to change the event over so that I'm using the right one. I'd love ItemRack to be able to do it instead.
Does anyone know of a way to do this, either through writing my own event or getting a additional mod?
Thanks, the banking option is nice, didn't know this works.
Hm, looks like I have to get into some coding works again and try a q'n'd work for myself, because I often have my bags full with drops from instance runs and I have to look, what I could sell with the tooltip line. But thx for the info anyway.
Originally posted by Bruneor I wonder, if anybody knows if there is a way to get ItemRack printing a line in a tooltip, to which set the current hovered gear is, ie. like in ClosetGnome, since I have around 50 gear items in my bags and I want to put some stuff into my bank but I have to rechecek several minutes before can do so, because I switched back parts of my tankgear last time. Any ideas or is it already done or what?
A bankswitcher option would be cool to, like again in ClosetGnome plugin ClosetGnome_Banker, couldn't find a post about this and if this is possible with events or such things.
No tooltip, but..
1. Open the bank.
2. Select the ItemRack set you want to bank. All items from this set (whether you were wearing them or they were in your bag) go to the bank.
3. Select the ItemRack set you want to keep. All items in that set that are in your bank go to your inventory.
4. Close the bank.
5. Select the same ItemRack set you selected in Step 3. You're now wearing it.
I wonder, if anybody knows if there is a way to get ItemRack printing a line in a tooltip, to which set the current hovered gear is, ie. like in ClosetGnome, since I have around 50 gear items in my bags and I want to put some stuff into my bank but I have to rechecek several minutes before can do so, because I switched back parts of my tankgear last time. Any ideas or is it already done or what?
A bankswitcher option would be cool to, like again in ClosetGnome plugin ClosetGnome_Banker, couldn't find a post about this and if this is possible with events or such things.
Originally posted by romracer
Try the following if you'd like. Both zips are the same (version 2.25+JC prismatic gem fix). They are two separate URLs in case any of you guys have problems with your browser caching the old one. You only need to download one of them (make sure the file dates are Apr 27th):
Get an error if I try to swap gear sets while my inventory is full:
ItemRack-2.25\ItemRackEquip.lua:145: Usage: PickupContainerItem(index, slot)
ItemRack-2.25\ItemRackEquip.lua:145: in function `DequipPrismatic'
ItemRack-2.25\ItemRackEquip.lua:74: in function `EquipSet'
ItemRack-2.25\ItemRackEquip.lua:385: in function `ToggleSet'
ItemRack-2.25\ItemRack.lua:1793: in function `RunSetBinding'
<string>:"ItemRack.RunSetBinding("PvP")":1: in main chunk
<in C code>: in function `RunScript'
Interface\FrameXML\ChatFrame.lua:1826: in function `?':
Interface\FrameXML\ChatFrame.lua:3325: in function <Interface\FrameXML\ChatFrame.lua:3278>:
<in C code>: in function `ChatEdit_ParseText'
Interface\FrameXML\ChatFrame.lua:3045: in function `ChatEdit_SendText':
Interface\FrameXML\ChatFrame.lua:2181: in function <Interface\FrameXML\ChatFrame.lua:2174>:
<in C code>: in function `RunMacroText'
Interface\FrameXML\SecureTemplates.lua:314: in function `handler':
Interface\FrameXML\SecureTemplates.lua:460: in function <Interface\FrameXML\SecureTemplates.lua:417>:
Originally posted by dismaljester I can't get this to work, I can make buttons for each slot but can't make a set button. Is it just me?
I could not make it work either so I made a slight modification to itemrack.lua.
Add these bottom 2 lines to function ItemRack.SlashHandler() near the end of the file.
Code:
if arg1=="reset" then
ItemRack.ResetButtons()
elseif arg1=="createsetbutton" then
ItemRack.AddButton(20)
This will allow you to type the command /itemrack createsetbutton
Set button should appear in the middle of the screen.
I've come across a solution to what's arguably the most sought-after feature in ItemRack right now.
With the advent of Dual Specs, everybody and their mother wants to have ItemRack auto-switch sets when the spec is swapped.
Well, until ItemRack allows something such as "When selecting this set, first apply the talents, then swap gear (because if gear is attempted to swap BEFORE respeccing, it will fail if some of the gear requires a talent to use)".
The solution to the above scenario is to set up an event "when talent spec has changed (meaning new talents are applied), look at which talent spec we are using (primary or secondary), and load a different set depending on which spec we're in". It avoids the problem of trying to equip gear that requires some talent before having changed spec, and it's automatic because it happens as soon as you swap spec.
And this page has all about how to do that, including a pretty image!
Originally posted by sensory Doesn't work I'm afraid. Switches half my gear but is unable to re-equip some of the gear.
The other version posted in these comments that fixes the prismatic issues still works.
Hi guys, my apologies. I'm still leveling JC so I wasn't able to verify my port worked. Blame me for trying to make it more "future proof" because I believe that broke the prismatic part.
Try the following if you'd like. Both zips are the same (version 2.25+JC prismatic gem fix). They are two separate URLs in case any of you guys have problems with your browser caching the old one. You only need to download one of them (make sure the file dates are Apr 27th):
Edit: Okay, I've been able to test this and verified it does indeed work. I was able to swap between two sets of gear (PvP and PvE) each with three prismatic gems in them.