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()
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 |