Core Events Server
Server-side core events and callbacks for BJJ Racing Core v7
This page covers the essential server-side core events for BJJ Racing Core v7. These events handle player lifecycle and system integration points.
Core Player Events
Player Lifecycle Events
| Event | Parameters | Description |
|---|---|---|
bjj:server:playerLoaded | playerData: table | Player has loaded and data is ready |
bjj:server:playerUnloaded | source: number | Player is being unloaded |
Example Usage:
-- Listen for player loaded
AddEventHandler('bjj:server:playerLoaded', function(playerData)
local source = playerData.source
print('Player loaded:', playerData.name, 'Source:', source)
-- Initialize your systems for this player
-- Safe to use Core.getPlayer(source) now
local Core = exports.bjj_racingcore:getCore()
local player = Core.getPlayer(source)
if player then
-- Player object is ready for use
print('Player MMR:', player.data.mmr)
print('Player Money:', player.data.money)
-- Initialize custom metadata if needed
if not player.getMetadata('myresource_initialized') then
player.setMetadata('myresource_initialized', true, true)
player.setMetadata('join_date', os.date(), true)
end
end
end)
-- Listen for player unloaded
AddEventHandler('bjj:server:playerUnloaded', function(source)
print('Player unloaded:', source)
-- Clean up your systems for this player
-- Remove from any custom tracking tables
-- Save any temporary data
-- Example cleanup
if myPlayerData[source] then
-- Save final data
savePlayerCustomData(source, myPlayerData[source])
-- Remove from memory
myPlayerData[source] = nil
end
end)The bjj:server:playerLoaded event is the safest place to initialize player-specific systems. The player object is guaranteed to be available and ready for use.
Always check if a player object exists before using it, as players can disconnect at any time. Use the bjj:server:playerUnloaded event for cleanup.
These core events provide reliable hooks into the player lifecycle. Use them to ensure your systems are properly initialized and cleaned up.