GE Lua Documentation

Press F to search!

recordLevelSpawn

Definition


-- @/lua/ge/extensions/freeroam/levelStats.lua:16

function M.recordLevelSpawn(levelName, spawnPointName)
  spawnPointName = spawnPointName or "__default__" -- the default spawnpoint has no name, so we store this internal name as equivalent in the stats file
  local stats = getStats()
  local now = os.date("!%Y-%m-%dT%H:%M:%SZ") -- ISO8601 format
  stats.levels[levelName] = stats.levels[levelName] or {}
  local l = stats.levels[levelName]
  l.count = (l.count or 0) + 1
  l.lastUsed = now
  l.spawnPoints = l.spawnPoints or {}
  l.spawnPoints[spawnPointName] = l.spawnPoints[spawnPointName] or {}
  local s = l.spawnPoints[spawnPointName]
  s.spawnPointName = spawnPointName
  s.count = (s.count or 0) + 1
  s.lastUsed = now
  log('D', '', string.format("Saving stats for level %q, spawnpoint %q, to file: %q", levelName, spawnPointName, statsFilePath))
  jsonWriteFile(statsFilePath, stats, true)
end

Callers

@/ui/modules/levelselect/levelselect.js
    bngApi.engineLua(`freeroam_freeroam.startFreeroamByName('${levelName}', ${spawnPointName})`)
    bngApi.engineLua(`extensions.freeroam_levelStats.recordLevelSpawn('${levelName}', ${spawnPointName})`)
    // we do not want to have all the level data hanging around all the time