Skip to content

Client Events

Triggered when a new zone is created and should appear on the client

AddEventHandler('redzone:client:addZone', function(zoneData)
-- a new zone was added
end)

Event Data:

  • zoneData (table) - Serialized zone object

Triggered when a zone’s data changes

AddEventHandler('redzone:client:updateZone', function(zoneData)
-- zone was updated
end)

Event Data:

  • zoneData (table) - Updated serialized zone object

Triggered when a zone is removed

AddEventHandler('redzone:client:removeZone', function(zoneId)
-- zone was removed
end)

Event Data:

  • zoneId (string | number) - ID of the removed zone

Triggered on resource start to sync all active zones to the client

AddEventHandler('redzone:client:setZones', function(zones)
-- initial zone sync
end)

Event Data:

  • zones (table) - Array of all active serialized zone objects

Triggered to update the in-zone leaderboard HUD

AddEventHandler('redzone:client:leaderboardUpdate', function(leaderboard)
-- leaderboard data updated
end)

Event Data:

  • leaderboard (table) - Leaderboard payload
    • zoneId (string | number)
    • players (table) - Sorted array of { playerId, name, kills, deaths, streak }
    • totalKills (number)
    • durationType (string | nil) - 'time' or 'kills'
    • duration (number)
    • endTime (number | nil) - Unix timestamp (only for durationType = 'time')
    • currentPlayerId (number)

Triggered when a zone ends, showing final results to players still in the area

AddEventHandler('redzone:client:zoneEndResults', function(results)
-- zone ended
end)

Event Data:

  • results (table) - End results payload
    • zoneId (string | number)
    • zoneName (string)
    • topPlayers (table) - Top 10 players with { playerId, name, kills, deaths, streak }
    • totalKills (number)
    • duration (number) - Total elapsed seconds