Mercurial > wow > inventory
comparison Plugins/ItemCountAddons/DataStore (with guilds).lua @ 156:314943963155
Added initial guild bank data excluding (for addons like DataStore). This setting is currently not stored on relog.
author | Zerotorescue |
---|---|
date | Sat, 22 Jan 2011 02:57:08 +0100 |
parents | de18ef96983b |
children |
comparison
equal
deleted
inserted
replaced
155:5081056cade1 | 156:314943963155 |
---|---|
1 do | 1 do |
2 local disabledGuilds = {}; | |
3 | |
4 local function GetGuildNames() | |
5 local guilds = {}; | |
6 | |
7 local realm = GetRealmName(); | |
8 | |
9 -- Process all accounts | |
10 for accountName in pairs(DataStore:GetAccounts()) do | |
11 for guildName, guild in pairs(DataStore:GetGuilds(realm, accountName)) do | |
12 | |
13 if disabledGuilds[guildName] then | |
14 guilds[guildName] = false; | |
15 else | |
16 guilds[guildName] = true; | |
17 end | |
18 | |
19 end | |
20 end | |
21 | |
22 return guilds; | |
23 end | |
24 | |
25 local function SetGuildState(guildName, state) | |
26 if not state then | |
27 disabledGuilds[guildName] = true; | |
28 else | |
29 disabledGuilds[guildName] = nil; | |
30 end | |
31 end | |
2 | 32 |
3 local function GetTotalCount(itemId) | 33 local function GetTotalCount(itemId) |
4 local realm = GetRealmName(); | 34 local realm = GetRealmName(); |
5 | 35 |
6 local totalCount = 0; | 36 local totalCount = 0; |
21 totalCount = totalCount + bag + bank + auctionHouse + mail; | 51 totalCount = totalCount + bag + bank + auctionHouse + mail; |
22 end | 52 end |
23 | 53 |
24 -- Process all guilds | 54 -- Process all guilds |
25 for guildName, guild in pairs(DataStore:GetGuilds(realm, accountName)) do | 55 for guildName, guild in pairs(DataStore:GetGuilds(realm, accountName)) do |
26 if not guilds[guildName] then | 56 if not guilds[guildName] and not disabledGuilds[guildName] then |
27 -- We don't want itemcounts from a single guild to be counted twice, so first to present data wins | 57 -- We don't want itemcounts from a single guild to be counted twice, so first to present data wins |
28 | 58 |
29 guilds[guildName] = true; | 59 guilds[guildName] = true; |
30 | 60 |
31 local guild = DataStore:GetGuildBankItemCount(guild, itemId) or 0; | 61 local guild = DataStore:GetGuildBankItemCount(guild, itemId) or 0; |
51 | 81 |
52 local function IsEnabled() | 82 local function IsEnabled() |
53 return (DataStore and DataStore.GetContainerItemCount and DataStore.GetAuctionHouseItemCount and DataStore.GetMailItemCount); | 83 return (DataStore and DataStore.GetContainerItemCount and DataStore.GetAuctionHouseItemCount and DataStore.GetMailItemCount); |
54 end | 84 end |
55 | 85 |
56 IMRegisterItemCountAddon("DataStore (with guilds)", GetTotalCount, GetCharacterCount, IsEnabled); | 86 IMRegisterItemCountAddon("DataStore (with guilds)", GetTotalCount, GetCharacterCount, IsEnabled, nil, GetGuildNames, SetGuildState); |
57 | 87 |
58 end | 88 end |