Overf1rst 1 499 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 19 9 1 1 2 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Arkada 428 Опубликовано 10 октября, 2020 7 часов назад, Gerbys сказал: В game_graphs прописан, .ltx файл создан вместо [logic] надо вписать [smart_terrain] и стори ид смарт террейна 1 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 956 Опубликовано 10 октября, 2020 (изменено) 36 минут назад, Winzor сказал: вместо [logic] надо вписать [smart_terrain] и стори ид смарт террейна К стати верное замечание (и вероятнее всего причина вылета), хотя стори-ид это опциональный параметр. [smart_terrain] cfg = scripts\jupiter\smart\jup_b8_smart_terrain.ltx Изменено 10 октября, 2020 пользователем denis2000 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
makdm 672 Опубликовано 10 октября, 2020 2 часа назад, санек2005 сказал: как создать lua функцию, которая будет "работать в фоне"? Как создать - это вы уж сами решайте. А вот чтобы она работала в "фоне" - поместите её на апдейте ГГ. И будет вам постоянный фон. Терпение... И все получится. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
санек2005 3 Опубликовано 10 октября, 2020 3 минуты назад, makdm сказал: Как создать - это вы уж сами решайте. А вот чтобы она работала в "фоне" - поместите её на апдейте ГГ. И будет вам постоянный фон. а как поместить ее в апдейт? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Neptun 884 Опубликовано 11 октября, 2020 10 часов назад, санек2005 сказал: а как поместить ее в апдейт? gamedata\scripts\bind_stalker.script function actor_binder:update(delta) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel 13 Опубликовано 11 октября, 2020 Привет всем! Подскажите пожалуйста, как сделать в логике мутанта (слепые собаки и кабаны), чтобы они бежали данному пути? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
makdm 672 Опубликовано 11 октября, 2020 1 час назад, Pavel сказал: чтобы они бежали данному пути? Логика: mob_home Параметр: aggressive = true Будут бежать на точку: path_home 1 Терпение... И все получится. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 956 Опубликовано 11 октября, 2020 санек2005 Функции в постоянном апдейте далеко не всегда оптимальное решение, может вы обрисуете проблему подробнее и возможно будет предложено более красивое решение. Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
санек2005 3 Опубликовано 11 октября, 2020 31 минуту назад, denis2000 сказал: Функции в постоянном апдейте далеко не всегда оптимальное решение, может вы обрисуете проблему подробнее и возможно будет предложено более красивое решение мне надо сделать проверку, которая при наличии предмета будет удалять инфопоршень. При этом она не должна вызываться триггером или в диалоге. А если по точнее - у меня есть квест, и мне надо при нахождении предмета убрать инфопоршень, чтобы описание и название задания обновились. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Neptun 884 Опубликовано 11 октября, 2020 4 часа назад, санек2005 сказал: А если по точнее - у меня есть квест, и мне надо при нахождении предмета убрать инфопоршень, чтобы описание и название задания обновились. И это всё? Явно нерациональное использование апдейта для такой мелочи. Чтобы квест обновился сделай проверку на наличие предмета: {=actor_has_item(ид_предмета)} 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Doloremque 527 Опубликовано 11 октября, 2020 Проблема такая появилась. После диалога с НПС, мы перемещаемся на точку. НПС переходит в другой смарт "B", переключается на другую логику, которая привязана к этому смарту "B". Дальше он должен идти по точкам, но просто стоит на месте. Если загрузить сейв, то он начинает идти. Как можно решить проблему? Делать постоянный апдейт? Но по идее и без него должно все работать, если НПС переключается в другой смарт. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
санек2005 3 Опубликовано 11 октября, 2020 1 час назад, Neptun сказал: Чтобы квест обновился сделай проверку на наличие предмета: {=actor_has_item(ид_предмета)} Я просто не знаю, как сделать. Вот квест: [quest_test] icon = ui_inGame2_Put_v_pripyat prior = 2 storyline = false title = {+find_cont}wpn_boroda,{+find_cont_bandit}wpn_sultan,{=actor_has_item(af_electra_moonlight)}art_give_bandit,{=actor_has_item(wpn_abakan_test_exs)}wpn_give_1, wpn_find_0 descr = {=actor_has_item(wpn_abakan_test_exs)}wpn_q_desc,{+find_cont}wpn_boroda_desc, {+find_cont_bandit}wpn_sultan_desc, {=actor_has_item(af_electra_moonlight)}art_give_bandit_desc, wpn_find_desc target = {=actor_has_item(wpn_abakan_test_exs)}zat_b30_owl_stalker_trader, {+find_cont}zat_b7_bandit_boss_sultan, {=actor_has_item(af_electra_moonlight)}zat_b7_bandit_boss_sultan condlist_0 = {+end_q} complete reward_money = 5000 После взятия артефакта остается текст от wpn_sultan и wpn_sultan_dersc, хотя квест обновляется Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 956 Опубликовано 11 октября, 2020 (изменено) санек2005 ВОТ! Вот с этого начинают свой вопрос, а не лезут в ненужные дебри! Запомните раз и навсегда: в кондлисте выполняется ПЕРВОЕ встретившееся условие, не важно, что там далее. А значит если инфопорция find_cont_bandit выдана, то титул квеста будет wpn_sultan вне зависимости от наличия ствола (по вашим условиям). Поэтому условия принято писать в обратном порядке: предмет отдал, предмет нашел, квест взял, нужно взять квест. Тогда условия станут попроще. Итого: исправьте последовательность проверки условий или делайте условия более жесткими для исключения выполнения более одного условия на любом этапе квеста. Изменено 11 октября, 2020 пользователем denis2000 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
санек2005 3 Опубликовано 11 октября, 2020 denis2000 а кстати, как в кондлист поместить больше одного условия? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Policai 1 323 Опубликовано 12 октября, 2020 Народ! Подскажите куда ткнуться? Конкретно что может стать причиной такого вылета.. FATAL ERROR [error]Expression : fatal error [error]Function : lua_pcall_failed [error]File : c:\xray\forward frontier\public build\src\layers\xrrenderdx10\dx10resourcemanager_scripting.cpp [error]Line : 140 [error]Description : <no expression> [error]Arguments : LUA error: ........\gamedata\scripts\bind_red_forest_bridge.script:29: attempt to index field 'actor' (a nil value) Группа мода в VK Мод делался и тестировался на железе i5-11400, 32Гб ОЗУ, Radeon RX580 Разрешение 2560 х 1440. ВСЕ на максималке Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 956 Опубликовано 12 октября, 2020 (изменено) 11 часов назад, санек2005 сказал: как в кондлист поместить больше одного условия? Серьезно!? Так же, как вы это и сделали в своем описателе квеста, например в параметре title, то есть через запятую: Параметр = {Условие1} Результат1, {Условие2} Результат2, {Условие3} Результат3, Результат_по_умолчанию 33 минуты назад, Policai сказал: Конкретно что может стать причиной такого вылета Причина очевидна: объект actor появляется позже "моста" (или объекта выполняющего его функции), а значит считать или назначить инфопорции объекта actor пока не возможно. Решение: в скрипте использовать другие механизмы для определения состояния объекта, например локальные переменные. Изменено 12 октября, 2020 пользователем denis2000 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Policai 1 323 Опубликовано 12 октября, 2020 (изменено) denis2000 Денис! Там ситуация такая получилось... Я ничего не трогал...Всё работало нормально, мод в сети. С неделю назад я копался в сдк, конкретно с кордоном, и вырубили свет... После этого я не смог собрать новый олспавн в сдк, вылетало без лога, вернее с движковым логом... Я нашёл причину, сутки просматривал обьект лист спавна, на кордоне появился физик обжект без параметров, точно по центру координат локации... Удалил его и всё собралось нормально и заработало... Вчера решил покопаться и исправить баги в рыжем лесу, траву пересобрать, и так по мелочи, чисто графическое... Но я не смог собрать спавн для локи, вернее спавн собирается но вылет приведённый выше.... Вообще не касался конфигов скриптов и спавна на локе... просмотрел обжект лист спавна сегодня. там всё чисто...((( Но думаю ноги растут оттуда же... Сейчас просто тупо не пойму куда ткнуться... как искать..(( Дополнено 19 минуты спустя Самое поганое то, что я просто тупо не могу поставить актора на локу... Собираю общий спавн , через консоль перехожу на локу всё нормально, всё работает, вылет этот именно тогда когда я собираю отдельный спавн именно для отдельно взятой локи, ставлю актора на локу... Изменено 12 октября, 2020 пользователем Policai Группа мода в VK Мод делался и тестировался на железе i5-11400, 32Гб ОЗУ, Radeon RX580 Разрешение 2560 х 1440. ВСЕ на максималке Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
санек2005 3 Опубликовано 12 октября, 2020 denis2000 да не, мне надо так: Чтобы выполнился результат1, надо, чтобы выполнилось два условия сразу Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 956 Опубликовано 12 октября, 2020 (изменено) 52 минуты назад, санек2005 сказал: надо, чтобы выполнилось два условия сразу Параметр = {Условие1 Условие2} Результат1, Результат_по_умолчанию На Алгоритмическом языке: ЕСЛИ выполняется Условие1 И Условие2 ТО получаем Результат1 ИНАЧЕ Результат_по_умолчанию. Изменено 12 октября, 2020 пользователем denis2000 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RobocatiK 96 Опубликовано 12 октября, 2020 (изменено) Есть ли в игре функция, чтобы определенный труп NPC-а не исчезал спустя какое-то время ? (Переигрывая ЧН, я убил Генерала, но забыл взять флешку, спустя несколько часов, труп пропал вместе с флешкой внутри, поэтому такое развитие событий необходимо учитывать). И ещё 1 вопрос выходящий за рамки ЗП, В ЧН предметы из исчезнувших трупов перемещаются в "Smart_Terrain Тайник" или это рандомные вещи НЕ из трупов ? Если это 1 вариант, то какой скрипт за это отвечает ? Изменено 12 октября, 2020 пользователем RoboCat Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Overf1rst 1 499 Опубликовано 12 октября, 2020 Только что, RoboCat сказал: Есть ли в игре функция, чтобы определенный труп NPC-а не исчезал спустя какое-то время ? Такому персонажу достаточно задать story_id. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Chiliaz 165 Опубликовано 12 октября, 2020 Как задать НПС дистанцию для атаки? Нужно чтобы он подходил ближе к цели. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Arkada 428 Опубликовано 12 октября, 2020 Как увеличить время исчезновения трупов ворон? Посмотрел в биндере - по умолчанию стоит 2 реальных минуты или до следующей загрузки (загрузка сейва). Как я понял, за время исчезновения отвечает self.body_timer. Но я не могу понять, как изменить self.body_timer если он сравнивается в time_global()? Я никогда не мог решать проблемы с таймерами (game.time или time_global(), я не понимаю их значение), и сейчас тоже самое. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
makdm 672 Опубликовано 13 октября, 2020 (изменено) 8 часов назад, Winzor сказал: Но я не могу понять, как изменить self.body_timer если он сравнивается в time_global()? А его и не нужно менять. Менять нужно разницу между временем смерти ( self.body_timer ) и текущим временем ( time_global() ) В биндере разница установлена в две минуты - (self.body_timer<=time_global()-120000) Установите любую другую, исходя из того, что одна минута = 60 000 Изменено 13 октября, 2020 пользователем makdm 1 Терпение... И все получится. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Voland-777 14 Опубликовано 13 октября, 2020 Доброго времени суток. Перенес в SGM 2.2 с Геонезис Аддона экзоскелет ученых, все работает, добавил во все функции в dialogs_jupiter.script и xr_conditions.script, связанные с выбором костюма в Путепровод, но при попадании в газ ГГ все равно достаточно быстро начинает загибаться. Нужно еще где-то прописать? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты