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

AI additions


Bak

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

Bak, подскажи, пожалуйста, какие файлы в AI additions отвечают за "менеджер оружия"? У меня стоит аддон IMM, хотел адаптировать...

Изменено пользователем Mitek
Ссылка на комментарий

А будет версия совместимая с АИ_Паком?

Если ты желаешь возвестить людям какую-либо важную истину, облеки оную в одежду общего мнения.

Пифагор Самосский.

Ссылка на комментарий
Bak, подскажи, пожалуйста, какие файлы в AI additions отвечают за "менеджер оружия"? У меня стоит аддон IMM, хотел адаптировать...

нужно удалить файлы:

rx_ai.ltx

rx_gl.ltx

gl.ltx

system.ltx

rx_gl.script

и папки:

meshes

textures

 

А будет версия совместимая с АИ_Паком?

совмещать с АИ паком я не буду.

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

Bak, отличная работа! Наконец-то и мне могут зарядить из подствола в дыню!

Тут назрела пара вопросов, помоги разобраться?

Поставил версию для чистой игры, все работает, но сейчас словил такой вылет:

 

FATAL ERROR

 

[error]Expression : fatal error

[error]Function : CInifile::r_section

[error]File : E:\stalker\patch_1_0004\xrCore\Xr_ini.cpp

[error]Line : 342

[error]Description : <no expression>

[error]Arguments : Can't open section 'gl_test_shell_ammo_vog-25k'

 

Насколько я понимаю, НПС пытался запустить в меня гранатой ammo_vog-25k. В чистой игре такого, разумеется нет, я пытался сделать кумулятивную гранату, ничего хорошего не вышло, и я просто нигде и никому ее не выдавал, но не вырезал из конфигов. То есть новые гранаты у тебя тоже выдаются НПС? Если не секрет, что должно совпадать в старой гранате из оригинала и свежедобавленной, чтобы новая тоже могла выдаваться НПС? Класс или еще что-то? И достаточно ли прописать новые гранаты по образу и подобию в config\weapons\gl.ltx, или надо еще где-то?

 

И второй вопрос: в config\misc\rx_weapon_mgr.ltx в секции [priors_def] задаются приоритеты оружия. Туда достаточно просто дописать свое дополнительное и прописать ему приоритеты, или надо еще где-то прописывать?

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

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

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

xStream

 

это отдельная схема

если правильно смиксовать, будут обе работать

а вобще по подстволам - смотри топик про аи пак, мой последний пост :)

Ладно, а в случае, если НПС-у выдать "готовый" подствольник, они

будет его использовать, но только если это безопасно для него самого, ну и своих будет стараться не задеть.
?

То-есть, так-же как гранаты?

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

всё легко

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

вроде же написано - надо принимать превентивные меры, подобные тем, что в схеме, тока попроще, без кидания муляжей, и без ожидания результата теста :)

правильно сделать так:

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

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

 

примерно так.

Все, кто стоит на моем пути: идите нахрен и там погибните! ©

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

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

Устное предупреждение за безграмотность. N6260

Ссылка на комментарий
! Cannot find saved game ~#i#:wm:box[11343] created on level 'l07_military'

! Cannot find saved game ~#i#:wm:manage_box:box[11343] switch online

! Cannot find saved game ~#i#:wm:manage_box:box[11343] switch online

! Cannot find saved game ~#i#:wm:manage_box:box[11343] switch online

Так ведь это дополнительная информация (для того чтобы узнать работоспособность).... от неё можно избавиться закомментив в скриптах Bak'a строчки с printf

к примеру:

rx_gl.script

98 строка

printf("set aim time %s",gl_sets.ranks[ranks.get_obj_rank_name(npc)].aim)

..Но думаю не надо..вдруг Bak'y нужна будет дополнительная информация ,а все закомментили строки...:)

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

Кидание болтов неписями из забавы уже превращается в угрозу для жизни (неписям), на Кардоне бегут на АТП разбираться с бандитами, при этом добегая до определенной точки останавливаются и кидают болты...

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

"Ты должен!" - убивает эта фраза.
То, что я должен - записано в налоговом кодексе.
Все, что не должен - в уголовном.
Остальное на мое усмотрение.

 

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

andripoty


--' Для зомбированных чуваков говорим что аномалий не существует
if self.object:character_community() == "zombied" then
local manager = self.object:motivation_action_manager()
manager:remove_evaluator (stalker_ids.property_anomaly)
manager:add_evaluator (stalker_ids.property_anomaly, property_evaluator_const(false))
end

и заменить на

--' Для зомбированных чуваков говорим что аномалий не существует
-- if self.object:character_community() == "zombied" then
local manager = self.object:motivation_action_manager()
manager:remove_evaluator (stalker_ids.property_anomaly)
manager:add_evaluator (stalker_ids.property_anomaly, property_evaluator_const(false))
-- end

 

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

Залил новую версию аддона. Исправлено множество недочетов, также появилась новая схема.

Адаптаций под различные моды/солянки не предвидется.

 

Насколько я понимаю, НПС пытался запустить в меня гранатой ammo_vog-25k. В чистой игре такого, разумеется нет, я пытался сделать кумулятивную гранату, ничего хорошего не вышло, и я просто нигде и никому ее не выдавал, но не вырезал из конфигов.

Выдаются гранаты, которые прописаны в конфиге оружия, которым пользыется непись.

Если граната рабочая, то проблем быть не должно, только прописать в gl.ltx

 

И второй вопрос: в config\misc\rx_weapon_mgr.ltx в секции [priors_def] задаются приоритеты оружия. Туда достаточно просто дописать свое дополнительное и прописать ему приоритеты, или надо еще где-то прописывать?

Достаточно просто дописать,

но использоваться эти приоритеты будут только если mode1 = 3

 

Не надо цитировать более 3 строк (исключение: технические цитаты). N6260

Изменено пользователем n6260
Ссылка на комментарий

для нс будет попозже. а можeт и не будет.

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

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

Bak

 

Не надо мне рассказывать, пожалуйста про "основы". Я рыл скрипт очень плотно и отписался не просто так. Я ставил в коде ловушки с выводом значений в лог, используя get_console():execute, отлаживая этот вылет построчно, и оказалось что с периодичностью (редко, но тем не менее) self.weapon_id оказывается nil непосредственно перед выполнением этого присвоения. В основном это происходит когда игрок приближается к неписю на радиус действия a-life. После этого попытка выполнения вышеуказанного кода сразу вызывает вылет с assertion failed. Вставил поверку на существование self.weapon_id - вылеты пропали. Код же, который выполняется после этой строки имеет проверки на это значение, и там никаких проблем нет...

 

Если я не прав в данном случае и это является нарушением логики кода - разложите, плз, эту функцию по исполнению. Я тогда буду искать как поправить это иначе. В конце концов вы автор кода и вам виднее...

 

Тем более что у вас в коде выше, в периодически вызываемой функции обновлении менеждера вооружений - function weapon_manager:update() - проверки на существование self.weapon_id натыканы сплошь и рядом...

 

Перепроверил сейчас - да, именно это присвоение. ХЗ что тут не так, по-идее даже если self.weapon_id не существует, в этом случае эта переменная должна проинициализироваться, под неё должна выделиться память и должно быть присвоено значение. Но вместо этого происходит вылет, хотя wpn вроде существует. Сейчас поставлю вывод в лог и попробую проверить, возможно каким-то образом wpn:id() возвращает nil...

 

Есть кнопка "изменить" - прошу ей пользоваться. Предупреждение. N6260

 

Так, выяснил что сам себя несколько ввёл себя и вас в заблуждение, пардон. Этот вылет получается происходит из-за того, что при существующей переменной wpn периодически wpn:id() возвращает nil. Переменная же self.weapon_id тут получается ни при чём. Поправил в итоге вот так:

 

function weapon_manager:set_weapon(wpn)
if wpn and wpn:id() then
	--вставил проверку на величину, чтобы избежать вылета из-за попытки присвоить id несуществующей переменной
self.weapon_id = wpn:id()
	self:return_items(self.weapon_id)
--		printf("set_weapon[%s]:set %s[%s]",self.npc:character_name(),wpn:id(),wpn:section())
else
	printw("set_wpn:weapon not exist")
end

 

Уже пару дней интенсивно тестим, вылеты больше не повторялись. Но теперь нашёл другой очень редкий вылет - происходит сразу после того, когда отстреляли собак с Лисом. Лис говорит фразу в стиле "Ну славно, вроде отстрелялись", и игра вылетает без лога. Что интересно, вылет репродуцируем только на 6-м патче, на 5-м он не происходит. Сейчас трассирую построчно на какой строке кода происходит вылет, поймаю - отпишу где.

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

Отладчик и скриптер мода OGSE. Автор схемы "Компаньоны", стреляющего БТРа и многих других полезностей :wink:

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

Monnoroch

 

Да нет, в итоге оказалась небольшая заморочка с совместимостью скриптов, уже пофиксили. В АИ-паке по этому поводу никаких правок не надо, это не он оказался виноват в итоге.

Отладчик и скриптер мода OGSE. Автор схемы "Компаньоны", стреляющего БТРа и многих других полезностей :wink:

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

Класный мод. Получил от бандюка прикладом в грызло-впечатляет :lol: Соеденил с модом OGSM, надеюсь автор не против? Тестировал мало-вот для желающих потестить :blush:http://webfile.ru/3433151

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

А где регулируется сила удара прикладом, и какой характер повреждения этот удар наносит(удар, разрез, разрыв)?

Если ты желаешь возвестить людям какую-либо важную истину, облеки оную в одежду общего мнения.

Пифагор Самосский.

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

shepard1a, в rx_facer.ltx, тип повреждения strike или wound.

какой именно параметр в скрипте rx_facer.ltx, отвечает за силу удара?

там подписано ;)

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

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

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

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

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

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

Войти

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

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

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