/trunk
local itemID = getCurrencyItem(index) |
if((not isHeader) and itemID) then |
addon['setResult'](itemID,nil) |
modul['db'][playerID][itemID] = { |
modul['db'][playerID][tonumber(itemID)] = { |
['count'] = count, |
['max'] = maximum, |
} |
end |
end |
local function OnEvent(self,event,...) |
if(not playerID) then |
playerID = addon.getPID() |
if(playerID) then |
modul['db'][playerID] = modul['db'][playerID] or {} |
end |
end |
playerID = addon.getPID() |
if(playerID and type(events[event])=='function') then |
modul['db'] = addon:GetNamespace(modul.name) |
modul['db'][playerID] = modul['db'][playerID] or {} |
addon['wipeResults']() |
events[event](self, event, ...) |
end |
end |
function modul:Delete(id, typ) |
self['db'] = addon:GetNamespace(modul.name) |
if(typ == self['typ'] and id and id>0) then |
self['db'][id] = nil |
end |
end |
function modul:Enable() |
self.status = true |
local list = {} |
end |
end |
addon['inits'][#addon['inits']+1] = function() |
modul.db,modul.status = addon['RegisterModul'](modul, modulname) |
modul.db,modul.status = addon:RegisterModul(modul, modulname) |
if(modul.status) then |
modul:Enable() |
end |
end |
local player = format("%s - %s",pname,pserver) |
playerID = 0 |
db['units'] = db['units'] or {} |
for k,v in pairs(db['units']) do |
local units = addon:GetNamespace('units') |
for k,v in pairs(units) do |
if(v['name']==player) then |
playerID = k |
return playerID |
end |
end |
playerID = playerID + 1 |
db['units'][playerID]= { |
units[playerID]= { |
['name'] = player, |
['faction'] = UnitFactionGroup('player') |
} |
playerID = getPlayerID() |
end |
if(playerID) then |
db['bags'][playerID] = db['bags'][playerID] or {} |
db['bank'][playerID] = db['bank'][playerID] or {} |
db['currencies'][playerID] = db['currencies'][playerID] or {} |
return true |
end |
end |
addon['getPID'] = getPlayerID |
addon['checkPID'] = checkPID |
local function getChars() |
local chars = {} |
for k,v in pairs(db['units']) do |
chars[k] = v['name'] |
end |
return chars |
end |
local function deleteChar() |
local cid = db['selectCID'] |
if(cid and cid>0) then |
for k, modul in pairs(moduls) do |
modul:Delete(cid) |
end |
db['units'][cid] = nil |
if(cid == playerID) then |
playerID = nil |
end |
end |
end |
local function getGuilds() |
local guilds = {} |
for k,v in pairs(db['guilds']) do |
guilds[k] = v['name'] |
end |
return guilds |
end |
local function deleteGuild() |
local gid = db['selectGID'] |
if(gid and gid>0) then |
for k, modul in pairs(moduls) do |
modul:Delete(gid, 'guild') |
end |
db['guilds'][gid] = nil |
if(gid == guildID) then |
guildID = nil |
end |
end |
end |
local function getGuildID() |
local pname, pserver = UnitFullName("player") |
if(not pserver) then |
guildID = 0 |
if(not guildName) then return end |
local guild = format("%s - %s",guildName,guildRealm and guildRealm or pserver) |
db['guilds'] = db['guilds'] or {} |
for k,v in pairs(db['guilds']) do |
local guilds = addon:GetNamespace('guilds') |
for k,v in pairs(guilds) do |
if(v['name']==guild) then |
guildID = k |
return guildID |
end |
end |
guildID = guildID + 1 |
db['guilds'][playerID]= { |
guilds[guildID]= { |
['name'] = guild, |
['faction'] = UnitFactionGroup('player') |
} |
return playerID |
return guildID |
end |
addon['getGID'] = getGuildID |
local function checkGID() |
guildID = getGuildID() |
end |
if(guildID and guildID>0) then |
db['guildbank'][guildID] = db['guildbank'][guildID] or {} |
addon:GetNamespace('guildbank') |
return true |
end |
end |
end |
local function setName(id,itemname) |
if(id and itemname) then |
db['names'][id] = itemname |
local names = addon:GetNamespace('names') |
names[tonumber(id)] = itemname |
end |
end |
local function getName(id) |
if(not db['names'][id]) then |
local names = addon:GetNamespace('names') |
if(not names[id]) then |
setName(id,GetItemInfo(id)) |
end |
return db['names'][id] |
addon['getName'] = getName |
addon['setIcon'] = function(id,icon) |
if(id and icon) then |
db['icons'][id] = "|T"..icon..":0|t" |
local icons = addon:GetNamespace('icons') |
icons[tonumber(id)] = "|T"..icon..":0|t" |
end |
end |
local function getIcon(id) |
if(not db['icons'][id]) then |
id = tonumber(id) |
local icons = addon:GetNamespace('icons') |
if(not icons) then |
local itemname, _, _, _, _, _, _, _, _, icon = GetItemInfo(id) |
setName(id,itemname) |
addon['setIcon'](id,icon) |
end |
addon['getIcon'] = getIcon |
addon['getUnits'] = function() |
return db['units'] |
return addon:GetNamespace('units') |
end |
local function getResult(id) |
if(resultStore[id]) then |
end |
end |
_G["SLASH_"..string.upper(name).."1"] = "/find" |
addon['GetNamespace'] = function(namespace) |
function addon:GetNamespace(namespace) |
if(namespace) then |
db[namespace] = db[namespace] or {} |
return db[namespace] |
end |
end |
addon['RegisterModul'] = function(modul, namespace) |
function addon:RegisterModul(modul, namespace) |
moduls[#moduls+1] = modul |
addon:AddConfigEntry(name,"toggle",namespace.."Toggle",namespace,"Enable/Disable "..namespace,1,nil,nil,nil,nil,addon['options']['args'][name]['args']["ModulGroup"]) |
addon:AddConfigEntry(name,"toggle",namespace.."Tooltip",namespace,"Enable/Disable Tooltip"..namespace,1,nil,nil,nil,nil,addon['options']['args'][name]['args']["ModulTooltip"]) |
return addon['GetNamespace'](namespace), db[namespace.."Toggle"] |
self:AddConfigEntry(name,"toggle",namespace.."Toggle",namespace,"Enable/Disable "..namespace,1,nil,nil,nil,nil,self['options']['args'][name]['args']["ModulGroup"]) |
self:AddConfigEntry(name,"toggle",namespace.."Tooltip",namespace,"Enable/Disable Tooltip"..namespace,1,nil,nil,nil,nil,self['options']['args'][name]['args']["ModulTooltip"]) |
return self:GetNamespace(namespace), db[namespace.."Toggle"] |
end |
local function OnEvent(self, event, ...) |
if(type(addon[event])=='function') then |
addon[event](self,event,...) |
if(type(self[event])=='function') then |
self[event](self,event,...) |
end |
end |
function addon:GetPref(prefName) |
addon:AddConfigEntry(name,"group","ModulGroup","Enable/Disable Moduls","Disabled moduls will not update stored data anymore!",1,true) |
addon:AddConfigEntry(name,"group","ModulTooltip","Enable/Disable Tooltip","Disabled moduls are not added to tooltip!",1,true) |
addon:AddConfigEntry(name,"toggle","showID","Show ItemID","Show ItemID in tooltips",1) |
addon.dbmenu = addon:AddConfigMenu({ |
['name'] = 'Database', |
['childGroups'] = 'tab', |
['order'] = 20, |
['menuGet'] = getPref, |
['menuSet'] = setPref |
}) |
addon.menuchar = addon:AddConfigMenu({ |
['name'] = 'Character', |
['order'] = 10, |
['menuGet'] = getPref, |
['menuSet'] = setPref |
},addon.dbmenu) |
addon:AddConfigEntry(name,"select","selectCID","Select character to modify","Select character to modify",1,getChars,nil,nil,nil,addon.menuchar) |
addon:AddConfigEntry(name,"execute","deleteCID","Delete","Delete selected Char",2,deleteChar,nil,nil,nil,addon.menuchar) |
addon.menuguild = addon:AddConfigMenu({ |
['name'] = 'Guild', |
['order'] = 20, |
['menuGet'] = getPref, |
['menuSet'] = setPref |
},addon.dbmenu) |
addon:AddConfigEntry(name,"select","selectGID","Select guild to modify","Select guild to modify",1,getGuilds,nil,nil,nil,addon.menuguild) |
addon:AddConfigEntry(name,"execute","deleteGID","Delete","Delete selected Guild",2,deleteGuild,nil,nil,nil,addon.menuguild) |
end |
addon['startup'](addon, name, name, init, true, defaults) |
scanAllBankBags(nil) |
end |
local function OnEvent(self,event,...) |
if(not playerID) then |
playerID = addon.getPID() |
if(playerID) then |
modul['db'][playerID] = modul['db'][playerID] or {} |
end |
end |
playerID = addon.getPID() |
if(playerID and type(events[event])=='function') then |
modul['db'] = addon:GetNamespace(modul.name) |
modul['db'][playerID] = modul['db'][playerID] or {} |
addon['wipeResults']() |
events[event](self, event, ...) |
end |
end |
function modul:Delete(id, typ) |
self['db'] = addon:GetNamespace(modul.name) |
if(typ == self['typ'] and id and id>0) then |
self['db'][id] = nil |
end |
end |
function modul:Enable() |
self.status = true |
local list = {} |
end |
end |
addon['inits'][#addon['inits']+1] = function() |
modul.db,modul.status = addon['RegisterModul'](modul, modulname) |
modul.db,modul.status = addon:RegisterModul(modul, modulname) |
if(modul.status) then |
modul:Enable() |
end |
scanAllBags(nil) |
end |
local function OnEvent(self,event,...) |
if(not playerID) then |
playerID = addon.getPID() |
if(playerID) then |
modul['db'][playerID] = modul['db'][playerID] or {} |
end |
end |
playerID = addon.getPID() |
if(playerID and type(events[event])=='function') then |
modul['db'] = addon:GetNamespace(modul.name) |
modul['db'][playerID] = modul['db'][playerID] or {} |
addon['wipeResults']() |
events[event](self, event, ...) |
end |
end |
function modul:Delete(id, typ) |
self['db'] = addon:GetNamespace(modul.name) |
if(typ == self['typ'] and id and id>0) then |
self['db'][id] = nil |
end |
end |
function modul:Enable() |
self.status = true |
self['status'] = true |
local list = {} |
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 |
self['status'] = false |
for event,func in pairs(events) do |
self.frame:UnregisterEvent(event) |
self['frame']:UnregisterEvent(event) |
end |
end |
addon['inits'][#addon['inits']+1] = function() |
modul.db,modul.status = addon['RegisterModul'](modul, modulname) |
modul['db'],modul['status'] = addon:RegisterModul(modul, modulname) |
if(modul.status) then |
modul:Enable() |
end |
modul['db'][playerID][0] = scanChar(nil) |
end |
local function OnEvent(self,event,...) |
if(not playerID) then |
playerID = addon.getPID() |
if(playerID) then |
modul['db'][playerID] = modul['db'][playerID] or {} |
end |
end |
playerID = addon.getPID() |
if(playerID and type(events[event])=='function') then |
modul['db'] = addon:GetNamespace(modul.name) |
modul['db'][playerID] = modul['db'][playerID] or {} |
addon['wipeResults']() |
events[event](self, event, ...) |
end |
end |
function modul:Delete(id, typ) |
self['db'] = addon:GetNamespace(modul.name) |
if(typ == self['typ'] and id and id>0) then |
self['db'][id] = nil |
end |
end |
function modul:Enable() |
self.status = true |
local list = {} |
end |
end |
addon['inits'][#addon['inits']+1] = function() |
modul.db,modul.status = addon['RegisterModul'](modul, modulname) |
modul.db,modul.status = addon:RegisterModul(modul, modulname) |
if(modul.status) then |
modul:Enable() |
end |
local modulname = 'guildbank' |
local events = {} |
local modul = { |
['name'] = modulname |
['name'] = modulname, |
['typ'] = 'guild' |
} |
local guildID |
local GuildBankIsOpen = false |
addon['wipeResults']() |
end |
local function OnEvent(self,event,...) |
if(not guildID) then |
guildID = addon.getGID() |
if(guildID) then |
modul['db'][guildID] = modul['db'][guildID] or {} |
end |
end |
guildID = addon.getGID() |
if(guildID and type(events[event])=='function') then |
modul['db'] = addon:GetNamespace(modul.name) |
modul['db'][guildID] = modul['db'][guildID] or {} |
addon['wipeResults']() |
events[event](self, event, ...) |
end |
end |
function modul:Delete(id, typ) |
self['db'] = addon:GetNamespace(modul.name) |
if(typ == self['typ'] and id and id>0) then |
self['db'][id] = nil |
end |
end |
function modul:Enable() |
self.status = true |
local list = {} |
end |
end |
addon['inits'][#addon['inits']+1] = function() |
modul.db,modul.status = addon['RegisterModul'](modul, modulname) |
modul.db,modul.status = addon:RegisterModul(modul, modulname) |
if(modul.status) then |
modul:Enable() |
end |
modul['db'][playerID][0] = scanVoid() |
end |
local function OnEvent(self,event,...) |
if(not playerID) then |
playerID = addon.getPID() |
if(playerID) then |
modul['db'][playerID] = modul['db'][playerID] or {} |
end |
end |
playerID = addon.getPID() |
if(playerID and type(events[event])=='function') then |
modul['db'] = addon:GetNamespace(modul.name) |
modul['db'][playerID] = modul['db'][playerID] or {} |
addon['wipeResults']() |
events[event](self, event, ...) |
end |
end |
function modul:Delete(id, typ) |
self['db'] = addon:GetNamespace(modul.name) |
if(typ == self['typ'] and id and id>0) then |
self['db'][id] = nil |
end |
end |
function modul:Enable() |
self.status = true |
local list = {} |
end |
end |
addon['inits'][#addon['inits']+1] = function() |
modul.db,modul.status = addon['RegisterModul'](modul, modulname) |
modul.db,modul.status = addon:RegisterModul(modul, modulname) |
if(modul.status) then |
modul:Enable() |
end |