Economy Contract
Contract: IEconomy
Default provider: shiva-economy
Manages player accounts (cash, bank, and custom accounts).
Methods
IEconomy:getBalance(serverId, account)
Get a player's balance for an account.
lua
local economy = container:make('IEconomy')
local cash = economy:getBalance(source, 'cash')
local bank = economy:getBalance(source, 'bank')Returns: number
IEconomy:addMoney(serverId, account, amount)
Add money to an account.
lua
economy:addMoney(source, 'bank', 1000)Returns: boolean
IEconomy:removeMoney(serverId, account, amount)
Remove money from an account. Returns false if insufficient funds.
lua
local ok = economy:removeMoney(source, 'cash', 500)
if not ok then
-- notify: insufficient funds
endReturns: boolean
IEconomy:transferMoney(fromId, toId, account, amount)
Transfer money between two players.
Returns: boolean
IEconomy:setBalance(serverId, account, amount)
Set a balance directly (admin use).
Returns: boolean
Events Emitted
| Event | Payload |
|---|---|
economy:moneyAdded | { playerId, account, amount, newBalance } |
economy:moneyRemoved | { playerId, account, amount, newBalance } |
economy:moneyTransferred | { fromId, toId, account, amount } |