WoW API: GetMoney
Returns an integer value of your held money.
money = GetMoney();
Parameters
Arguments
- None
Returns
- money
- Number - The amount of money in copper. This will need to be parsed to display gold, silver, copper seperately. Format could be expressed as ..ggggsscc
Notes
Some notes on odd return values from GetMoney
- GetMoney() will return a 0 when called from ADDON_LOADED. Call from PLAYER_ENTERING_WORLD
Example
/script DEFAULT_CHAT_FRAME:AddMessage(GetMoney(),1,1,1);
/script SendChatMessage("I have "..GetMoney().." copper.")
Result
1112233
[Player] says: I have 1112233 copper.
Assuming the player has Template:Cost.
Example 2
/script DEFAULT_CHAT_FRAME:AddMessage("[Money Pouch] contains "..(GetMoney()/10000).." gold.",1,1,1);
/script SendChatMessage("[Money Pouch] contains "..(GetMoney()/10000).." gold.");
Result
111.2233
[Player] says: [Money Pouch] contains 111.2233 gold.
Assuming the player has Template:Cost.
By dividing with 10000 you get a result in gold. The decimals behind the dot are the silver and the copper.
Example 3
local TotalValue = GetMoney()/10000; local TGold = tonumber(string.sub(TotalValue,1,-6)) if TGold == nil or TGold == 0 then TGold = "" else TGold = (TGold.."g, ") end local TSilver = tonumber(string.sub(TotalValue,-4,-3)) if TSilver == nil or TSilver == 0 then TSilver = "" else TSilver = (TSilver.."s, ") end local TCopper = tonumber(string.sub(TotalValue,-2,-1)) if TCopper == nil or TCopper == 0 then TCopper = "" else TCopper = (TCopper.."c") end DEFAULT_CHAT_FRAME:AddMessage("You have a total of "..TGold..TSilver..TCopper..".");
Result
111g 22s 33c
[Player] says: You have a total of 111g 22s 33c.
Assuming the player has Template:Cost.
Note: As of patch 2.4.2 you can use the GetCoinText() function to convert raw copper values to readable text.