Vadyanchikus 5 Опубликовано 12 Июля 2014 (изменено) Люди, помогите, пожалуйста. Я здесь недавно, но кой-какой опыт имею. Сейчас пытаюсь восстановить у Сидоровича одно задание из сборок - одни вылеты! Уже неделю маюсь! Интересно, что вылеты движковые: stack trace: 0023:008F105B xrLUA.dll0023:05AAE637 xrGame.dll0023:05AB20A0 xrGame.dllИногда движок вносит разнообразие - меняет циферки и буковки. Подобные вылеты возникали постоянно, сначала при включении игры, а потом при разговоре с Сидоровичем или Волком. Я решил проверить работоспособность диалога задания вообще и вообще убрал инфопоршни, скрипты, вставлял как отдельный диалог, встраивал в уже существующие, в итоге, оставил тупо текст. И что вы думаете: вылет!!! Я уже не знаю, в чём проблема. Платформа: S.T.A.L.K.E.R.: Тень Чернобыля 1.0006. Такое ощущение, будто движок намеренно не принимает какие-либо изменения.В теме вообще хоть что-то прочитано ? dc Да, ничего не подходит. Везде вылеты, которые я и сам могу исправить, а тут движковый. Изменено 12 Июля 2014 пользователем Vadyanchikus Поделиться этим сообщением Ссылка на сообщение
Vadyanchikus 5 Опубликовано 12 Июля 2014 (изменено) А чему помогать-то ? Где коды диалога(ов)\задания(ий), что значит "восстановить у Сидоровича".....Мне Начнём с диалогов, поскольку игра вылетает на стадии добавления диалога. Вот мой кусок диалога (я его встроил в уже существующую ветку, где Сидорович отвечает на вопросы о Зоне, поскольку при добавлении нового такой же вылет): Восстановить в смысле добавить. Это задание было в сборке 2205, я решил его вернуть, прописав заново. <phrase id="100"> <has_info>esc_serious_talk</has_info> <!--<dont_has_info>escape_artefact_start</dont_has_info> <dont_has_info>escape_artefact_gain</dont_has_info>--> <text>escape_artefact_dialog_0</text> <next>11</next> </phrase> <phrase id="11"> <!--<dont_has_info>escape_artefact_done</dont_has_info> <dont_has_info>escape_artefacts</dont_has_info>--> <text>escape_artefact_dialog_1</text> <next>111</next> <next>112</next> </phrase> <phrase id="111"> <text>escape_artefact_dialog_11</text> <!--<give_info>escape_artefacts</give_info>--> </phrase> <phrase id="112"> <text>escape_artefact_dialog_12</text> <next>1121</next> <next>1122</next> </phrase> <phrase id="1121"> <!--<precondition>escape_dialog.trader_need_artefact</precondition>--> <text>escape_artefact_dialog_121</text> <next>11211</next> <next>11212</next> </phrase> <phrase id="11211"> <text>escape_artefact_dialog_1211</text> <next>112111</next> </phrase> <phrase id="112111"> <text>escape_artefact_dialog_12111</text> <!--<give_info>escape_artefact_start</give_info>--> </phrase> <phrase id="11212"> <text>escape_artefact_dialog_1212</text> <next>112121</next> </phrase> <phrase id="112121"> <text>escape_artefact_dialog_12121</text> </phrase> <phrase id="1122"> <!--<has_info>escape_artefact_done</has_info>--> <text>escape_artefact_dialog_122</text> </phrase> Изменено 14 Июля 2014 пользователем Kirgudu убрал портянку под спойлер Поделиться этим сообщением Ссылка на сообщение
Vadyanchikus 5 Опубликовано 13 Июля 2014 (изменено) Нету. Это меня и пугает. Я так ещё посмотрел - я вставил этот кусок не в ту ветку, то есть эта ветка в character_desc_*** даже не прописана, следовательно мой кусок диалога тупо не действует в игре, но вылет всё равно есть. Изменено 13 Июля 2014 пользователем Vadyanchikus Поделиться этим сообщением Ссылка на сообщение
Vadyanchikus 5 Опубликовано 13 Июля 2014 Хемуль36рус, конечно понимаю. Делаю в Notepad++, так что с тегами проблем нет. И ссылки на тексты есть.Dennis_Chikin, здесь всё: https://yadi.sk/d/cPq61NpsWVT2e Поделиться этим сообщением Ссылка на сообщение
Vadyanchikus 5 Опубликовано 14 Июля 2014 (изменено) Kirgudu, я попробую удалить все эти теги и все эти условия с инфопоршнями вообще, но, по-моему, проблема не в этом. Вылеты происходили ещё до этого. А за плагин спасибо, посмотрю. Да, вылеты продолжаются, только что проверил. Изменено 14 Июля 2014 пользователем Vadyanchikus Поделиться этим сообщением Ссылка на сообщение
Vadyanchikus 5 Опубликовано 15 Июля 2014 (изменено) Нет, я по удалял открывающие теги: опять вылет. В итоге, я закомментировал мой диалог. Всё равно вылет . Попробую так - заново распакую ресурсы и вставлю свой диалог, при этом ничего другого не трогая (может, я до диалога что-то мог изменить, что вряд ли). А там посмотрим. Так, проблема решилась - диалог работает без вылетов. В чём проблема - не знаю, возможно, неправильный тег, который мне выдал плагин XML Tools (Kirgudu, спасибо!), хотя это, вроде, не должно быть движковой ошибкой. Теперь сделаю из этого диалога задание. Я не просто так спросил, удалил ли ты нижний закомментированный кусок целиком. Диалог внешне был совершенно правильным. Единственное место, из-за которого мог сбоить движок, было в том комментарии, вместе со всеми непарными тегами.Ну да ладно, проблема решилась - и хорошо. Kirgudu Изменено 15 Июля 2014 пользователем Kirgudu Поделиться этим сообщением Ссылка на сообщение
Vadyanchikus 5 Опубликовано 15 Июля 2014 (изменено) Я, наверное, криворук, но всё же мне опять нужна помощь. В общем, диалог рабочий вылетов нет (один, конечно, есть, но там понятная причина). В общем, в диалоге я прописал инфопоршень, который разрешает начать вести диалог только после принесения флешки от Шустрого, но не тут-то было: этот инфопоршень как будто в упор не читается и диалог можно начать сразу после инструктажа по КПК (поэтому собственно и вылет после пары веток в диалоге). При этом появляется сразу два диалога: на поиск арта и на его сдачу одновременно, причём я прописал, чтобы второй появился только после инфопоршней первого (немного запутано объясняю, поэтому выложу диалоги): Первый диалог, на получение задания <dialog id="esc_art"> <phrase_list> <has_info>esc_serious_talk</has_info> <has_info>tutorial_end</has_info> <phrase id="0"> <dont_has_info>esc_art_start</dont_has_info> <!--<dont_has_info>esc_art_gain</dont_has_info>--> <dont_has_info>esc_art_done</dont_has_info> <text>esc_art_dialog_0</text> <next>1</next> </phrase> <phrase id="1"> <dont_has_info>esc_art_done</dont_has_info> <dont_has_info>esc_arts</dont_has_info> <text>esc_art_dialog_1</text> <next>11</next> <next>12</next> </phrase> <phrase id="11"> <text>esc_art_dialog_11</text> <give_info>esc_arts</give_info> </phrase> <phrase id="12"> <text>esc_art_dialog_12</text> <next>121</next> <next>122</next> </phrase> <phrase id="121"> <precondition>escape_dialog.trader_need_art</precondition> <text>esc_art_dialog_121</text> <next>1211</next> <next>1212</next> </phrase> <phrase id="1211"> <text>esc_art_dialog_1211</text> <next>12111</next> </phrase> <phrase id="12111"> <text>esc_art_dialog_12111</text> <give_info>esc_art_start</give_info> </phrase> <phrase id="1212"> <text>esc_art_dialog_1212</text> <next>12121</next> </phrase> <phrase id="12121"> <text>esc_art_dialog_12121</text> </phrase> <phrase id="122"> <has_info>esc_art_done</has_info> <text>esc_art_dialog_122</text> </phrase> </phrase_list> </dialog> Второй диалог, на сдачу арта <dialog id="esc_art_done"> <phrase_list> <precondition>escape_dialog.have_esc_art</precondition> <!--<has_info>esc_art_gain</has_info>--> <dont_has_info>esc_art_done</dont_has_info> <phrase id="0"> <text>esc_art_done_0</text> <next>1</next> </phrase> <phrase id="1"> <text>esc_art_done_1</text> <action>escape_dialog.give_esc_art</action> <give_info>esc_art_done</give_info> </phrase> </phrase_list> </dialog> Повторюсь, что инфопоршни как будто не читаются, что касается и скриптовых строк, то есть precondition и action. Прошу пользоваться тегами «code» и спойлерами. Kirgudu Изменено 16 Июля 2014 пользователем Kirgudu Поделиться этим сообщением Ссылка на сообщение
Vadyanchikus 5 Опубликовано 16 Июля 2014 Ну, так в этом-то и дело, что я сначала расположил эти элементы сначала внутри phrase, а уже потом внутри phrase_list. Ладно, тогда почитаю, потом исправлю, что не так. В любом случае, спасибо большое за помощь. Поделиться этим сообщением Ссылка на сообщение
Vadyanchikus 5 Опубликовано 17 Июля 2014 (изменено) Это опять я. В общем, у меня проблемы с заданием: оно не создаётся в КПК (да и вообще не появляется каких-либо признаков, что я его взял), скрипт задания на выдачу награды не работает (то есть вообще ничего не происходит, что есть скрипт, что его нет). Кто может помочь - помогите, всё здесь: https://yadi.sk/d/KZfrN-NqWmoeJ. Мои изменения я пометил так: ***...***. Тексты я, пожалуй, скидывать не буду, ибо они не нужны. Изменено 17 Июля 2014 пользователем Vadyanchikus Поделиться этим сообщением Ссылка на сообщение
Vadyanchikus 5 Опубликовано 17 Июля 2014 (изменено) Хм... Хорошо, поправлю. Тогда ещё один вопрос: почему диалог на выдачу задания не выдаётся сразу после разговора с Сидоровичем про флешку. Раньше я мог говорить с ним после отдачи флешки. Я решил облегчить себе жизнь и выдать диалог сразу после получения задания про флешку, поэтому стёр соответствующий тэг. Но игра всё равно выдаёт диалог только после выполнения задания, никак не раньше, как мне надо. В чём причина? Всё, понял. Там с инфопоршнем одним намудрили, я не заметил. Изменено 17 Июля 2014 пользователем Vadyanchikus Поделиться этим сообщением Ссылка на сообщение
Vadyanchikus 5 Опубликовано 17 Июля 2014 Спасибо большое, помогло. Есть теперь несколько недочётов, но они не приводят к вылетам, надеюсь, сам найду решение (если интересно, то проблемы следующие: нет одного пункта в задании в КПК (думаю, я знаю, в чём проблема), задание не переносится в Выполненные и опять же не забирается артефакт Выверт и отдаётся артефакт Грави, которого у меня в инвентаре нет). Поделиться этим сообщением Ссылка на сообщение
Vadyanchikus 5 Опубликовано 22 Июля 2014 Чуток на эту тему: ф-ция типа relocate_item_section НЕ проверяет наличие необходимого предмета, а передает его путем создания\спавна. Следовательно, необходимо использовать какой-то прекондишн на проверку - а есть ли у ГГ требуемый предмет в инвентаре(то-бишь в рюкзаке). Если есть - передаем, если нет - блокируем ветку в диалоге на передачу предмета. Хм... Я понял, о чём ты. Можно попробовать. Хотя одно условие уже есть, но используется не при выдаче награды, а при выполнении задания. Единственное, что я никак не пойму - задание механика Свободы на поиск водки (он потом прицел отдаёт). При выдаче награды используется как раз relocate_item_section, и никаких условий в скрипте нет. Может, у меня проблема из-за нескольких вариантов отдаваемого предмета? Поделиться этим сообщением Ссылка на сообщение