AI additions
ver. 2.0 fix3
S.T.A.L.K.E.R. Тень Чернобыля (1.0004/1.0006)
В данном аддоне использованы наработки и идеи от таких модмейкеров:
xStream, Charsi, Monnoroch, Alundaio и других товарищей.
Установка
Внимание! Версия 2.0 не совместима с более ранними версиями
Если у вас уже установлен Ai Additions или AI Pack, их необходимо полностью удалить
Не советую пытаться адаптировать файлы state_mgr*.script, полная замена предпочтительна
адаптация для 4 патча в _patch4.rar
Краткое описание
Дополнение, улучшающее игровой ИИ, главным образом в боевой части
Расширение возможностей НПС за счёт добавления новых схем поведения:
1 Стрельба с подствольных гранатомётов
2 Перезарядка оружия после боя
3 Перевязка (самолечение)
4 Удар в лицо (рукопашный бой)
5 Использование ножа
6 Выбор подходящего оружия
7 Проверка друзей на линии огня
8 Надевание аддонов на оружие
9 Лечение раненых
10 Собирательство
+
11 Ожидание после боя
12 Оборона от монстров
13 Метание гранат
14 Камикадзе
15 Переодевание в лучшую броню
16 Оттаскивание трупов
17 Хромание НПС
Также исправлены некоторые баги общего поведения НПС, улучшение оригинальной схемы.
Особенности:
Перезарядка оружия - модуль rx_reload
НПС перезаряжают оружие для сохранения боеготовности.
Исправление ситуации, когда НПС встречал обнаруженного врага с пустым/полупустым магазином,
так как потратил патроны в перестрелке или подобрал разряженное оружие.
-дополнительно- Перезаряжается всё используемое оружие, а не только активное
-дополнительно- Чистка оружия при перезарядке (починка на небольшой процент)
Менеджер оружия - модуль rx_wmgr
Выбор лучшего оружия на основе параметров/цены/заданного приоритета
Выбор оружия в бою исходя из исходя из конкретной ситуации
Возможность управления оружейными предпочтениями персонажей
Ограничение использования гранатомётов (проверка безопасности для окружающих)
-дополнительно- Функционал управления выбором оружия из сторонних скриптов
Перевязка - модуль rx_bandage
НПС лечатся, используя бинты и аптечки
Используются соответствующие анимации
В бою лечение происходит в укрытии
-дополнительно- Спавн медикаментов при необходимости
Удар в лицо - модуль rx_facer
НПС бьёт руками/прикладом оказавшихся рядом противников
Если нет оружия, может подкрадываться к врагам для удара
Сила и частота ударов зависит от ранга персонажа
Стрельба с подствольных гранатометов - модуль rx_gl
НПС используют подствольный гранатомёт
Стрельба как по видимым целям, так и по врагам в укрытии. Использование упреждения.
Перезарядка гранатомёта после выстрела
Проверка безопасности для стреляющего и дружественных персонажей (исключён суицид методом самоподрыва)
Эффективность зависит от ранга персонажа
Бой с ножом - модуль rx_knife
НПС использует нож в бою с людьми и мутантами
Преследование цели
Нож спавнится автоматически
Урон зависит от ранга персонажа
По своим не стрелять - модуль rx_ff
Если на линии огня оказался союзник, НПС прекращает огонь и меняет позицию
Напяливание аддонов - модуль rx_addons
НПС могут прикреплять к своему оружию аддоны: оптический прицел, глушитель, подствольный гранатомет.
Также снимают аддоны и переодевают на лучшее оружие
Продажа лишнего (неиспользуемого) оружия
Добивание раненых - модуль rx_kill_wounded
Заменяет багнутую движковую схему
Разные вырианты добивания
Разные предпочтения у группировок
Лечение раненых - модуль xr_help_wounded
НПС будут лечить лежачих больных
Озвучка присутствует
Собирательство - модуль xr_corpse_detection (3.06)
НПС обыскивают трупы, собирают предметы.
Анимации обыска, подбора предметов, отделения частей мутантов.
Озвучка обыска трупов из Зова припяти (в комплекте русская озвучка)
Динамический выбор цели
Широкие возможности настройки
Исправление боевой системы - модуль rx_combat
Раненые НПС перемещаются в укрытие бегом
Ожидание после боя ( импорт схемы ЧНЗП) - модуль post_combat_idle
После убийства врагов НПС некоторое время сидят на месте,
отыгрывая соответствующие анимации и озвучку
Оттаскивание трупов ("анти-веселая понихида" от xStream) (модифицированный xr_kamp.script)
NPC находящиеся на отдыхе (у костра, например) будут оттаскивать в сторону трупы людей и животных.
Переодевание (схема "тамагочи" от xStream) - модуль xrs_armor
теперь NPC можно продать какой-нибудь костюм и если его устроит, то он его оденет.
Неписи очень стеснительные, поэтому переодеваются только тогда, когда гг их не видит и находится как минимум за 15 метров от них
Кроме того введена система апгрейда брони - теперь NPC развиваются, вполне возможно встретить по прошествии времени NPC новичка, который обзавелся, например, костюмом сталкера или даже СЕВОЙ.
Метание гранат (ремейк схемы "гренадер" от xStream) - модуль xrs_grenade
НПС. кидают гранаты. во врагов.
Камикадзе (ремейк схемы от Monnoroch)
Психи-камикадзе (некоторые монолитовцы) достают гранату, выдергивают чеку и бегут на противника.
Хромание НПС (модифицированный xr_wounded.script)
Добавлен новый режим "легкого тяжелого ранения", в котором НПС:
- при наличии врага стараются спрятаться от него, ковыляя в укрытие
- находясь в укрытии, могут сами себя вылечить (при наличии аптечки)
- используют сидячую анимацию вместо лежачей
Оборона от монстров (monster_defend)
Теперь вместо того, чтобы прятаться от монстров по укрытиям, НПС будет увеличивать дистанцию, чтобы расстрелять мутанта с безопасного расстояния, а также пытаться уклониться от атаки.
Другие исправления/улучшения:
Озвучка
Добавлена реакция на дружественный огонь/гранаты
Ограничение озвучки смерти при попадании в голову
move_mgr
Исправлен баг, приводящий к сбою логики
Добавлена блокировка управления персонажем во время работы общих схем
xr_combat_ignore
функция is_ignored
xr_danger
добавлен флаг для скриптов
фикс реагирования на трупы
xr_motivator
включены колбеки on_item_take,on_item_drop
state_mgr
Исправление багов, оптимизация
xr_sleeper
исправлена ненадежная работа схемы на путях с двумя точками (синдром Толика)
xr_meet
оптимизация
правка "не пялиться часами"
правка "возникать по оружию, если только гг целится в меня"
xr_kamp
добавлено случайное смещение направления взгляда от центра кампа
исправлено продолжение музыки без инструмента
История изменений
fix2 (25.12.2016)
~Настроено положение гранат и ножа в руке
+Добавлен постпроцесс эффект удара в лицо
~Исправлен вылет 'e_entity->ID_Parent == id_parent'
~Фикс вылета 'dBodyStateValide(b)'
~Фикс вылета 'error in stalker wih visual'
+поддержка гранат с нестандартной массой (xrs_grenade)
fix1 (06.11.2016)
~ Исправлена ошибка в state_mgr
~ Increased grenade respawn time
+ Добавлена инструкция по добавлению гранат для схемы grenadier
Версия 2.0 (16.10.2016) - Глобальное обновление
Расширен состав сборки, интегрирован AI Pack
Схемы добавлены:
Ожидание после боя
Оборона от монстров
Метание гранат
Камикадзе
Переодевание в лучшую броню
Оттаскивание трупов
Хромание НПС
Серьёзно обновлены:
схема "Перевязка"
схема "Бой с ножом" (полноценный вариант из ЧНЗП)
менеджер оружия
rx_addons
Оптимизация
Модифицирован механизм трансфера оружия
Отслеживание приобретения нового аддона
Добавлена функция продажи лишнего оружия
rx_bandage
+Добавлена поддержка профилей и управление из логики
+Теперь отображается именно тот предмет, который НПС использует; фейковый бинт убран
+Добавлены анимации для разных медикаментов
~Исправлено не отображавшийся в руке предмет при включенном фонаре
~Исправлены глюки анимации в присяде
rx_combat
+Новая схема борьбы с монстрами
+Раненые НПС перемещаются в укрытие бегом
+фикс некоторых движковых багов
rx_facer
~Исправлена работа при критическом ранении
~Исправлен период проверки
+Добавлена настройка разрешённых целей
+Добавлены анимации критического ранения для жертвы
rx_ff
+Добавлена проверка при стрельбе вслепую
~исправлено вмешательство в перемещение персонажа
rx_gl
~Исправлено одновременное проигрывание нескольких звуков предупреждения
+Работа в схеме danger
~Улучшена работа по скрытой цели
+Реакция на гранаты при перезарядке
~Исправлена перезарядка при критическом ранении
rx_kill_wounded
+Добавлена пауза после убийства
~Исправлена пауза между выстрелами
xrs_armor
Проведена серьёзная оптимизация
xr_kamp (оттаскивание трупов)
Оптимизация
Исправление множества недоработок и настройка
Улучшение внешнего вида
xrs_grenade
Схема полностью переделана
Улучшена аудиовизуальная составляющая ( правильные анимации и озвучка )
Улучшена проверка безопасности
НПС начинают кидать гранаты, если противник скрылся из виду
Добавлен разброс при прицеливании
Улучшено уклонение от гранат
Добавлена схема камикадзе
Добавлены маркеры на худе на кинутую гранату в стиле ЧН/ЗП (автор Charsi)
Ну и конечно много других улучшений, всё перечислить невозможно.
Плюс ещё множество различных правок платформы и схем аддона.
state_mgr
Менеджер состояний серьезно модифицирован:
- исправление ошибок, оптимизация, небольшое расширение функционала.
move_mgr
Исправлен баг, приводящий к сбою логики
Добавлена блокировка управления персонажем во время работы общих схем
xr_danger
фикс реагирования на трупы
xr_sleeper
исправлена ненадежная работа схемы на путях с двумя точками (синдром Толика)
xr_meet
оптимизация
правка "не пялиться часами"
правка "возникать по оружию, если только гг целится в меня"
xr_kamp
добавлено случайное смещение направления взгляда от центра кампа
исправлено продолжение музыки без инструмента
Версия 1.933 (22.08.2016)
rx_gl : Исправление возможной ошибки при удалении НПС во время боя
Поддержка схемы corpse detection версии 3.05
Пара мелких правок
(rx_ai.script, rx_gl.script, rx_utils.script, xr_help_wounded.script, bind_monster.script, xr_motivator.script, state_mgr_weapon.script)
Версия 1.932 (03.08.2016)
Исправлен вылет при убийстве НПС с ножом в руке (death_manager.script)
Версия 1.931 (05.06.2016)
rx_sound
+добавлен список исключений НПС
rx_kill_wounded
~фикс включения схемы при наличии здорового врага
~включена реакция на гранаты
xr_help_wounded
~фикс включения схемы при наличии здорового врага
~включена реакция на гранаты и ранения
Версия 1.93 (03.06.2016)
Общее:
убраны файлы state_lib.script,state_mgr_animation_list.script
state_mgr
+добавлена пара state_mgr_to_idle_off из АМК
state_mgr_weapon
~исправлено возможное зависание менеджера при смене оружия
rx_kill_wounded
~предохранитель от гранатомёта в пистолетном слоте
rx_reload
~исправлена ошибка в биндере
~отключен стейт менеджер
rx_sound
+модульность загрузки озвучки
~починена задержка проигрывания звука
rx_utils
+функции get_mag_size,get_wpn_type (перенесены из rx_reload)
xr_help_wounded
~исправлено зависание, если лекаря отпинывают в сторону
+в анимацию добавлен визуал бинта
Версия 1.925 (24.05.2016)
Общее:
Исправлено несколько проблем
(rx_ai,rx_utils,rx_gl,rx_kill_wounded,rx_reload,xr_help_wounded)
Версия 1.92 (17.05.2016)
Общее:
+добавлена схема xr_help_wounded
+добавлена поддержка схемы xr_corpse_detection ( сама схема отдельно )
~Исправлено в настройках название групировки военных (было army из ЗП)
%Затронуты файлы:
bind_monster.script (death_callback)
xr_logic.script (reset_schemes)
state_mgr.script (block_sound, фикс movement_enable)
state_lib.script (анимации)
state_mgr_animation_list.script (анимации)
rx_ai
+Возможность настройки вероятности отыгрывания озвучки смерти и реакции на дружественный огонь
rx_sound
~Добавлена поддержка движковой озвучки
~Заблокирована лишняя озвучка тревоги при переключении с боевых схем на движковую боёвку
+Добавлен класс для проигрывания звуков из конфига объекта
rx_facer
~исправлен сброс текущей анимации перед ударом
rx_gl
+Добавлено предупреждение игрока
rx_knife
~Исправление дальности атаки
+Добавлены партиклы крови
~Исправлена пауза в 30 секунд после спавна ножа
rx_kill_wounded
~Небольшие исправления
Версия 1.91 (01.04.2016)
Общее:
+добавлена схема rx_kill_wounded
+добавлена схема rx_knife
+добавлен модуль озвучки персонажей
+включена озвучка дружественного огня
+парсинг списков группировок и рангов из конфига
~исправлен конфликт схем с менеджером оружия
rx_bandage
~исправлена возможность повторного спавна rx_attach_bandage
~фикс залипания анимации
+добавлено выпадение бинта при смерти персонажа во время перевязки
rx_facer
~исправлена проблема с запоминанием обиды
+озвучка избиения друзей
~фикс поворота после удара
+поддержка rx_knife
~исправлена ошибка, приводившая к отключению менеджера оружия
rx_ff
+добавлен учёт разброса оружия
+поддержка rx_knife
~улучшено определение кемпера
rx_gl
+озвучка
~фикс звука перезарядки
~фикс стрельбы по раненым/мёртвым врагам
rx_reload
~оптимизация схемы
~запрет для торговцев
+поддержка rx_kill_wounded
Версия 1.9 (27.01.2016)
схема rx_ff "По своим не стрелять"
Оптимизация, небольшие правки.
Схема rx_facer "Удар в лицо"
Оптимизация, небольшие правки.
Схема rx_bandage "Перевязка"
Оптимизация
улучшен поиск укрытия
Полноценная работа схемы в любое время, а не только в бою
Зависимость времени перевязки от ранга
и другие правки
Схема rx_reload "Перезарядка оружия"
Работает независимо от менеджера оружия.
Перезаряжает лучшее оружие каждого типа.
В наличии опция для перезарядки только одного лучшего оружия.
Функция "чистки" ствола - немного повышает состояние оружия при перезарядке.
Схема rx_gl "Стрельба с подствольных гранатометов"
Переделана сама концепция.
Теперь есть 2 режима стрельбы:
1 Стрельба "на глаз" по видимой цели, без использования проверочного снаряда. Осуществляется из любого положения: сидя, стоя, на ходу и даже на бегу. Обеспечивает быстрое и точное поражение цели при отсутствии препятствий на траектории. Возможна стрельба на упреждение движения цели.
2 Обстреливание позиции, где последний раз был виден враг. Выполняется при отсутствии видимой цели, используется проверочный снаряд. Реализована групповая память - члены группы обмениваются иформацией о расположении врага.
ещё
Увеличена возможная дальность и точность, по сути дальность теперь не ограничена (т.е. ограничена баллистической досягаемостью).
Убрано расходование боеприпасов, НПС могут стрелять неограниченно одной гранатой - как с обычными патронами; есть опция автоматического спавна гранаты при наличии подствола.
улучшена анимация и эффекты выстрела
Настройки времени прицеливания, точности и скорострельности для рангов.
28.12.2016
Rulix aka Bak
Список модулей
[post_combat_idle.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]
[xr_corpse_detection.script]
[xr_help_wounded.script]
[xrs_armor.script]
[xrs_grenade.script]
Для отключения отдельного модуля достаточно удалить соответствующий файл скрипта
Настройки аддона находятся в configs\misc\ai_additions
[rx_addons]:misc.ltx
[rx_bandage]:bandage.ltx
[rx_combat]:misc.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
[xrs_grenade]:grenadier.ltx
Принадлежность дополнительных файлов
[anims\facer.ppe]
постпроцесс для rx_facer
[configs\misc\ai_additions\_system.ltx]
предметы для rx_gl,rx_wmgr,xrs_grenade
[configs\misc\items.ltx,configs\creatures\m_stalker.ltx]
настройки прикрепления медикаментов для rx_bandage,xr_help_wounded
[configs\weapons\]
правильные координаты положения гранат и ножа для сталкеров
[configs\ui\map_spots.xml]
метки миникарты для rx_gl
[configs\ui\grenade_mark.xml,textures\ui\ui_hud_grenade_mark.dds,ui_grenade_marks.script]
метки гранат для xrs_grenade
[meshes\grenadier,textures\grenadier]
невидимые модели гранат для rx_gl(rx_wmgr),xrs_grenade
[sounds\characters_voice]
озвучка обыска трупов из ЗП для xr_corpse_detection
дополнительная озвучка friendly_grenade из ЗП
озвучка для post_combat_idle, xrs_grenade
[sounds\device\pda\pda_alarm.ogg]
звук сигнала предупреждения для rx_gl
Удаление
Аддон добавляет новые объекты, которые будут сохраняться в игровых сейвах;
Для их загрузки необходимо оставить файлы:
configs\misc\ai_additions\_system.ltx
meshes\grenadier
Некоторые особенности адаптации/настройки
при добавлении новых группировок желательно добавить для них настройки в knife.ltx,kill_wounded.ltx,bandage.ltx,grenadier.ltx
[rx_addons]
функция surplus_sales производит удаление лишнего оружия.
срабатывает на первом апдейте НПС и при переходе в оффлайн.
Чтобы защитить предмет от удаления, необходимо добавить его в список no_sale_items (misc.ltx)
[rx_bandage]
При добавлении новых медикаментов нужно включить их в списки medkits,bandages,animation (bandage.ltx), чтобы НПС могли их применять.
Если присутствуют персонажи, которым не нужно себя лечить, добавить их в forbidden_npcs
Для запрета самолечения есть 2 способа:
1 добавить их в forbidden_npcs
2 прописать в логику "bandage = disabled"
[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
Решение вопроса с попытками подобрать артефакт во время активации:
в файле xr_corpse_detection.script раскомментировать строки с пометкой "ARTEFACT ACTIVATION FIX"
[post_combat_idle]
для отключения схемы прописать в логику "post_combat_idle = 0,0"
[xrs_grenade]
Для отключения меток гранат на экране достаточно удалить ui_grenade_marks.script, при этом будет использоваться старый вариант с этметками на миникарте.
Для запрета схемы
внести персонажа в список forbidden_npcs (grenadier.ltx)
Для запрета только кидать гранаты
прописать в логику "grenadier = dont_throw"
Добавление новых гранат для схемы
Чтобы НПС кидали новые гранаты, необходимо провести следующую процедуру:
1. Если у гранаты новая модель - создать на ее основе невидимую модель для тестовой гранаты, заменив текстуру и материал (на примере существующих - meshes\grenadier)
2. Добавить секции фейк-гранат (_fake,_test) в ai_additions\_system.ltx по аналогии с имеющимися
3. Добавить секцию новой гранаты в таблицу xrs_grenade.grenade_params
4. (если нужно) Настроить спавн новой гранаты в grenadier.ltx (spawn_grenades)
[xrs_armor]
Костюмы вместе с визуалами, а также исключения прописываем в xrs_armor.script
Управление схемами из логики персонажей
Список доступных параметров:
(читаются как из секции активной схемы, так и из секции логики, первая приоритетней)
bandage = profile ; string
профиль схемы bandage (самолечение) профили c настройками находятся в bandage.ltx
grenadier = profile ; string
профиль схемы grenadier (метание гранат) профили c настройками находятся в grenadier.ltx
post_combat_idle = 5,10 ; int,int
минимальное,максимальное время ожидания после боя
can_use_knife = false ; bool
возможность запретить работу схемы knife (бой с ножом)
help_wounded_enabled = false ; bool
запрещение работы схемы wounded_enabled (лечение раненых)
corpse_detection_enabled = false ; bool
запрещение работы схемы corpse_detection (собирательство)
corpse_detection_profile = profile ; string
профиль схемы corpse_detection (собирательство) профили c настройками находятся в corpse_detection.ltx
weapon_manager = profile ; string
секция менеджера оружия. секции c настройками находятся в weapon_manager.ltx
Для схемы wounded добавлен дополнительный параметр для запрещения помощи другими НПС
not_for_help = true ; bool
Схема собирательства xr_corpse_detection для Ai Additions SHOC
Версия 3.06
НПС обыскивают трупы, собирают предметы.
Особенности:
Анимации обыска, подбора предметов, отделения частей мутантов.
Озвучка обыска трупов из Зова припяти (в комплекте русская озвучка)
Динамический выбор цели
Широкие возможности настройки
Автор: Rulix aka bak
Информация по настройке
файл с настройками config/misc/rx_corpse_detection.ltx
Из логики персонажа читаются параметры:
(В секции схемы и в секции логики, секция схемы имеет приоритет)
corpse_detection_enabled - false - отключить собирательство, true - включить
corpse_detection_profile - название профиля настроек
пример использования
[logic]
active = walker
;corpse_detection_enabled = false
[walker]
path_walk = rad_suicide_walk_way
path_look = rad_suicide_look_way
wounded = wounded@suicide
meet = meet
corpse_detection_profile = quest
профили находятся в rx_corpse_detection.ltx, описание настроек там же.
по умолчанию используются настройки из профиля default
также автоматически подкючаются профили имени, группировки персонажа, активной схемы, гулага, профиль story для персонажей со story_id
Порядок вычитавания настроек такой: [corpse_detection_profile], [profile_name], [smart_terrain_name], [active_scheme], [character_community], [default]
калькулятор для настройки расстояний в loot_distance.xlsx
Решение вопроса с попытками подобрать артефакт во время активации:
в файле xr_corpse_detection.script раскомментировать строки с пометкой "ARTEFACT ACTIVATION FIX"
16.10.2016, Rulix aka Bak
Адаптации ( информация по установке в каждом архиве )
Для ТЧ ai_add_shoc_2.0f3 - Скачать
Для Народной солянки (1.932) - Скачать
Для ОП-2 (1.932) - Скачать
Для NLC7 (1.925) - Скачать
Для Darkest Time (2.0) - Скачать
Инфо по ссылке ниже
Версия ai_add_shoc_2.0f4
Внимание: ожидайте | до открытия ссылки |
Комментарии