Difference between revisions of "Bethesda Tutorial Dialogue/ru"

1,376 bytes added ,  15:57, 8 April 2012
imported>Vitamant
imported>Vitamant
Line 126: Line 126:
Теперь, когда игрок выберет "Тебе чем-нибудь помочь?", Бенду произнесет свой монолог, а затем предложит выбрать одну из двух связанных тем. Темы будут отображаться в том порядке, в котором они были привязаны к главной теме.
Теперь, когда игрок выберет "Тебе чем-нибудь помочь?", Бенду произнесет свой монолог, а затем предложит выбрать одну из двух связанных тем. Темы будут отображаться в том порядке, в котором они были привязаны к главной теме.


=Scripting Dialogue=
=Скрипты в диалогах=
{{Inuse/ru}}
Пора тебе познакомиться с местной системой скриптов. Не переживай, ничего сложного, даже если это не твой конёк.
We're going to make our first foray into the scripting system here, but it will be very straightforward, so don't worry if that's not your cup of tea.  


Right now we have a dialogue flow set up, but the game has no notion of what the various choices mean. When the player says, "Yes," we have to tell it that the player has accepted the quest and we're now at the next stage.  
Итак, у тебя есть простенький диалог с двумя вариантами ответов. Но игра понятия не имеет, что должна делать, когда игрок выбирает тот или иной вариант. Зато это знаешь ты. Осталось донести эти знания до игры.


Double-click on the text "Oh, thank you..." under the GSQ01MeetingBenduYes topic. (Note that this brings us directly to the Info window without first bringing up the Topic window.)
Дважды щелкни по тексту "О, спасибо..." под темой GSQ01MeetingBenduYes. (Заметь, что тебе сразу же открылось окно редактирования монолога, без промежуточного окна темы)


At the bottom of this window, you see fields for Scripts marked "Begin" and "End." The Begin script runs when the NPC starts saying the line, and the End script will run when he finishes. (In scripting terminology, these little pieces of script are called "script fragments" - see [[Topic_Info_Fragments|Topic Info Fragments]] for more details.)
В нижней части этого окна есть два поля: "Begin" и "End." Скрипт в первом выполняется, когда персонаж начинает произносить первую фразу, скрипт во втором - когда, заканчивает последнюю. (В терминологии скриптописания эти маленькие кусочки зовутся фрагментами скрипта [см. {{ulink|Topic_Info_Fragments|Topic Info Fragments}} для дополнительной информации.)


In the End field, enter this script command: <br />
В поле End записывай следующие скриптовые команды (смотри не ошибись!): <br />
<code>GetOwningQuest().SetObjectiveDisplayed(10) <br />
<code>GetOwningQuest().SetObjectiveDisplayed(10) <br />
GetOwningQuest().SetStage(10)</code>
GetOwningQuest().SetStage(10)</code>


You don't need to worry about the <code>SetObjectiveDisplyed(10)</code> part yet. It will be explained later on.
О том, что делает <code>SetObjectiveDisplyed(10)</code> ты узнаешь позже.


The <code>SetStage(10)</code> portion, as you might expect, sets a quest's current stage to 10. The <code>GetOwningQuest()</code> part just says that the quest we care about is the one that contains this dialogue. (Sometimes you might want a line in your quest to muck around in a different quest, so we have to be specific.)
Функция <code>SetStage(10)</code>, как не трудно догадаться, устанавливает "10" текущей стадией квеста. Код <code>GetOwningQuest()</code> вернет экземпляр квеста, которому принадлежит диалог. Зачем это нужно? Затем, что игра не уверена, что ты хочешь изменить стадию именно этого квеста. Возможно, ты хочешь изменить стадию другого квеста, к которому текущий диалог не имеет никакого отношения. Приходится вдаваться в конкретику.


If you press "Compile" you'll see some gobbledygook pop up under "Script Name" to the right. You can ignore that. (If you typed something wrong, though, the Editor will complain at you.)
Нажми кнопку "Compile" и в списке скриптов справа увидишь нечто трудно невнятное и трудно читаемое. Не обращай внимания. (Если ты все-таки ошибся в написании, вместо скрипта со странным названием, ты увидишь сообщение об ошибке).


When you're ready to close the window, it should look like this:  
Перед закрытием окно должно выглядеть примерно так:


[[Image:ScriptedDialogue.png|600px]]
[[Image:ScriptedDialogue.png|600px]]


And that's it! Close the window, and you're good to go. You'll note that in the dialogue view, this info's text now has "[S]" at the front of it, so we can easily spot which bits of dialogue have game logic attached to them without having to open each one.
Вот и всё! Закрывай окно (естественно кнопкой "ОК") и радуйся жизни. Заметь, что перед текстом монолога появился префикс "[S]", означающий, что в этом монологе присутствуют какие-то скрипты.


=Branches and Conditions=
=Branches and Conditions=
Anonymous user