В данном обновлении указаны версии с 1.2.0 по 1.2.6
1. Исправлены некоторые комментарии API плагина.
2. В emun WarSeriesMode были добавлены WarSeries_Unknown (если матч не War) и WarSeries_Classic (если выбран классический матч).
3. Изменены DonutMatch_OnMatchStart/End. Теперь в массиве data появился формат для War игр (WarSeries_Unknown для Mix, либо WarSeries_Classic/BO1/BO3/BO5 для War).
4. Добавлены нативы WarMatchFormat() и LastWarMatchFormat(), которые возвращают выбранный формат War матча текущего и завершенного матча.
Добавлен плагин и его исходник donutmatch_web. Его основная задача - Web-мост между плагином и бэкендом вашего сайта для отображения всей необходимой информации и подпиской на события матча. Данный плагин является частично примером того, как можно это реализовать. Пример:
https://test01.shadows-css.ru/
5. Исправление мелких недочетов в War моде. 2. Добавлена функция тактическая пауза. !pause дает возможность сделать паузу во время матча. Настройки производятся в основном конфиге.
6. Исправлены мелкие ошибки при вызове (WarSeriesMode() теперь по умолчанию не BO1, а Classic)
7. Исправлена некорректная работа в серийных играх. После veto и смены на первую карту игрок мог зайти за любую сторону и это ломало логику матча, теперь игрок может зайти только за ту команду и сторону, за которой он закреплен.
8. Исправлено DonutMatch.TeamName, некорректно работало в стадии ReadySystem; сохранение имени команды теперь сохраняется до окончания любой серии игр.
9. Добавил одну из важных настроек в ConVar - donut_rounds_per_half (количество раундов за сторону MR15 MR12 MR8 и тд.).
10. Добавил также в API форварды и нативы для rounds per half (void DonutMatch_OnRoundsPerHalfChanged(int oldRoundsPerHalf, int newRoundsPerHalf); int DonutMatch.RoundsPerHalf(); bool DonutMatch.SetRoundsPerHalf(int roundsPerHalf).
11. Найден баг в моде War, когда игрок вышел с матча, матч остановился в связи с нехваткой игроков, поменялась карта, игрок снова заходит, выбирается классический матч или серия, после написания !stay (начать матч без ножевого раунда) происходила ошибка в ready kick таймере: callback завершается, но handle сохраненный остается, callback очищает handle только после успешного GetClientOfUserId. Если userid уже недействителен, он выходит раньше и оставляет старый handle. В связи с этой ошибкой в консоли сервера показывало следующую ошибку: `Invalid timer handle be7010a (error 3)`. Callback теперь очищает handle даже при недействительном userid, а при старте карты handles таймеров, автоматически отменённых sm, сбрасываются до Reset(). Это предотвращает повторный KillTimer в StartMatch и !stay.