Перейти к содержимому

Зоны (Костры, аномалии...) ​

IMPORTANT

Статус: Поддерживается
Минимальная версия: 1.0

Общее ​

  • Volumetric освещение (опционально)
ini
volumetric_blowout = true ; Volumetric свет (blowout)
volumetric_quality = 1.0  ; Качество рендера (light/blowout)
volumetric_distance = 1.0 ; Дистанция света (light/blowout)
volumetric_intensity = 0.7; Интенсивность света (light/blowout)
  • Рандомизация звуков (опционально)
ini
idle_sound     ; поддерживает перечисление путей через запятую
blowout_sound  ; поддерживает перечисление путей через запятую
hit_sound      ; поддерживает перечисление путей через запятую
entrance_sound ; поддерживает перечисление путей через запятую

Удаление болтов в аномалиях ​

Параметр delete_bolts задаётся в секции зоны, реализованной через CAnomalyZone. Он управляет удалением брошенных болтов при входе в зону. Настройка общая для движка и не требует скриптов Gunslinger.

ПараметрТипПо умолчаниюНазначение
delete_boltsbooltrueРазрешает зоне удалять вошедшие в неё болты

Поведение ​

При delete_bolts = true зона сравнивает срок удаления болта с текущим игровым временем плюс 100 мс:

  • Если болту осталось жить больше 100 мс, зона сразу запрашивает его удаление через штатный механизм Destroy(). Фактическое исчезновение зависит от обработки события удаления.
  • Если осталось 100 мс или меньше, зона сохраняет существующий таймер. Уже истёкший таймер также не изменяется.

100 мс — порог проверки, а не задержка перед удалением. Настроить этот порог через LTX нельзя. Текущая реализация отличается от исходного Gunslinger, который сокращает оставшееся время жизни до 100 мс.

При delete_bolts = false зона не меняет срок жизни болта и не запрашивает его удаление. Обычный таймер destroy_time из секции болта продолжает действовать. Болт может повторно воздействовать на зону, если это допускает её логика срабатывания.

Обработка применяется только к болтам (CBolt). Гранаты и другие предметы не затрагиваются. Флаги ignore_small, ignore_nonalive и настройки входных частиц не отключают удаление болта, который уже зарегистрирован как вошедший в зону.

Настройка действует отдельно для каждой зоны. Если болт попал в две пересекающиеся зоны, delete_bolts = false у одной из них не запрещает другой удалить его. Выход из зоны не отменяет уже отправленный запрос удаления.

Пример: сохранять болты на минном поле ​

Для CoP, CS и CoC создайте DLTX-файл configs/zones/mod_zone_minefield_bolts.ltx:

ini
![zone_mine_field]
delete_bolts = false

В SoC соответствующий файл располагается в configs/misc/. Секция zone_mine_field должна существовать в целевой игре. Если редактируете исходный LTX напрямую, добавьте параметр в существующую секцию без префикса !.

В порте Gunslinger такое исключение уже есть в GunslingerModCop/configs/zones/mod_zone_minefield_zzz_guns.ltx. Дополнительный патч для него не нужен. Чтобы разрешить удаление, задайте true; при отсутствии параметра также используется true. Наследование секций и DLTX применяются по обычным правилам.

Значение читается один раз при загрузке зоны и хранится во флаге. После изменения конфигурации перезапустите игру.

Ручная проверка ​

Используйте свежие болты с обычным временем жизни больше 100 мс.

СценарийОжидаемый результат
Вход в обычную аномалию без delete_boltsЗапрашивается удаление болта
Вход в зону с delete_bolts = falseДействует обычный срок жизни; повторные срабатывания зависят от логики зоны
Вход при остатке жизни 100 мс или меньшеСуществующий таймер сохраняется
Пересечение зон с true и falseЗона с true может удалить болт
Вход гранаты или другого предметаЭтот параметр не меняет их поведение

Опубликовано под лицензией MIT.