Overf1rst 1 521 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 19 10 1 1 2 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FalkineIsaku 85 Опубликовано 3 января, 2023 Belka_mod Скинь simulation.ltx Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Skala 327 Опубликовано 3 января, 2023 (изменено) В 03.01.2023 в 07:34, makdm сказал: Белыми кружочками отображаются рестрикторы. Настройка отображения в файле PDA.script А в видеоуроке было написанно что в custom data нужно прописать story id и имя смарттеррейна_spot.Странно. Может я чего не понял Дополнено 6 минуты спустя В 03.01.2023 в 09:20, FalkineIsaku сказал: Belka_mod Скинь simulation.ltx Вспомнил! Я забыл из него убрать нпс, спавн которого убрал. Тоесть в Level Editor я его убрал и спавн перекомпилировал, а из simulation.ltx его из секции с юпитером не убрал. Да, в этом было дело. И не знаешь почему иногда 2 разных сообщения объединяются? Изменено 3 января, 2023 пользователем Belka_mod Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
WolfHeart 992 Опубликовано 3 января, 2023 В 03.01.2023 в 09:21, Belka_mod сказал: И не знаешь почему иногда 2 разных сообщения объединяются? На будущее - для таких вопросов есть специальная тема: Вопросы по сайту Они не будут объединятся, если между первым и вторым сообщением более 5 часов. AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb). Windows -10 PRO (х64) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Domovoi 29 Опубликовано 4 января, 2023 Приветствую, для того чтобы run_tutorial пропал не при нажатии F, а через время нужно прописать другое значение в <disabled_key>quit</disabled_key> в game_tutorial.xml? Или в <guard_key>use</guard_key>? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
QueroMas 115 Опубликовано 4 января, 2023 День добрый, написал код в xr_motivator для спавна предметов НПС. function motivator_binder:__init (obj) super(obj) self.spawned_items = false end function motivator_binder:net_spawn(sobject) if not self.spawned_items then self.spawned_items = true -- тут происходит спавн предметов end end function motivator_binder:save(packet) packet:w_bool(self.spawned_items) end function motivator_binder:load(reader) self.spawned_items = reader:r_bool() end Т.е. по логике один раз заспавнилися предметы, и дальше self.spawned_items должно быть всегда true для данного НПС. Но получается так: начинается новая игра, прихожу в лагерь к НПС и для них срабатывает этот код - все заспавнилось как надо. Но, дальше ухожу от них (чтоб все эти НПС перешли в офлайн), далее в офлайне для них f5-f9, снова прихожу к ним, и для них ещё раз срабатывает данный код. Выяснил, что не срабатывает метод load, и получается что self.spawned_items снова false. Как можно решить данную проблему? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 1 039 Опубликовано 4 января, 2023 (изменено) В 04.01.2023 в 10:42, QueroMas сказал: Выяснил, что не срабатывает метод load, и получается что self.spawned_items снова false. Метод load для motivator_binder работает 100%. Проверяйте внимательнее - идея кода принципиально верная. Но, зачем это делать здесь, в скрипте, совершенно не понятно! Может раскидаете, что вам так настойчиво нужно спавнить? Изменено 4 января, 2023 пользователем denis2000 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Skala 327 Опубликовано 4 января, 2023 (изменено) Здравствуйте.Я расставил smart cover'ы для зомбированных сталкеров на копачах(Окрестности Юпитера) в количестве 15 штук,назвал их по имени смарт-террейна с припиской animpoint и порядковым числом.Настроил эти smart cover'ы? прописал 3 сквада зомбированных по 4 нпс в каждом в squad_descr_jupiter и в simulaion.Решил всё проверить в игре,но в середине загрузки локации такой вылет: Expression : !m_error_code Function : raii_guard::~raii_guard File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp Line : 748 Description : ...- Зов Припяти\gamedata\scripts\se_smart_cover.script:50: attempt to index field '?' (a nil value) squad_descr_jupiter.ltxПолучение информации... simulation.ltxПолучение информации... Изменено 4 января, 2023 пользователем Belka_mod Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 1 039 Опубликовано 4 января, 2023 (изменено) Domovoi Вы же в рестрикторе стартуете туториал? Вот там таймер и сделайте, который отключит туториал по истечении заданного интервала времени. Belka_mod Вылет скорее всего означает неправильную настройку смарт-коверов в SDK. И ко всему, я вот, вообще, не уверен в наличии у зомбированных сталкеров анимаций для анимпоинтов; вейпоинты пилите. Изменено 4 января, 2023 пользователем denis2000 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Skala 327 Опубликовано 4 января, 2023 (изменено) В 04.01.2023 в 15:15, denis2000 сказал: Domovoi Вы же в рестрикторе стартуете туториал? Вот там таймер и сделайте, который отключит туториал по истечении заданного интервала времени. Belka_mod Вылет скорее всего означает неправильную настройку смарт-коверов в SDK. И ко всему, я вот, вообще, не уверен в наличии у зомбированных сталкеров анимаций для анимпоинтов; вейпоинты пилите. Я сейчас вместо зомбированных прописал сталкеров,такая же фигня. Но я не расставлял простых графпоинтов. Может из-за этого? Изменено 4 января, 2023 пользователем Belka_mod Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Domovoi 29 Опубликовано 4 января, 2023 Приветствую, делал кат-сцену всё работало как надо потом прописал =create_cutscene_actor_with_weapon(topi_scene_visual_actor_1:topi_camer_1_stalker_actor_walker_1_walk) чтобы вроде прописал всё как надо в spawn_sections_general.xml, логика тоже правильная словил вылет Expression : fatal error Function : lua_pcall_failed File : c:\xray\forward frontier\public build\src\layers\xrrender\resourcemanager_scripting.cpp Line : 101 Description : <no expression> Arguments : LUA error: d:\stalker Çîâ Ïðèïÿòè1\gamedata\scripts\xr_effects.script:3106: attempt to index global 'obj' (a nil value) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 1 039 Опубликовано 4 января, 2023 (изменено) Domovoi Судя по логу вылет происходит из-за отсутствия точек пути topi_camer_1_stalker_actor_walker_1_walk. В 04.01.2023 в 15:21, Belka_mod сказал: Я сейчас вместо зомбированных прописал сталкеров,такая же фигня. Запоминается последняя фраза — это Штирлиц вывел для себя, словно математическое доказательство 🤣 Товарищ Исаев, а вы весь пост читать не пробовали? Изменено 4 января, 2023 пользователем denis2000 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Skala 327 Опубликовано 4 января, 2023 В 04.01.2023 в 17:21, denis2000 сказал: Domovoi Судя по логу вылет происходит из-за отсутствия точек пути topi_camer_1_stalker_actor_walker_1_walk. Запоминается последняя фраза — это Штирлиц вывел для себя, словно математическое доказательство 🤣 Товарищ Исаев, а вы весь пост читать не пробовали? Читал я весь пост. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 1 039 Опубликовано 4 января, 2023 Belka_mod Значит уже знаете, что делать. Удачи в модостроении. Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
bad_major 2 Опубликовано 4 января, 2023 (изменено) Создаю смарт с тушканами: [smart_terrain] squad_id = 1 max_population = 1 [exclusive] tushkano_01 = monsters.ltx tushkano_02 = monsters.ltx tushkano_03 = monsters.ltx tushkano_04 = monsters.ltx tushkano_05 = monsters.ltx Логика mob_home: [mob_home] path_home = tushkano_home home_min_radius = 10 home_max_radius = 20 aggressive = true [logic@tushkano_01] active = mob_home [logic@tushkano_02] active = mob_home [logic@tushkano_03] active = mob_home [logic@tushkano_04] active = mob_home [logic@tushkano_05] active = mob_home Точка на карте имя_смарта_tushkano_home. Когда подхожу к ним, тушканы стоят в ряд, бегут на месте, видят меня, но не атакуют, красные по отношению ко мне, злые, но бегут на месте. В чём может быть проблема? Кстати, создавал полтергейста огненного, так же с mob_home, так он меня вообще не видел, бегал сквозь него, а ему всё равно. Какие настройки я забыл в данном случае? Изменено 4 января, 2023 пользователем bad_major Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BarmaGlot 244 Опубликовано 4 января, 2023 В 04.01.2023 в 10:42, QueroMas сказал: Как можно решить данную проблему? QueroMas Можно использовать триггер-инфопоршень. Типа методов game_object: function has_info(string) function dont_has_info(string) function give_info_portion(string) function disable_info_portion(string) И цеплять этот уникальный string (например, "npc_got_quest_item_xxx") либо в контекст актёра, либо в контекст самого непися, исходя из логики сюжета. Я логи в баню удалил, а вот за за рейдеры – не помню! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
QueroMas 115 Опубликовано 4 января, 2023 В 04.01.2023 в 12:29, denis2000 сказал: Метод load для motivator_binder работает 100%. Проверяйте внимательнее - идея кода принципиально верная. Но, зачем это делать здесь, в скрипте, совершенно не понятно! Может раскидаете, что вам так настойчиво нужно спавнить? Я в спавн секцию прописываю какие-то предметы для спавна, когда мне нет необходимости создавать отдельный профиль для НПС. Плюс замена модели НПС (когда выбирается рандомно), плюс выдача рандомного оружия. Почему я решил что load не срабатывает - просто добавил вывод смс в методы save/load, и при вышеперечисленном алгоритме действий метод load не срабатывает. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
makdm 699 Опубликовано 4 января, 2023 В 04.01.2023 в 10:42, QueroMas сказал: День добрый, написал код в xr_motivator для спавна предметов НПС. Я так думаю, что метод net_spawn(sobject) обрабатывается движком первым. А затем уже идет обработка метода load(reader) Ставьте ваш спавн в UPDATE, проблема, думаю, исчезнет. 1 Терпение... И все получится. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BarmaGlot 244 Опубликовано 4 января, 2023 В 04.01.2023 в 22:16, makdm сказал: Ставьте ваш спавн в UPDATE Имхо, идеальный update (вообще любого объекта/класса) должен быть вообще пустым. Или содержать обработчики только для часто повторяющихся и жизненно важных ситуаций. Однократная проверка по факту спавна в такую политику не вписывается. А доли процента у процессора скушает. Так курочка и клюёт по зёрнышку: там долька, тут долька, а по итогу тормоза. 1 1 Я логи в баню удалил, а вот за за рейдеры – не помню! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
QueroMas 115 Опубликовано 4 января, 2023 (изменено) В 04.01.2023 в 22:03, BarmaGlot сказал: QueroMas Можно использовать триггер-инфопоршень. Типа методов game_object: function has_info(string) function dont_has_info(string) function give_info_portion(string) function disable_info_portion(string) И цеплять этот уникальный string (например, "npc_got_quest_item_xxx") либо в контекст актёра, либо в контекст самого непися, исходя из логики сюжета. Это не совсем корректно, с моей точки зрения, больше выглядит как костыль. К тому же название модели через инфопоршень не сохранишь. В 04.01.2023 в 22:16, makdm сказал: Я так думаю, что метод net_spawn(sobject) обрабатывается движком первым. А затем уже идет обработка метода load(reader) Ставьте ваш спавн в UPDATE, проблема, думаю, исчезнет. Смотрите, сделал скрин вывода всех сообщений. Eсли я сделал f5/f9 в оффлайне для конкретного НПС, а потом пришел к нему - для него load не срабатывает. А если я делаю f5/f9 в онлайне для НПС, то load срабатывает (второй скрин) Скрины (Показать контент) Изменено 4 января, 2023 пользователем QueroMas Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BarmaGlot 244 Опубликовано 4 января, 2023 В 04.01.2023 в 22:30, QueroMas сказал: Это не совсем корректно, с моей точки зрения, больше выглядит как костыль. К тому же название модели через инфопоршень не сохранишь. Наооборот, для этого эти поршни и придуманы. Вот чтение-запись через "пакеты", вот это костылища (хвала "Аномалии" за использование метода Marshal, который весь этот глюкастый нет-пакетный ужас отправил на свалку!) Далее, тут готов поспорить, что "название модели нельзя сохранить". В принципе, можно сохранить всё что угодно, в разумных пределах. Кстати, в изначальном вопросе речь ни о каких "моделях" не шла. 1 Я логи в баню удалил, а вот за за рейдеры – не помню! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
QueroMas 115 Опубликовано 4 января, 2023 В 04.01.2023 в 22:42, BarmaGlot сказал: Наооборот, для этого эти поршни и придуманы. Вот чтение-запись через "пакеты", вот это костылища (хвала "Аномалии" за использование метода Marshal, который весь этот глюкастый нет-пакетный ужас отправил на свалку!) Далее, тут готов поспорить, что "название модели нельзя сохранить". В принципе, можно сохранить всё что угодно, в разумных пределах. Кстати, в изначальном вопросе речь ни о каких "моделях" не шла. Я про модели потом уже дописал. Я имею ввиду что string через инфопоршень не сохранить. Тут без нет-пакетов никак. Мне хотелось бы понять, почему load не срабатывает. Я конечно могу всё это сделать через создание default профилей, но это будет почти полтысячи профилей, чтобы добиться эффекта разнообразия НПС (разный визуал + разное вооружение). Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BarmaGlot 244 Опубликовано 4 января, 2023 В 04.01.2023 в 23:03, QueroMas сказал: Я имею ввиду что string через инфопоршень не сохранить. Тут без нет-пакетов никак. Мне хотелось бы понять, почему load не срабатывает. Я конечно могу всё это сделать через создание default профилей, но это будет почти полтысячи профилей, чтобы добиться эффекта разнообразия НПС (разный визуал + разное вооружение). Странно, ведь аргумент инфопоршня и есть string. Ну, да ладно. Я пока что не вижу проблемы: в motivator_binder:net_spawn(object) чекаем инфопоршень. Если выдан, ничего не делаем. Иначе: выдаем поршень (стандартный общий флаг типа "npc_got_nre_visual", то есть одна строка-константа-метка-поршень на всех, без детализации модели), затем по вашей задумке-алгоритму каким-то образом меняем визуал и спавним/релизим пушки. Визуал и пушки сохраняются движком "на автомате". Или нет? 1 Я логи в баню удалил, а вот за за рейдеры – не помню! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Boomer 609 Опубликовано 5 января, 2023 Как сделать, чтобы определенный предмет нельзя было выбросить из инвентаря? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paracetamol 1 037 Опубликовано 5 января, 2023 Boomer Добавь предмету в секцию: quest_item = true 1 Группа в ВК Telegram канал Boosty Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 1 039 Опубликовано 5 января, 2023 (изменено) В 04.01.2023 в 22:15, QueroMas сказал: Я в спавн секцию прописываю какие-то предметы для спавна, когда мне нет необходимости создавать отдельный профиль для НПС. Плюс замена модели НПС (когда выбирается рандомно), плюс выдача рандомного оружия. Так. Ваша идея понятна. В 04.01.2023 в 22:30, QueroMas сказал: Eсли я сделал f5/f9 в оффлайне для конкретного НПС, а потом пришел к нему - для него load не срабатывает. А если я делаю f5/f9 в онлайне для НПС, то load срабатывает (второй скрин) Это вполне логично, зачем что-то загружать если НПС в офлайне. Как по мне подобные манипуляции нужно проводить при спавне НПС. Мест в коде где происходит спавн НПС массовки не так много нужно просто вставить после alife():create вызов вашей функции рандомизатора. И кстати любой объект (унаследованный от класса game_object) имеет свои инфопорции, в том числе и НПС. Изменено 5 января, 2023 пользователем denis2000 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты