Перейти к контенту

Создание квеста


Рекомендуемые сообщения

Люди, помогите, пожалуйста. Я здесь недавно, но кой-какой опыт имею. Сейчас пытаюсь восстановить у Сидоровича одно задание из сборок - одни вылеты! Уже неделю маюсь! Интересно, что вылеты движковые:
 
stack trace:
 
0023:008F105B xrLUA.dll
0023:05AAE637 xrGame.dll
0023:05AB20A0 xrGame.dll

Иногда движок вносит разнообразие - меняет циферки и буковки. Подобные вылеты возникали постоянно, сначала при включении игры, а потом при разговоре с Сидоровичем или Волком. Я решил проверить работоспособность диалога задания вообще и вообще убрал инфопоршни, скрипты, вставлял как отдельный диалог, встраивал в уже существующие, в итоге, оставил тупо текст. И что вы думаете: вылет!!! Я уже не знаю, в чём проблема. Платформа: S.T.A.L.K.E.R.: Тень Чернобыля 1.0006. Такое ощущение, будто движок намеренно не принимает какие-либо изменения.

В теме вообще хоть что-то прочитано ? dc

 

Да, ничего не подходит. Везде вылеты, которые я и сам могу исправить, а тут движковый.

Изменено пользователем Vadyanchikus

Поделиться этим сообщением


Ссылка на сообщение

А чему помогать-то ? Где коды диалога(ов)\задания(ий), что значит "восстановить у Сидоровича".....

Мне :) 

Начнём с диалогов, поскольку игра вылетает на стадии добавления диалога. Вот мой кусок диалога (я его встроил в уже существующую ветку, где Сидорович отвечает на вопросы о Зоне, поскольку при добавлении нового такой же вылет):

Восстановить в смысле добавить. Это задание было в сборке 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>

 

Изменено пользователем Kirgudu
убрал портянку под спойлер

Поделиться этим сообщением


Ссылка на сообщение

Нету. Это меня и пугает. Я так ещё посмотрел - я вставил этот кусок не в ту ветку, то есть эта ветка в character_desc_*** даже не прописана, следовательно мой кусок диалога тупо не действует в игре, но вылет всё равно есть.

Изменено пользователем Vadyanchikus

Поделиться этим сообщением


Ссылка на сообщение

Kirgudu, я попробую удалить все эти теги и все эти условия с инфопоршнями вообще, но, по-моему, проблема не в этом. Вылеты происходили ещё до этого. А за плагин спасибо, посмотрю.

Да, вылеты продолжаются, только что проверил.

Изменено пользователем Vadyanchikus

Поделиться этим сообщением


Ссылка на сообщение

Нет, я по удалял открывающие теги: опять вылет. В итоге, я закомментировал мой диалог. Всё равно вылет :(. Попробую так - заново распакую ресурсы и вставлю свой диалог, при этом ничего другого не трогая (может, я до диалога что-то мог изменить, что вряд ли). А там посмотрим.


Так, проблема решилась - диалог работает без вылетов. В чём проблема - не знаю, возможно, неправильный тег, который мне выдал плагин XML Tools (Kirgudu, спасибо!), хотя это, вроде, не должно быть движковой ошибкой. Теперь сделаю из этого диалога задание.

 

Я не просто так спросил, удалил ли ты нижний закомментированный кусок целиком. Диалог внешне был совершенно правильным. Единственное место, из-за которого мог сбоить движок, было в том комментарии, вместе со всеми непарными тегами.
Ну да ладно, проблема решилась - и хорошо. Kirgudu

Изменено пользователем Kirgudu

Поделиться этим сообщением


Ссылка на сообщение

Я, наверное, криворук, но всё же мне опять нужна помощь. В общем, диалог рабочий вылетов нет (один, конечно, есть, но там понятная причина). В общем, в диалоге я прописал инфопоршень, который разрешает начать вести диалог только после принесения флешки от Шустрого, но не тут-то было: этот инфопоршень как будто в упор не читается и диалог можно начать сразу после инструктажа по КПК (поэтому собственно и вылет после пары веток в диалоге). При этом появляется сразу два диалога: на поиск арта и на его сдачу одновременно, причём я прописал, чтобы второй появился только после инфопоршней первого (немного запутано объясняю, поэтому выложу диалоги):

Первый диалог, на получение задания

<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

Изменено пользователем Kirgudu

Поделиться этим сообщением


Ссылка на сообщение

Ну, так в этом-то и дело, что я сначала расположил эти элементы сначала внутри phrase, а уже потом внутри phrase_list. Ладно, тогда почитаю, потом исправлю, что не так. В любом случае, спасибо большое за помощь.

Поделиться этим сообщением


Ссылка на сообщение

Это опять я. В общем, у меня проблемы с заданием: оно не создаётся в КПК (да и вообще не появляется каких-либо признаков, что я его взял), скрипт задания на выдачу награды не работает (то есть вообще ничего не происходит, что есть скрипт, что его нет). Кто может помочь - помогите, всё здесь: https://yadi.sk/d/KZfrN-NqWmoeJ. Мои изменения я пометил так: ***...***. Тексты я, пожалуй, скидывать не буду, ибо они не нужны.

Изменено пользователем Vadyanchikus

Поделиться этим сообщением


Ссылка на сообщение

Хм... Хорошо, поправлю. Тогда ещё один вопрос: почему диалог на выдачу задания не выдаётся сразу после разговора с Сидоровичем про флешку. Раньше я мог говорить с ним после отдачи флешки. Я решил облегчить себе жизнь и выдать диалог сразу после получения задания про флешку, поэтому стёр соответствующий тэг. Но игра всё равно выдаёт диалог только после выполнения задания, никак не раньше, как мне надо. В чём причина?
 

Всё, понял. Там с инфопоршнем одним намудрили, я не заметил.

Изменено пользователем Vadyanchikus

Поделиться этим сообщением


Ссылка на сообщение

Спасибо большое, помогло. Есть теперь несколько недочётов, но они не приводят к вылетам, надеюсь, сам найду решение (если интересно, то проблемы следующие: нет одного пункта в задании в КПК (думаю, я знаю, в чём проблема), задание не переносится в Выполненные и опять же не забирается артефакт Выверт и отдаётся артефакт Грави, которого у меня в инвентаре нет).

Поделиться этим сообщением


Ссылка на сообщение

Чуток на эту тему: ф-ция типа relocate_item_section НЕ проверяет наличие необходимого предмета, а передает его путем создания\спавна. Следовательно, необходимо использовать какой-то прекондишн на проверку - а есть ли у ГГ требуемый предмет в инвентаре(то-бишь в рюкзаке). Если есть - передаем, если нет - блокируем ветку в диалоге на передачу предмета.

Хм... Я понял, о чём ты. Можно попробовать. Хотя одно условие уже есть, но используется не при выдаче награды, а при выполнении задания. Единственное, что я никак не пойму - задание механика Свободы на поиск водки (он потом прицел отдаёт). При выдаче награды используется как раз relocate_item_section, и никаких условий в скрипте нет. Может, у меня проблема из-за нескольких вариантов отдаваемого предмета?

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...