WoW:USERAPI PLAYER MONEY: Difference between revisions
Jump to navigation
Jump to search
(Celess22 moved page User:Egingell/PLAYER MONEY to User:USEREVENT PLAYER MONEY) |
m (Move page script moved page USERAPI PLAYER MONEY to USERAPI PLAYER MONEY without leaving a redirect) |
(No difference)
|
Latest revision as of 04:49, 15 August 2023
This page documents a <i>user-defined function</i> that you can copy and paste into your addon. Replace PREFIX with your addon or lib prefix to avoid conflicts between different versions of these functions.
Output when you gain or lose money and the amount to the chat frame.
Code[edit]
local function FormatMoney(money) local ret = "" local gold = floor(money / (COPPER_PER_SILVER * SILVER_PER_GOLD)); local silver = floor((money - (gold * COPPER_PER_SILVER * SILVER_PER_GOLD)) / COPPER_PER_SILVER); local copper = mod(money, COPPER_PER_SILVER); if gold > 0 then ret = gold .. " gold " end if silver > 0 or gold > 0 then ret = ret .. silver .. " silver " end ret = ret .. copper .. " copper" return ret end local frame = CreateFrame("Frame") frame:RegisterEvent("PLAYER_MONEY") frame:RegisterEvent("PLAYER_ENTERING_WORLD") frame:SetScript("OnEvent", function(self, event, ...) local tmpMoney = GetMoney() if self.CurrentMoney then self.DiffMoney = tmpMoney - self.CurrentMoney else self.DiffMoney = 0 end self.CurrentMoney = tmpMoney if self.DiffMoney > 0 then ChatFrame1:AddMessage("You gained" .. FormatMoney(self.DiffMoney) .. ".") elseif self.DiffMoney < 0 then ChatFrame1:AddMessage("You lost" .. FormatMoney(self.DiffMoney * -1) .. ".") end end)