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 WoW:USERAPI PLAYER MONEY without leaving a redirect) |
(No difference)
| |
Latest revision as of 04:49, 15 August 2023
This page documents a user-defined function 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
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)