Player & State

Read who a player is, move their money, change their job or gang, and react to framework events.

Reading player data

Read a player's data with the flat helpers — they return a plain table that's safe to pass across resources.

-- server (pass the player's source)
local data = Echo.GetPlayerData(src)
-- data = { citizenid, name, job, gang, money, charinfo, ... }

-- client (your own player, no argument)
local data = Echo.GetPlayerData()
⚠️ Don't use GetPlayer across resources

exports.echo_core:GetPlayer(src) returns an OOP object. FiveM strips the object's metatable over the export boundary, so its methods (:GetMoney() etc.) vanish and you'll get a "nil value (method ...)" error. Always use the flat helpers on this page.

Money

Money is server-authoritative — only the server may change it. Pass a reason string for logging.

local cash = Echo.GetMoney(src, 'cash')
Echo.AddMoney(src, 'bank', 500, 'paycheck')
Echo.RemoveMoney(src, 'cash', 100, 'shop-purchase')
Account Description
cash Physical money on hand.
bank Bank balance.

Jobs and gangs

Echo.SetJob(src, 'mechanic', 2)     -- name, grade
Echo.SetGang(src, 'ballas', 0)

local job  = Echo.GetJob('mechanic') -- job definition (grades, label, ...)
local gang = Echo.GetGang('ballas')

A player's current job/gang is also on their player data: Echo.GetPlayerData(src).job and .gang.

Events

React to framework state changes. The event name constants live on Echo.events so you don't hardcode strings.

-- server
AddEventHandler(Echo.events.sv_playerLoaded, function(src) ... end)
AddEventHandler(Echo.events.sv_jobChanged,   function(src, job) ... end)

-- client
AddEventHandler(Echo.events.playerLoaded, function() ... end)
AddEventHandler(Echo.events.jobChanged,   function(job) ... end)
AddEventHandler(Echo.events.moneyChanged, function(account, amount) ... end)
Constant Event name Side
Echo.events.playerLoaded echo:client:playerLoaded client
Echo.events.jobChanged echo:client:jobChanged client
Echo.events.gangChanged echo:client:gangChanged client
Echo.events.moneyChanged echo:client:moneyChanged client
Echo.events.sv_playerLoaded echo:server:playerLoaded server
Echo.events.sv_jobChanged echo:server:jobChanged server
Echo.events.sv_gangChanged echo:server:gangChanged server