GE Lua Documentation

Press F to search!

testRandomPaint

Definition


-- @/lua/ge/extensions/core/vehiclePaints.lua:614

-- tests paint distribution
local function testRandomPaint(model_key, config_key, amount)
  local resultsByName = {}
  for i = 1, amount do
    local paintResult = getRandomPaints(model_key, config_key)
    local name = string.format("%s: %s %s %s", paintResult.type, paintResult.paintName1, paintResult.paintName2, paintResult.paintName3)
    resultsByName[name] = (resultsByName[name] or 0) + 1
  end

  log("I", "vehicles", "Random Paint Test Results")
  log("I", "vehicles", "Total samples: " .. amount)
  log("I", "vehicles", "Amount | Percent | Paint Configuration")
  log("I", "vehicles", "----------------------------------------")

  local sortedResults = {}
  for name, count in pairs(resultsByName) do
    table.insert(sortedResults, {name = name, count = count})
  end
  table.sort(sortedResults, function(a,b) return a.count > b.count end)

  for _, result in ipairs(sortedResults) do
    local percentage = (result.count / amount) * 100
    log("I", "vehicles", string.format("%5d | %6.1f%% | %s", result.count, percentage, result.name))
  end
end

Callers