naxac 2 477 Опубликовано 24 Декабря 2018 @Cagorich, судя по назанию, функция должна удалять предмет из инвентаря. Можно сделать что-то вроде этого: function remove_item_from_inventory( item, npc ) if npc == nil then npc = db actor end npc:drop_item( item ) -- на случай, если это активный предмет, чтобы непись не повис local se_item = alife():object( item:id() ) if se_item then alife():release( se_item, true ) end end 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 24 Декабря 2018 @mole venomous, ЕМНИП, эти ящики - для работы менеджера оружия rx_wmgr. Найди в конфигах inventory_box и пропиши ему какой-нибудь невидимый визуал из папки equipment_cache, чтобы глаза не мозолил) 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 25 Декабря 2018 @nasar75, в старом варианте wmgr это был просто inventory_box, у которого с оригинала ТЧ прописан визуал ящика. 52 минуты назад, nasar75 сказал: все динамитные ящики станут невидимыми Не станут, секция inventory_box нигде в чистом виде не используется. 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 1 Января 2019 (изменено) @Cagorich, функция для передачи нескольких предметов от актера или нпс к другому нпc function transfer_some_items( section, count, in_npc, out_npc ) if out_npc == nil then out_npc = db.actor end local n = 0 out_npc:iterate_inventory( function ( npc, item ) if n == count then return end if item:section() == section then our_npc:transfer_item( item, in_npc ) n = n + 1 end end, out_npc ) if out_npc:id() == 0 then news_manager.relocate_item( out_npc, "out", section ) end end Применять: script_name.transfer_some_items( "bandage", 4, second_speaker ) Похожая функция для удаления нескольких одинаковых предметов из инвентаря актера function out_some_items( section, number ) local n = 0 db.actor:iterate_inventory( function ( actor, item ) if n == number then return end if item:section() == section then local se_item = alife():object( item:id() ) if se_item then alife():release( se_item, true ) end n = n + 1 end end, db.actor ) news_manager.relocate_item( db.actor, "out", section ) end Применять: script_name.out_some_items( "bandage", 4 ) Изменено 1 Января 2019 пользователем naxac 3 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 8 Января 2019 @Graff46, https://github.com/naxac/CP2_AddOn/blob/master/gamedata/scripts/naxac_netpk.script Нетпакет актера тоже есть, работает, проверено. 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 13 Января 2019 @Graff46, плохо проверял наверное) https://github.com/naxac/CP2_AddOn/blob/master/gamedata/scripts/naxac_test.script Две функции в конце файла. Последняя вызывается в конце save биндера актера. Работает) Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 17 Января 2019 @Капрал Хикс, а что хранится в таблице tD в "умном выпадении запчастей"? По идее, нужно сохранять где-то по id монстра количество оставшихся рогов и копыт (у тебя, я так понял, это m_Tbl[section].param), а потом при "отрезании" тут: if self.item then self.item_count = ... брать значение не из конфига, а по self.object:id() из этого "где-то", вот и всё. Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 18 Января 2019 (изменено) @F.Constantine, пропиши суперресистанс в апдейт в xr_motivator, там находится биндер неписей, и передавай в него не непонятный npc, a конкретный self.object. Изменено 18 Января 2019 пользователем naxac 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 18 Января 2019 @F.Constantine, в функцию motivator_binder:update(delta) добавь: if self.object:character_community() == "stalker" then self.object.health = 1 end 1 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 22 Января 2019 @alexsimm, ищи по файлам yan_scientist_help Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 5 Февраля 2019 @Norman Eisenherz, файлы с кириллицей нужно сохранять в кодировке windows-1251. 2 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 11 Февраля 2019 (изменено) @hack.pavlov, в x-ray extensions для этого есть функция level.get_target_obj() А без XE - проверять, совпадает ли вектор направления на объект с направлением камеры - для всех онлайновых объектов. Как это сделать - можно подсмотреть, например, в скрипте фотоаппарата из "фотографа" Изменено 11 Февраля 2019 пользователем naxac 2 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 12 Февраля 2019 @Дмитрий Зверев, перед тем, как нпсу стрелять, поссорь его с целью, например, вызвав функцию из логики. Дефолты для meet выставляются в xr_meet.script, там и проверка по группировкам стоит. 2 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 28 Февраля 2019 @Jekyll, who_hit_name() возвращает имя объекта, который последним нанёс хит "пострадавшему" объекту. Отследить можно в каллбэке на хит. 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 28 Февраля 2019 @Jekyll, да, не так уж она и нужна. В каллбэк на хит же передается тот, кто хит нанес. Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 1 Марта 2019 @dPlayer, return relation_registry.community_goodwill( "community", db.actor:id() ) => value 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 2 Марта 2019 @Kash, GetFontLetterica16Russian() и прочие функции получения шрифтов - в движке, только через ковыряние движка добавлять новые. Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 17 Марта 2019 @Баба ЯГА, ничего не будет, спавни. 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 8 Апреля 2019 (изменено) @Norman Eisenherz, тебе нужно получить онлайновый (клиентский) объект ящика? Иcпользуй каллбэк на выход в онлайн: function spawn_box() local se_obj = alife():create("box", position, lv, gv) level.client_spawn_manager():add(se_obj.id, -1, this.spawn_callback) end function spawn_callback(id, obj) -- тут делаешь что хочешь со своим ящиком: это obj end Изменено 8 Апреля 2019 пользователем naxac 3 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 19 Апреля 2019 @Fenrir02, в кастом-дате нпс может быть секция spawner, в которой прописаны условия перехода в онлайн/оффлайн. Также, если непись под гулагом, то в этом гулаге могут быть прописаны условия перехода в онлайн. Обрабатываются эти условия в функции can_switch_online непися, и если она возвращает false, то никакие alife():set_switch_... непися из оффлайна не вытащат. 1 1 2 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение