Перейти к контенту

AI additions


Bak

Рекомендуемые сообщения

@Bak, накопились вопросы по некотоым модулям:

 

1. У меня не корректно работает модуль помощи раненым (возможно, как и самолечения). НПС дает раненному аптечку, но тот не встает, схема зацикливается. Подозреваю, что это может быть связано с модулем "Медецина" от ColR_iT aka BozKurt. (у всех мед. препаратов, в конфигах, параметры лечения стоят по нулям. хп добавляется скриптом. а для лечения нпс со стороны гг используется заглушка, выдающая им фулл хп, при передачи аптечки) Где копать?

 

2. В том же модуле помощи раненым, у группировок (честно говоря, всех не тестировал - но у монолитовцев, это так) проигрывается один набор звуков (из профилей одиночек). Я добавил из ЗП уникальные звуки для тех группировок, где их не было. Почему они не юзаются?

 

3. Квестовый непись не хочет игнорить обыск трупов и как только появляется возможность, подбирает ствол и устраивает локальный апокалипсис, будучи игнорируемым пленником, не смотря на добавление в секцию [excluded_npcs] - в конфиге настроек модуля "Собирательство". В чем может быть причина?

Изменено пользователем Silver Raven

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Ссылка на комментарий

@Silver Raven

п1. ищи функцию npc:eat (medkit), добавляй вручную здоровье. Конкретно в xr_wounded и rx_utils

п2. Используются звуки, находящиеся по соответствующему пути. У монолита в ЗП не все звуки имеются, которых не хватает - берутся из игровых архивов. Найди там этот звук и замени его подходящим, ну или пустышкой.

п3. Так он обыскивает трупы, или с земли подбирает оружие?

Ссылка на комментарий

@Bak

1. Для xr_wounded правка уже стояла, в rx_utils, добавил так (будет ли работать?):

function eat_medkit()
xr_wounded.Cwound_manager:eat_medkit()
end

2. Если говорить о звуках раненного\помогающего раненному - они же читаются для каждой группировки отдельно?

Я правильно понимаю назначение профилей в конфиге?:

 

 

; Выстрел из подствольника
[gl_fire]
path = fight\fire\fire_
idle = 20,40,80

; Атака с ножом
[knife_attack]
path = fight\threat\threat_close_
idle = 6,18,50
delay_sound = 300,1500

; Атака монстра с ножом
[knife_attack_mutant]
path = fight\threat\threat_distant_
idle = 5,20,50
avail_communities = stalker, dolg, freedom, military, monolith
delay_sound = 1000

;???
[monster_defend]
path = states\panic_monster\panic_monster_
idle = 6,16,50
avail_communities = stalker, bandit, dolg, freedom, military

;???
[npc_hit]
sound = sound_injuring
idle = 3,8,80

; Союзный огонь
[friendly_fire]
sound = sound_injuring_by_friend
idle = 2,5,100

;Союзная граната
[friendly_grenade]
sound = sound_friendly_grenade_alarm
idle = 10,30,100

; Враг получил урон
[enemy_hit]
sound = sound_enemy_critically_wounded
idle = 5,10,100

; Враг мертв
[enemy_death]
sound = sound_enemy_killed_or_wounded
idle = 5,10,70
delay_sound = 400

; Добивание раненых
[kill_wounded]
sound = sound_kill_wounded
idle = 4,6,100

; Обнаружение трупа
[corpse_loot_begin]
path = states\loot\loot_begin_
idle = 10,30,50

; На трупе найден хороший лут
[corpse_loot_good]
path = states\loot\loot_good_
idle = 10,15,90

; На трупе найден плохой лут
[corpse_loot_bad]
path = states\loot\loot_bad_
idle = 10,20,80
delay_sound = 100,700

; Тяжелораненный просит о помощи
[help_heavy]
avail_communities = military, csky, stalker, bandit, dolg, freedom, killer ;-- А это нужно?
path = help\wounded_heavy\help_
idle = 4,8,100

; Помогаем тяжелораненному
[wounded_medkit]
path = help\wounded\medkit_
idle = 20,40,50

; Тяжелораненый получил помощь
[help_thanks]
path = help\wounded_thanx\thanx_
idle = 20,20,80
delay_sound = 300,3000 

 

 

 

3. Подбирает оружие с земли, если кто-то недалеко от него помер и возвращается на место. (может это оружейный менеджер?)

Вообще, хорошо бы добавить временную блокировку для логики каких-либо схем из ai-additions.

Что-то вроде:

[logic]
active = walker

[walker]
path_walk = walk
path_look = look
combat_ignore_cond = always
corpse_detection = false
wpn_mgr = false

Допустим, пока нпс - пленный, блочим в логике подбор оружия и обыск трупов. Перешел на другую схему - отключаем запреты.

Изменено пользователем Silver Raven

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Ссылка на комментарий

добавил так (будет ли работать?):

Нет конечно. Просто добавляй восстановление здоровья

npc:eat(medkit)
npc.health = 0.5 --добавить 50% здоровья
Если хочешь, меняй значение в зависимости от типа аптечки.

Об озвучке:

путь к звукам ни от какой группировки не зависит, а прописывается в specific_character 

<snd_config>characters_voice\human_02\stalker\</snd_config>

Я правильно понимаю назначение профилей в конфиге?

Всё верно, avail_communities лучше вообще убрать, он не нужен.

 

Подбирает оружие с земли

Работает движковая схема сбора оружия. убери персонажа из excluded_npcs и запрещай через логику, чтобы решить эту проблему.

 

Вообще, хорошо бы добавить временную блокировку для логики каких-либо схем из ai-additions.

Не поверишь - уже имеется. В ai additions 2.0 больше схем это поддерживают.

 

в 1.93 только corpse_detection и help_wounded

Ты можешь использовать

[walker]
help_wounded_enabled = false
corpse_detection_enabled = false
И рекомендую прочитать cd_info.txt Изменено пользователем Bak
  • Полезно 1
Ссылка на комментарий

@Bak, а как понимать эти пресеты:

;??? -- Монстр защищается? о_О
[monster_defend]
path = states\panic_monster\panic_monster_
idle = 6,16,50
avail_communities = stalker, bandit, dolg, freedom, military

;??? -- Непись получил хит?
[npc_hit]
sound = sound_injuring
idle = 3,8,80

 

 

Работает движковая схема сбора оружия. убери персонажа из excluded_npcs и запрещай через логику, чтобы решить эту проблему.

Движковая, точно? Где отрубать? (написать no_move = true, что б не бегал?) Но, я точно помню, что до обновления ai additions этот непись сидел смирно под своей логикой (пленного) и не порывался подобрать ближайший доступный ствол. (спавнится он без оружия)

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Ссылка на комментарий

@Silver Raven,  Точнее некуда.

открой файл xr_corpse_detection.script, найди функцию add_to_binder

 

	-- Evaluators
	if excluded_communities[npc:character_community()] or excluded_npcs[npc:name()] or excluded_npcs[npc:profile_name()] or not npc:alive() then
--		manager:remove_evaluator(stalker_ids.property_items)
--		manager:add_evaluator (stalker_ids.property_items,property_evaluator_const(false))	-- движковую схему тоже выключить ?
		return
	end
Раскомментирую эти 2 строки, чтобы было

	-- Evaluators
	if excluded_communities[npc:character_community()] or excluded_npcs[npc:name()] or excluded_npcs[npc:profile_name()] or not npc:alive() then
		manager:remove_evaluator(stalker_ids.property_items)
		manager:add_evaluator (stalker_ids.property_items,property_evaluator_const(false))	-- движковую схему тоже выключить ?
		return
	end
Должен признать, твоя ситуация является следствием моего недосмотра, хорошо что ты его выявил.

 

 

Изменено пользователем Bak
  • Спасибо 1
  • Полезно 1
Ссылка на комментарий

@Bak, Мы все ошибаемся...

Пара затыков все же осталось: после того, как неписю отменяется логика пленного и он переходит в обычный walker (без запрета на обыск трупов) - начинает сходить с ума (подходит к лежащиму стволу, приседает, как паралитик и начинает дергаться на месте. если кинуть ему ствол, может начать целится в разные точки. выправляется, только если уйдет в офлайн и вернется обратно в онлайн.)

После правки, схема помощи раненым почему-то осталась неработоспособной, неписи все так же валяются на земле, в окружении заботливых "докторов". Очень странно.

 

Остается только вопрос по значению тех двух звуковых пресетов. 

 

З.Ы. В ai additions 2.0, по мимо правок, улучшений и нового (как я понял) оружейного менеджера, ты не планируешь разобраться с логикой вертолетов и всем, что с ней завязано? Там полный швах... Вроде, @НаноБот, порывался, но каковы результаты...

Изменено пользователем Silver Raven

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Ссылка на комментарий

@Bak, на втором видео сталкер кричит кабану "Мужик, я тебя достану!" , сей нюанс будет поправлен? Вроде в ресурсах есть звуки относящиеся к мутантам. А индикатор гранат - весч. Так понимаю с правками движка уже идет обновление?

Ссылка на комментарий

@Bak, возможно ли в ЧН организовать оттаскивание трупов от костра?

Изменено пользователем monk
Добавлено Bak,

Можно

Ссылка на комментарий

Неужели менеджер оружия теперь будет нормально работать без вылетов на 1.0006?

Или он так же отключён на 1.0006?

 

А я уж обрадовался, думал ты починил тот вылет.

Сейчас поиграл немного, а военные не меняют автомат на пистолет в ближнем бою. Значить всё так же отключено.

Значить для четвёртого патча круче всё же ал.

Хотя ладно, мне всё равно никогда не нравилось когда НПС в ближнем бою меняли автомат на пистолет.

Глупо это. Ладно бы патроны кончились, другое дело... 

----------------------------------------------------------

Хотя не, бандиты то меняют стволы в зависимости от расстояния. С пистолета переходят на дробовик, и наоборот.

Но у военных не видел такого пока. Хотя раньше при подходе к ним, они все сразу переходили на пистолет.

Изменено пользователем Bak
Добавлено Bak,

Менеджер оружия включен и работает

  • Полезно 1
Ссылка на комментарий

В версии для ЗП словил вот такой вылет :

 

[error]Expression    : !m_error_code
[error]Function      : raii_guard::~raii_guard
[error]File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
[error]Line          : 748
[error]Description   : ... - call of pripyat\gamedata\scripts\rx_combat.script:145: bad argument #2 to 'random' (interval is empty)
 
Когда точно происходит сказать не смогу. Версия стоит последняя. Вопрос, с чем может быть связан этот вылет ? Если что не так, прошу прощения за тупость.
Изменено пользователем Alexander_javascript
Добавлено Bak,

Все нормально, возьми фикс

Ссылка на комментарий

Bak, я так понял и в ЧН, надо тоже так проделать? Или нет?

Т.е

local min_queue = math.ceil(magsize/6)
local max_queue = math.floor(magsize/2)
заменить на
local min_queue = math.floor(magsize/6)
local max_queue = math.ceil(magsize/2)

И ещё заметил в rx_combat.script в ЧН есть local npc = self.object в function action_monster_defend:finalize(), а в ЗП нет.

А остальное всё также.

Может local npc = self.object в ЗП тоже написать, или в ЧН убрать? :)

Или так и должно? :)

Ну просто хочется чтоб всё было "чики-пуки" :)

Изменено пользователем alex5773
  • Полезно 1
Ссылка на комментарий
З.Ы. В ai additions 2.0, по мимо правок, улучшений и нового (как я понял) оружейного менеджера, ты не планируешь разобраться с логикой вертолетов и всем, что с ней завязано? Там полный швах... Вроде, НаноБот, порывался, но каковы результаты...

 

В ЗП частично адаптировал схему Кирага, полёт по путям из конфига, делал чисто для теста ПЗРК, потом адаптирую боёвку. А далее доработаю саму боёвку, очень не нравится стрельба ракетами, они же НАР - Неуправляемые Авиационные Ракеты, пилоты стреляют только по групповым целям, по БТРом, и очень редко по одиночным, ракеты накрывают не которую площадь и так прицельно попадать по одной цели не могут чисто технически.

 

И ещё, на счёт стрельбы с ПГ, хорошо сделать схему где НПС переключает ПГ - основной ствол и стреляет чисто из движкового ПГ. Не помню есть ли в моих правок XRay-Ext эти методы для ЗП.

Хотя не, там (в движке) ещё балл. вычислитель для НПС надо включить. В прочим ракету можно перехватывать и скриптом, и направлять по нужной траекторией.

Изменено пользователем НаноБот

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

Ссылка на комментарий

Наверно не заметили, но я повторю:)

 

В ЧН, ЗП нпс в комбате могут использовать анимпоинты "....combat", то есть прячутся за укрытия: могут стрелять из-за него, перепрыгиват и т.д. (их нужно самим заранее расставлять по локации в сдк) Так вот: возможно ли это сделать схемой поведения? Тоесть чтоб эти анимпоинты спавнились автоматически? Или нпс приходящие в нужную точку выполняли связку анимаций из этих анимпоинтов... Без расстановки их на локации.

Добавлено Bak,

Теоретически можно. НО делать этого никто не будет.

/ Полностью настроенный SDK 0.7 и больше. /
--------------------------------------------------------------------------
/ Coming Soon - Подрыв Устоев /

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...