# Online/playtime-награды — что добавлено и что проверять Новая фича вовлечённости (с нуля): награда за время в игре. **Выключена по умолчанию** (opt-in). ## Как работает - На логине (`pc_authok`), если `online_reward_interval > 0`, запускается персональный повторяющийся таймер (`add_timer_interval`), который каждые N минут выдаёт настроенную награду + чат-уведомление «You received your online play reward!». Таймер останавливается при выходе (`unit_free`). - **Анти-AFK:** при `online_reward_afk: 0` награда даётся только активным (не-idle через `pc_isidle`) игрокам; при `1` — всем онлайн (включая AFK/вендинг). - Накопленное активное онлайн-время ПЕРСИСТИТСЯ (char-registry `ONLINE_REWARD_SEC`): таймер тикает раз в 60с и копит время только у активных игроков (idle-тики не считаются при `online_reward_afk: 0`); **релог НЕ сбрасывает** прогресс к следующей награде. ## Настройки (`conf/battle/player.conf`) ``` online_reward_interval: 0 // минут между наградами (0 = ВЫКЛ) online_reward_item: 0 // nameid предмета (0 = нет) online_reward_amount: 1 // количество предмета online_reward_zeny: 0 // зени за награду online_reward_exp: 0 // базовый опыт за награду online_reward_afk: 0 // 0 = только активным, 1 = и AFK ``` Все — `battle_config` (тип int). Меняются без пересборки (правка conf + перезапуск/`@reloadbattleconf`). ## Что проверять тестировщикам 1. По умолчанию (`interval: 0`) — наград нет, влияния на сервер нет. 2. Включить (например `online_reward_interval: 1`, `online_reward_zeny: 1000`) → раз в минуту онлайн приходит «You received your online play reward!» и начисляется 1000z. 3. Награда предметом/опытом (`online_reward_item`/`online_reward_exp`) — выдаётся. 4. `online_reward_afk: 0` → стоя без действий (idle) награда НЕ приходит; подвигаться → приходит. `online_reward_afk: 1` → приходит и при бездействии. 5. Выход/вход → таймер корректно останавливается и перезапускается (нет двойных наград, нет утечки таймера). 6. Подобрать баланс интервала/наград под экономику сервера. ## Известные ограничения (MVP) - Накопленное онлайн-время персистится (char-registry `ONLINE_REWARD_SEC`); гранулярность начисления — 60с. - Анти-AFK опирается на `pc_isidle` (зависит от настройки `idle_no_share`). ## Дальше (по желанию) Персист накопленного времени; пороговые награды (за суммарные часы); ежедневный кап.