Версия | Дата выхода | Скачиваний | Оценка |
---|---|---|---|
1.4.0.8 | 17 | 0.00 звёзд 0 оценок | |
1.4.0.7 | 14 | 0.00 звёзд 0 оценок | |
1.4.0 | 49 | 0.00 звёзд 0 оценок |
Добавлено:
Исправлено:
- Поддержка динамических лимитов
TEAM
иTOTAL
, включена по-умолчанию кваромacs_wcs_dynamic_limits "1"
. Данный режим при дропе оружия вычитает единицу (-1) из текущих лимитов.Игроки смогут купить/отобрать/поднять максимум 3 AWP на команду. Если кто-то из игроков команды "выронит" AWP, то любой игрок той же команды сможет купить/отобрать/поднять +1 AWP.Код:;# "3 AWP" "0" "" "" "4" "" "" "" "" "" "3" "0" "weapon_awp" "" "" ""
- Добавлен квар
acs_wcs_players_num_mode "1"
позволяющий учитывать в лимитах только количество активных игроков (без учета наблюдателей).- Добавлен 3-й параметр
"#"
консольной командыround_end <delay> <id string> #
, для сброса счетчика раундовWCS
и повторным запуском сценария разминки (для ночных режимов работы без смены карты).- Форматирование
VIP меню
в зависимости от наличияGameCMS
иAES Bonus
.- Добавлена поддержка цветного префикса сообщений в словаре. Например,
WCS_PREFIX = ^1[^4Тест^1]
- Для тех у кого "подгорает" от стандартной стрельбы движка
Re/HLDS
обновилAccuracyFix
до1.0.7а
, у автора модуля с исправленным багом версия убежала до1.0.8
. По факту одно и тоже.
Благодарность: @WILL_BE, за все найденные выше ошибки, педантичные замечания, дельные советы и помощь в тестировании плагина
- Код автозакрытия меню. Если в начале раунда держать кнопку(-и)
W/A/S/D
и открытьVIP меню
, оно не закрывалось по таймеру.- Забыл включить контроль троттлинга сообщений, когда тестировал. Из-за чего при достижении лимитов
TEAM
илиTOTAL
, если подойти к ограниченному оружию чат игрока "заваливало" сообщениями о превышении лимита.- Формировании строки ошибки. Имеет тип
static
и перед началом проверки лимитов не очищалась, что иногда приводило к объединению информации о срабатывании "множества" лимитов, хотя по факту всегда срабатывает один.- Ошибка с датами, при парсинге срока услуги игрока в
GameCMS
. Используемая строка"0000-00-00 00:00:00"
для обозначения бессрочной услуги вtimestamp
оказалась не равнаint 0
- Ошибка с кваром
acs_wcs_notify_mode
, забыл подключить...- Исправлены прочие незначительные ошибки, произведена оптимизация и стабилизация кода. Перенес свой вариант
AutoExecConfig()
.
ВНИМАНИЕ! ТребуетсяReAPI 5.24+
, добавил инклуды в дистрибутив. Файл словаря обновлен!
Исправлены ошибки:
- Неправильно учитывались лимиты оружия при возрождении игрока (в том числе внешним плагином) с кастомным оружием из предыдущего раунда.
- При установке любой величины скорости для кастомного оружия игрок мог игнорировать параметры квара
mp_freezetime
и убегать с точки возрождения раньше других игроков. Спасибо, Dau84.
Добавлено:
Исправлено:
- Поддержка любого "внешнего" оружия, с возможностью установки любых ограничений. Название оружия должно начинаться с
"ext_"
- Макрос
random_x(...)
для возможности генерации случайных элементов в конфигурационном файле, в полеitems
раздела[ADVANCED TASKS]
. Таким образом реализована разминка со случайно выбранным оружием, полный эквивалент всех возможныхRandom Weapon Warmup
. Отображаемое имя пустого элемента оружия задается в словаре параметромWP_NAME_RANDOM_0_EMPTY = Ножах
. Чтобы увеличить вероятность выпадения какого-либо оружия в списке, нужно его добавить большее число раз. Пустой элемент",,"
не выдает никакого оружия. Думаю макрос можно добавить во все поля, чтобы выдавать случайные бонусы игрокам при событиях убийства на разных картах...- Динамический режим закрытия
VIP меню
.- Возможность биндить любое созданное меню оружия на любую клиентскую команду, например,
Магазин ANEW
на команду/anew
илиsay /anew
, тем самым прозрачно перехватывая функционал плагинаAES Bonus
. Для этого плагин в спискеplugins.ini
нужно поднять вышеAES Bonus
.- Наконец-то реализована единая "точка входа" для всего используемого на сервере оружия, с единой системой учета его количества и управления на основе заданных сценариев ограничений, с двухуровневым
VIP Menu
.
ВНИМАНИЕ! Обновлен словарь! В прилагаемом примере "разминки на случайном оружие" (Random Weapon Warmup), в конфигурационном файле
- Несколько ошибок, редко приводящих к режиму CSDM до смены карты.
- Исправлен сценарий разминки, квары
mp_round_infinite 1
иmp_forcerespawn 1
нужно устанавливать сразу в начале, иначе прилетит событие GAME_COMMENCE и в некоторых случаях нумерация раундов увеличивалась на +1, ломая заданный сценарий.- Функция экранирования спецсимволов при запросах к БД GameCMS
- Режим работы квара
acs_wcs_vipmenu_timeout
. При положительном(+)
значении задает таймаут автозакрытияVIP меню
, после начала движения, при отрицательном(-)
- таймаут с момента открытия меню игроку.0
- автозакрытие выключено. Значение по-умолчанию уменьшено до"3"
. При обновлении плагина не забудьте его исправить.acs_wcs.ini
изменена нумерация таймеров и добавлены новые элементы.
- Добавлена поддержка типов задач в разделе
[ADVANCED LIMITS]
конфигаacs_wcs.ini
в виде флагов: 1 - игрок находится в зоне закупки, 2 - время закупки, определяемое кваромmp_buytime
, не истекло. Это нужно чтобы выдавать, например, броню и гранаты 1 раз за раунд, в самом начале, чтобы при воскрешении игрока (у кого стоит этот плагин) не выдавался полный боекомплект. Флаги можно суммировать (0
- всегда,1
- только в зоне закупки,2
- только в течение периода времениmp_buytime
в начале раунда,3
- только в зоне закупки и в течение периода времениmp_buytime
в начале раунда). В разделНастройки
добавлюКод:;$ "Гранаты" "3" "m" "" "3" "0" "" "" "" "" "+weapon_hegrenade,+weapon_flashbang:2,+weapon_smokegrenade" "" "" ""
- Добавлено экранирование спецсимволов при формировании SQL-запроса.
- Забыл подключить квар
acs_wcs_log
, исправил.- Небольшая оптимизация кода для повышения стабильности и предсказуемости работы.
- Добавил недостающий сценарий лимита, позволяющий равномерно и справедливо распределять ограниченное по количеству оружие между игроками команды, например,
AWP
. Поле лимита на игрока можно задать в формате"X:Y:Z"
, гдеX
- ограничение на количество закупок оружия игроком за раунд,Y
- количество непрерывных (повторяющихся) закупок,Z
- через сколько раундов можно повторить закупку при достижения лимитаY
. Указывать доп. параметрыY и Z
имеет смысл приX = 0
либо приX < Y
, если вы совмещаете условия фильтрации. ЕслиZ
не задано,Z = 0
(т.е. ограничениеY
действует только в текущем раунде). В разделеНастройка
добавлюОзначает, что лимит на покупку действует с 4-го раунда, лимит любых AWP на команду - 3 ед., каждый игрок может купить AWP 1 раз, повторно - только через 2 раунда.Код:;# "Лимит AWP" "1" "" "" "4" "" "" "" "" "0:1:2" "3" "0" "weapon_awp" "" "" ""
- Добавил поддержку в фильтре по картам, возможность их указывать через запятую, в том числе их префиксы, например
"awp_,de_,$"
.- Обновлен файл словаря в связи с расширением функционала.
- Мелкие косметические изменения кода.
- Обновлен файл
.so
модуля. Исправлена ошибка в условииif (0 < EntityIndex <= gpGlobals->maxClients)
. Да, такое тоже бывает...Спасибо, the_hunter
- Отвязал от инклудов GameCMS, реализовал получение необходимых плагину данных напрямую из БД. Теперь плагин должен компилироваться без проблем. Добавлены новые квары
acs_wcs_gamecms_enable
,acs_wcs_gamecms_db_host
,acs_wcs_gamecms_db_name
,acs_wcs_gamecms_db_user
,acs_wcs_gamecms_db_pass
. По-умолчанию, интергация с GameCMS отключена.- Обновлен словарь, в связи с появлением новых кваров.
- Произведена небольшая оптимизация кода, с учетом не совсем корректной, на мой взгляд, работы rg_round_end(), что приводило в некоторых случаях к крашам ReGame (ну и сервера в целом) с ошибками вида: CHalfLifeMultiplay::PlayerThink(CBasePlayer*) или UpdateClientData(edict_s const*, int, clientdata_s*). Корректно, в терминах заложенных в ReGame алгоритмов, этот ReAPI-шный натив раунд не завершает. Поэтому легко можно словить событие Respawn всех игроков и краш сервера, если в предыдущем раунде, например, на разминке создавались сотни объектов в ходе ожесточенного противостояния команд.
- Добавил недостающие инклуды от GameCMS, которые используются для отображения оставшегося срока действия услуги в меню оружия. Теперь должно компилироваться без ошибок.
- Добавил квар
acs_wcs_gamecms_enable
, по-умолчанию "0". Если у вас стоит плагинgamecms_api.amxx
можете установить его в "1".