Это популярное сообщение. Bak 755 Опубликовано 25 Января 2009 Это популярное сообщение. Поделиться Опубликовано 25 Января 2009 (изменено) Ai Additions 2.0 Дата выпуска: 2009,2016Разработчик: Rulix aka @BakМой канал youtube Дополнения, дарующие неписям новые возможности (АИ схемы). Менеджер оружияСкрипт, управляет выбором оружия НПС.Непись способен определить лучшее оружие;в зависимости от противника, расстояния до него, количества патронов в магазине выбирает более подходящее оружие.Например, издалека будет стрелять со снайперской винтовки, вблизи переключится на автомат или пистолет, если есть,если кончаются патроны, может достать другую пушку и т.д.Возможно управление оружейными предпочтениями персонажей.Перезарядка оружияНПС перезаряжают оружие для сохранения боеготовности.Исправление ситуации, когда НПС встречал обнаруженного врага с пустым/полупустым магазином,так как потратил патроны в перестрелке или подобрал разряженное оружие.-дополнительно- Перезаряжается всё используемое оружие, а не только активное.Стрельба с подствольных гранатометовЕсли НПС стал счастливым обладателем винтовки с подстволом,будет его использовать, но только если это безопасно для него самого, ну и своих будет стараться не задеть.Эффективность зависит от ранга персонажа. Удар в лицоНПС дубасит руками/прикладом всех врагов, которым не повезет оказаться поблизости.Если нет оружия, может подкрадываться к врагам для удара. Напяливание аддоновНПС могут прикреплять к своему оружию аддоны: оптический прицел, глушитель, гранатомет.Также снимают аддоны и переодевают на лучшее оружие.Перевязка (самолечение)Если НПС получит ранение, то он достанет бинт или аптечку (при наличии) и использует их по назначению. В бою будет лечиться только находясь в укрытии. По своим не стрелятьЕсли на линии огня оказался союзник, НПС прекращает огонь и меняет позицию. Бой с ножомНПС использует нож в бою с людьми и мутантами Добивание раненыхУлучшенная схема добивания, используются разные варианты: выстрел, нож, удар. Лечение раненыхНПС лечат тяжелораненых союзников. СобирательствоНПС собирают предметы с пола и обыскивают трупы Оборона от монстровТеперь вместо того, чтобы прятаться от монстров по укрытиям, НПС будет увеличивать дистанцию, чтобы расстрелять мутанта с безопасного расстояния, а также пытаться уклониться от атаки Хромание НПСДобавлен новый режим "легкого тяжелого ранения", в котором НПС:- при наличии врага стараются спрятаться от него, ковыляя в укрытие- находясь в укрытии, могут сами себя вылечить (при наличии аптечки)- используют сидячую анимацию вместо лежачей КамикадзеПсихи-камикадзе (некоторые монолитовцы) достают гранату, выдергивают чеку и бегут на противника. Ожидание после бояПосле убийства врагов НПС некоторое время сидят на месте,отыгрывая соответствующие анимации и озвучку Метание гранат (гренадер)НПС. кидают гранаты. во врагов. Переодевание в лучшую броню (тамагочи)NPC можно продать какой-нибудь костюм и если его устроит, то он его оденет.Неписи очень стеснительные, поэтому переодеваются только тогда, когда гг их не видит и находится как минимум за 15 метров от нихКроме того введена система апгрейда брони - теперь NPC развиваются, вполне возможно встретить по прошествии времени NPC новичка, который обзавелся, например, костюмом сталкера или даже СЕВОЙ. Оттаскивание трупов от костра (анти-веселая понихида)NPC находящиеся на отдыхе (у костра, например) будут оттаскивать в сторону трупы людей и животных. RGhost release или Яндекс ДискAI Additions SHOC 2.0rghost yadiskАдаптациидля Народной солянки (1.932)для ОП-2 (1.932)для NLC7 (1.925) для Darkest Time (2.0)Озвучка монолитовчев из ЗПСпецназёрские анимации от Mirage2000 для ТЧ [spoiler=для Чистого Неба]тут [spoiler=для Зова Припяти]тут Изменено 16 Апреля 2017 пользователем Bak 12 21 10 Ссылка на комментарий
Rock`n_Roll 45 Опубликовано 27 Июля 2020 Поделиться Опубликовано 27 Июля 2020 Может кто-нибудь обновит ссылку Адаптации для NLC. Спасибо заранее. Вопрос не в том чего ты хочешь, вопрос в том, на что ты готов пойти ради этого... Ссылка на комментарий
=300zx= 3 Опубликовано 28 Июля 2020 Поделиться Опубликовано 28 Июля 2020 (изменено) Для адаптации AI Additions на OGSM ТЧ, насколько я понимаю, нужно еще операторам в новых модулях прописать следующие предусловия: if ogsm_hideout then action:add_precondition(world_property(ogsm_hideout.property_blowout, false)) action:add_precondition(world_property(ogsm_hideout.property_hideout_lost, false)) action:add_precondition(world_property(ogsm_hideout.property_inhide, false)) action:add_precondition(world_property(ogsm_hideout.property_psyzoned, false)) end if anomaly_evader then action:add_precondition (world_property(1099,false)) end Только вот вопрос, для всех ли операторов это нужно прописывать? Изменено 28 Июля 2020 пользователем =300zx= 1 Ссылка на комментарий
UriZzz 1 004 Опубликовано 4 Августа 2020 Поделиться Опубликовано 4 Августа 2020 @=300zx=, ну не знаю, я адаптировал аи адд и мод на выбросы, они друг другу не мешали. Во всяком случае у меня при тестах проблем выявлено не было Моя нычка, Нычка в арендованном у Опричника холодильнике Мы хорошие ребята, жаль патронов маловато:) Ссылка на комментарий
Купер 2 869 Опубликовано 11 Августа 2020 Поделиться Опубликовано 11 Августа 2020 К данному посту. Наткнулся у OGSE-шников по этому поводу: Скрытый текст "Изредка движок сглюкивает, назначая неписю в слот артефакт. Этого следует избежать, так как такие неписи застревают на попытке применения арта как оружия."(c) Вообще, копипастить чужой код - такое себе занятие. Да и спецы наверняка у себя поправили. "Самоделкиным", однако, возможно будет любопытственно. В качестве идеи . Для наглядности: Скрытый текст function check_art_weapon(npc) local item_in_slot = npc:item_in_slot(1) local act_item = npc:active_item() if act_item and item_in_slot and act_item:id() == item_in_slot:id() then local item_in_slot_sec = act_item:section() local item_in_slot_id = act_item:id() if item_in_slot_sec and item_in_slot_id and string.find(item_in_slot_sec, "af_") then --' Если непись получил арт в слот по ошибке при загрузке игры, мы просто, обновим ему оружие в руках и всё. Иначе, если он взял арт в руки и отказывается его убирать, а лучшее оружие получить не удаётся, придётся арт выбросить, отрелизить и вернуть ему в рюкзак. local bw = npc:best_weapon() local be = npc:best_enemy() local rem_id = npc:active_item():id() npc:drop_item(npc:active_item()) local s_obj = alife():object(rem_id) if s_obj then alife():release(s_obj, true) alife():create(item_in_slot_sec,npc:position(),npc:level_vertex_id(),npc:game_vertex_id(),npc:id()) end if bw and string.find(bw:section(), "wpn_") then if be then npc:set_item(object.fire1, bw) return else npc:set_item(object.idle, bw) return end end end end end Простенько и со вкусом. И куда-нибудь на апдейт в мотиваторе: Скрытый текст function motivator_binder:update(delta) ... if self.object:alive() then check_art_weapon(self.object) end ... end 4 Ссылка на комментарий
Space.Marine 466 Опубликовано 11 Августа 2020 Поделиться Опубликовано 11 Августа 2020 2 часа назад, Купер сказал: Для наглядности: Саму функцию check_art_weapon(npc) можно в xr_motivator.script прописать или создавать новый скрипт ? Ссылка на комментарий
=300zx= 3 Опубликовано 11 Августа 2020 Поделиться Опубликовано 11 Августа 2020 04.08.2020 в 20:31, UriZzz сказал: @=300zx=, ну не знаю, я адаптировал аи адд и мод на выбросы, они друг другу не мешали. Во всяком случае у меня при тестах проблем выявлено не было Явных проблем может и не будет, но для каких-то action возможно стоит добавить эти предусловия. Например, чтобы непись во время выброса не шел лутать итд. В оригинальных модулях AI Additions есть закоментированные строчки для АМК-выброса: -- if blowout_scheme and blowout_scheme.evid_outside then -- action:add_precondition(world_property(blowout_scheme.evid_outside,false)) -- end В OGSE, например в файле rx_gl.script, есть такие строчки: local action = action_launch_grenade(npc,"act_launch_grenade",storage) ... action:add_precondition(world_property(ogsm_hideout.property_blowout, false)) action:add_precondition(world_property(ogsm_hideout.property_hideout_lost, false)) action:add_precondition(world_property(ogsm_hideout.property_psyzoned, false)) Но в OGSE используется предыдущая версия AI Additions и не такая схема обхода аномалий как в OGSM. 2 Ссылка на комментарий
Купер 2 869 Опубликовано 11 Августа 2020 Поделиться Опубликовано 11 Августа 2020 @Space.Marine, да. В таком виде непосредственно в мотиватор. Не совсем корректно озвучил . Если делать отдельно - придётся видоизменять вызов функции, хотя напуркуа ? Вариант решения не единственный, конечно. Просто обычно всё это зарыто в дебрях авторского кода, с кучей собственных "прибамбасов" под себя. А тут всё достаточно прозрачно и "модульно" для использования. 2 1 Ссылка на комментарий
SeaZ0 1 Опубликовано 29 Августа 2020 Поделиться Опубликовано 29 Августа 2020 (изменено) @Bak Hello, I found a bug where NPCs start walking in this weird animation, walk really slowly and seem to be kind of sliding. It happens when they are just wandering around, when you get near them and go away they start walking normally. Could you check this out? ------------- Google translate --------------------- Здравствуйте, я обнаружил ошибку, из-за которой NPC начинают ходить в этой странной анимации, очень медленно ходят и кажутся скользкими. Это бывает, когда они просто бродят, когда вы подходите к ним и уходите, они начинают нормально ходить. Не могли бы вы это проверить? Screenshot: https://imgur.com/a/oQ0wV7w Изменено 29 Августа 2020 пользователем Опричник перевод Ссылка на комментарий
SeaZ0 1 Опубликовано 1 Сентября 2020 Поделиться Опубликовано 1 Сентября 2020 (изменено) I also encountered a bug where some NPCs (mainly duty guards at the Bar) have their flashlights shining under their feet at day time after a night where they use them. I believe these bugs are caused by this mod but maybe someone can confirm. Every time I use this mod it happens. ---------------------------------------- Я также столкнулся с ошибкой, когда у некоторых NPC (в основном дежурных охранников в баре) фонари светились под ногами днем после ночи, когда они их использовали.Я считаю, что эти ошибки вызваны этим модом, но, возможно, кто-то сможет подтвердить. Такое случается каждый раз, когда я использую этот мод. Изменено 1 Сентября 2020 пользователем Опричник перевод Ссылка на комментарий
Space.Marine 466 Опубликовано 1 Сентября 2020 Поделиться Опубликовано 1 Сентября 2020 @SeaZ0, никогда не наблюдал ни одну из вышеперечисленных проблем. Ссылка на комментарий
SeaZ0 1 Опубликовано 2 Сентября 2020 Поделиться Опубликовано 2 Сентября 2020 (изменено) Okay, guess the problem has to be on my end. I don't know what else could cause that though, it happend twice in 2 different mod setups and the one where I didn't use it didn't have these issues. I would test it on vanilla but it happens only later in the game and I don't want to play vanilla :D ----------------------- Ладно, думаю, проблема на моей стороне. Я не знаю, что еще могло вызвать это, хотя это случилось дважды в двух разных настройках мода, и в том, где я его не использовал, этих проблем не было. Я бы протестировал это на ванили, но это происходит позже в игре, и я не хочу играть в ваниль: D Изменено 2 Сентября 2020 пользователем Опричник перевод Ссылка на комментарий
Rudolf2725 0 Опубликовано 27 Сентября 2020 Поделиться Опубликовано 27 Сентября 2020 Работает ли тут "эффект оптики" для НПС? Такое ощущение, что оптический прицел на их оружии ни на что не влияет. Ссылка на комментарий
TomlnFerno 1 Опубликовано 4 Октября 2020 Поделиться Опубликовано 4 Октября 2020 (изменено) 30.05.2020 в 06:31, Rudolf2725 сказал: @ted.80, при попытке сохранится иногда может произойти вылет. Ставил на OGSM v2.3.1, адаптация соответствующая. Вот лог. Expression : e_entity->ID_Parent == id_parent Function : xrServer::Process_event_reject File : E:\stalker\sources\trunk\xr_3da\xrGame\xrServer_process_event_reject.cpp Line : 23 Description : wpn_bm161746 Arguments : rx_wmgr_box6382 Спустя почти полгода , но да и ладно))) Может быть кому-то пригодиться. Вылет связан с тем, что скорее всего при адаптации в bind_stalker метод save переписали с OGSM'овского. Вот этот кусок кода: Скрытый текст function actor_binder:save(packet) local pk1 = fake_net_packet.fake_net_packet() self:save_old(pk1) --get_console():execute("Packet_size_is_"..pk1:w_tell()) if pk1:w_tell()>7500 then ogsm_debug.clean_pstor() end self:save_old(packet) end function actor_binder:save_old(packet) if rx_ai then rx_ai.actor_save(packet) end local save_treasure_manager = true printf("actor_binder:save(): self.object:name()='%s'", self.object:name()) object_binder.save(self, packet) --' Сохраняем уровень сложности if save_treasure_manager == true then packet:w_u8(level.get_game_difficulty() + 128) else packet:w_u8(level.get_game_difficulty()) end --' Сохраняем данные об отключенном вводе if self.st.disable_input_time == nil then packet:w_bool(false) else packer:w_bool(true) utils.w_CTime(packet, self.st.disable_input_time) end xr_logic.pstor_save_all(self.object, packet) self.weather_manager:save(packet) sr_psy_antenna.save( packet ) if save_treasure_manager == true then treasure_manager.save(packet) end task_manager.save(packet) self.actor_detector:save(packet) end Возвращаем на оригинальный: Скрытый текст function actor_binder:save(packet) local pk1 = fake_net_packet.fake_net_packet() if pk1:w_tell()>7500 then ogsm_debug.clean_pstor() end if rx_ai then rx_ai.actor_save(packet) end local save_treasure_manager = true printf("actor_binder:save(): self.object:name()='%s'", self.object:name()) object_binder.save(self, packet) --' Сохраняем уровень сложности if save_treasure_manager == true then packet:w_u8(level.get_game_difficulty() + 128) else packet:w_u8(level.get_game_difficulty()) end --' Сохраняем данные об отключенном вводе if self.st.disable_input_time == nil then packet:w_bool(false) else packer:w_bool(true) utils.w_CTime(packet, self.st.disable_input_time) end xr_logic.pstor_save_all(self.object, packet) self.weather_manager:save(packet) sr_psy_antenna.save( packet ) if save_treasure_manager == true then treasure_manager.save(packet) end task_manager.save(packet) self.actor_detector:save(packet) end После этого вылет должен исчезнуть. P.S. Если кто-то знает зачем этот метод изменяли как показано под первым спойлером - буду благодарен если расскажите) Изменено 4 Октября 2020 пользователем TomlnFerno 1 Ссылка на комментарий
ted.80 252 Опубликовано 5 Октября 2020 Поделиться Опубликовано 5 Октября 2020 22 часа назад, TomlnFerno сказал: Вылет связан с тем, что скорее всего при адаптации в bind_stalker метод save переписали с OGSM'овского. 22 часа назад, TomlnFerno сказал: P.S. Если кто-то знает зачем этот метод изменяли Ну наверно потому что это адаптация для OGSM? 1 Личный АРХИВ по S.T.A.L.K.E.R Ссылка на комментарий
TomlnFerno 1 Опубликовано 6 Октября 2020 Поделиться Опубликовано 6 Октября 2020 (изменено) 13 часов назад, ted.80 сказал: Ну наверно потому что это адаптация для OGSM? Ну так надо же с умом делать) Из-за использования ОГСМ-ного варианта метода происходит тот вылет, а вот если взять вариант из моего предыдущего поста, то все в порядке, хотя я не претендую на то, что это является единственно верным решением, я просто предлагаю рабочие варианты, которые помогли мне и могут помочь ещё кому-то(кстати я там случайно вставил одинаковый код под оба спойлера и не могу повторно отредактировать пост,косяк) Может быть мои формулировки не совсем точно отражают мысль, которую я пытаюсь донести, но все же не стоит так возмущаться ) Изменено 6 Октября 2020 пользователем TomlnFerno Ссылка на комментарий
UriZzz 1 004 Опубликовано 6 Октября 2020 Поделиться Опубликовано 6 Октября 2020 (изменено) 04.10.2020 в 21:56, TomlnFerno сказал: Если кто-то знает зачем этот метод изменяли как показано под первым спойлером - буду благодарен если расскажите) Кстати да. По сути модуль нэт пакетов в ОГСМ используется только с дин.аномалиями.@TomlnFerno, да походу конструкция выполняет дебаговую функцию. if pk1:w_tell()>7500 then ogsm_debug.clean_pstor() end Но это не точно. Изменено 6 Октября 2020 пользователем UriZzz 1 Моя нычка, Нычка в арендованном у Опричника холодильнике Мы хорошие ребята, жаль патронов маловато:) Ссылка на комментарий
Купер 2 869 Опубликовано 7 Октября 2020 Поделиться Опубликовано 7 Октября 2020 @TomlnFerno, очень похоже на старый партизанский метод борьбы с переполнением storage. 2 Ссылка на комментарий
ted.80 252 Опубликовано 7 Октября 2020 Поделиться Опубликовано 7 Октября 2020 (изменено) 05.10.2020 в 00:56, TomlnFerno сказал: Вылет связан с тем, что скорее всего при адаптации в bind_stalker метод save переписали с OGSM'овского. Ваш вывод притянут за уши, и в корне не верен, объясню: 1) Этот "МЕТОД" а точнее функция - не переписана с ОГСМ - она там была изначально, так как эта адаптация сделана специально для ОГСМ 2) ОГСМ отличный мод - сделанный не вчера, и если-бы ноги росли от-туда, баг давно отловили бы и пофиксили. 05.10.2020 в 00:56, TomlnFerno сказал: После этого вылет должен исчезнуть. Нееееисключено - но это не точно. 06.10.2020 в 13:20, TomlnFerno сказал: Из-за использования ОГСМ-ного варианта метода происходит тот вылет, а вот если взять вариант из моего предыдущего поста, то все в порядке, Никогда такого не было, и вот опять, даже не понимая для чего этот код туда добавлен: 05.10.2020 в 00:56, TomlnFerno сказал: Если кто-то знает зачем этот метод изменяли как показано под первым спойлером - буду благодарен если расскажите) Вы просто ткнули в него пальцем - во ошибка сдеся, чтобы в следующий раз не быть голословным, не парить мозк себе и других не вводить в заблуждение - хотя-бы просто гуглите в интернетах Изменено 7 Октября 2020 пользователем ted.80 2 2 Личный АРХИВ по S.T.A.L.K.E.R Ссылка на комментарий
андрей дронав 17 Опубликовано 27 Октября 2020 Поделиться Опубликовано 27 Октября 2020 Подскажите есть адаптации OGSM 2.4.3 AI ADDITIONS + STWP SOC? Никак не пойму как этот оружейный пак адаптировать, в кодах вобще не шарю... Ссылка на комментарий
UriZzz 1 004 Опубликовано 27 Октября 2020 Поделиться Опубликовано 27 Октября 2020 @андрей дронав, адаптация ai add есть, на счёт оружейного пака - учите матчасть. Моя нычка, Нычка в арендованном у Опричника холодильнике Мы хорошие ребята, жаль патронов маловато:) Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти