NightZoom LogoNightZoom
BJJ Racing Core/BJJ Racing Core v7/Core Events

Core Events Client

Client-side core events and callbacks for BJJ Racing Core v7

This page covers the essential client-side core events for BJJ Racing Core v7. These events handle core player lifecycle and system initialization.

Core Player Events

Player Lifecycle Events

EventParametersDescription
bjj:client:playerLoaded-Player has completed loading and is ready
bjj:client:playerUnloaded-Player is being unloaded (before disconnect)

Example Usage:

-- Listen for player loaded
RegisterNetEvent('bjj:client:playerLoaded', function()
    print('Player is fully loaded and ready for interactions')
    
    -- Safe to access Core.getPlayerData() now
    local Core = exports.bjj_racingcore:getCore()
    local playerData = Core.getPlayerData()
    
    if playerData then
        print('Welcome back,', playerData.name)
        print('Your MMR:', playerData.mmr)
        print('Money:', playerData.money)
    end
    
    -- Initialize your custom systems here
    TriggerEvent('myresource:initializePlayer', playerData)
end)

-- Listen for player unloaded
RegisterNetEvent('bjj:client:playerUnloaded', function()
    print('Player is being unloaded')
    
    -- Clean up your custom systems here
    -- Save any temporary data
    TriggerEvent('myresource:cleanupPlayer')
end)

The bjj:client:playerLoaded event is the safest place to initialize player-dependent systems. All player data is guaranteed to be available at this point.

Always handle the bjj:client:playerUnloaded event to properly clean up your systems before the player disconnects.

Use the event-based pattern rather than polling for better performance and reliability. The core system will trigger these events at the appropriate times.