DonutMatch - War and Mix system

Plugin DonutMatch - War and Mix system latest

No permission to download
Version Release date Downloads Rating
latest 3 0.00 star(s) 0 ratings
  1. Исправлен добор после драфта: после ухода игрока теперь ищет кандидата среди ожидающих и повторно проверяет состав.
  2. Полностью переработан таймер Timer_RecheckLiveRoster по принципу OnJoinTeam: теперь явно проверяет наличие места и переводит игрока за сторону.
  3. Смена команды и готовность: упростил взаимодействие пик игрока при замене и AssignMixPlayerToMissingTeam, чтобы они согласованно разрешали замену и не возвращали её в наблюдатели. Замена теперь переносит позицию, скорость, класс и деньги; замена погибшего не возрождается принудительно.
  4. Сделан таймер автоматического выбора. Добавлен ConVar donut_draft_pick_time. По умолчанию равен 10 секундам, -1 отключает таймер.
  5. Замена игрока теперь переносит позицию, скорость, класс и деньги; замена погибшего не возрождается принудительно.
  6. Исправлен конфликт обработчиков: если игрок попал в свободную T/CT сторону через событие движка, плагин всё равно отправлял его в наблюдатели. Исправил этот путь так, чтобы свободное место регистрировалось в составе, а переполненная команда по-прежнему защищалась.
  7. Исправлена отсрочка остановки матча. Сейчас плагин может сразу сбросить матч при нехватке игроков, ещё до попытки добора. Теперь предусмотрена задержка.
  8. Добавлена защита ножевого раунда. Плагин удаляет оружие при появлении и блокирует покупку, но отдельно не обрабатывает подбор оружия. Теперь это недоступно.
  9. Изменена защита замены при смене раунда. Плагин восстанавливает состояние через таймер; если за это время начнётся новый раунд, снимок может устареть. Теперь перенос выполняется сразу.
  10. Исправлено размещение капитанов. Сейчас проверяется свободное пространство, но не явно проверяются опора под игроком и прямая видимость между капитанами.
  11. Добавлено восстановление личной статистики после переподключения к стороне (со спектатора на T/CT и обратно).
  12. Добавлено голосование за остановку матча. Теперь игроки могут запустить votestop.
  13. Исправления в API плагина:
  • при смене сторон неверно переставляются вакансии капитанов. В Mix проверка смены команды также может вернуть игроков обратно, хотя метод сообщает об успехе.
  • удалённый игрок может сразу попасть обратно в состав при автоматическом доборе, хотя метод вернул true.
  • список сортируется по индексам клиентов, а не по реальной очереди добора; игроки без выбранной команды в него не попадают.
  • выбор в драфте и замена сообщают об успехе или отправляют событие без проверки фактической смены команды.
  • возвращает true и вызывает форвард даже при отсутствии открытого файла журнала, хотя документация обещает запись.
  • SetPaused документирован как 30-секундная пауза, но фактическую длительность задаёт donut_pause_limit.
  1. Изменены имена демо: теперь они будут записываться как мод_Год-месяц-день-ЧасыМинуты-карта.dem. Пример: mix_2026-11-04-1408-de_season.dem mix_2026-11-02-1830-de_dust2.dem.
Скачать: https://github.com/Akllike/DonutMatch/releases/tag/1.3.0
Для обновления плагина рекомендуется удалить старый config файл (cfg/donutmatch/donutmatch.cfg) и сгенерировать новый.
В данном обновлении указаны версии с 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.
Back
Top