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_identifier
  • player_name
  • first_name
  • last_name
  • cash
  • bank
  • dirty
  • money_json
  • accounts_json
  • inventory_json