REC_PlayerManager
Events
Welcome to REC_PlayerManager documentation.
- Added
- Updated
What this gives you: a reliable moment to hang your own scripts off.
Knowing when a player has connected is easy. Knowing when their character is actually loaded and ready is the hard part, and getting it wrong is why scripts fire too early and read empty data. Every RE : CORD resource listens here instead of guessing at framework events, and yours can too.
REC_PlayerManager:server:onPlayerLoaded
Fires once the character is loaded and ready to be worked with.
sample.lua
---@param src integer
---@param payload REC_PlayerManager.Server.Main.PlayerLoaded.Payload
AddEventHandler('REC_PlayerManager:server:onPlayerLoaded', function(src, payload)
print(("%s joined as %s"):format(payload.citizenId, payload.job.name))
end)
| Field | Type | Description |
|---|---|---|
citizenId | string | The character that loaded |
job.name | string | Their job at that moment |
Restarting this resource mid-session does not strand anybody. Everyone already connected is picked back up, so you never end up with half your players unmanaged.
REC_PlayerManager:server:onPlayerLeft
Fires when somebody drops, whether they logged out or timed out.
| Field | Type | Description |
|---|---|---|
playerId | integer | |
citizenId | string? | nil if they dropped before their character loaded |
REC_PlayerManager:server:onPlayerRoutingBucketChange
Fires when a player is moved into a different routing bucket.
| Field | Type | Description |
|---|---|---|
citizenId | string | |
oldBucket | integer | |
newBucket | integer |
Positions and buckets are re-read every config.playerManager.updateInterval (1000 ms). Every tracked player is read on each pass, so raise it if you run a busy server.
