Overf1rst 1 499 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 19 9 1 1 2 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
makdm 672 Опубликовано 23 марта, 2023 6 минут назад, АлеБард сказал: мне нужно, чтобы нпс стояли на месте и просто исполняли свою анимацию Секцию meet настройте. НПС будут вообще вас не замечать. 1 Терпение... И все получится. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
АлеБард 5 Опубликовано 23 марта, 2023 makdm у меня секция meet вот так всегда выглядит: Спойлер meet = no meet close_anim = nil close_victim = nil victim_wpn = nil far_anim = nil far_victim = nil close_distance = 0 far_distance = 0 и вроде все хорошо, прохожу рядом, меня не замечают, но как только достаю оружие, то у всех нпс в голове видимо начинает пробуждаться большой брат, и они дружно следят за мной пока не уберу пушку. конкретно этот момент меня заставляет задуматься где же я повернул не туда хочешь обмануть человека - скажи ему правду. хочешь обмануть меня - скажи... блин, в голове звучало лучше Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
makdm 672 Опубликовано 23 марта, 2023 В логике meet = meet@standart Секция Спойлер [meet@standart] close_anim = nil close_victim = nil close_snd_hello = nil close_snd_bye = nil far_anim = nil far_victim = nil close_snd_distance = 3 close_distance = 0 far_distance = 0 use = {=actor_enemy} false, true allow_break = false trade_enable = true meet_on_talking = false Так попробуй Терпение... И все получится. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FalkineIsaku 81 Опубликовано 23 марта, 2023 D37a8b Вопросы по SDK (level editor, actor editor и т.д.) следует задавать тут. Нельзя ставить 2 одинаковых объекта одной секции с одним именем, к граф-поинту можете добавить в конце имени graph, главное это привязка к game_graphs.ltx. 1 𝐒𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟, 𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫…𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Redix 113 Опубликовано 23 марта, 2023 D37a8b Так у тебя graph_point и smart_terrain одинаковые названия имеют. Ты делай так: graph_point назови - название_смарта_graph_point 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
АлеБард 5 Опубликовано 23 марта, 2023 пытался сделать что-то типа проводника, но столкнулся с тем что скрипт перемещения игрока в определенную точку через диалог не работает. Спойлер function travel_to_budushee(first_speaker, second_speaker) level.add_pp_effector ("fade_in.ppe", 333, false) db.actor:set_actor_position(vector():set(x -259.87408447266,y 19.950771331787,z 261.50744628906),level_vertex_id 1592445,game_vertex_id 0) end с координатами и их записью как-то напортачил может? впервые такой мини телепорт делаю хочешь обмануть человека - скажи ему правду. хочешь обмануть меня - скажи... блин, в голове звучало лучше Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Redix 113 Опубликовано 23 марта, 2023 АлеБард Зачем пользоваться этим васянством? Есть стандартная функция teleport_actor. Через диалог вызывается так: xr_effects.teleport_actor(nil, nil, {"walk","look"}). walk и look - вейпоинты. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BarmaGlot 244 Опубликовано 23 марта, 2023 АлеБард У вас либо пример отформатирован сайтои неверно, либо тьма тьмущая синтаксмических ошибок в строке db.actor:set_actor_position(vector():set(x -259.87408447266,y 19.950771331787,z 261.50744628906),level_vertex_id 1592445,game_vertex_id 0) а именно зачем-то указаны имена параметров x,y,z, level_vertex_id, game_vertex_id. Такая команда однозначно должна вылетать с логом. 1 Я логи в баню удалил, а вот за за рейдеры – не помню! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
АлеБард 5 Опубликовано 24 марта, 2023 BarmaGlot да, каюсь, я просто перекопировал сюда прямо с сайта, с которого брал скрипт и не почистил. у меня в этой строке я стер все это. стер, да не все! z проглядел и не удалил, потому и не работало. спасибо за помощь! 1 хочешь обмануть человека - скажи ему правду. хочешь обмануть меня - скажи... блин, в голове звучало лучше Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FalkineIsaku 81 Опубликовано 24 марта, 2023 (изменено) Здравствуйте, что нужно писать в кастом дате inventory box, чтобы заспавнить в нём какие-то предметы с начала игры? UPD: Извиняюсь, нашёл сам Изменено 24 марта, 2023 пользователем FalkineIsaku 𝐒𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟, 𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫…𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
D37a8b 0 Опубликовано 24 марта, 2023 (изменено) Добрый вечер, вопрос почему не читается логика нпс? Я создавал нпс через smart_terrain, но нпс почему то спавнится не на Anim_point, а где то на смарт террейне, скорее всего ошибка либо в каком то из этих файлов, но я проверял их и сверял с оригинальными, но не могу найти ошибку кто-нибудь может пожалуйста указать на ошибку, а если её нет в этих файлах, то подсказать где её ещё искать. escape_village_lion.ltx escape_village.ltx Изменено 24 марта, 2023 пользователем D37a8b Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FalkineIsaku 81 Опубликовано 24 марта, 2023 D37a8b Спавн собирал? Название смарт-ковра точное? 𝐒𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟, 𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫…𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
D37a8b 0 Опубликовано 24 марта, 2023 (изменено) FalkineIsaku спавн собран, название правильное. я извиняюсь но я кажется неправильно сформулировал, проблема скорее всего заключается в том что не читается логика потому что в логике прописано что нпс бессмертный, а на деле нет, там же прописано что нпс будет помечен как квестовый, но на деле он помечается лидером отряда, но вот почему она не читается? Изменено 24 марта, 2023 пользователем D37a8b Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
АлеБард 5 Опубликовано 24 марта, 2023 (изменено) D37a8b уверен что путь до файла с логикой в сдк верно прописан? Спойлер [story_object] story_id = predbannik_bar_stalkers [smart_terrain] cfg = scripts\predbannik\smart\predbannik_bar_stalkers.ltx Цитата но нпс почему то спавнится не на Anim_point а он там должен спавнится? сколько тут не спрашивал, никто не знает как спавнить неписей на анимпоинтах, так что предполагаю что это невозможно вовсе. но я, если честно, никогда особо и не пробовал. если уж спавнить в определенной точке, то через way point-ы Изменено 24 марта, 2023 пользователем АлеБард хочешь обмануть человека - скажи ему правду. хочешь обмануть меня - скажи... блин, в голове звучало лучше Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FalkineIsaku 81 Опубликовано 24 марта, 2023 D37a8b Попробовал немного изменить твою логику, всё работает, бессмертие у нпс есть. Попробуй поставить эту Спойлер [logic@escape_village_lion] active = animpoint@escape_village_lion suitable = {=check_npc_name(escape_village_lion)}true prior = 200 level_spot = quest_npc [animpoint@escape_village_lion] cover_name = escape_village_lion_animpoint combat_ignore_cond = true combat_ignore_keep_when_attacked = true invulnerable = true gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false meet = meet@escape_village_lion [meet@escape_village_lion] close_anim = nil close_victim = nil far_anim = nil far_victim = nil close_distance = 0 far_distance = 0 use = {=actor_enemy} false, true snd_on_use = {!dist_to_actor_le(3)} nil meet_on_talking = false 𝐒𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟, 𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫…𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mawrak 629 Опубликовано 24 марта, 2023 Кто-нибудь, подскадите, почему у меня лампочки на локации на статике есть, а на динамике нет? Лока портирована из Лост Альфы. На ней нет вообще динамического освещения почему-то, кроме парочки крутящихся alarm-ов. Я хз почему, толи спавн нормальн оне декомпилировался, толи что, но их нет. Зато есть обширная статика, так что на динамику свет можно легко перенести через скриптовую магию и активацию r2_allow_r1_lights on на нужной локации. Только вот источники света на динамике появляются, а лампочки (сами модельки) - нет. И я вообще не могу понять, что это за лампочки такие, как они сделаны. Судя по декомпилу, они не привязаны ни к спавну, ни к lights, ни к чему, это часть геометрии. Но это декомпил, так что черт его знает на самом деле. Думал, может thm файлы шалят, но так и не понял, какие опции в них могут на такое влиять. В общем, буду благодарен любой информации. Наглядно показываю, о чем говорю: Спойлер Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
D37a8b 0 Опубликовано 25 марта, 2023 (изменено) АлеБард Всё указано верно FalkineIsaku все равно не работает, ничего не изменилось, поэтому я думаю проблема не здесь, а в чем то другом, как мне кажется игра просто не видит логику, а почему еще это может случаться кроме логики? Ещё я заметил что если подойти к нпс случается такой вылет Expression : fatal error Function : CScriptEngine::lua_pcall_failed File : C:\xray\stcop_engine\src\xrServerEntities\script_engine.cpp Line : 213 Description : <no expression> Arguments : LUA error: ....r. call of pripyat3\gamedata\scripts\sound_theme.script:225: bad argument #1 to 'gsub' (string expected, got nil) Изменено 25 марта, 2023 пользователем D37a8b Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FalkineIsaku 81 Опубликовано 25 марта, 2023 D37a8b Насчёт вылета попробуйте убрать строчку "snd_on_use = {!dist_to_actor_le(3)} nil" в секции meet. А вот насчёт не рабочей логики к сожалению не осталось идей исправления( 𝐒𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟, 𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫…𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
D37a8b 0 Опубликовано 25 марта, 2023 FalkineIsaku Вылет остался, но и на этом спасибо, буду искать или снова переделывать Дополнено 27 минуты спустя Добрый день, у меня наитупейший вопрос. в общем я перенес кордон и чн, в сдк создал спавн поинт игрока, вписал в файлах имя, снаряжение, но в игре этого нет, только персонаж со случайным именем и вообще другим инвентарем, даже не как в оригинале, я думаю может его надо где то ещё зарегистрировать или что-то другое, можете пожалуйста объяснить, что вообще надо делать для изменения гг Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FalkineIsaku 81 Опубликовано 25 марта, 2023 D37a8b Поменяй класс персонажа на actor, там default обычно стоит. 𝐒𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟, 𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫…𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
D37a8b 0 Опубликовано 25 марта, 2023 (изменено) FalkineIsaku где именно, в сдк, в character_desc, в actor.ltx ещё куда? Изменено 25 марта, 2023 пользователем D37a8b Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
АлеБард 5 Опубликовано 25 марта, 2023 вроде простейший вылет, но стандартные методы его решения не помогают Спойлер Expression : cross_table().header().level_guid() == level_graph().header().guid() Function : CAI_Space::load File : ai_space.cpp Line : 113 Description : cross_table doesn't correspond to the AI-map какие еще могут быть причины у этого вылета если: сетку вместе со спавном скомпилировал, level ai и новый all.spawn перенес в игру хочешь обмануть человека - скажи ему правду. хочешь обмануть меня - скажи... блин, в голове звучало лучше Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
D37a8b 0 Опубликовано 25 марта, 2023 В 26.08.2020 в 12:09, Overf1rst сказал: Делать Compile → Build следует только в том случае, если нужно скомпилировать геометрию уровня! Если это сделать ещё раз, папка с уровнем будет очищена, и тогда всё придётся компилировать заново. Отсюда и все вытекающие последствия с сеткой и спавном, которые не компилируются. Для начала надо будет снова собрать геометрию, чтобы, в свою очередь, собрать АИ-сетку! Ещё раз по порядку: если у вас скомпилирована геометрия и нужно вносить правки только в спавн и в АИ - делать нужно исключительно Compile → Make Game и Compile → Make AI-map (тут порядок не важен). Далее, если собрана геометрия (в папке с уровнем есть build.cform), нужно скомпилировать АИ-сетку - tool_compile_xrAI.cmd. После этого уже можно начать компилировать спавн - tool_create_spawn.cmd. Локация должна быть зарегистрирована в конфигах. Если есть скомпилированный уровень, который надо декомпилировать, то для дальнейшей компиляции АИ-сетки на нём в любом случае придётся компилировать геометрию, поскольку в релизные версии уровней не кладут файл build.cform! у меня такой же вылет был, мне помог этот пост, но тебе может не поможет, не знаю Дополнено 0 минут спустя АлеБард Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FalkineIsaku 81 Опубликовано 25 марта, 2023 D37a8b В сдк 𝐒𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟, 𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫…𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
D37a8b 0 Опубликовано 25 марта, 2023 FalkineIsaku Спасибо, все работает, осталось мне разобраться с логикой Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты