Skip to content

GetPlayerProgressAudit

What the progression check counted for the player this session.

A table of counts, for a mode’s own rules and for a status page, since the player joined:

  • excesses - the rises of XP, levels, perk points or perks the server could not explain;
  • set_backs - how many of them it put back (under observe, how many it logged that it would put back);
  • vouched - how many OnPlayerProgressViolation vouched for;
  • rewrites - the times the player’s game wrote the same forged value back after it was put back;
  • probes - how often the server asked the player’s game for a fresh report to be sure;
  • stale_reports - the reports it dropped as older than its newest order;
  • gate_down - the player’s game says its own XP counting is not running, so the awards it makes cannot be seen (everything the player earns is then an excess once the XP rule acts);
  • first_session - the player’s game says this is the first session of this run of the game, so it came fresh from the menu.

nil for a player who is not there.

GetPlayerProgressAudit(pid)
Parameter Type
pid number the player

table | nil - {excesses, set_backs, vouched, rewrites, probes, stale_reports, gate_down, first_session}; nil for a player not connected

-- a moderator's line: who has the check been busy with
function OnPlayerCommandText(pid, cmd, args)
if cmd ~= "audit" or not IsPlayerAdmin(pid) then return false end
for _, other in ipairs(GetPlayers()) do
local audit = GetPlayerProgressAudit(other)
if audit and audit.excesses > 0 then
SendClientMessage(pid, COLOR_WHITE, string.format("%s: %d excess, %d put back, %d vouched", GetPlayerName(other), audit.excesses,
audit.set_backs, audit.vouched))
end
end
return true
end

GetPlayerWeight · OnPlayerProgressViolation · OnPlayerCheatDetected · GetPlayerProgress · the Stats, skills, XP and perks group of the index