Ai Additions CS 2.04
S.T.A.L.K.E.R. Чистое Небо 1.5.10
Дополнение, улучшающее игровой ИИ, главным образом в боевой части
Расширение боевых возможностей НПС за счёт добавления новых схем поведения:
1. Стрельба с подствольных гранатомётов
2. Перезарядка оружия после боя
3. Перевязка (самолечение)
4. Удар в лицо (рукопашный бой)
5. Использование ножа
6. Выбор подходящего оружия
7. Проверка друзей на линии огня
8. Использование аддонов и апгрейд оружия
9. Оборона от монстров
10. Лечение раненых
11. Собирательство
12. Хромота НПС
Также исправлены некоторые баги общего поведения НПС, улучшена оригинальная схема.
Особенности
Перезарядка оружия - модуль 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.01)
НПС обыскивают трупы, собирают предметы.
Анимации обыска, подбора предметов, отделения частей мутантов.
Озвучка обыска трупов из Зова припяти (в комплекте русская озвучка)
Динамический выбор цели
Широкие возможности настройки
Исправление боевой системы - модуль rx_combat
Новая схема борьбы с монстрами
(теперь вместо того, чтобы прятаться от монстров по укрытиям, НПС будет увеличивать дистанцию, чтобы расстрелять мутанта с безопасного расстояния, а также пытаться уклониться от атаки)
Раненые НПС перемещаются в укрытие бегом
При перемещении в укрытие НПС будет стрелять
(исправление проблемы оригинальное боёвки, когда НПС видел врага, но не срелял, что значительно снижало боеспособность)
При поиске врага НПС тоже могут перемещаться бегом
Хромота НПС (модифицированный xr_wounded.script)
Добавлен новый режим "легкого тяжелого ранения", в котором НПС:
- при наличии врага стараются спрятаться от него, ковыляя в укрытие
- находясь в укрытии, могут сами себя вылечить (при наличии аптечки)
- используют сидячую анимацию вместо лежачей
Другие исправления/улучшения:
Озвучка
Добавлена реакция на дружественный огонь/гранаты
Ограничение озвучки смерти при попадании в голову
post_combat_idle
НПС не орут наперебой, говорит только командир отряда
Синхронизирован выход для членов отряда
схема отключается во время выброса
Раненые враги не провоцируют включение схемы
Перезарядка во время ожидания
разные исправления
xr_wounded
исправлено сохранение времени ранения
раненый встаёт сам через 120 секунд
добавлена озвучка раненого и реакция на помощь
move_mgr
Исправлен баг, приводящий к сбою логики
Добавлена блокировка управления персонажем во время работы общих схем
xr_cover
Схема починена
Добавлено использование смарткаверов
xr_combat_ignore
функция is_ignored
xr_danger
добавлен флаг для скриптов
мелкие фиксы
xr_motivator
включены колбеки on_item_take,on_item_drop
state_mgr,state_mgr_weapon
добавлены функция блокирования стейт менеджера
исправления зависания оружия
m_flesh.ltx,m_giant.ltx
исправлено неверное значение bone_torso
m_stalker.ltx
Сталкерам добавлено кровотечение
Изменены значения длинны очереди/паузы между выстрелами
actor_menu
добавлена функция +trade_wnd_active
xr_conditions
добавлена функция at_terminal_waypoint
xr_smartcover
возвращен параметр def_state_moving
gulag_general
исправлено возможное зависание отряда в атаке при пропуске сигнальной точки пути
увеличено время между сменой караула
smart_covers
Ограничена вероятность выскакивания из укрытия
xr_camper
выключено реагирование на трупы
xr_combat_zombied
Восстановлена озвучка зомбированных
История изменений
Версия 2.04 [27.12.2016]
+ Добавлена схема 'Хромание НПС'
~Исправлено поведение зомбированных в бою
+восстановлена озвучка зомбированных
rx_bandage
+Добавлена поддержка профилей и управление из логики
+Теперь отображается именно тот предмет, который НПС использует; фейковый бинт убран
+Добавлены анимации для разных медикаментов
~Исправлены глюки анимации в присяде
rx_kill_wounded
~исправлено добивание ножом
rx_facer
+Добавлен постпроцесс эффект удара в лицо
~Исправлена ошибка планировщика
Версия 2.03 [08.11.2016]
Исправлен вылет rx_combat.script: bad argument #2 to 'random' (interval is empty)
Исправлен вылет C stack overflow при бое с псевдогигантом
Добавлена озвучка лута для чистого неба
Плюс еще много мелких исправлений, которые мне лень описывать
Версия 2.02 [19.08.2016]
rx_ai
+Добавлен флаг получения хита от аномалии
rx_combat
~Исправлен вылет при пропаже оружия
rx_gl
~Исправлено одновременное проигрывание нескольких звуков предупреждения
xr_corpse_detection
~Исправлен возможный вылет при убийстве лутающего НПС
+Добавлен фикс подбора артефакта в процессе активации (изначально выключен)
+высвечивание артефактов при их подборе
~Улучшена коррекция позиции
~Улучшена защита от сбора вещей, находящихся в аномалиях
~Запрещено подбирать оружие раненых сталкеров
Версия 2.01 [03.08.2016]
rx_combat
+Новая схема борьбы с монстрами
(теперь вместо того, чтобы прятаться от монстров по укрытиям, НПС будет увеличивать дистанцию, чтобы расстрелять мутанта с безопасного расстояния, а также пытаться уклониться от атаки)
+Раненые НПС перемещаются в укрытие бегом
+При перемещении в укрытие НПС будет стрелять
(исправление проблемы оригинальное боёвки, когда НПС видел врага, но не срелял, что значительно снижало боеспособность)
+При поиске врага НПС тоже могут перемещаться бегом
rx_ff
~исправлено вмешательство в перемещение персонажа
xr_help_wounded
+Некоторые улучшения
xr_corpse_detection
~исправлены некоторые глюки анимации
xr_smartcover
~возвращен параметр def_state_moving
Версия 2.0 fixed [18.07.2016]
gulag_general
~ограничено собирательство при перемещении отряда между точками
rx_ai
~исправлено возможное зависание НПС в бою при отсутствии патронов к оружию
rx_ff
~Исправлено блокирование озвучки тревоги
rx_kill_wounded
~исправлено застревание НПС
rx_wmgr
~исправлены некоторые ошибки
+добавлена настройка grenade_launcher_mode (возможность использовать гранатомёты)
state_mgr_weapon
~исправлен вылет state_mgr_weapon:242
xr_corpse_detection
~исправлены повороты во время анимации
xr_camper
~выключено реагирование на трупы
Версия 2.0 [14.07.2016]
При участии:
alex5773 - помощь в тестировании
27.12.2016
Rulix aka Bak
Список модулей
[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]
Для отключения отдельного модуля достаточно удалить соответствующий файл скрипта
Настройки аддона находятся в 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
Принадлежность дополнительных файлов
[anims\facer.ppe]
постпроцесс для rx_facer
[configs\misc\ai_additions\_system.ltx]
предметы для rx_gl,rx_wmgr
[configs\misc\items.ltx,configs\creatures\m_stalker.ltx]
настройки прикрепления медикаментов для rx_bandage,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,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"
Управление схемами из логики персонажей
Список доступных параметров:
(читаются как из секции активной схемы, так и из секции логики, первая приоритетней)
bandage = profile ; string
профиль схемы bandage (самолечение) профили c настройками находятся в bandage.ltx
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
Версия 3.03
Информация по настройке
файл с настройками config/misc/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], [active_scheme], [character_community], [default]
калькулятор для настройки расстояний в CD_loot_distance.xlsx
24.06.2016, Rulix aka Bak
Внимание: ожидайте | до открытия ссылки |
Комментарии