WoW API: GetMoney

Revision as of 00:46, 28 December 2009 by WoWWiki>Grist (Added link to GetCoinText function)

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.