GE Lua Documentation

Press F to search!

addRecord

Definition


-- @/lua/ge/extensions/gameplay/speedTrapLeaderboards.lua:58

local function addRecord(speedTrapData, playerSpeed, overSpeed, veh)
  local currentLevel = getCurrentLevelIdentifier()
  if not leaderboards[currentLevel] then
    leaderboards[currentLevel] = {}
  end
  if not leaderboards[currentLevel][speedTrapData.triggerName] then
    leaderboards[currentLevel][speedTrapData.triggerName] = {}
  end
  local speedTrapLeaderboard = leaderboards[currentLevel][speedTrapData.triggerName]

  -- if there is enough room still, add the current record
  if tableSizeC(speedTrapLeaderboard) < leaderboardSize then
    table.insert(speedTrapLeaderboard, createEntry(playerSpeed, overSpeed, veh))
    table.sort(speedTrapLeaderboard, function(a, b) return a.speed > b.speed end)
    dirtyLevels[currentLevel] = true

  -- if the list is already full, check if the current record is faster than the slowest one
  elseif playerSpeed > speedTrapLeaderboard[leaderboardSize].speed then
    speedTrapLeaderboard[leaderboardSize] = createEntry(playerSpeed, overSpeed, veh)
    table.sort(speedTrapLeaderboard, function(a, b) return a.speed > b.speed end)
    dirtyLevels[currentLevel] = true
  end

  if playerSpeed >= speedTrapLeaderboard[1].speed then
    return true, speedTrapLeaderboard
  end
  return false, speedTrapLeaderboard
end

Callers

@/inspector/Models/MemoryTimeline.js

    addRecord(record, options = {})
    {

        super.addRecord(record, options);
    }
@/inspector/Models/TimelineRecording.js
            if (record) {
                recording.addRecord(record);

    addRecord(record)
    {
        // Add the record to the global timeline by type.
        timeline.addRecord(record, {discontinuity});

        sourceCodeTimeline.addRecord(record);
@/inspector/Models/Timeline.js

    addRecord(record, options = {})
    {
@/inspector/Models/NetworkTimeline.js

    addRecord(record, options = {})
    {

        super.addRecord(record, options);
    }
@/inspector/Controllers/TimelineManager.js
    {
        this._activeRecording.addRecord(record);
@/inspector/Models/CPUTimeline.js

    addRecord(record, options = {})
    {

        super.addRecord(record, options);
    }
@/lua/ge/extensions/career/modules/speedTraps.lua

  local highscore, leaderboard = gameplay_speedTrapLeaderboards.addRecord(speedTrapData, playerSpeed, overSpeed, veh)
@/lua/ge/extensions/freeroam/freeroam.lua
  local veh = getPlayerVehicle(0)
  local highscore, leaderboard = gameplay_speedTrapLeaderboards.addRecord(speedTrapData, playerSpeed, overSpeed, veh)
  ui_message({txt="ui.freeroam.speedTrap.speedingMessage", context={licensePlate = core_vehicles.getVehicleLicenseText(veh), recordedSpeed = playerSpeed, speedLimit = speedTrapData.speedLimit}}, 10, 'speedTrap')