Купер 2 660 Опубликовано 9 Марта 2020 @Cheburator988, тут посмотри, за качество, правда, не поручусь. Поделиться этим сообщением Ссылка на сообщение
Купер 2 660 Опубликовано 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 Поделиться этим сообщением Ссылка на сообщение
Купер 2 660 Опубликовано 11 Августа 2020 @Space.Marine, да. В таком виде непосредственно в мотиватор. Не совсем корректно озвучил . Если делать отдельно - придётся видоизменять вызов функции, хотя напуркуа ? Вариант решения не единственный, конечно. Просто обычно всё это зарыто в дебрях авторского кода, с кучей собственных "прибамбасов" под себя. А тут всё достаточно прозрачно и "модульно" для использования. 2 1 Поделиться этим сообщением Ссылка на сообщение
Купер 2 660 Опубликовано 7 Октября 2020 @TomlnFerno, очень похоже на старый партизанский метод борьбы с переполнением storage. 2 Поделиться этим сообщением Ссылка на сообщение
Купер 2 660 Опубликовано 13 Ноября 2023 @DarkSnowder , rx_ff.script и misc\ai_additions\misc.ltx + поиском по тому, где он вызывается: rx_ai.script, xr_combat.script, xsr_grenade.script Поделиться этим сообщением Ссылка на сообщение
Купер 2 660 Опубликовано 20 Ноября 2023 @Hakuni44 , От автора: Для отключения отдельного модуля достаточно удалить соответствующий файл скрипта (c). Или переименовать. Также можно посмотреть "настроечный" файл для схемы: gamedata\config\misc\ai_additions\grenadier.ltx Там все параметры для настройки схемы имеют достаточно подробные комментарии. 1 2 2 Поделиться этим сообщением Ссылка на сообщение
Купер 2 660 Опубликовано 21 Ноября 2023 @просто игрок , modules.txt, раздел: [xrs_grenade] в описаниях к проекту. 1 1 1 Поделиться этим сообщением Ссылка на сообщение