/trunk
if(playerID) then |
modul['db'][playerID] = modul['db'][playerID] or {} |
for bag=5,GetNumBankSlots()+4 do |
modul['db'][playerID][bag] = addon['scanBag'](bag) -- loop all bought bankbags |
modul['db'][playerID][bag] = addon:scanBag(bag) -- loop all bought bankbags |
end |
modul['db'][playerID][-1] = addon['scanBag'](-1) -- Main bankbag |
modul['db'][playerID][-3] = addon['scanBag'](-3) -- Main reagentbag |
modul['db'][playerID][-1] = addon:scanBag(-1) -- Main bankbag |
modul['db'][playerID][-3] = addon:scanBag(-3) -- Main reagentbag |
for k,v in pairs(modul['db'][playerID]) do |
if(not(k==-1) and not(k==-3) and not(k>4 and k<=GetNumBankSlots()+4)) then |
modul['db'][playerID][k] = nil -- prevent bogus bankbags |
for event,func in pairs(events) do |
list[#list+1] = event |
end |
self.frame = addon['RegisterFunc'](list,"OnEvent",OnEvent) |
self.frame = addon:RegisterFunc(list,"OnEvent",OnEvent) |
end |
function modul:Disable() |
self.status = false |
local modul = { |
['name'] = modulname |
} |
function addon.scanBag(bag) |
function addon:scanBag(bag) |
local slot = 1 |
local itemlist = {} |
local empty = true |
while(slot<=GetContainerNumSlots(bag)) do |
local texture, itemCount, locked, quality, readable, lootable, itemLink, isFiltered = GetContainerItemInfo(bag, slot) |
if(itemLink) then |
local id = addon['getItemId'](itemLink) |
local id = addon:getItemId(itemLink) |
if(id) then |
empty = false |
itemlist[id] = itemlist[id] or {} |
local playerID = addon.getPID() |
if(playerID) then |
for bag=0,4 do |
modul['db'][playerID][bag] = addon['scanBag'](bag) -- loop all bought bags |
modul['db'][playerID][bag] = addon:scanBag(bag) -- loop all bought bags |
end |
for k,v in pairs(modul['db'][playerID]) do |
if(k<0 or k>4) then |
function events:BAG_UPDATE(event,bag) |
local playerID = addon.getPID() |
if(playerID) then |
modul['db'][playerID][bag] = addon['scanBag'](bag) |
modul['db'][playerID][bag] = addon:scanBag(bag) |
end |
end |
function events:ITEM_UNLOCKED(event,...) |
for event,func in pairs(events) do |
list[#list+1] = event |
end |
self['frame'] = addon['RegisterFunc'](list,"OnEvent",OnEvent) |
self['frame'] = addon:RegisterFunc(list,"OnEvent",OnEvent) |
end |
function modul:Disable() |
self['status'] = false |
for event,func in pairs(events) do |
list[#list+1] = event |
end |
self.frame = addon['RegisterFunc'](list,"OnEvent",OnEvent) |
self.frame = addon:RegisterFunc(list,"OnEvent",OnEvent) |
OnEvent(self.frame,"UNIT_INVENTORY_CHANGED") |
end |
function modul:Disable() |
local res = {} |
local dName = modulname.."Count" |
for k,v in pairs(modul['db']) do |
local guilds = addon['getGuilds']() |
local guilds = addon:getGuilds() |
if(guilds[k]) then |
local guildID = addon.getGID() |
if(guildID and guilds[k]['faction']==guilds[guildID]['faction'] or not guildID) then |
res = res or {} |
for guildname, b in pairs(gbagLoop(id)) do |
if(mode) then |
res[#res+1] = format(" %s: %s",addon['colorize'](guildname,"00ffff"),addon['colorize'](b[modulname..'Count'],"ffffff")) |
res[#res+1] = format(" %s: %s",addon:colorize(guildname,"00ffff"),addon:colorize(b[modulname..'Count'],"ffffff")) |
else |
res[#res+1] = format("%s %s: %s",addon:getIcon(id),guildname,addon['colorize'](b[modulname..'Count'],"ffffff")) |
res[#res+1] = format("%s %s: %s",addon:getIcon(id),guildname,addon:colorize(b[modulname..'Count'],"ffffff")) |
end |
end |
return res |
emtpy = false |
local itemLink = GetGuildBankItemLink(tab,slot) |
if(itemLink) then |
local id = addon['getItemId'](itemLink) |
local id = addon:getItemId(itemLink) |
if(id) then |
empty = false |
itemlist[id] = itemlist[id] or {} |
for event,func in pairs(events) do |
list[#list+1] = event |
end |
self.frame = addon['RegisterFunc'](list,"OnEvent",OnEvent) |
self.frame = addon:RegisterFunc(list,"OnEvent",OnEvent) |
end |
function modul:Disable() |
self.status = false |
for event,func in pairs(events) do |
list[#list+1] = event |
end |
self.frame = addon['RegisterFunc'](list,"OnEvent",OnEvent) |
self.frame = addon:RegisterFunc(list,"OnEvent",OnEvent) |
end |
function modul:Disable() |
self.status = false |
if(a == id and b['count']>0) then |
res[unitname] = b['count'] |
if(b['max']>0) then |
res[unitname] = addon['colorize'](format("%s/%s",b['count'],b['max']),b['count']==b['max'] and "ff0000" or "ffffff") |
res[unitname] = addon:colorize(format("%s/%s",b['count'],b['max']),b['count']==b['max'] and "ff0000" or "ffffff") |
else |
res[unitname] = addon['colorize'](format("%s",b['count']),"ffffff") |
res[unitname] = addon:colorize(format("%s",b['count']),"ffffff") |
end |
end |
end |
for event,func in pairs(events) do |
list[#list+1] = event |
end |
self.frame = addon['RegisterFunc'](list,"OnEvent",OnEvent) |
self.frame = addon:RegisterFunc(list,"OnEvent",OnEvent) |
OnEvent(self.frame, "CURRENCY_DISPLAY_UPDATE") |
hooksecurefunc(GameTooltip, "SetCurrencyByID", SetCurrencyByID) |
hooksecurefunc(GameTooltip, "SetCurrencyToken", SetCurrencyToken) |
for i = 1, C_TradeSkillUI.GetRecipeNumReagents(par.selectedRecipeID) do |
if(tab.reagentIndex and i==tab.reagentIndex) then |
local recipeItemLink = C_TradeSkillUI.GetRecipeReagentItemLink(par.selectedRecipeID, i) |
itemID = addon['getItemId'](recipeItemLink) |
itemID = addon:getItemId(recipeItemLink) |
break |
end |
end |
if(not link) then |
return |
end |
local id = addon['getItemId'](link) |
local id = addon:getItemId(link) |
if(not id) then |
local tip |
id,tip = checkID(id) |
local dname, drealm = strsplit(" - ",name) |
local input,sum = output(b) |
if(sum>0) then |
tooltip:AddLine(format("%s %s: %s [ %s ] ",addon:getIcon(id),dname,sum,addon['colorize'](table.concat(input,', '),"ffffff"))) |
tooltip:AddLine(format("%s %s: %s [ %s ] ",addon:getIcon(id),dname,sum,addon:colorize(table.concat(input,', '),"ffffff"))) |
end |
input = nil |
end |
end |
end |
function addon:GET_ITEM_INFO_RECEIVED(event, id) |
if(id and not db['names'][id]) then |
if(id) then |
setName(id,GetItemInfo(id)) |
end |
end |
for name,b in pairs(search(id)) do |
local dname, drealm = strsplit(" - ",name) |
local input,sum = output(b) |
dout[#dout+1] = (format(" %s: %s [ %s ] ",dname,sum,addon['colorize'](table.concat(input,', '),"ffffff"))) |
dout[#dout+1] = (format(" %s: %s [ %s ] ",dname,sum,addon:colorize(table.concat(input,', '),"ffffff"))) |
input = nil |
end |
dout = specialoutput2(id,dout) |
end |
if(#dout>0) then |
addon['Print'](format("%s %s",addon:getIcon(id),itemlink and itemlink or itemname)) |
addon:Print(format("%s %s",addon:getIcon(id),itemlink and itemlink or itemname)) |
for k,v in pairs(dout) do |
addon['Print'](v) |
addon:Print(v) |
end |
end |
end |
['icon'] ="Interface\\Icons\\INV_Misc_Bag_10_Blue", |
}, getPref, setPref) |
db = addon['db']['profile'][name] |
addon['RegisterFunc']({ |
addon:RegisterFunc({ |
"GET_ITEM_INFO_RECEIVED" |
},"OnEvent", OnEvent) |
addon:AddConfigEntry(name,"group","ModulGroup","Enable/Disable Moduls","Disabled moduls will not update stored data anymore!",1,true) |
addon:AddConfigEntry(name,"execute","deleteNames","Clear Namecache","Deletes cached itemnames. They are required for itemsearch.",2,deleteNames,nil,nil,nil,addon.dbmenu) |
addon:AddConfigEntry(name,"execute","deleteIcons","Clear Iconcache","Deletes cached icons. They are used for itemsearch/tooltip.",2,deleteIcons,nil,nil,nil,addon.dbmenu) |
end |
addon['startup'](addon, name, name, init, true, defaults) |