annotate Plugins/ItemCountAddons/DataStore (without guilds).lua @ 119:dc6f405c1a5d
Now resizing the mover frame based on text size.
addon.Locations table now uses location names as value, rather than random numbers.
Added proper Merchant restocking support. Please note this currently doesn?t take the bonus queue nor the min crafting queue options into account.
author |
Zerotorescue |
date |
Sat, 15 Jan 2011 17:03:05 +0100 |
parents |
de18ef96983b |
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@118
|
14 local bag, bank = DataStore:GetContainerItemCount(character, itemId);
|
Zerotorescue@118
|
15 bag = (bag or 0); bank = (bank or 0);
|
Zerotorescue@54
|
16 local auctionHouse = DataStore:GetAuctionHouseItemCount(character, itemId) or 0;
|
Zerotorescue@54
|
17 local mail = DataStore:GetMailItemCount(character, itemId) or 0;
|
Zerotorescue@17
|
18
|
Zerotorescue@17
|
19 totalCount = totalCount + bag + bank + auctionHouse + mail;
|
Zerotorescue@17
|
20 end
|
Zerotorescue@17
|
21 end
|
Zerotorescue@17
|
22
|
Zerotorescue@17
|
23 return totalCount or -1;
|
Zerotorescue@17
|
24 end
|
Zerotorescue@17
|
25
|
Zerotorescue@17
|
26 local function GetCharacterCount(itemId)
|
Zerotorescue@17
|
27 local character = DataStore:GetCharacter();
|
Zerotorescue@17
|
28
|
Zerotorescue@118
|
29 local bag, bank = DataStore:GetContainerItemCount(character, itemId);
|
Zerotorescue@118
|
30 bag = (bag or 0); bank = (bank or 0);
|
Zerotorescue@54
|
31 local auctionHouse = DataStore:GetAuctionHouseItemCount(character, itemId) or 0;
|
Zerotorescue@54
|
32 local mail = DataStore:GetMailItemCount(character, itemId) or 0;
|
Zerotorescue@17
|
33
|
Zerotorescue@17
|
34 return bag, bank, auctionHouse, mail;
|
Zerotorescue@17
|
35 end
|
Zerotorescue@17
|
36
|
Zerotorescue@17
|
37 local function IsEnabled()
|
Zerotorescue@17
|
38 return (DataStore and DataStore.GetContainerItemCount and DataStore.GetAuctionHouseItemCount and DataStore.GetMailItemCount);
|
Zerotorescue@17
|
39 end
|
Zerotorescue@17
|
40
|
Zerotorescue@17
|
41 IMRegisterItemCountAddon("DataStore (without guilds)", GetTotalCount, GetCharacterCount, IsEnabled);
|
Zerotorescue@17
|
42
|
Zerotorescue@17
|
43 end
|