Overf1rst 1 496 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 18 9 1 1 2 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Arkada 428 Опубликовано 25 августа, 2020 (изменено) Как исправить данный баг? Перед этим я удалил строчку из движка, вызывающий звук actor\breath_1.ogg Это мне нужно было чтобы сделать 2 варианта озвучки и по условиям. Пробовал перед функцией вызова звука (xr_sound.set_sound_play) ставить return, но ничего не менялось. Даже если прописывать вместо секции путь до файла со звуком, ничего не меняется. Спойлер Проблема в том, что звук не зацикливается, хотя вызов данной функции происходит в апдейт игрока (несколько десятков раз в секунду!). Если вместо функции set_sound_play применять play_sound_looped, то звук будет проигрываться с того места где БЫЛ актёр на момент вызова функции. По моей задумке при окончании звука сразу же должен воспроизводиться точно такой же звук (зацикливаться) до тех пор, пока выносливость ГГ менее 18%. Свойства звуков: [breath_low] type = actor npc_prefix = false path = actor\breath_1 shuffle = rnd idle = 1,1,100 [breath_very] type = actor npc_prefix = false path = actor\breath_2 shuffle = rnd idle = 1,1,100 Изменено 25 августа, 2020 пользователем Winzor Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 790 Опубликовано 25 августа, 2020 Как заставить НПС замолчать полностью, чтобы даже при нападений, например, мутанта НПС ничего не выкрикивал и молчал? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
molodoy_chelovek 124 Опубликовано 25 августа, 2020 Здравствуйте. Как проверить что секция предмета который я спавню существует? Чтобы в противном случае игра не вылетала по причине can't open section. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RobocatiK 96 Опубликовано 25 августа, 2020 47 минут назад, Крим сказал: Как заставить НПС замолчать полностью, чтобы даже при нападений, например, мутанта НПС ничего не выкрикивал и молчал? В spawn_section пропишите это: [Ваш NPC]:stalker_silent $spawn = "respawn\Ваш NPC" Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Arkada 428 Опубликовано 25 августа, 2020 47 минут назад, Крим сказал: Как заставить НПС замолчать полностью, чтобы даже при нападений, например, мутанта НПС ничего не выкрикивал и молчал? Взять профиль сталкера за основу stalker_silent в файле spawn_sections_$ Например: [pri_a17_military_colonel_kovalski]:stalker_silent $spawn = "respawn\pri_a17_military_colonel_kovalski" story_id = pri_a17_military_colonel_kovalski character_profile = pri_a17_military_colonel_kovalski Дополнено 1 минуту спустя 1 минуту назад, Winzor сказал: Взять профиль сталкера за основу stalker_silent в файле spawn_sections_$ Например: [pri_a17_military_colonel_kovalski]:stalker_silent $spawn = "respawn\pri_a17_military_colonel_kovalski" story_id = pri_a17_military_colonel_kovalski character_profile = pri_a17_military_colonel_kovalski Не успел написать раньше, чем RoboCat. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 945 Опубликовано 25 августа, 2020 23 минуты назад, molodoy_chelovek сказал: Как проверить что секция предмета который я спавню существует? local ini = system_ini() if ini:section_exist(section_name) then alife():create(section_name,***,***,***) end 2 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Novik 21 Опубликовано 26 августа, 2020 (изменено) Доброго времени суток, можно ли сделать так к перемеру. Чтобы не компилировать локацию, просто перенести её из чн в зп. Открыть её в СДК удалить все спавн элементы, поставить, актёра и скомпилировать только all.spawn, дабы не компилировать всю локацию? Изменено 26 августа, 2020 пользователем Novik Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
molodoy_chelovek 124 Опубликовано 26 августа, 2020 Novik такие вопросы надо задавать в теме по SDK. 18 минут назад, Novik сказал: Открыть её в СДК удалить все спавн элементы, поставить, актёра и скомпилировать только all.spawn, дабы не компилировать всю локацию? Можно. Только ещё и AI-сетку нужно скомпилить. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Policai 1 318 Опубликовано 26 августа, 2020 RoboCat Думаю на кухне тоже нет плаката что нельзя сходить по маленкому, и бываешь там чаще чем в туалете... Просто давайте сами не будем мешать всё в кучу, чтоб потом материться при поиске нужного в профильной теме. Вопросы по сдк задаём в теме по сдк, вопросы по модострою тут... Если вам не ответили в профильной теме значит не знают ответа... а не из за того что там никого нету... Дополнено 3 минуты спустя То же самое по модострою на разных платформах, есть ТЧ, есть СОС, спрашивать нужно в соответствующей теме. А сейчас получается так, нашёл поиском ответ на свой вопрос, и сидишь гадаешь, к какой платформе это относится... Группа мода в VK Мод делался и тестировался на железе i5-11400, 32Гб ОЗУ, Radeon RX580 Разрешение 2560 х 1440. ВСЕ на максималке Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gerbys 7 Опубликовано 26 августа, 2020 В 24.08.2020 в 06:02, Neptun сказал: gamedata\scripts\xr_effects.script Функция damage_actor_items_on_start Вписал стартовые предметы и их состояние - не работает, всё равно всё целое на 100% Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Novik 21 Опубликовано 26 августа, 2020 42 минуты назад, molodoy_chelovek сказал: Novik такие вопросы надо задавать в теме по SDK. Можно. Только ещё и AI-сетку нужно скомпилить. Тоесть ставим спавн элементы, билдем локацию, компилируем ai сетку, затем компилируем, спавн, верный порядок? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Arkada 428 Опубликовано 26 августа, 2020 8 минут назад, Novik сказал: Тоесть ставим спавн элементы, билдем локацию, компилируем ai сетку, затем компилируем, спавн, верный порядок? Есть отдельная тема с вопросами в SDK.Полная компиляция локации Дополнено 1 минуту спустя 21 минуту назад, Gerbys сказал: Вписал стартовые предметы и их состояние - не работает, всё равно всё целое на 100% Это скрипт который должен вызываться из рестриктора. В оригинальной игре он вызывается рестриктором zat_a1_logic. Строка вызова из рестриктора: on_info = {=actor_on_level(zaton)} sr_idle@game_start_2 %=damage_actor_items_on_start% 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Novik 21 Опубликовано 26 августа, 2020 3 минуты назад, Winzor сказал: Есть отдельная тема с вопросами в SDK.Полная компиляция локации Мне совсем не это нужно. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
molodoy_chelovek 124 Опубликовано 26 августа, 2020 Novik Я делал так: ставил актора и граф поинты, потом Compile -> Make AI-Map, Compile -> Make Game, Compile -> Build. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Novik 21 Опубликовано 26 августа, 2020 9 минут назад, molodoy_chelovek сказал: Novik Я делал так: ставил актора и граф поинты, потом Compile -> Make AI-Map, Compile -> Make Game, Compile -> Build. Не чего не получилось при загрузке уровня. Expression : cross_table().header().level_guid() == level_graph().header().guid() Function : CAI_Space::load File : D:\prog_repository\sources\trunk\xrGame\ai_space.cpp Line : 113 Description : cross_table doesn't correspond to the AI-map Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
molodoy_chelovek 124 Опубликовано 26 августа, 2020 Novik файл level.ai из папки уровня геймдаты СДК нужно перенести в папку с игрой Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Novik 21 Опубликовано 26 августа, 2020 51 минуту назад, molodoy_chelovek сказал: Novik файл level.ai из папки уровня геймдаты СДК нужно перенести в папку с игрой Его там нет( Дополнено 2 минуты спустя 53 минуты назад, molodoy_chelovek сказал: Novik файл level.ai из папки уровня геймдаты СДК нужно перенести в папку с игрой При компиляци сетки Initializing File System... using fs-ltx fsgame.ltx FS: 14331 files cached 0 archives, 2148Kb memory used. Init FileSystem 1.033723 sec 'xrCore' build 0, (null) true 0 Loading DLL: xrSE_Factory.dll 'xrCore' build 0, (null) -----loading c:\xraycopsdk\editors\gamedata\configs\system.ltx "LevelBuilder v4.1" beta build Compilation date: Dec 10 2009 Startup time: 13:21:03 * New phase started: Loading level... stack trace: 0023:0278CE10 xrCore.dll, IReaderBase<IReader>::find_chunk Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 945 Опубликовано 26 августа, 2020 (изменено) 53 минуты назад, Novik сказал: Его там нет Да его нужно скомпилировать, раз уж сетку меняли. А вылет при компиляции сетки свидетельствует, что либо нет файлов build.aimap и build.cform, либо локация не прописана в конфигах: game_levels.ltx, game_maps_single.ltx Изменено 26 августа, 2020 пользователем denis2000 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RobocatiK 96 Опубликовано 26 августа, 2020 (изменено) @Novik Если ты не собираешься изменять локацию, а только изменять Spawn и Waypoint, то нужно было сделать всего лишь один пункт Compile -> Make Game (Лучше заново перекомпилируй, ну или попробуй скинуть папку с локацией в SDK Gamedata) После этого редактируем: "4 - Компиляция спавна x64.cmd" и пишем туда локацию: "@start bin\compilers_x64\xrAI.exe -no_separator_check -s Название_Локации -out all" и запускаем этот cmd, Далее заходим в SDK Gamedata и берем от туда all.spawn и перекидываем к себе в игру. Саму папку с локацией (из levels) можно взять из ЧН и просто скинуть в ЗП (то есть не брать её из SDK), так как наше действие не сильно повлияло (на всякий случай стоит взять level.spawn из SDK Gamedata, после создания all.spawn) Для создание all.spawn требуется 2 граф поинт (ничего туда вписывать не нужно) и actor (По-умолчанию спавниться рандомный профиль, нужно выбрать вместо default => actor в настройках) Изменено 26 августа, 2020 пользователем RoboCat Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
molodoy_chelovek 124 Опубликовано 26 августа, 2020 (изменено) 13 минут назад, RoboCat сказал: то нужно было сделать всего лишь один пункт Compile -> Make Game Сколько раз пробовал не компилить заново сетку - игра вылетала по причине 1 час назад, Novik сказал: cross_table doesn't correspond to the AI-map Изменено 26 августа, 2020 пользователем molodoy_chelovek 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 945 Опубликовано 26 августа, 2020 (изменено) molodoy_chelovek Это потому, что АИ-сетка и геймграф связаны при помощи таблицы cross_table, которая строиться на базе графпоинтов локаций (это узлы геймграфа), а значит изменения в АИ-сетке или конфигурации графпоинтов будет требовать перекомпиляцию как сетки, так и спавна. Изменено 26 августа, 2020 пользователем denis2000 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Novik 21 Опубликовано 26 августа, 2020 (изменено) 11 минут назад, molodoy_chelovek сказал: Сколько раз пробовал не компилить заново сетку - игра вылетала по причине Я делаю так, кидаю локу в sdk, дикомпилирую её, затем открываю её в LE удаляю все спавн элементы, ставлю граф поинт, ставлю актёра, проделываю эти действия (Compile -> Make AI-Map, Compile -> Make Game, Compile -> Build) Затем запускаю батник Компиляция_спавна.cmd. Но он не компилирует спавн. FATAL ERROR [error]Expression : assertion failed [error]Function : CGraphMerger::CGraphMerger [error]File : D:\prog_repository\sources\trunk\utils\xrAI\xr_graph_merge.cpp [error]Line : 597 [error]Description : tpGraphs.size() А вот что в папке с level,lom Изменено 26 августа, 2020 пользователем Novik Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 945 Опубликовано 26 августа, 2020 2 минуты назад, Novik сказал: Но он не компилирует спавн. level.ai отсутсвует! Сетка не скомпилирована - спавн собрать невозможно. 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Overf1rst 1 496 Опубликовано 26 августа, 2020 48 минут назад, Novik сказал: 0023:0278CE10 xrCore.dll, IReaderBase<IReader>::find_chunk Делать Compile → Build следует только в том случае, если нужно скомпилировать геометрию уровня! Если это сделать ещё раз, папка с уровнем будет очищена, и тогда всё придётся компилировать заново. Отсюда и все вытекающие последствия с сеткой и спавном, которые не компилируются. Для начала надо будет снова собрать геометрию, чтобы, в свою очередь, собрать АИ-сетку! Ещё раз по порядку: если у вас скомпилирована геометрия и нужно вносить правки только в спавн и в АИ - делать нужно исключительно Compile → Make Game и Compile → Make AI-map (тут порядок не важен). Далее, если собрана геометрия (в папке с уровнем есть build.cform), нужно скомпилировать АИ-сетку - tool_compile_xrAI.cmd. После этого уже можно начать компилировать спавн - tool_create_spawn.cmd. Локация должна быть зарегистрирована в конфигах. Если есть скомпилированный уровень, который надо декомпилировать, то для дальнейшей компиляции АИ-сетки на нём в любом случае придётся компилировать геометрию, поскольку в релизные версии уровней не кладут файл build.cform! 1 1 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Novik 21 Опубликовано 26 августа, 2020 4 минуты назад, Overfirst сказал: Делать Compile → Build следует только в том случае, если нужно скомпилировать геометрию уровня! Если это сделать ещё раз, папка с уровнем будет очищена, и тогда всё придётся компилировать заново. Отсюда и все вытекающие последствия сеткой и спавном, которые не компилируются. Для начала надо будет снова собрать геометрию, чтобы, в свою очередь, собрать АИ-сетку! Ещё раз по порядку: если у вас скомпилирована геометрия и нужно вносить правки только в спавн и в АИ - делать нужно исключительно Compile → Make Game и Compile → Make AI-map (тут порядок не важен). Далее, если собрана геометрия (в папке с уровнем есть build.cform), нужно скомпилировать АИ-сетку - tool_compile_xrAI.cmd. После этого уже можно начать компилировать спавн - tool_create_spawn.cmd. Локация должна быть зарегистрирована в конфигах. Если есть скомпилированный уровень, который надо декомпилировать, то для дальнейшей компиляции АИ-сетки на нём в любом случае придётся компилировать геометрию, поскольку в релизные версии уровней не кладут файл build.cform! Спасибо всем огромное! всё получилось. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты