Difference between revisions of "Bethesda Tutorial Dialogue/ru"
→Scripting Dialogue
imported>Vitamant |
imported>Vitamant |
||
Line 126: | Line 126: | ||
Теперь, когда игрок выберет "Тебе чем-нибудь помочь?", Бенду произнесет свой монолог, а затем предложит выбрать одну из двух связанных тем. Темы будут отображаться в том порядке, в котором они были привязаны к главной теме. | Теперь, когда игрок выберет "Тебе чем-нибудь помочь?", Бенду произнесет свой монолог, а затем предложит выбрать одну из двух связанных тем. Темы будут отображаться в том порядке, в котором они были привязаны к главной теме. | ||
= | =Скрипты в диалогах= | ||
Пора тебе познакомиться с местной системой скриптов. Не переживай, ничего сложного, даже если это не твой конёк. | |||
Итак, у тебя есть простенький диалог с двумя вариантами ответов. Но игра понятия не имеет, что должна делать, когда игрок выбирает тот или иной вариант. Зато это знаешь ты. Осталось донести эти знания до игры. | |||
Дважды щелкни по тексту "О, спасибо..." под темой GSQ01MeetingBenduYes. (Заметь, что тебе сразу же открылось окно редактирования монолога, без промежуточного окна темы) | |||
В нижней части этого окна есть два поля: "Begin" и "End." Скрипт в первом выполняется, когда персонаж начинает произносить первую фразу, скрипт во втором - когда, заканчивает последнюю. (В терминологии скриптописания эти маленькие кусочки зовутся фрагментами скрипта [см. {{ulink|Topic_Info_Fragments|Topic Info Fragments}} для дополнительной информации.) | |||
В поле End записывай следующие скриптовые команды (смотри не ошибись!): <br /> | |||
<code>GetOwningQuest().SetObjectiveDisplayed(10) <br /> | <code>GetOwningQuest().SetObjectiveDisplayed(10) <br /> | ||
GetOwningQuest().SetStage(10)</code> | GetOwningQuest().SetStage(10)</code> | ||
О том, что делает <code>SetObjectiveDisplyed(10)</code> ты узнаешь позже. | |||
Функция <code>SetStage(10)</code>, как не трудно догадаться, устанавливает "10" текущей стадией квеста. Код <code>GetOwningQuest()</code> вернет экземпляр квеста, которому принадлежит диалог. Зачем это нужно? Затем, что игра не уверена, что ты хочешь изменить стадию именно этого квеста. Возможно, ты хочешь изменить стадию другого квеста, к которому текущий диалог не имеет никакого отношения. Приходится вдаваться в конкретику. | |||
Нажми кнопку "Compile" и в списке скриптов справа увидишь нечто трудно невнятное и трудно читаемое. Не обращай внимания. (Если ты все-таки ошибся в написании, вместо скрипта со странным названием, ты увидишь сообщение об ошибке). | |||
Перед закрытием окно должно выглядеть примерно так: | |||
[[Image:ScriptedDialogue.png|600px]] | [[Image:ScriptedDialogue.png|600px]] | ||
Вот и всё! Закрывай окно (естественно кнопкой "ОК") и радуйся жизни. Заметь, что перед текстом монолога появился префикс "[S]", означающий, что в этом монологе присутствуют какие-то скрипты. | |||
=Branches and Conditions= | =Branches and Conditions= |