Overf1rst 1 510 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 19 10 1 1 2 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
av661194 163 Опубликовано 22 января AlekseiMods Смотря для чего этот инвентарь нужен. Если только для того, чтобы хранить там трофеи, которые можно срезать с монстров (как это сделано в ТЧ), то можно взять готовую реализацию из Мизери. Если нужен полноценный инвентарь, то тут можно обратится к реализации багажников в ОЛР: спавнится фейковый inventory_box , его id сохраняется в pstor объекта и при лутании тушки монстра открывается инвентарь этого inventory_box. 1 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 63 Опубликовано 22 января 14 минут назад, Крим сказал: В моем случае предметы не взмывают вверх а у предметов в сдк Story ID и Spawn Story ID есть? «Если долго мучиться, что-нибудь получится»Охотник за артефактами Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 844 Опубликовано 22 января Только что, Pavel2000 сказал: Story ID У предметов только Story_id заданы Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 63 Опубликовано 22 января Кримсейчас взял твой скрипт у меня работает Дополнено 4 минуты спустя в функцию передавал цифровое значение из game_story_ids.ltx но у меня у предмета в сдк Story ID и Spawn Story ID есть, а скрипт вызывал из логики рестриктора «Если долго мучиться, что-нибудь получится»Охотник за артефактами Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 844 Опубликовано 22 января Pavel2000 А ты её как вызвал? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 63 Опубликовано 22 января (изменено) Крим переделал скрипт под свои стори айди и добавил в xr_effects function move_obj(actor, npc, p) if (p == nil) or (type(p[1]) ~= "number") then return end local sids = {1029,1030} local obj, k, sid for k, sid in pairs(sids) do obj = level_object_by_sid(sid) if obj ~= nil then obj:set_const_force(vector():set(0,1,0), obj:mass()*20, p[1]) end end end и в логике рестриктора %=move_obj(1029) =move_obj(1030)% Изменено 22 января пользователем Pavel2000 «Если долго мучиться, что-нибудь получится»Охотник за артефактами Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mawrak 744 Опубликовано 22 января (изменено) Крим как я понимаю, функция хочет Spawn Story ID (не Story ID как может показаться), если они не заданы у предмета, то скрипт ничего и не сделает. Дополнено 8 минуты спустя Крим Если нужно именно по Story ID сделать, то можно попробовать поменять level_object_by_sid(sid) на get_story_object_id(sid) (вернет id объекта по Story ID) Но тогда нужно указать актуальные Story ID в списке, и плюс Story ID вроде не должен быть числом, а должен быть текстом (у меня бывали баги из-за этого лично), и проверку на type тоже нужно будет вырезать. Но легче проставить Spawn Story ID просто Изменено 22 января пользователем Mawrak 1 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 844 Опубликовано 22 января Mawrak В каком файле Spawn Story ID задается? В game_story_ids.ltx? Или в game_spawn_story_ids.ltx? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 63 Опубликовано 22 января Крим делай сразу в двух в game_story_ids.ltx вот так [story_ids] 1 = "test_1" в game_spawn_story_ids.ltx вот так [spawn_story_ids] 1 = test_1 [story_ids_spawn] test_1 = 1 1 «Если долго мучиться, что-нибудь получится»Охотник за артефактами Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 120 Опубликовано 22 января (изменено) 1 час назад, Крим сказал: Подскажите, почему она не работает Это функция для ТЧ! В Зп вместо числа должна быть строка и вместо level_object_by_sid get_story_object_id Выше оказывется был ответ Дополнено 1 минуту спустя 23 минуты назад, Крим сказал: В каком файле Spawn Story ID Можно в кастом дате или в spawn_sections.ltx Дополнено 14 минуты спустя Pavel2000 А вот так я не советовал бы делать, даже если работает! Движок со времен с ТЧ поменялся и в плане алайфа тоже, поэтому чтобы лишить себя лишних "сюрпризов и всевозможных багов, в плоть до зависания алайфа" лучше делать как разрабы Изменено 22 января пользователем Mass Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 844 Опубликовано 22 января Ещё один вопрос: можно ли как-то по инфопоршню изменить анимацию света у лампы? Спойлер Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 63 Опубликовано 22 января Крим а если добавить ещё одну ламочку с нужной анимацией и включить когда надо а старую выключить? 1 1 «Если долго мучиться, что-нибудь получится»Охотник за артефактами Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 844 Опубликовано 22 января Pavel2000 А вот об этом я даже не подумал :) Ну-ка сейчас попробую. Вот я понимаю, смекалочка 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
makdm 697 Опубликовано 22 января 19 минут назад, Крим сказал: Ну-ка сейчас попробую. Вот я понимаю, смекалочка Этой смекалочке столько же сколько ЗП. В Припяти, когда вы спускаетесь в лабу Х8 над замком от двери в лабу висит лампочка красного цвета. Проводите карточкой по замку и лампа меняет цвет на зеленый, вроде как открыто. Гермодверь открывается. Внимательнее нужно быть при прохождении оригинала, тогда будет меньше вопросов. 2 1 Терпение... И все получится. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RomaL23 0 Опубликовано 23 января Подскажите кто нибудь что делать.. скомпилировал я уровень, на нём я ставил объекты из static, объекты я эти добавил в сектор, только здание в котором объекты стоят нельзя добавить в сектор и всё. Скомпилировал, захожу в игру а объекты невидимые, тоесть тень есть от них а сами объекты прозрачные, что делать? может что то с секторами не так, я все туториалы пересмотрел так и не понял о чём идёт речь. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
pirat 278 Опубликовано 23 января 2 часа назад, RomaL23 сказал: Подскажите кто нибудь что делать.. скомпилировал я уровень, на нём я ставил объекты из static, объекты я эти добавил в сектор, только здание в котором объекты стоят нельзя добавить в сектор и всё. Скомпилировал, захожу в игру а объекты невидимые, тоесть тень есть от них а сами объекты прозрачные, что делать? может что то с секторами не так, я все туториалы пересмотрел так и не понял о чём идёт речь. Неправильно работал с секторами. Здание видимо уже в секторе (обычно в дефолт секторе), у помещения, в котором твои пропы, тоже есть свой сектор похоже, а ты всем пропам дал другой сектор из-за чего они спрятались Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RomaL23 0 Опубликовано 23 января pirat Так у меня локация не компилировалась без добавления этих предметов в сектор, ошибка вылезала Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
pirat 278 Опубликовано 23 января 1 минуту назад, RomaL23 сказал: pirat Так у меня локация не компилировалась без добавления этих предметов в сектор, ошибка вылезала Это понятно, просто эти предметы нужно было добавить в уже имеющиеся сектора, например в сектор помещения, в котором они находятся Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RomaL23 0 Опубликовано 23 января pirat я не знаю как это сделать. Смотрел туториалы, они не объясняют КАК сделать, они как им нужно делают и всё, я сам вообще не врубаюсь Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
pirat 278 Опубликовано 23 января 2 минуты назад, RomaL23 сказал: pirat я не знаю как это сделать. Смотрел туториалы, они не объясняют КАК сделать, они как им нужно делают и всё, я сам вообще не врубаюсь 1. В режиме Sector первым делом жмешь ПКМ по вьюпорту и в контекстном меню жми Unhide All; 2. Затем выбираешь нужный сектор, сектор твоего помещения; 3. Жмешь "А" английской раскладки и справа жмешь на "+M"; 4. После этого начинаешь тыкать по своим пропам, которые в этом помещении (предварительно убрав с них тот сектор, что ты поставил) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RomaL23 0 Опубликовано 23 января pirat спасибо огромное. хотел спросить, а вот я нажимаю вкладку сектор и перехожу в обжект лист, это норм что у меня там 67 секторов? если не норма то их как то можно удалить и оставить 1 дефолтный на весь уровень Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 844 Опубликовано 23 января Приветствую. Знает ли кто-нибудь, в чем может быть причина вылетов при сохранении, а затем при загрузке этого сейва? Дополнено 0 минут спустя Вылет безлоговый Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Prostomod 1 373 Опубликовано 23 января (изменено) Крим абсолютно что угодно, но думаю, что это связано с тем, что какие-то данные неверно сохраняются, из-за чего потом некорректно читаются, что и вызывает ошибку где-то внутри движка. После каких правок началось такое? Ванильный ЗП? Изменено 23 января пользователем Prostomod Мод в разработке - X-7: Эпицентр Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 844 Опубликовано 23 января 1 минуту назад, Prostomod сказал: Ванильный ЗП? Да. 1 минуту назад, Prostomod сказал: После каких правок началось такое? Да много чего я набедокурил. Куча рестрикторов, множество строк кода для логики НПС и рестрикторов. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Prostomod 1 373 Опубликовано 23 января Крим Ну... Если не включён расширенный лог в скриптах, то включи, мб поможет. Спойлер В _g.script найти функцию abort и расскоментируй в ней строку error_log(reason). Должно получиться: -- Крешнуть игру (после вывода сообщения об ошибке в лог) function abort(fmt, ...) local reason = string.format(fmt, ...) error_log(reason) end Если это уже включено или не помогло... Ну тут я не знаю как помочь, единственное что останется - запускать движок из исходников с дебаггером и смотреть, что конкретно внутри движка ломается. 1 Мод в разработке - X-7: Эпицентр Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты