AI additions 2.06
S.T.A.L.K.E.R. Зов Припяти 1.6.0.2
Описание
Дополнение, улучшающее игровой ИИ, главным образом в боевой части
Исправлены многие недоработки, баги общего поведения НПС, улучшение оригинальной схемы.
Расширение боевых возможностей НПС за счёт добавления новых схем поведения:
1. Стрельба с подствольных гранатомётов
2. Перезарядка оружия после боя
3. Перевязка (самолечение)
4. Удар в лицо (рукопашный бой)
5. Использование ножа
6. Выбор подходящего оружия
7. Проверка друзей на линии огня
8. Надевание аддонов и апгрейд оружия
Особенности
Перезарядка оружия - модуль rx_reload
НПС перезаряжают оружие для сохранения боеготовности.
Исправление ситуации, когда НПС встречал обнаруженного врага с пустым/полупустым магазином,
так как потратил патроны в перестрелке или подобрал разряженное оружие.
-дополнительно- Перезаряжается всё используемое оружие, а не только активное
-дополнительно- Чистка оружия при перезарядке (починка на небольшой процент)
файл настроек misc.ltx
Менеджер оружия - модуль rx_wmgr
Выбор лучшего оружия на основе параметров/цены/заданного приоритета
Выбор оружия в бою исходя из исходя из конкретной ситуации
Возможность управления оружейными предпочтениями персонажей
Ограничение использования гранатомётов (проверка безопасности для окружающих)
-дополнительно- Функционал управления выбором оружия из сторонних скриптов
файл настроек weapon_manager.ltx
Перевязка - модуль rx_bandage
НПС лечатся, использую бинты и аптечки
Используется анимация перевязки
В бою лечение происходит в укрытии
-дополнительно- Спавн медикаментов при необходимости
файл настроек bandage.ltx
Удар в лицо - модуль rx_facer
НПС бьёт руками/прикладом оказавшихся рядом противников
Если нет оружия, может подкрадываться к врагам для удара
Сила и частота ударов зависит от ранга персонажа
файл настроек facer.ltx
Стрельба с подствольных гранатометов - модуль rx_gl
НПС используют подствольный гранатомёт
Стрельба как по видимым целям, так и по врагам в укрытии. Использование упреждения.
Перезарядка гранатомёта после выстрела
Проверка безопасности для стреляющего и дружественных персонажей (исключён суицид методом самоподрыва)
Эффективность зависит от ранга персонажа
файл настроек gl.ltx
Бой с ножом - модуль rx_knife
НПС использует нож в бою с людьми и мутантами
Преследование цели
Нож спавнится автоматически
Урон зависит от ранга персонажа
файл настроек knife.ltx
По своим не стрелять - модуль rx_ff
Если на линии огня оказался союзник, НПС прекращает огонь и меняет позицию
Напяливание аддонов - модуль rx_addons
НПС могут прикреплять к своему оружию аддоны: оптический прицел, глушитель, подствольный гранатомет.
Также снимают аддоны и переодевают на лучшее оружие
НПС апгрейдят своё оружие за деньги
Продажа лишнего (неиспользуемого) оружия
файл настроек misc.ltx
Добивание раненых - модуль rx_kill_wounded
Заменяет багнутую движковую схему
Разные вырианты добивания
Разные предпочтения у группировок
файл настроек kill_wounded.ltx
Исправление боевой системы - модуль rx_combat
Новая схема борьбы с монстрами
(теперь вместо того, чтобы прятаться от монстров по укрытиям, НПС будет увеличивать дистанцию, чтобы расстрелять мутанта с безопасного расстояния, а также пытаться уклониться от атаки)
Раненые НПС перемещаются в укрытие бегом
При перемещении в укрытие НПС будет стрелять
(исправление проблемы оригинальное боёвки, когда НПС видел врага, но не срелял, что значительно снижало боеспособность)
При поиске врага НПС тоже могут перемещаться бегом
Другие исправления/улучшения:
Выброс
Во время выброса НПС стараются спрятаться как можно быстрее, спринтуют в укрытие, игнорируя врагов.
Находясь в укрытии используют схему боя camper
Озвучка
Добавлена реакция на дружественный огонь/гранаты
Включена озвучка смерти НПС
post_combat_idle
НПС не орут наперебой, говорит только командир отряда
Синхронизирован выход для членов отряда
схема отключается во время выброса
Раненые враги не провоцируют включение схемы
Перезарядка во время ожидания
Добавлены анимации
разные исправления
xr_gather_items
движковая схема выключена, функционал реализован в xr_corpse_detection
xr_corpse_detection - собирательство
Схема серьёзно переделана
Добавлено собирание вещей
Собираются предметы, увиденные персонажем
Использование специальных анимаций
Алгоритм выбора объекта по ценности и расстоянию
Широкие возможности настройки
xr_help_wounded
оптимизация
множественные исправления
Добавлено реагирование на гранаты
Работа в бою (если враг ранен)
В анимацию добавлен визуал бинта
xr_reach_task
исправлена ошибка: НПС находились в анимации danger, если отряду не задана цель в симуляции
НПС догоняют командира, пока тот стоит на месте
небольшая оптимизация
xr_meet
схема не включается во время выброса
исправлена ошибка: схема не активировалась, если с персонажем заговорить со спины (не работал параметр meet_on_talking)
исправлена ошибка: повторное проигрывание звука приветствия у обычных персонажей
исправлена ошибка: отыгрывание звука приветствия под "неговорящими" схемами
исправлено сохранение состояния тела при активации схемы
небольшая оптимизация
xr_wounded
исправлено сохранение времени ранения
раненый встаёт сам через 200 секунд
xr_motivator
включены колбеки on_item_take,on_item_drop
добавлена(исправлено) возможность переключения скриптовых схем боя по кондлисту
release_body_manager.script
Включено удаление тел монстров
Включено сохранение времени смерти, трупы удаляются через 15 минут реального времени
Оптимизация
xr_danger
Принудительное включение при ранении, близком звуке выстрела/рикошета
игнорирование во время выброса
оптимизация
xr_combat_camper
исправлена ошибка задания состояний (НПС иногда не стреляли)
xr_combat_ignore
добавлено запоминание игнорируемых врагов (для оптимизации)
Оптимизирована проверка нахождения в безопасной зоне
инерция выхода из безопасной зоны - решение проблемы странного поведения на границах
Система поиска врага: НПС ищут скрывшегося врага тем дольше, чем ближе он находится
игнорирование во время выброса при движении к укрытию
Забывание убежавших монстров
xr_animpoint
Использование кондлиста в параметре reach_movement (из AI Tweaks)
Добавлена реакция на дэнжер
xr_cover
исправлено перебивание общих схем
добавлены параметры def_state_moving,look_center
поддержка наборов анимаций со случайным выбором
xr_conditions
добавлены функции (из AI Tweaks)
+dist_to_job_point_le
+dist_to_job_point_ge
+is_enemy_fighting_actor
state_mgr_direction
частично исправлен задоход
state_mgr,state_mgr_weapon
исправления зависания оружия НПС
добавлены функция блокирования стейт менеджера
stalker_generic.script
возможность запретить персонажу кидать гранаты -
добавлен параметр "can_throw_grenades" для логики
(кондлист при смене схемы, аналогично "can_select_weapon" и другим)
game_relations.ltx
исправлены неверные значения рангов НПС
m_flesh.ltx
исправлено неверное значение bone_torso
m_stalker.ltx
Сталкерам добавлено кровотечение
Изменены значения длинны очереди/паузы между выстрелами
Настроена скорость прицеливания (поворота)
Вроде так, может забыл что-то.
История изменений
Версия 2.06 [18.11.2016]
Исправлен вылет rx_combat.script: bad argument #2 to 'random' (interval is empty)
Плюс еще много мелких исправлений, которые мне лень описывать
Версия 2.05 [26.08.2016]
Общее
Исправлена логика группы поддержки при освобождении Митяя
Разные мелкие правки
rx_addons
+Добавлена продажа лишних детекторов
rx_combat
~Исправлен вылет при пропаже оружия
rx_gl
~Исправлено одновременное проигрывание нескольких звуков предупреждения
xr_corpse_detection
~Исправлен возможный вылет при убийстве лутающего НПС
+Добавлен фикс подбора артефакта в процессе активации (изначально выключен)
~Улучшена коррекция позиции
~Запрещено подбирать оружие раненых сталкеров
+Добавлен специальный режим сбора артефактов
(Использование детектора и соответствующих анимаций)
xr_cover
~исправление застревания при переключении на схему
xr_hear
~Исправлена установка денжера для монстров
~убрано реагирование на демедж актора (Исправлено зависание в схеме денжера в некоторых случаях)
Версия 2.04 [03.08.2016]
Общее
~Исправлено возможное зависание НПС в бою при отсутствии патронов к оружию
+Схемам добавлена поддержка смарткаверов
rx_combat
+Новая схема борьбы с монстрами
(теперь вместо того, чтобы прятаться от монстров по укрытиям, НПС будет увеличивать дистанцию, чтобы расстрелять мутанта с безопасного расстояния, а также пытаться уклониться от атаки)
+Раненые НПС перемещаются в укрытие бегом
+При перемещении в укрытие НПС будет стрелять
(исправление проблемы оригинальное боёвки, когда НПС видел врага, но не срелял, что значительно снижало боеспособность)
+При поиске врага НПС тоже могут перемещаться бегом
rx_wmgr
~Небольшая оптимизация
~Исправление возможности установки оружия без патронов
~Исправление ошибки, приводящей вылету в некоторых случаях
~Другие исправления
+Чтение секции менеджера из логики персонажа
+добавлена настройка grenade_launcher_mode (возможность использовать гранатомёты)
rx_utils
~Исправление/улучшение некоторых функций
rx_knife
+Очередная доработка схемы
+Параметр can_use_knife для логики
~Ограничено расстояние преследования
rx_sound
+dihud_sound
rx_bandage
~Исправлен баг с заклиниванием оружия после лечения
rx_reload
~Устранение костыля с разряжанием оружия, который приводил к долгой перезарядке дробовиков
~Небольшие исправления
rx_kill_wounded
+Добавлена пауза после убийства
~Исправлена пауза между выстрелами
~Исправлено застревание НПС
rx_ff
~Исправлено блокирование озвучки тревоги
~исправлено вмешательство в перемещение персонажа
rx_facer
~Исправлена работа при критическом ранении
~Исправлен период проверки
+Добавлена настройка разрешённых целей
rx_gl
+Работа в схеме danger
~Исправление анимации прицеливания
~Исправление анимации переключения
~Улучшена работа по скрытой цели
~Исправлена работа при критическом ранении
rx_addons
+Шанс апгрейда зависит от ранга НПС
~Корректный апгрейд предапгрейднутого оружия
~Доработка алгоритма для поддержки схем апгрейда в стиле ЧН
xr_help_wounded
+Некоторые улучшения
~Исправлен баг с заклиниванием оружия после лечения
xr_corpse_detection
~Исправление чтения настроек
+Добавлен параметр meet
+Сохранение запрещенных трупов
~Некоторые исправления
xr_combat_ignore
~Исправлено игнорирование врагов одиночками во время выброса
~Исправлена проверка игнорирования для внешних схем
+Забывание убежавших монстров
xr_cover
~исправлено перебивание общих схем
+добавлены параметры def_state_moving,look_center
+поддержка наборов анимаций со случайным выбором
post_combat_idle
+Добавлены анимации
release_body_manager
~Уборщик починен
~Улучшен и оптимизирован алгоритм
+Включено сохранение времени смерти
~Изменены настройки, максимальное количество тел на локации увеличено до 100
Версия 2.03 [10.06.2016]
rx_bandage
+Реакция на гранаты
~Фикс возможного зацикливания планировщика
rx_gl
+Реакция на гранаты при перезарядке
~Мелкие исправления
rx_reload
~Исправлена ошибка в биндере
~Убрано перебивание corpse_detection
rx_kill_wounded
~Используется движковый эвалуатор
~Небольшие исправления
rx_knife
+Реакция на гранаты
rx_wmgr
~Выключено обновление оружия у раненого НПС
rx_sound
+Добавлен список исключений НПС
+Модульность загрузки озвучки
~Починена задержка проигрывания звука
xr_danger
~Уменьшено время шугания
state_mgr
~Изменён state_mgr_to_idle_items
~Исправлен быстрый выход из раненого состояния в бою
xr_corpse_detection
Схема обновлена (версия 3.0)
xr_help_wounded
+Реакция на гранаты
+Возвращена работа в бою (если враг ранен)
+Добавлен конфиг-файл
+В анимацию добавлен визуал бинта
Версия 2.02 [20.04.2016]
rx_ai
+Включена озвучка смерти НПС
+Добавлен эвалуатор danger_grenade
xr_corpse_detection
~Исправление разных ошибок/недоработок
~Отключена озвучки при обыске недавно померших товарищей
rx_addons
+Добавлена продажа гранат и ножей
~Модифицирован механизм трансфера оружия
rx_gl
~Более плавное прицеливание
+Добавлено предупреждение игрока при стрельбе по ГГ
+Включена реакция НПС на взрыв гранаты
rx_knife
~Исправлена задержка в 30 секунд после спавна НПС
rx_wmgr
~Исправлен редкий безлоговый вылет
~Увеличено влияние состояния оружия на приоритет
rx_sound
~Добавлена поддержка движковой озвучки
~Заблокирована лишняя озвучка тревоги при переключении со скриптовых схем на движковую боёвку
xr_danger
+Принудительная реакция на звук стрельбы/рикошета, когда нет дэнжера
xr_combat_ignore
+Сохранение времени поиска врага при сейвлоаде
~Исправлена проблема дерганья НПС при попытке забыть врага
xr_meet
~Выключена озвучка приветствия для неразговорных схем
state_mgr_direction
~Приоритет заданной цели глядения перед типом направления, указанным с состоянии
~Исправлен сброс направления для idle state
xr_animpoint
Добавлена реакция на дэнжер
Версия 2.01 [04.04.2016]
- rx_kill_wounded
+добавлен параметр aim_time
~исправлено убийство до окончания фразы
~фикс поведения в некоторых ситуациях
- rx_knife
~поправлено включение во время анимации ранения
~поправлен не работавший режим mutant_defend
~исправлен низкий шанс нападения на монстра
+больший урон при атаке сзади
- xr_corpse_detection
~исправлено переключение цели во время шмона
~исправлено зависание НПС при завершении работы
~исправлена анимация подбора предмета
- rx_gl
~фикс звука перезарядки
~фикс стрельбы по раненым/мёртвым врагам
- rx_sound
+добавлен коллбэк завершения звука
- xr_combat_ignore
~сброс инерции выхода из безопасной зоны, если враг нападает на члена группировки
- xr_reach_task
~исправление спринта с оружием
- rx_utils
~исправление вылета "rx_utils.script:105: attempt to index local 'str' (a nil value)"
Версия 2.0 [20.03.2016]
- rx_ff
Оптимизация
При проверке учитывается меткость НПС и собственный разброс оружия.
Небольшие правки.
- rx_facer
Оптимизация, небольшие правки.
- rx_bandage
Оптимизация
улучшен поиск укрытия
Полноценная работа схемы в любое время, а не только в бою
Зависимость времени перевязки от ранга
и другие правки
- rx_reload
Работает независимо от менеджера оружия.
Перезаряжает лучшее оружие каждого типа.
В наличии опция для перезарядки только одного лучшего оружия.
Функция "чистки" ствола - немного повышает состояние оружия при перезарядке.
- rx_gl
Переделана сама концепция.
Теперь есть 2 режима стрельбы:
1 Стрельба "на глаз" по видимой цели, без использования проверочного снаряда. Осуществляется из любого положения: сидя, стоя, на ходу и даже на бегу. Обеспечивает быстрое и точное поражение цели при отсутствии препятствий на траектории. Возможна стрельба на упреждение движения цели.
2 Обстреливание позиции, где последний раз был виден враг. Выполняется при отсутствии видимой цели, используется проверочный снаряд. Реализована групповая память - члены группы обмениваются иформацией о расположении врага.
ещё
Увеличена возможная дальность и точность, по сути дальность теперь не ограничена (т.е. ограничена баллистической досягаемостью).
Убрано расходование боеприпасов, НПС могут стрелять неограниченно одной гранатой - как с обычными патронами; есть опция автоматического спавна гранаты при наличии подствола.
улучшена анимация и эффекты выстрела
Настройки времени прицеливания, точности и скорострельности для рангов.
Добавлена озвучка
- rx_knife
Увеличение эффективности схемы
Убран нерабочий параметр rate
Возможность регулирования урона с помощью дополнительного хита
Вырезано добивание раненых (rx_kill_wounded)
Оптимизация
Добавлена озвучка
- rx_wmgr
Оптимизация
Дополнительный функционал
Более безопасный способ установки оружия
Полноценный учёт боеприпаса при выборе оружия
+++++
- rx_addons
Оптимизация
Отслеживание приобретения нового аддона
Перенесена продажа лишнего оружия
Схема апгрейда оружия
+ rx_sound.script - схема общей озвучки персонажей
+ rx_kill_wounded - схема добивания раненых
- post_combat_idle:
НПС не орут наперебой, говорит только командир отряда
Синхронизирован выход для членов отряда
схема отключается во время выброса
Раненые враги не провоцируют включение схемы
Перезарядка во время ожидания
разные исправления
- xr_gather_items: движковая схема выключена
- xr_corpse_detection:
Схема серьёзно переделана
Добавлено собирание вещей
Собираются предметы, увиденные персонажем
Использование специльных анимаций
Алгоритм выбора объекта по ценности и расстоянию
отключение озвучки meet во время работы схемы
- xr_help_wounded: отключение озвучки meet во время работы схемы, мелкие фиксы
- xr_reach_task:
исправлена ошибка: НПС находились в анимации danger, если отряду не задана цель в симуляции
НПС догоняют командира, пока тот стоит на месте
небольшая оптимизация
- xr_meet:
схема не включается во время выброса
исправлена ошибка: схема не активировалась, если с персонажем заговорить со спины (не работал параметр meet_on_talking)
исправлена ошибка: повторное проигрывание звука приветствия у обычных персонажей
исправлено сохранение состояния тела при активации схемы
небольшая оптимизация
- Во время выброса НПС стараются спрятаться как можно быстрее, спринтуют в укрытие, игнорируя врагов.
- xr_motivator: включены колбеки on_item_take,on_item_drop
- xr_motivator: добавлена(исправлено) возможность переключения скриптовых схем боя по кондлисту
- xr_danger: игнорирование во время выброса
- xr_combat_camper: исправлена ошибка задания состояний (НПС иногда не стреляли)
- новый xr_combat_ignore
- Сталкерам добавлено кровотечение
- Изменены значения длинны очереди/паузы между выстрелами для движковой боевой схемы
- профиксен движковый баг зависания оружия НПС
- m_flesh.ltx: исправлено неверное значение bone_torso
- xr_animpoint: Использование кондлиста в параметре reach_movement (из AI Tweaks)
- xr_conditions: добавлены функции (из AI Tweaks)
- state_lib: частично исправлен задоход
- добавлен параметр "can_throw_grenades" для логики
- Ё
Версия 1.xx (2003_fixed) [20.03.2010]
(подробная история отсутствует за давностью дел)
18.11.2016
Rulix aka Bak
Дополнительная информация
Обязательные файлы:
[rx_ai.script] - подключение схем, колбэки, организация,
озвучка смерти, дружественного огня, реакции на гранату,
а также функции look_into_optical_sight,eat_medkit (выключены изначально)
[rx_sound.script] - поддержка озвучки персонажей
[rx_utils.script] - различные вспомогательные функции
Список модулей:
[rx_addons.script]
[rx_bandage.script]
[rx_combat.script]
[rx_facer.script]
[rx_ff.script]
[rx_gl.script]
[rx_kill_wounded.script]
[rx_knife.script]
[rx_reload.script]
[rx_wmgr.script]
Для отключения отдельного модуля достаточно удалить соответствующий файл скрипта
Настройки аддона находятся в configs\misc\ai_additions
[rx_addons]:misc.ltx
[rx_bandage]:bandage.ltx
[rx_facer]:facer.ltx
[rx_ff]:misc.ltx
[rx_gl]:gl.ltx
[rx_kill_wounded]:kill_wounded.ltx
[rx_knife]:knife.ltx
[rx_reload]:misc.ltx
[rx_wmgr]:weapon_manager.ltx
[xr_corpse_detection]:corpse_detection.ltx
[xr_help_wounded]:help_wounded.ltx
Принадлежность дополнительных файлов
[configs\misc\ai_additions\_system.ltx]
предметы для rx_bandage,rx_gl,rx_wmgr,xr_help_wounded
[configs\ui\map_spots_relations.xml]
метки миникарты для rx_gl
[meshes\grenadier,textures\grenadier]
невидимые модели гранат для rx_gl(rx_wmgr)
[sounds\characters_voice]
озвучка обыска трупов из ЗП для xr_corpse_detection
дополнительная озвучка friendly_grenade из ЗП
Удаление
Аддон добавляет новые объекты, которые будут сохраняться в игровых сейвах;
Для их загрузки необходимо оставить файлы:
configs\misc\ai_additions\_system.ltx
meshes\grenadier
Некоторые особенности адаптации/настройки
при добавлении новых группировок желательно добавить для них настройки в knife.ltx,kill_wounded.ltx
[rx_addons]
функция surplus_sales производит удаление лишнего оружия.
срабатывает на первом апдейте НПС и при переходе в оффлайн.
Чтобы защитить предмет от удаления, необходимо добавить его в список no_sale_items (misc.ltx)
Для работы функции апгрейда оружия на добавленных локациях необходимо добавить их в таблицу mechanic_by_level (rx_addons.script)
[rx_bandage]
При добавлении новых медикаментов нужно включить их в списки medkits,bandages (bandage.ltx), чтобы НПС могли их применять.
Если присутствуют персонажи, которым не нужно себя лечить, добавить их в forbidden_npcs
[rx_facer]
По надобности можно настраивать силу удара и доступные для избиения классы существ.
[rx_gl]
Желательно настроить параметры min_dist,max_dist под актуальные конфиги подствольных гранатомётов
min_dist не должен быть меньше минимально возможного радиуса поражения взрыва гранаты
max_dist должен соответствовать максимально возможной дальности полёта гранаты
[rx_knife]
Для запрета использования ножа есть 2 способа:
1 внести персонажа в список forbidden_npcs (knife.ltx)
2 добавить в секцию схемы или логики "can_use_knife = false" (в файле логики)
[xr_help_wounded]
Для запрета лечения раненых есть 2 способа:
1 внести персонажа в список forbidden_npcs (help_wounded.ltx)
2 добавить в секцию схемы или логики "help_wounded_enabled = false" (в файле логики)
Для запрета лечения определённых персонажей необходимо добавить их в список forbidden_patients
или добавить "not_for_help = true" в секцию [wounded]
[xr_corpse_detection]
Для запрета собирательства есть 2 способа:
1 внести персонажа в список forbidden_npcs (corpse_detection.ltx)
2 добавить в секцию схемы или логики "corpse_detection_enabled = false" (в файле логики)
Для запрета собирания определенных предметов необходимо добавить их в список forbidden_items
Для запрета оббирания определённых трупов необходимо добавить их в список forbidden_corpses
Адаптация для Shoker Weapon Mod 2.1 (инструкция в архиве ) - Ссылка
Внимание: ожидайте | до открытия ссылки |
Комментарии
Ставлю на openxray + absolute nature + arsenal overhaul. Игра не крашит, но лог забит вот таким...