Mercurial > wow > inventory
diff Plugins/ItemCountAddons/DataStore (current account only).lua @ 84:3bec0ea44607
Cleaned the Inventorium folder; moved all classes to classes directory, modules to modules directory and support addons to plugins directory. In addition support addons are now references within XML files rather than inside the TOC.
Fixed the default local item count setting, you can now exclude bag and AH data from it.
Fixed some mover algorithm bugs. Mover can no longer freeze the game but instead will terminate the process after a 1000 passes.
Now reversing the moves table after making it, rather than every single time it is used.
Fixed guild bank support.
Now displaying the amount of items moved.
Scanner now scans all guild bank tabs rather than only the current.
Fixed a bug with local item data not being retrieved properly.
Disabled ?enterClicksFirstButton? within dialogs as this causes the dialog to consume all keypress.
Events are now at the addon object rather than local.
author | Zerotorescue |
---|---|
date | Thu, 06 Jan 2011 20:05:30 +0100 |
parents | ItemCountAddons/DataStore (current account only).lua@06fee4208bf2 |
children | de18ef96983b |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/ItemCountAddons/DataStore (current account only).lua Thu Jan 06 20:05:30 2011 +0100 @@ -0,0 +1,37 @@ +do + + local function GetTotalCount(itemId) + local realm = GetRealmName(); + + local totalCount = 0; + + -- Process all charracters on this account (GetCharacters defaults to THIS_ACCOUNT) + for characterName, character in pairs(DataStore:GetCharacters(realm, nil)) do + -- Get only useful info (currency / gear shouldn't contain the stuff we are interested in) + local bag, bank = DataStore:GetContainerItemCount(character, itemId) or 0, 0; + local auctionHouse = DataStore:GetAuctionHouseItemCount(character, itemId) or 0; + local mail = DataStore:GetMailItemCount(character, itemId) or 0; + + totalCount = totalCount + bag + bank + auctionHouse + mail; + end + + return totalCount or -1; + end + + local function GetCharacterCount(itemId) + local character = DataStore:GetCharacter(); + + local bag, bank = DataStore:GetContainerItemCount(character, itemId) or 0, 0; + local auctionHouse = DataStore:GetAuctionHouseItemCount(character, itemId) or 0; + local mail = DataStore:GetMailItemCount(character, itemId) or 0; + + return bag, bank, auctionHouse, mail; + end + + local function IsEnabled() + return (DataStore and DataStore.GetContainerItemCount and DataStore.GetAuctionHouseItemCount and DataStore.GetMailItemCount); + end + + IMRegisterItemCountAddon("DataStore (current account only)", GetTotalCount, GetCharacterCount, IsEnabled); + +end