annotate ItemCountAddons/DataStore (without guilds).lua @ 65:ac1189599769
Added warning to AuctionLite pricing addon selection stating the addon wasn?t tested properly yet.
Premade groups check now occurs when the config is opened rather than upon login.
All multiselects are now dropdowns as they are meant to be. Please ensure the pullouts are closed before switching groups or closing the window or you may get some LUA errors (thanks Wowace for not fixing what seems to be a year old issue).
Hopefully added support for the crafting addon ?Cauldron?, but this still has to be tested.
author |
Zerotorescue |
date |
Thu, 23 Dec 2010 03:19:27 +0100 |
parents |
06fee4208bf2 |
children |
|
rev |
line source |
Zerotorescue@17
|
1 do
|
Zerotorescue@17
|
2
|
Zerotorescue@17
|
3 local function GetTotalCount(itemId)
|
Zerotorescue@17
|
4 local realm = GetRealmName();
|
Zerotorescue@17
|
5
|
Zerotorescue@17
|
6 local totalCount = 0;
|
Zerotorescue@17
|
7
|
Zerotorescue@17
|
8 -- Process all accounts
|
Zerotorescue@17
|
9 for accountName in pairs(DataStore:GetAccounts()) do
|
Zerotorescue@17
|
10
|
Zerotorescue@17
|
11 -- Process all charracters
|
Zerotorescue@17
|
12 for characterName, character in pairs(DataStore:GetCharacters(realm, accountName)) do
|
Zerotorescue@17
|
13 -- Get only useful info (currency / gear shouldn't contain the stuff we are interested in)
|
Zerotorescue@54
|
14 local bag, bank = DataStore:GetContainerItemCount(character, itemId) or 0, 0;
|
Zerotorescue@54
|
15 local auctionHouse = DataStore:GetAuctionHouseItemCount(character, itemId) or 0;
|
Zerotorescue@54
|
16 local mail = DataStore:GetMailItemCount(character, itemId) or 0;
|
Zerotorescue@17
|
17
|
Zerotorescue@17
|
18 totalCount = totalCount + bag + bank + auctionHouse + mail;
|
Zerotorescue@17
|
19 end
|
Zerotorescue@17
|
20 end
|
Zerotorescue@17
|
21
|
Zerotorescue@17
|
22 return totalCount or -1;
|
Zerotorescue@17
|
23 end
|
Zerotorescue@17
|
24
|
Zerotorescue@17
|
25 local function GetCharacterCount(itemId)
|
Zerotorescue@17
|
26 local character = DataStore:GetCharacter();
|
Zerotorescue@17
|
27
|
Zerotorescue@54
|
28 local bag, bank = DataStore:GetContainerItemCount(character, itemId) or 0, 0;
|
Zerotorescue@54
|
29 local auctionHouse = DataStore:GetAuctionHouseItemCount(character, itemId) or 0;
|
Zerotorescue@54
|
30 local mail = DataStore:GetMailItemCount(character, itemId) or 0;
|
Zerotorescue@17
|
31
|
Zerotorescue@17
|
32 return bag, bank, auctionHouse, mail;
|
Zerotorescue@17
|
33 end
|
Zerotorescue@17
|
34
|
Zerotorescue@17
|
35 local function IsEnabled()
|
Zerotorescue@17
|
36 return (DataStore and DataStore.GetContainerItemCount and DataStore.GetAuctionHouseItemCount and DataStore.GetMailItemCount);
|
Zerotorescue@17
|
37 end
|
Zerotorescue@17
|
38
|
Zerotorescue@17
|
39 IMRegisterItemCountAddon("DataStore (without guilds)", GetTotalCount, GetCharacterCount, IsEnabled);
|
Zerotorescue@17
|
40
|
Zerotorescue@17
|
41 end
|