Economy
The Economy tab tracks snapshots and alerts from the server economy.
Economy Snapshots
Snapshots can include:
- Player count
- Total cash
- Total bank
- Total dirty money
- Total inventory value
- Richest player
- Richest player identifier
- Top richest players metadata
Economy Alerts
Alerts can track:
- Alert type
- Severity
- Player name
- Player identifier
- Amount
- Message
- Status
Statuses:
- Open
- Reviewing
- Resolved
Severities:
- Info
- Warning
- Critical
Dupe Detection
FiveOps checks recent item movement logs for dupe-like patterns and shows them in the Economy tab:
and inventory.
- Rapid repeated transfers of the same item and count between the same player
- Repeated player-to-player movements with the same item count.
- Drop, trunk, and glovebox loops where an item bounces in and out quickly.
Detected patterns are also written as Economy alerts with alert types such as dupe.rapid_repeat_transfer and dupe.inventory_loop, so owners can mark them reviewing or resolved.
Enable Economy Sync
In fiveops/config.lua:
Config.DatabaseSync = true
Config.EconomySync = true
Config.EconomyTable = 'players'
Config.EconomyDirtyMoneyItemsEnabled = true
Restart the connector or run:
fiveops_sync_economy
Dirty Money Items
Configure dirty money item names:
Config.EconomyDirtyMoneyItems = {
'dirty',
'dirtymoney',
'dirty_money',
'black_money',
'blackmoney',
'markedbills',
'marked_bills',
'markedbill'
}
Item Movement Logs
Automatic item movement tracking currently supports ox_inventory only. Support for additional inventory scripts will be added in later FiveOps releases.
FiveOps can show item movement logs in the Economy tab for dropped, picked-up, glovebox, trunk, and player-to-player give events.
ox_inventory is tracked automatically when it is running:
Config.ItemMovementLogs = true
Config.ItemMovementLogOxInventory = true
Config.ItemMovementLogFlushInterval = 30
Config.ItemMovementLogBatchSize = 100
Custom integrations can trigger the FiveOps server export from their inventory server code when an item moves:
exports.fiveops:TrackItemMovement({
action = 'give',
itemName = 'water',
itemCount = 1,
sourcePlayerId = tostring(source),
targetPlayerId = tostring(target),
fromInventoryType = 'player',
toInventoryType = 'player'
})
Custom Schemas
Use Config.EconomyQueries for custom databases. Queries can return:
player_identifierplayer_namefirst_namelast_namecashbankdirtymoney_jsonaccounts_jsoninventory_json
