Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local addonName = 'Goldsheet_Mail'
- local f = CreateFrame("Frame")
- f:SetScript("OnEvent", function(f, event, ...) f[event](f, event, ...) end)
- f:RegisterEvent("ADDON_LOADED")
- f:RegisterEvent("PLAYER_LOGIN")
- f:RegisterEvent("GUILD_ROSTER_UPDATE")
- local db
- local charProfile
- local guildProfile
- local mailProfile
- do
- local isLoaded
- local isLogged
- local function Init()
- if not isLoaded or not isLogged then
- return
- end
- local realmName = GetRealmName()
- local charName = UnitName("player")
- local guildName = GetGuildInfo("player")
- if not MYNEWMAILGVARS then
- MYNEWMAILGVARS = {}
- end
- db = MYNEWMAILGVARS
- if not db[realmName] then
- db[realmName] = {}
- end
- if not db[realmName][charName] then
- db[realmName][charName] = { money = GetMoney() }
- end
- charProfile = db[realmName][charName]
- if guildName then
- if not db[realmName][guildName] then
- db[realmName][guildName] = { money = -1 }
- end
- guildProfile = db[realmName][guildName]
- end
- f:RegisterEvent("PLAYER_MONEY")
- f:RegisterEvent("GUILDBANKFRAME_OPENED")
- f:RegisterEvent("GUILDBANK_UPDATE_MONEY")
- f:RegisterEvent("GUILDBANK_UPDATE_WITHDRAWMONEY")
- f:RegisterEvent("MAIL_SHOW")
- f:RegisterEvent("MAIL_INBOX_UPDATE")
- f:RegisterEvent("MAIL_SUCCESS")
- end
- function f:ADDON_LOADED(event, name)
- if name ~= addonName then
- return
- end
- f:UnregisterEvent(event)
- isLoaded = true
- Init()
- end
- function f:PLAYER_LOGIN(event)
- f:UnregisterEvent(event)
- isLogged = true
- Init()
- end
- function f:GUILD_ROSTER_UPDATE()
- Init()
- end
- end
- do
- function f:PLAYER_MONEY()
- charProfile.money = GetMoney()
- end
- local function UpdateGuildMoney()
- if not guildProfile then
- return
- end
- guildProfile.money = GetGuildBankMoney()
- end
- function f:GUILDBANKFRAME_OPENED()
- UpdateGuildMoney()
- end
- function f:GUILDBANK_UPDATE_MONEY()
- UpdateGuildMoney()
- end
- function f:GUILDBANK_UPDATE_WITHDRAWMONEY()
- UpdateGuildMoney()
- end
- local function UpdateMailStuff()
- for i = 1, GetInboxNumItems() do
- local _, _, sender, subject, money, _, daysLeft, hasItem, _, _, _, canReply = GetInboxHeaderInfo(i)
- if not mailProfile then
- db[realmName][charName][sender] = { mail = -1 }
- end
- mailProfile = db[realmName][charName][sender]
- mailProfile.mail = subject .. "-" .. money
- end
- end
- function f:MAIL_SHOW()
- UpdateMailStuff()
- end
- function f:MAIL_INBOX_UPDATE()
- UpdateMailStuff()
- end
- function f:MAIL_SUCCESS()
- UpdateMailStuff()
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement