Overf1rst 1 496 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 18 9 1 1 2 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gerbys 7 Опубликовано 19 августа, 2020 https://yadi.sk/i/asIP9yeeV0ouPg 9 минут назад, Сергей Шубин сказал: Тогда покажи, как выглядит секция зоны сна. В алл.спавн или в эдиторе. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Сергей Шубин 21 Опубликовано 19 августа, 2020 28 минут назад, Gerbys сказал: local sleep_zones = { "raz_sleep_1" "zat_a2_sr_sleep", В функции прямо так и написано? "raz_sleep_1" "zat_a2_sr_sleep", Должна быть запятая "raz_sleep_1", "zat_a2_sr_sleep", Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gerbys 7 Опубликовано 19 августа, 2020 16 минут назад, Сергей Шубин сказал: В функции прямо так и написано? "raz_sleep_1" "zat_a2_sr_sleep", Должна быть запятая "raz_sleep_1", "zat_a2_sr_sleep", Спасибо, действительно тупанул) Однако, перепроверил всё ещё раз 10 и всё равно не работает. Может быть дело в sr_sleep.ltx? Потому что он не из оригинального ЗП взят был. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Сергей Шубин 21 Опубликовано 19 августа, 2020 Gerbys Возьми оригинальный sr_sleep и посмотри, что будет. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 951 Опубликовано 20 августа, 2020 7 часов назад, Gerbys сказал: Может быть дело в sr_sleep.ltx? Потому что он не из оригинального ЗП взят был. А почему у вас левый файл скрипта? Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Arkada 428 Опубликовано 20 августа, 2020 (изменено) Спойлер Expression : !m_error_code Function : raii_guard::~raii_guard File : ..\xrServerEntities\script_storage.cpp Line : 748 Description : ...call of pripyat\gamedata\scripts\bind_monster.script:283: attempt to index local 'who' (a nil value) Жалуется на строку for i=1, self.item_count do alife():create(self.item, who:position(), who:level_vertex_id(), who:game_vertex_id(), who:id()) end who для того, чтобы части тела при юзании монстра спавнились в инвентарь ГГ или НПС. Вылетает игра, если я в скобки функции добавлю monster. Это необходимо для функции monster:clsid(). function generic_object_binder:on_use(monster, obj, who) А если я уберу подальше monster, function generic_object_binder:on_useobj, who, monster) то игра будет вылетать с таким логом: Спойлер Expression : !m_error_code Function : raii_guard::~raii_guard File : ..\xrServerEntities\script_storage.cpp Line : 748 Description : ...call of pripyat\gamedata\scripts\bind_monster.script:252: attempt to index local 'monster' (a nil value) Жалуется на строку local monster_level_1 = monster:clsid() == clsid.dog_s А если я поставлю monster между obj и who, то функция становится нерабочей. Регистрация коллбэка: object:set_callback(callback.use_object, self.on_use, self) Как исправить это? Изменено 20 августа, 2020 пользователем Winzor Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gerbys 7 Опубликовано 20 августа, 2020 1 час назад, denis2000 сказал: А почему у вас левый файл скрипта? Потому что начинать заниматься модостроем я начал в 2018 году и в нём же и закончил, и только недавно продолжил. Уж не знаю почему, но я распаковал для моддинга файлы не оригинальной игры, а мода (вроде бы, уже не помню). Поэтому в sr_sleep.ltx у меня следующее: Спойлер [logic] active = sr_idle@wait [sr_idle@wait] on_actor_inside = sr_idle@run %=run_tutorial(tutorial_sleep)% [sr_idle@run] on_info = {+tutorial_sleep} %-tutorial_sleep =run_tutorial(tutorial_sleep)% on_actor_outside = {+tutorial_sleep} sr_idle@wait, sr_idle@wait %=stop_tutorial% on_info2 = {!has_active_tutorial -sleep_active} sr_idle@wait Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 951 Опубликовано 20 августа, 2020 Gerbys Значит без вариантов: очищаете геймдату, берете оригинальные файлы и правите их. Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Сергей Шубин 21 Опубликовано 20 августа, 2020 Gerbys Это не тот sr_sleep. Это файл логики спального места. Раз у вас надпись появляется, значит с логикой всё нормально. Дальше надо проверять game_tutorial из папки gamedata/configs/ui и xr_effects из папки gamedata/scripts. В каком то из них сбой. Предполагаю, что в game_tutorial. Он, вероятнее всего, не вызывает функцию сна из xr_effects. Без запятой игра, вероятнее всего, вылетела бы. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gerbys 7 Опубликовано 20 августа, 2020 57 минут назад, Сергей Шубин сказал: Gerbys Это не тот sr_sleep. Это файл логики спального места. Раз у вас надпись появляется, значит с логикой всё нормально. Дальше надо проверять game_tutorial из папки gamedata/configs/ui и xr_effects из папки gamedata/scripts. В каком то из них сбой. Предполагаю, что в game_tutorial. Он, вероятнее всего, не вызывает функцию сна из xr_effects. Без запятой игра, вероятнее всего, вылетела бы. Спойлер <tutorial_sleep> <global_wnd/> <item> <disabled_key>quit</disabled_key> <length_sec/> <action id="use" finalize="1">xr_effects.sleep</action> <function_on_stop>xr_effects.sleep</function_on_stop> <guard_key>use</guard_key> <disabled_key>quit</disabled_key> <grab_input>0</grab_input> <main_wnd> <auto_static start_time="0" length_sec="5000" x="512" y="660" width="300" height="60" alignment="c" stretch="1" la_cyclic="1" la_texture="1" la_alpha="1"> <text font="graffiti22" r="225" g="225" b="250" a="255" align="c">sleep_zone_tip</text> </auto_static> </main_wnd> </item> </tutorial_sleep> В game_tutorials строка function_on_stop была закомментирована, но ничего не изменилось при раскомментровании. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Misery 433 Опубликовано 20 августа, 2020 Успешно перешёл на локацию.? Expression : !m_error_code Function : raii_guard::~raii_guard File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp Line : 748 Description : ...k.e.r. call of pripyat hd\gamedata\scripts\_g.script:263: bad argument #1 to 'gfind' (string expected, got nil) Clear Sky: Gunslinger Addon Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Сергей Шубин 21 Опубликовано 20 августа, 2020 Gerbys Идеи пока закончились. Выложи полностью файлы ui_sleep_dialoog и xr_effects из gamedata/scripts Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gerbys 7 Опубликовано 20 августа, 2020 3 часа назад, Сергей Шубин сказал: Gerbys Идеи пока закончились. Выложи полностью файлы ui_sleep_dialoog и xr_effects из gamedata/scripts Проблема решена! Как оказалось, xr_effects у меня лежал в папке нерабочих скриптов (в 2018м году туда убрал, а всё из-за запятой и невнимательности) Дополнено 1 минуту спустя Вопросы на этом не заканчиваются. Каким образом можно заспавнить рандомный сквад? Через логику спейс рестриктора можно? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Neptun 884 Опубликовано 21 августа, 2020 5 часов назад, Gerbys сказал: Вопросы на этом не заканчиваются. Каким образом можно заспавнить рандомный сквад? Через логику спейс рестриктора можно? Что имеется ввиду? Например, есть такой вариант: [simulation_stalker_1]:online_offline_group faction = stalker npc_random = sim_default_stalker_0, sim_default_stalker_0, sim_default_stalker_0, sim_default_stalker_1, sim_default_stalker_1, sim_default_stalker_1, sim_default_stalker_1, sim_default_stalker_2, sim_default_stalker_2, sim_default_stalker_2, sim_default_stalker_3, sim_default_stalker_3, sim_default_stalker_4 npc_in_squad = 2, 3 В данном случае заспавнится сквад из 2 или 3 НПС из списка npc_random Дополнено 1 минуту спустя Есть ли вариант заставить кровососа проиграть определённую анимацию, как-то: удар или поза к атаке? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 951 Опубликовано 21 августа, 2020 (изменено) 7 часов назад, Neptun сказал: Есть ли вариант заставить кровососа проиграть определённую анимацию, как-то: удар или поза к атаке? Чисто теоретически: добавляете нужную вам анимацию под именем stand_sleep_2 в файл krovosos_animation.omf, а в логике используете: on_info = %=set_force_sleep_animation(2)% Изменено 21 августа, 2020 пользователем denis2000 3 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Arkada 428 Опубликовано 21 августа, 2020 Не могу понять, почему не воспроизводится звук. написал небольшой скрипт в generic_object_binder мутанта (в функцию на наведение курсором на мутанта и нажатием клавиши использования): local ini = system_ini() local object = self.object local snd_config = ini:r_string(object:section(), "Sound_use") -- устанавливаем озвучку использования self.sound_use = sound_object(snd_config) Пробовал иначе: xr_sound.set_sound_play(db.actor:id(), snd_config) Было тоже самое. xr_sound.play_sound_looped(db.actor:id(), snd_config) вылетало с логом что значение theme = nil, хотя игра читает локальную snd_config (r_string). Как решить эту проблему? Можно ли вызвать звук другой функцией? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Neptun 884 Опубликовано 21 августа, 2020 6 часов назад, denis2000 сказал: Чисто теоретически: добавляете нужную вам анимацию под именем stand_sleep_2 в файл krovosos_animation.omf С помощью какой программы осуществляется чтение этого файла? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
0ouch 143 Опубликовано 21 августа, 2020 Работает ли параметр npc_in_squad на платформе ЗП? Сколько не выставлял его в параметры симуляционных сквадов, например: npc_in_squad = 2, 3 Всегда спавнилось 3 непися и никогда не спавнилось 2. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Arkada 428 Опубликовано 21 августа, 2020 2 часа назад, Neptun сказал: С помощью какой программы осуществляется чтение этого файла? 3ds max. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Policai 1 322 Опубликовано 21 августа, 2020 (изменено) 2 часа назад, Neptun сказал: С помощью какой программы осуществляется чтение этого файла? Спойлер Изменено 21 августа, 2020 пользователем Policai 1 Группа мода в VK Мод делался и тестировался на железе i5-11400, 32Гб ОЗУ, Radeon RX580 Разрешение 2560 х 1440. ВСЕ на максималке Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 951 Опубликовано 21 августа, 2020 (изменено) 59 минут назад, Stgs сказал: Работает ли параметр npc_in_squad на платформе ЗП? Да, эти параметры точно работают. Изменено 21 августа, 2020 пользователем denis2000 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
molodoy_chelovek 124 Опубликовано 21 августа, 2020 14 часов назад, Neptun сказал: Есть ли вариант заставить кровососа проиграть определённую анимацию У меня сейчас нет возможности проверить, но я точно помню что кто-то проигрывал анимацию удара котролёру таким методом self.object:play_cycle("new_torso_attack_0", true) 1 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gerbys 7 Опубликовано 22 августа, 2020 22 часа назад, Neptun сказал: Что имеется ввиду? Например, есть такой вариант: [simulation_stalker_1]:online_offline_group faction = stalker npc_random = sim_default_stalker_0, sim_default_stalker_0, sim_default_stalker_0, sim_default_stalker_1, sim_default_stalker_1, sim_default_stalker_1, sim_default_stalker_1, sim_default_stalker_2, sim_default_stalker_2, sim_default_stalker_2, sim_default_stalker_3, sim_default_stalker_3, sim_default_stalker_4 npc_in_squad = 2, 3 Про это в курсе. Я имею ввиду спавн определённого сквада из нескольких вариантов сквадов. То есть чтобы например при начале новой игры (или получении инфопоршня) в одном и том же месте могли рандомно появиться например сталкеры или монолитовцы Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 951 Опубликовано 22 августа, 2020 (изменено) Gerbys Если чисто логикой, то можно так: [logic] active = sr_idle@wait [sr_idle@wait] on_info = {+info_portion} sr_idle@spawn [sr_idle@spawn] on_info1 = {~10} nil %=create_squad(squad_1:smart_terrain)% on_info2 = {~10} nil %=create_squad(squad_2:smart_terrain)% on_info3 = {~10} nil %=create_squad(squad_3:smart_terrain)% on_info4 = {~10} nil %=create_squad(squad_4:smart_terrain)% Рандомно спавниться один из сквадов squad_1...squad_4 на указанном смарте. Изменено 22 августа, 2020 пользователем denis2000 1 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Ҫвяҭѳӎӹшљ 18 Опубликовано 22 августа, 2020 Господа, объясните мне, пожалуйста, что есть такое "default_to_ruck", ибо встречал данную строку во многих конфигах (outfit.ltx, artefacts.ltx и т.д.), а понять, что же это такое так и не смог. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты