Skip to content

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
end

Returns: 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

EventPayload
economy:moneyAdded{ playerId, account, amount, newBalance }
economy:moneyRemoved{ playerId, account, amount, newBalance }
economy:moneyTransferred{ fromId, toId, account, amount }

See Also

Released under the MIT License.