Minion Beta! - Help us test our new AddOn updater. Get it now!
Download
(90 Kb)
Download
Updated: 10-17-14 02:57 PM
Pictures
File Info
Compatibility:
Warlords of Draenor Pre-Patch (6.0.2)
Updated:10-17-14 02:57 PM
Created:unknown
Downloads:725,206
Favorites:1,987
MD5:
ItemRack  Popular! (More than 5000 hits)
Version: 2.92
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 2.92 - By Kharthus __

* Fixed black and white buttons and gear icons

__ New in 2.91 - By Kharthus __

* Code cleanup for 6.0.2

__ New in 2.90 - By Kharthus __

* Fixed helm/cloak hiding

__ New in 2.89 - By Kharthus __

* TOC update for 6.0.2 patch

__ New in 2.88 - By Kharthus __

* TOC update for 5.4 patch

__ New in 2.87 - By Kharthus __

* New option for Hide the ItemRack buttons during pet battles

__ New in 2.86 - By Kharthus __

* Hide the ItemRack buttons during pet battles

__ New in 2.85 - By Kharthus __

* TOC update for 5.2 patch

__ New in 2.84 - By Kharthus __

* Fixed Monk off-hands

__ New in 2.83 - By Kharthus __

* TOC update for 5.1 patch

__ New in 2.82 - By Kharthus __

* Fixed dual spec events

__ New in 2.81 - By Kharthus __

* Attempt to fix GlyphUI problem

__ New in 2.8 - By Kharthus __

* Updates for MoP

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


Archived Files (15)
File Name
Version
Size
Author
Date
2.91
90kB
Kharthus
10-16-14 02:14 AM
2.90
90kB
Kharthus
10-15-14 04:59 AM
2.89
90kB
Kharthus
10-15-14 12:01 AM
2.88
90kB
Kharthus
09-30-13 03:55 AM
2.87
90kB
Kharthus
03-23-13 11:48 AM
2.86
90kB
Kharthus
03-20-13 11:22 AM
2.85
90kB
Kharthus
03-05-13 10:31 PM
2.84
90kB
Kharthus
02-10-13 09:35 PM
2.83
90kB
Kharthus
12-15-12 11:03 AM
2.82
90kB
Kharthus
09-03-12 12:00 AM
2.81
89kB
Kharthus
08-31-12 07:39 PM
2.8
89kB
Kharthus
08-27-12 10:41 PM
2.73
89kB
Kharthus
12-09-11 09:56 PM
2.25
85kB
Kharthus
04-17-09 06:16 AM
2.243
85kB
Gello
10-14-08 04:37 AM


Post A Reply Comment Options
Unread 12-24-06, 03:13 AM  
Kharthus
A Murloc Raider
AddOn Author - Click to view AddOns

Forum posts: 8
File comments: 238
Uploads: 6
Custom Events

I've noticed that whenever a new version is released it will overwrite any changes that have been made to the included Events. In particular I tend to change the Skinning and Plaguelands events, but I know I've lost them several times due to upgrades. Any way to flag them so they don't get changed or only reset them thru an explicit command or button?
Kharthus is offline Report comment to moderator  
Reply With Quote
Unread 12-24-06, 01:29 AM  
NobleHelium
A Kobold Labourer

Forum posts: 1
File comments: 8
Uploads: 0
Bug with Suffixed Items

Are you aware of the bug where ItemRack is not recognizing or finding suffixed items in inventory? It's existed since the BTS patch came out.
NobleHelium is offline Report comment to moderator  
Reply With Quote
Unread 12-20-06, 07:04 PM  
Gello
A Scalebane Royal Guard
AddOn Author - Click to view AddOns

Forum posts: 444
File comments: 339
Uploads: 100
The ADDON_ACTION_BLOCKED event will be totally removed in the coming weeks. I'll probably post an update this weekend to lessen the likelihood of that firing with the current version.
Gello is offline Report comment to moderator  
Reply With Quote
Unread 12-20-06, 12:32 AM  
dlr554
A Kobold Labourer

Forum posts: 0
File comments: 55
Uploads: 0
I'm getting the same errors during combat. Unfortunately I had to disable Itemrack simply because it was flooding bugsack with 100's of these errors and causing massive lagspikes during combat.
dlr554 is offline Report comment to moderator  
Reply With Quote
Unread 12-17-06, 01:53 AM  
greenstpne
A Murloc Raider

Forum posts: 6
File comments: 6
Uploads: 0
Errors..

I get these errors as soon as I go into combat - it only happens twice but during grinding its a noticed thing. Only addons I was using for this test were bugsack and itemrack (Bugsack captures the errors - I also used laricactionblocked to verify it wasn't misfire on bugsack.)

This is taken straight from bugsack's saved variables since that is how it saves the errors for review:

[1] = {
["message"] = "<event>ADDON_ACTION_BLOCKED:AddOn 'ItemRack' tried to call the protected function 'TargetofTargetFrame:Show()'.\n<in C code>: in function `Show'\nFrameXML\\TargetFrame.lua:568: in function `TargetofTarget_Update'\nFrameXML\\TargetFrame.lua:88: in function `TargetFrame_OnEvent'\n<string>:\"TargetFrame:OnEvent\":2: in function <[string \"TargetFrame:OnEvent\"]:1>\n\n ---",
["type"] = "event",
["time"] = "2006/12/17 02:32:26",
["session"] = 1,
["counter"] = 1,
},
[2] = {
["message"] = "<event>ADDON_ACTION_BLOCKED:AddOn 'ItemRack' tried to call the protected function 'TargetofTargetFrame:Show()'.\n<in C code>: in function `Show'\nFrameXML\\TargetFrame.lua:568: in function `TargetofTarget_Update'\nFrameXML\\TargetFrame.lua:544: in function `TargetofTarget_OnUpdate'\n<string>:\"TargetofTargetFrame:OnUpdate\":2: in function <[string \"TargetofTargetFrame:OnUpdate\"]:1>\n\n ---",
["type"] = "event",
["time"] = "2006/12/17 02:32:26",
["session"] = 1,
["counter"] = 1,
},

Remember this only occurs when you start combat - almost as if itemrack is looking for something at that point and gets slapped down by blizzards UI.
Last edited by greenstpne : 12-17-06 at 01:54 AM.
greenstpne is offline Report comment to moderator  
Reply With Quote
Unread 12-16-06, 02:41 PM  
kazso
A Kobold Labourer

Forum posts: 0
File comments: 20
Uploads: 0
Errors

I get the same errors, as Terak.
kazso is offline Report comment to moderator  
Reply With Quote
Unread 12-16-06, 09:45 AM  
Terak
A Defias Bandit

Forum posts: 3
File comments: 34
Uploads: 0
im getting quite a lot of errors showing up with the latest one

[2006/12/16 15:26:28-10-x12]: <event>ADDON_ACTION_BLOCKED:AddOn 'ItemRack' tried to call the protected function 'ItemRackInv0:Hide()'.
<in C code>: in function `Hide'
ItemRack\ItemRack.lua:885: in function <Interface\AddOns\ItemRack\ItemRack.lua:850>
ItemRack\ItemRack.lua:1626: in function `func'
ItemRack\ItemRack.lua:4898: in function `OnUpdate'
<string>:"RackFrame:OnUpdate":2: in function <[string "RackFrame:OnUpdate"]:1>

---

i get identical errors from'ItemRackInv0:Hide()' -'ItemRackInv20:Hide()'.

also this error

[2006/12/16 15:26:28-10-x12]: <event>ADDON_ACTION_BLOCKED:AddOn 'ItemRack' tried to call the protected function 'ItemRack_InvFrame:Hide()'.
<in C code>: in function `Hide'
ItemRack\ItemRack.lua:948: in function <Interface\AddOns\ItemRack\ItemRack.lua:850>
ItemRack\ItemRack.lua:1626: in function `func'
ItemRack\ItemRack.lua:4898: in function `OnUpdate'
<string>:"RackFrame:OnUpdate":2: in function <[string "RackFrame:OnUpdate"]:1>

---
Terak is offline Report comment to moderator  
Reply With Quote
Unread 12-11-06, 08:39 AM  
sabbatboy
A Kobold Labourer

Forum posts: 0
File comments: 5
Uploads: 0
For some reason, other mods keep messing around with the way the ItemRack popup window grows (on mouseover of something on the rack). This is really annoying, and I know its no fault of yours, but would it be possible to change the direction the popup grows, not just the side it is on?

For example, I have the rack set up horizontally, and have the popup show horizontally to the bar. Could you implement a toggle to choose to have it grow to either the left or the right?

Its a niggling little thing that just bugs me after being used to using it a certain way for so long.
sabbatboy is offline Report comment to moderator  
Reply With Quote
Unread 10-22-06, 03:33 PM  
SkunkWerks
A Fallenroot Satyr
 
SkunkWerks's Avatar
AddOn Author - Click to view AddOns

Forum posts: 21
File comments: 239
Uploads: 2
Show/Hide Cloak/Helm toggles?

They don't seem to have any effect.

Why is that?

Seems to me this is the one thing ItemRack has on Outfitter, and near as I can tell, it doesn't work.
SkunkWerks is offline Report comment to moderator  
Reply With Quote
Unread 09-23-06, 04:42 PM  
halwa
A Kobold Labourer

Forum posts: 1
File comments: 2
Uploads: 0
Originally posted by Gello
Two approaches:
If you want to use normal action bars, grab the mod Equipped Macro Icons ( [url]...


Thanks Gello, this worked great! I plan to use this scheme for the time being. The thing I miss with this approach is cooldown count would show me when to use the trinket however that doesnt work with the macro (matters only when the cooldown is within 30 sec). Any easy way to get this working too ?

On the trinket queue script, it looks like it should work fine. If you find problems with it (hopefully you don't), I've been suggesting TrinketMenu for the time being which has full automatic trinket queue support that will make its way to ItemRack 2.0. You set up a priority of trinkets, enter a delay to keep some trinkets equipped after use (ie, Earthstrike for 20 seconds), and it will manage swaps on its own, in/out of combat/death.
I will check out trinket menu as well. Cant wait for ItemRack 2.0 . The delay is missing in my script but fortunately for me the in-combat-delay in swapping trinkets works to my advantage here. Does TrinketMenu / ItemRack 2.0 take care of the case when the buff expires before the delay is up and queue the next trinket, for e.g. defilers talisman has a delay of 30 sec (I think) but the buff could be used up in 5 sec?

Another request, could you add the support to ItemRack to bind a trinket queue to a button on the normal bars and a key press rather than the ItemRack bar? Not sure if this is already there in the new version but it would be nice to have (people who use it with normal toolbars could download your other mod but it would be nice to do it without that).

Thanks again for all the help
Halwa
halwa is offline Report comment to moderator  
Reply With Quote
Unread 09-22-06, 01:49 AM  
Gello
A Scalebane Royal Guard
AddOn Author - Click to view AddOns

Forum posts: 444
File comments: 339
Uploads: 100
In the meanwhile I would like to map whatever my current trinket slot 1 holds to a single icon on my toolbar (and hence a single keypress). The idea being to use the same keypress to trigger my trinket based cooldowns. It would be great if the LUA experts on the board can help me with this.
Two approaches:

Alt+click a trinket slot on the character sheet to create a bar or add the slot to the bar. You can set a key binding to the slot via the normal key bindings window.

If you want to use normal action bars, grab the mod Equipped Macro Icons ( http://gello.wowinterface.com/downlo...fo.php?id=4737 ) and then make a macro with /script UseInventoryItem(13) and choose the first trinket icon. The icon will change to reflect the icon of the trinket currently worn. (13 to 14 for bottom trinket slot of course)

On the trinket queue script, it looks like it should work fine. If you find problems with it (hopefully you don't), I've been suggesting TrinketMenu for the time being which has full automatic trinket queue support that will make its way to ItemRack 2.0. You set up a priority of trinkets, enter a delay to keep some trinkets equipped after use (ie, Earthstrike for 20 seconds), and it will manage swaps on its own, in/out of combat/death.
Gello is offline Report comment to moderator  
Reply With Quote
Unread 09-21-06, 10:59 PM  
halwa
A Kobold Labourer

Forum posts: 1
File comments: 2
Uploads: 0
Trinket Priority Queues

I saw a post on the Itemrack - Events this AM which described a script to prioritize trinkets and switch to them based on ITEMRACK_NOTIFY and ITEMRACK_ITEMUSED events (Thanks Ansum, sorry if I got the nick wrong).

The caveat with that script was that the notify portion would work only if the cooldown was complete, i.e. if ITEMRACK_NOTIFY triggered 30 sec ahead of the cooldown ending it wouldnt get equipped. A little bit of tinkering got the NOTIFY portion working.

People trying to get a priority queue going heres how to do it. Make two events, copying the "Insignia" and "Insignia Used" events from default ItemRack configuration. Now in both these new events, remove the code from the text box below the "Delay" column in the ItemRack UI. Add the following LUA script.

local trinketslot, _ = GetInventorySlotInfo("Trinket1Slot");
local trinkets = {
"Insignia of the Horde",
"Barov Peasant Caller",
"Defiler's Talisman",
"Blackhand's Breadth"
};
for _, t in ipairs(trinkets) do
local inv,bag,slot = Rack.FindItem(nil, t);
local s, d, e, c;
local ignore=false;
if inv == trinketslot then
s, d, e = GetInventoryItemCooldown("player", inv);
elseif bag and slot then
s, d, e = GetContainerItemCooldown(bag,slot);
else
ignore=true;
end
c = GetTime();
if ( not ignore and (s + d - c <= 30 )) then
if not inv and bag and slot then
if UnitAffectingCombat("player") or Rack.IsPlayerReallyDead() then
local _,itemID = Rack.GetItemInfo(bag, slot)
Rack.AddToCombatQueue(trinketslot ,itemID)
else
PickupContainerItem(bag,slot);
PickupInventoryItem(trinketslot);
end;
end;
break;
end;
end;


The script walks a list of items, calculates the cooldown associated with them and equips the first one that doesnt have a cooldown or whose cooldown is at most 30 sec. I am not LUA programmer so there might be errors in the script (I havent taken care of negative values during substraction for one, though it doesnt seem to matter in my testing). I havent yet tested this script in combat.

In the meanwhile I would like to map whatever my current trinket slot 1 holds to a single icon on my toolbar (and hence a single keypress). The idea being to use the same keypress to trigger my trinket based cooldowns. It would be great if the LUA experts on the board can help me with this.

Thanks
Halwa
halwa is offline Report comment to moderator  
Reply With Quote
Unread 09-11-06, 07:31 PM  
Gello
A Scalebane Royal Guard
AddOn Author - Click to view AddOns

Forum posts: 444
File comments: 339
Uploads: 100
Ok thanks for trying! I'm away for a few days but this weekend I'll see about fixing that for good.
Gello is offline Report comment to moderator  
Reply With Quote
Unread 09-11-06, 05:40 PM  
Ballzz
A Kobold Labourer

Forum posts: 0
File comments: 10
Uploads: 0
Ok, I tried re-saving the mount set several times but it still doesn't work.
Ballzz is offline Report comment to moderator  
Reply With Quote
Unread 09-04-06, 11:19 PM  
Gello
A Scalebane Royal Guard
AddOn Author - Click to view AddOns

Forum posts: 444
File comments: 339
Uploads: 100
Try re-saving the mount set.
Gello is offline Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: