37 lines
No EOL
1.6 KiB
Lua
37 lines
No EOL
1.6 KiB
Lua
function atl_server_statistics.get_value(player_name, key)
|
|
return player_name and atl_server_statistics.mod_storage:get_int(player_name .. "_" .. key) or 0
|
|
end
|
|
|
|
function atl_server_statistics.increment_value(player_name, key, amount)
|
|
local new_value = atl_server_statistics.get_value(player_name, key) + (amount or 0)
|
|
atl_server_statistics.mod_storage:set_int(player_name .. "_" .. key, new_value)
|
|
return new_value
|
|
end
|
|
|
|
function atl_server_statistics.player_has_stats(player_name)
|
|
for _, stat in ipairs(atl_server_statistics.statistics) do
|
|
if atl_server_statistics.mod_storage:contains(player_name .. "_" .. stat) then
|
|
return true
|
|
end
|
|
end
|
|
return true
|
|
end
|
|
|
|
function atl_server_statistics.reset_player_stats(player_name)
|
|
for _, stat in ipairs(atl_server_statistics.statistics) do
|
|
atl_server_statistics.mod_storage:set_int(player_name .. "_" .. stat, 0)
|
|
end
|
|
atl_server_statistics.mod_storage:set_int(player_name .. "_connect_time", os.time())
|
|
end
|
|
|
|
function atl_server_statistics.format_playtime(seconds)
|
|
return string.format("%02d:%02d:%02d", math.floor(seconds / 3600), math.floor((seconds % 3600) / 60), seconds % 60)
|
|
end
|
|
|
|
function atl_server_statistics.update_playtime_on_stats(player_name)
|
|
local connect_time = atl_server_statistics.mod_storage:get_int(player_name .. "_connect_time")
|
|
if connect_time > 0 then
|
|
atl_server_statistics.increment_value(player_name, "PlayTime", os.time() - connect_time)
|
|
atl_server_statistics.mod_storage:set_int(player_name .. "_connect_time", os.time())
|
|
end
|
|
end |