Overf1rst 1 507 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 19 10 1 1 2 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
av661194 161 Опубликовано вчера в 15:21 AlekseiMods Смотря для чего этот инвентарь нужен. Если только для того, чтобы хранить там трофеи, которые можно срезать с монстров (как это сделано в ТЧ), то можно взять готовую реализацию из Мизери. Если нужен полноценный инвентарь, то тут можно обратится к реализации багажников в ОЛР: спавнится фейковый inventory_box , его id сохраняется в pstor объекта и при лутании тушки монстра открывается инвентарь этого inventory_box. 1 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 54 Опубликовано вчера в 15:31 14 минут назад, Крим сказал: В моем случае предметы не взмывают вверх а у предметов в сдк Story ID и Spawn Story ID есть? «Если долго мучиться, что-нибудь получится» Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 825 Опубликовано вчера в 15:32 Только что, Pavel2000 сказал: Story ID У предметов только Story_id заданы Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 54 Опубликовано вчера в 16:04 Кримсейчас взял твой скрипт у меня работает Дополнено 4 минуты спустя в функцию передавал цифровое значение из game_story_ids.ltx но у меня у предмета в сдк Story ID и Spawn Story ID есть, а скрипт вызывал из логики рестриктора «Если долго мучиться, что-нибудь получится» Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 825 Опубликовано вчера в 16:10 Pavel2000 А ты её как вызвал? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 54 Опубликовано вчера в 16:13 (изменено) Крим переделал скрипт под свои стори айди и добавил в 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)% Изменено вчера в 16:16 пользователем Pavel2000 «Если долго мучиться, что-нибудь получится» Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mawrak 697 Опубликовано вчера в 16:13 (изменено) Крим как я понимаю, функция хочет 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 просто Изменено вчера в 16:22 пользователем Mawrak 1 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 825 Опубликовано вчера в 16:35 Mawrak В каком файле Spawn Story ID задается? В game_story_ids.ltx? Или в game_spawn_story_ids.ltx? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 54 Опубликовано вчера в 16:39 Крим делай сразу в двух в 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 99 Опубликовано вчера в 16:42 (изменено) 1 час назад, Крим сказал: Подскажите, почему она не работает Это функция для ТЧ! В Зп вместо числа должна быть строка и вместо level_object_by_sid get_story_object_id Выше оказывется был ответ Дополнено 1 минуту спустя 23 минуты назад, Крим сказал: В каком файле Spawn Story ID Можно в кастом дате или в spawn_sections.ltx Дополнено 14 минуты спустя Pavel2000 А вот так я не советовал бы делать, даже если работает! Движок со времен с ТЧ поменялся и в плане алайфа тоже, поэтому чтобы лишить себя лишних "сюрпризов и всевозможных багов, в плоть до зависания алайфа" лучше делать как разрабы Изменено вчера в 16:59 пользователем Mass Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 825 Опубликовано вчера в 18:00 Ещё один вопрос: можно ли как-то по инфопоршню изменить анимацию света у лампы? Спойлер Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 54 Опубликовано вчера в 18:05 Крим а если добавить ещё одну ламочку с нужной анимацией и включить когда надо а старую выключить? 1 1 «Если долго мучиться, что-нибудь получится» Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 825 Опубликовано вчера в 18:07 Pavel2000 А вот об этом я даже не подумал :) Ну-ка сейчас попробую. Вот я понимаю, смекалочка 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
makdm 684 Опубликовано вчера в 18:30 19 минут назад, Крим сказал: Ну-ка сейчас попробую. Вот я понимаю, смекалочка Этой смекалочке столько же сколько ЗП. В Припяти, когда вы спускаетесь в лабу Х8 над замком от двери в лабу висит лампочка красного цвета. Проводите карточкой по замку и лампа меняет цвет на зеленый, вроде как открыто. Гермодверь открывается. Внимательнее нужно быть при прохождении оригинала, тогда будет меньше вопросов. 2 1 Терпение... И все получится. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RomaL23 0 Опубликовано 8 часов назад Подскажите кто нибудь что делать.. скомпилировал я уровень, на нём я ставил объекты из static, объекты я эти добавил в сектор, только здание в котором объекты стоят нельзя добавить в сектор и всё. Скомпилировал, захожу в игру а объекты невидимые, тоесть тень есть от них а сами объекты прозрачные, что делать? может что то с секторами не так, я все туториалы пересмотрел так и не понял о чём идёт речь. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
pirat 274 Опубликовано 6 часов назад 2 часа назад, RomaL23 сказал: Подскажите кто нибудь что делать.. скомпилировал я уровень, на нём я ставил объекты из static, объекты я эти добавил в сектор, только здание в котором объекты стоят нельзя добавить в сектор и всё. Скомпилировал, захожу в игру а объекты невидимые, тоесть тень есть от них а сами объекты прозрачные, что делать? может что то с секторами не так, я все туториалы пересмотрел так и не понял о чём идёт речь. Неправильно работал с секторами. Здание видимо уже в секторе (обычно в дефолт секторе), у помещения, в котором твои пропы, тоже есть свой сектор похоже, а ты всем пропам дал другой сектор из-за чего они спрятались Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RomaL23 0 Опубликовано 5 часов назад pirat Так у меня локация не компилировалась без добавления этих предметов в сектор, ошибка вылезала Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
pirat 274 Опубликовано 5 часов назад 1 минуту назад, RomaL23 сказал: pirat Так у меня локация не компилировалась без добавления этих предметов в сектор, ошибка вылезала Это понятно, просто эти предметы нужно было добавить в уже имеющиеся сектора, например в сектор помещения, в котором они находятся Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RomaL23 0 Опубликовано 5 часов назад pirat я не знаю как это сделать. Смотрел туториалы, они не объясняют КАК сделать, они как им нужно делают и всё, я сам вообще не врубаюсь Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
pirat 274 Опубликовано 5 часов назад 2 минуты назад, RomaL23 сказал: pirat я не знаю как это сделать. Смотрел туториалы, они не объясняют КАК сделать, они как им нужно делают и всё, я сам вообще не врубаюсь 1. В режиме Sector первым делом жмешь ПКМ по вьюпорту и в контекстном меню жми Unhide All; 2. Затем выбираешь нужный сектор, сектор твоего помещения; 3. Жмешь "А" английской раскладки и справа жмешь на "+M"; 4. После этого начинаешь тыкать по своим пропам, которые в этом помещении (предварительно убрав с них тот сектор, что ты поставил) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RomaL23 0 Опубликовано 5 часов назад pirat спасибо огромное. хотел спросить, а вот я нажимаю вкладку сектор и перехожу в обжект лист, это норм что у меня там 67 секторов? если не норма то их как то можно удалить и оставить 1 дефолтный на весь уровень Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 825 Опубликовано 5 часов назад Приветствую. Знает ли кто-нибудь, в чем может быть причина вылетов при сохранении, а затем при загрузке этого сейва? Дополнено 0 минут спустя Вылет безлоговый Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Prostomod 1 334 Опубликовано 5 часов назад (изменено) Крим абсолютно что угодно, но думаю, что это связано с тем, что какие-то данные неверно сохраняются, из-за чего потом некорректно читаются, что и вызывает ошибку где-то внутри движка. После каких правок началось такое? Ванильный ЗП? Изменено 5 часов назад пользователем Prostomod Мод в разработке - X-7: Эпицентр Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 825 Опубликовано 5 часов назад 1 минуту назад, Prostomod сказал: Ванильный ЗП? Да. 1 минуту назад, Prostomod сказал: После каких правок началось такое? Да много чего я набедокурил. Куча рестрикторов, множество строк кода для логики НПС и рестрикторов. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Prostomod 1 334 Опубликовано 5 часов назад Крим Ну... Если не включён расширенный лог в скриптах, то включи, мб поможет. Спойлер В _g.script найти функцию abort и расскоментируй в ней строку error_log(reason). Должно получиться: -- Крешнуть игру (после вывода сообщения об ошибке в лог) function abort(fmt, ...) local reason = string.format(fmt, ...) error_log(reason) end Если это уже включено или не помогло... Ну тут я не знаю как помочь, единственное что останется - запускать движок из исходников с дебаггером и смотреть, что конкретно внутри движка ломается. 1 Мод в разработке - X-7: Эпицентр Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты