Статистика
Статистика выводится всем игрокам в конце раунда в виде сообщений вида:
Игрок прыгнул 42 раза.
Чтобы добавить свою статистику, нужно сначала зарегистрировать строку перевода.
Подготовка: файл перевода
Создайте файл локализации (например, resource/localization/en/fh_stats.properties).
Важно
Все ключи должны начинаться с fazhunt.stats. и не повторять уже существующие.
Пример строки:
properties
fazhunt.stats.jumped=прыгнул %i раз(а).- Перед текстом подставляется ник игрока.
- На месте
%iподставляется значение статистики.
Пример полного файла перевода →
Функции
stats.SetMin(statName, minValue) SERVER
Устанавливает минимальное значение интереса. Если игрок не наберёт этого числа — статистика не покажется в чате.
lua
stats.SetMin("jumped", 10) -- меньше 10 прыжков — не выводимstats.Add(ply, statName, value) SERVER
Прибавляет значение к статистике игрока.
lua
hook.Add("KeyPress", "CountJumps", function(ply, key)
if key == IN_JUMP then
stats.Add(ply, "jumped", 1)
end
end)stats.GetTop(statName) SERVER
Возвращает лидера по статистике и его значение.
lua
local topPly, topValue = stats.GetTop("jumped")
print(topPly:Nick() .. " прыгнул " .. topValue .. " раз")Пример: полный цикл
lua
-- 1. Установить минимум
hook.Add("Initialize", "MyStatsInit", function()
stats.SetMin("destroyed_props", 5)
end)
-- 2. Считать действия
hook.Add("EntityRemoved", "CountDestroyed", function(ent)
local attacker = ent.LastAttacker
if IsValid(attacker) and attacker:IsPlayer() then
stats.Add(attacker, "destroyed_props", 1)
end
end)Не забудьте добавить в файл перевода:
properties
fazhunt.stats.destroyed_props=уничтожил %i пропов.