WoW:API GetMoney: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
(Added link to GetCoinText function)
m (Move page script moved page API GetMoney to API GetMoney without leaving a redirect)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
{{wowapi}} __NOTOC__
{{wowapi}}
 
Returns an integer value of your held money.
Returns an integer value of your held money.
  money = GetMoney();
  money = GetMoney();


== Parameters ==
== Returns ==
;money : Number - The amount of money the player's character has, in copper.


<big>'''Arguments'''</big>
== Example ==
:None
The following code prints the amount of gold, silver and copper the player's character currently has:
 
local copper = GetMoney()
 
print(("I have %dg %ds %dc"):format(copper / 100 / 100, (copper / 100) % 100, copper % 100));
<big>'''Returns'''</big>
 
:;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 ==
== Notes ==
Some notes on odd return values from GetMoney
* The player's wealth is not immediately available; wait until PLAYER_ENTERING_WORLD before calling GetMoney().
* GetMoney() will return a 0 when called from ADDON_LOADED.  Call from PLAYER_ENTERING_WORLD
* As of patch 2.4.2 you can use the {{api|GetCoinText}}(copper) function to convert raw copper values to readable text.
 
 
== Example ==
 
/script DEFAULT_CHAT_FRAME:AddMessage(GetMoney(),1,1,1);
 
/script SendChatMessage("I have "..GetMoney().." copper.")
 
<big>'''Result'''</big>
 
1112233
 
[Player] says: I have 1112233 copper.
 
Assuming the player has {{Cost|g=111|s=22|c=33}}.
 
== Example 2 ==
 
/script DEFAULT_CHAT_FRAME:AddMessage("[Money Pouch] contains "..(GetMoney()/10000).." gold.",1,1,1);
 
/script SendChatMessage("[Money Pouch] contains "..(GetMoney()/10000).." gold.");
 
<big>'''Result'''</big>
 
111.2233
 
[Player] says: [Money Pouch] contains 111.2233 gold.
 
Assuming the player has {{Cost|g=111|s=22|c=33}}.
 
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..".");
 
<big>'''Result'''</big>
 
111g 22s 33c
 
[Player] says: You have a total of 111g 22s 33c.
 
Assuming the player has {{Cost|g=111|s=22|c=33}}.
 
Note: As of patch 2.4.2 you can use the [[API_GetCoinText|GetCoinText()]] function to convert raw copper values to readable text.

Latest revision as of 04:46, 15 August 2023

WoW API < GetMoney

Returns an integer value of your held money.

money = GetMoney();

Returns[edit]

money
Number - The amount of money the player's character has, in copper.

Example[edit]

The following code prints the amount of gold, silver and copper the player's character currently has:

local copper = GetMoney()
print(("I have %dg %ds %dc"):format(copper / 100 / 100, (copper / 100) % 100, copper % 100));

Notes[edit]

  • The player's wealth is not immediately available; wait until PLAYER_ENTERING_WORLD before calling GetMoney().
  • As of patch 2.4.2 you can use the GetCoinText(copper) function to convert raw copper values to readable text.