Difference between revisions of "Bethesda Tutorial Quest Objectives/ru"
imported>Vitamant m |
imported>Vitamant |
||
Line 1: | Line 1: | ||
{{PageTitle| | {{PageTitle|Задачи}} | ||
{{RussianPage|e}} | {{RussianPage|e}} | ||
{{Tutorial Index/ru | {{Tutorial Index/ru | ||
Line 15: | Line 14: | ||
В этой главе ты научишься задавать цели задания и пользоваться маркерами, ведя беспомощных игроков по огромному миру игры. Заодно, разберешься что делать после завершения квеста, чтобы он не висел в списке текущих заданий до конца времен. | В этой главе ты научишься задавать цели задания и пользоваться маркерами, ведя беспомощных игроков по огромному миру игры. Заодно, разберешься что делать после завершения квеста, чтобы он не висел в списке текущих заданий до конца времен. | ||
<br><br>Ты узнаешь: | <br><br>Ты узнаешь: | ||
* Как создавать | * Как создавать задачи и что такое псевдонимы. | ||
* Как изменять активность | * Как изменять активность задач. | ||
* Как завершить квест | * Как завершить квест. | ||
* Немного о дополнительных возможностях стадий квеста | * Немного о дополнительных возможностях стадий квеста. | ||
= | =Задачи= | ||
В процессе выполнения | В процессе выполнения квестов, игроки могут заглянуть в журнал, чтобы определиться, куда им нужно идти и что сделать, чтобы завершить текущую стадию задания. Для этого и существуют задачи. | ||
И первым шагом на пути к | И первым шагом на пути к ним, будет определение цели и погружение в удивительный мир ''Псевдонимов''. | ||
=Псевдонимы= | =Псевдонимы= | ||
Псевдонимы - это своего рода участники нашей истории. Различные существа, места, предметы, которые будут играть какую-либо роль в задании. Каждый псевдоним указывает на конкретную ссылку или место в игровом мире. В нашем случае, своими псевдонимами обзаведутся: квестодатель Бенду, вор и амулет. | Псевдонимы - это своего рода участники нашей истории. Различные существа, места, предметы, которые будут играть какую-либо роль в задании. Каждый псевдоним указывает на конкретную ссылку или место в игровом мире. В нашем случае, своими псевдонимами обзаведутся: квестодатель Бенду, вор и амулет. | ||
Вернемся к | Вернемся к нашему заданию. Открой окно квеста и перейди на вкладку {{ulink|Quest_Alias_Tab|Quest Aliases}}. Посередине ты увидишь большую таблицу. Щелкни ПКМ по ней и выбери "New Reference Alias", чтобы открыть еще большее окошко. К счастью, большая часть элементов этого окна нас не интересует. О ней ты прочитаешь позже, в {{ulink|Bethesda_Tutorial_Quest_Aliases|посвященной псевдонимам статье}}). | ||
Напечатай в поле "Alias Name" имя "Bendu". Ниже, в группе Fill Type, выбери "Unique Actor" и из списка - "GSQBenduOlo". В итоге окно должно выглядеть так: | Напечатай в поле "Alias Name" имя "Bendu". Ниже, в группе Fill Type, выбери "Unique Actor" и из списка - "GSQBenduOlo". В итоге окно должно выглядеть так: | ||
Line 47: | Line 46: | ||
Как и прежде создай новый псевдоним. Назови его "Amulet" и измени тип на "Create Reference to Object". Идем слева направо: | Как и прежде создай новый псевдоним. Назови его "Amulet" и измени тип на "Create Reference to Object". Идем слева направо: | ||
* Выбираем "GSQAmulet" из списка - | * Выбираем "GSQAmulet" из списка - прототип нашего амулета. | ||
* Уровень сложности оставляем без изменений (поскольку мы имеем дело с предметом, а не персонажем, он ни на что не влияет). | * Уровень сложности оставляем без изменений (поскольку мы имеем дело с предметом, а не персонажем, он ни на что не влияет). | ||
* Изменяем режим на "Create '''In'''" | * Изменяем режим на "Create '''In'''" | ||
Line 56: | Line 55: | ||
Как ты можешь догадаться, мы создали новую ссылку на амулет и поместили ее в инвентарь вора... Правильно, там теперь два амулета. Открываем GSQThief и удаляем амулет из инвентаря. | Как ты можешь догадаться, мы создали новую ссылку на амулет и поместили ее в инвентарь вора... Правильно, там теперь два амулета. Открываем GSQThief и удаляем амулет из инвентаря. | ||
=Создание | =Создание задач= | ||
Снова открываем окно квеста и идем на вкладку Quest Objectives. Вот здесь и создаются видимые игроку цели задания. | Снова открываем окно квеста и идем на вкладку Quest Objectives. Вот здесь и создаются видимые игроку цели задания. | ||
У | У каждой задачи есть индекс (номер, по которому на нее можно сослаться); текст, демонстрируемый игроку; и список целей, на которые будут указывать стрелки на компасе, в игре. | ||
Что бы создать | Что бы создать новую задачу щелкни ПКМ по верхней таблице и выбери "New" из меню. В группе "Quest Objective Data" под таблицей измени индекс на 10 и отображаемый текст на "Убить вора." | ||
{{InDepth|Обычно, индекс | {{InDepth|Обычно, индекс задачи задают такой же, как и индекс стадии квеста, которой она соответствует. В больших и сложных квестах это не всегда удобно, но в нашем случае, как мы скоро увидим, это существенно упростит жизнь.}} | ||
Наконец, в таблице ниже щелкаем ПКМ и выбираем "New", чтобы задать цель квеста. Появится новая строка с большим и страшным "NO TARGET" в первой колонке. В списке "Target Alias", чуть ниже, выбери "Thief". (Страшная надпись изменится только после того, как ты щелкнешь | Наконец, в таблице ниже щелкаем ПКМ и выбираем "New", чтобы задать цель квеста. Появится новая строка с большим и страшным "NO TARGET" в первой колонке. В списке "Target Alias", чуть ниже, выбери "Thief". (Страшная надпись изменится только после того, как ты щелкнешь куда-нибудь еще [н.п. по той же самой таблице]) | ||
Теперь | Теперь создадим другую задачу: | ||
* '''Index:''' 20 | * '''Index:''' 20 | ||
* '''Display Text:''' Добудьте амулет Бенду Оло | * '''Display Text:''' Добудьте амулет Бенду Оло | ||
* '''Target Alias:''' Amulet | * '''Target Alias:''' Amulet | ||
И еще | И еще одну: | ||
* '''Index:''' 30 | * '''Index:''' 30 | ||
* '''Display Text:''' Верните амулет Бенду Оло. | * '''Display Text:''' Верните амулет Бенду Оло. | ||
Line 81: | Line 80: | ||
[[Image:ObjectiveWindowFilled.png|600px]] | [[Image:ObjectiveWindowFilled.png|600px]] | ||
Теперь, когда | Теперь, когда задачи определены, нам осталось "сказать" игре, когда она должна их отобразить. | ||
=Установка | =Установка задач= | ||
Помнишь ту страшную функцию <code>SetObjectiveDisplayed()</code>? Вот тут то она и используется. Если по какой-либо причине первая функция не вызовет обновление | Помнишь ту страшную функцию <code>SetObjectiveDisplayed()</code>? Вот тут то она и используется. Если по какой-либо причине первая функция не вызовет обновление задач, то эта гарантирует, что они все-таки будут обновлены. Советую указывать обе. (''а я советую корректно настраивать стадии квеста (см.ниже) - прим.переводчика'') | ||
Вернись на вкладку Quest Stages. Сейчас мы усложним квест, добавив в него немного логики. | Вернись на вкладку Quest Stages. Сейчас мы усложним квест, добавив в него немного логики. | ||
Для того чтобы добавить | Для того чтобы добавить скрипты или запись в журнал, необходимо иметь хотя бы один элемент в таблице "Log Entry" (справа), соответствующий нужной стадии. Выбери 10ую стадию, щелкни ПКМ по таблице "Log Entry" и выбери "New." | ||
Записанные здесь фрагменты текста будут появляться в журнале игрока. Отображаться будет только последняя запись, поэтому можешь использовать его для обновления | Записанные здесь фрагменты текста будут появляться в журнале игрока. Отображаться будет только последняя запись, поэтому можешь использовать его для обновления задач, когда это необходимо. В поле ввода "Log Entry" запиши следующее: | ||
<blockquote><i>Я встретил Бенду Оло. Он рассказал, что у него украли амулет. Он обещает заплатить двойную цену тому, кто вернет ему пропажу.</i></blockquote> | <blockquote><i>Я встретил Бенду Оло. Он рассказал, что у него украли амулет. Он обещает заплатить двойную цену тому, кто вернет ему пропажу.</i></blockquote> | ||
Line 97: | Line 96: | ||
Щелкни в поле справа (на вкладке Papyrus Fragment). | Щелкни в поле справа (на вкладке Papyrus Fragment). | ||
Вводи: <code>SetObjectiveDisplayed(10)</code>. Нажми кнопку "Compile", чтобы убедиться, что все введено корректно. Как ты, наверное, догадался, это изменит | Вводи: <code>SetObjectiveDisplayed(10)</code>. Нажми кнопку "Compile", чтобы убедиться, что все введено корректно. Как ты, наверное, догадался, это изменит текущую задачу на 10, поставив перед игроком новые цели. Поскольку, это первая задача, отображаемая в квесте, это вызовет всплывающее сообщение о том, что задание начато. | ||
[[Image:SettingObjective10.png|600px]] | [[Image:SettingObjective10.png|600px]] | ||
Line 110: | Line 109: | ||
</source> | </source> | ||
{{InDepth|Ты ведь внимательно на них посмотрел и заметил различия, верно? Одна функция заканчивается на "Completed" ( | {{InDepth|Ты ведь внимательно на них посмотрел и заметил различия, верно? Одна функция заканчивается на "Completed" (завершена), другая на "Displayed" (отображена) - будь внимателен, а не то завершишь задачу, которую игрок еще в глаза не видел!}} | ||
Log Entry можно оставить пустым, так как общий сюжет квеста не изменился. | Log Entry можно оставить пустым, так как общий сюжет квеста не изменился. | ||
Line 116: | Line 115: | ||
Сделай тоже самое для стадии 30, с той лишь разницей, что завершенным нужно сделать ориентир 20, а отобразить - 30. | Сделай тоже самое для стадии 30, с той лишь разницей, что завершенным нужно сделать ориентир 20, а отобразить - 30. | ||
Наконец, в стадии 40 заверши ориентир 30. Кроме того, отметь флажок "Complete Quest" под полем "Log Entry". Теперь, достигнув последней стадии, квест | Наконец, в стадии 40 заверши ориентир 30. Кроме того, отметь флажок "Complete Quest" под полем "Log Entry". Теперь, достигнув последней стадии, появится сообщение о том, что квест успешно завершен. (А задание переместится в соответствующий раздел журнала, дабы не мозолило глаза.) | ||
Последняя запись в журнале должна подвести итог нашего приключения. Например так: | Последняя запись в журнале должна подвести итог нашего приключения. Например так: |
Revision as of 13:57, 13 April 2012
Задачи
На русском языке Требуется помощь редактора |
Ориентиры | |
---|---|
Серия: Основы квестописания, глава 6 | |
К другим учебникам | |
Предыдущая статья | Следующая статья |
Краткий обзор
В этой главе ты научишься задавать цели задания и пользоваться маркерами, ведя беспомощных игроков по огромному миру игры. Заодно, разберешься что делать после завершения квеста, чтобы он не висел в списке текущих заданий до конца времен.
Ты узнаешь:
- Как создавать задачи и что такое псевдонимы.
- Как изменять активность задач.
- Как завершить квест.
- Немного о дополнительных возможностях стадий квеста.
Задачи
В процессе выполнения квестов, игроки могут заглянуть в журнал, чтобы определиться, куда им нужно идти и что сделать, чтобы завершить текущую стадию задания. Для этого и существуют задачи.
И первым шагом на пути к ним, будет определение цели и погружение в удивительный мир Псевдонимов.
Псевдонимы
Псевдонимы - это своего рода участники нашей истории. Различные существа, места, предметы, которые будут играть какую-либо роль в задании. Каждый псевдоним указывает на конкретную ссылку или место в игровом мире. В нашем случае, своими псевдонимами обзаведутся: квестодатель Бенду, вор и амулет.
Вернемся к нашему заданию. Открой окно квеста и перейди на вкладку Quest Aliases (en). Посередине ты увидишь большую таблицу. Щелкни ПКМ по ней и выбери "New Reference Alias", чтобы открыть еще большее окошко. К счастью, большая часть элементов этого окна нас не интересует. О ней ты прочитаешь позже, в посвященной псевдонимам статье).
Напечатай в поле "Alias Name" имя "Bendu". Ниже, в группе Fill Type, выбери "Unique Actor" и из списка - "GSQBenduOlo". В итоге окно должно выглядеть так:
Щелкни по кнопке "ОК", чтобы закрыть окно. Теперь добавь псевдоним вору, назови его "Thief". Вор не является уникальным персонажем (поскольку создан по шаблону), поэтому используй тип Specific Reference. Щелкни по большой кнопке "Select Forced Reference" справа от выбранного режима. Есть два способа указать на ссылку:
- Выбрать "ReachwindEyrie01" в списке ячеек (Cell) и "GSQThief" в списке ссылок (Ref).
- Или, если Reachwind Eyrie загружен и отображается в окне визуализации, ты можешь щелкнуть по кнопке "Select Reference in Render Window". В этом случае курсор примет форму мишени. После чего дважды щелкни ЛКМ по зеленой букве M, обозначающей нашего вора, чтобы выбрать его (или ПКМ для отмены).
Каким бы путем ты не пошел, в итоге нажми кнопку "ОК" в этом окне и окне псевдонимов.
Мы добрались до третьего псевдонима (для амулета), но тут есть свои особенности. Уникальными могут быть только персонажи. А Unique Actor конечно же не будет работать с предметами. И воспользоваться прямыми ссылками мы не можем, так как единственный экземпляр амулета находится в рюкзаке у вора. Так что попросим псевдоним самостоятельно создать ссылку на объект.
Как и прежде создай новый псевдоним. Назови его "Amulet" и измени тип на "Create Reference to Object". Идем слева направо:
- Выбираем "GSQAmulet" из списка - прототип нашего амулета.
- Уровень сложности оставляем без изменений (поскольку мы имеем дело с предметом, а не персонажем, он ни на что не влияет).
- Изменяем режим на "Create In"
- Выбираем Thief из последнего списка.
Как ты можешь догадаться, мы создали новую ссылку на амулет и поместили ее в инвентарь вора... Правильно, там теперь два амулета. Открываем GSQThief и удаляем амулет из инвентаря.
Создание задач
Снова открываем окно квеста и идем на вкладку Quest Objectives. Вот здесь и создаются видимые игроку цели задания.
У каждой задачи есть индекс (номер, по которому на нее можно сослаться); текст, демонстрируемый игроку; и список целей, на которые будут указывать стрелки на компасе, в игре.
Что бы создать новую задачу щелкни ПКМ по верхней таблице и выбери "New" из меню. В группе "Quest Objective Data" под таблицей измени индекс на 10 и отображаемый текст на "Убить вора."
Наконец, в таблице ниже щелкаем ПКМ и выбираем "New", чтобы задать цель квеста. Появится новая строка с большим и страшным "NO TARGET" в первой колонке. В списке "Target Alias", чуть ниже, выбери "Thief". (Страшная надпись изменится только после того, как ты щелкнешь куда-нибудь еще [н.п. по той же самой таблице])
Теперь создадим другую задачу:
- Index: 20
- Display Text: Добудьте амулет Бенду Оло
- Target Alias: Amulet
И еще одну:
- Index: 30
- Display Text: Верните амулет Бенду Оло.
- Target Alias: Bendu
В итоге, окно должно выглядеть так:
Теперь, когда задачи определены, нам осталось "сказать" игре, когда она должна их отобразить.
Установка задач
Помнишь ту страшную функцию SetObjectiveDisplayed()
? Вот тут то она и используется. Если по какой-либо причине первая функция не вызовет обновление задач, то эта гарантирует, что они все-таки будут обновлены. Советую указывать обе. (а я советую корректно настраивать стадии квеста (см.ниже) - прим.переводчика)
Вернись на вкладку Quest Stages. Сейчас мы усложним квест, добавив в него немного логики.
Для того чтобы добавить скрипты или запись в журнал, необходимо иметь хотя бы один элемент в таблице "Log Entry" (справа), соответствующий нужной стадии. Выбери 10ую стадию, щелкни ПКМ по таблице "Log Entry" и выбери "New."
Записанные здесь фрагменты текста будут появляться в журнале игрока. Отображаться будет только последняя запись, поэтому можешь использовать его для обновления задач, когда это необходимо. В поле ввода "Log Entry" запиши следующее:
Я встретил Бенду Оло. Он рассказал, что у него украли амулет. Он обещает заплатить двойную цену тому, кто вернет ему пропажу.
Щелкни в поле справа (на вкладке Papyrus Fragment).
Вводи: SetObjectiveDisplayed(10)
. Нажми кнопку "Compile", чтобы убедиться, что все введено корректно. Как ты, наверное, догадался, это изменит текущую задачу на 10, поставив перед игроком новые цели. Поскольку, это первая задача, отображаемая в квесте, это вызовет всплывающее сообщение о том, что задание начато.
Теперь выбери стадию 20 из списка слева и создай новую строку справа. Как ты помнишь, эта стадия наступает, когда игрок убивает вора, но еще не взял амулет. Что мы хотим? Хотим мы сказать игроку две вещи: что предыдущая цель (убить вора) успешно выполнена, и что надо порыться в останках усопшего. Для этого нам потребуется всего две строчки скрипта:
SetObjectiveCompleted(10) ; Успешно завершаем 10ую стадию
SetObjectiveDisplayed(20) ; Отображаем 20ую
Log Entry можно оставить пустым, так как общий сюжет квеста не изменился.
Сделай тоже самое для стадии 30, с той лишь разницей, что завершенным нужно сделать ориентир 20, а отобразить - 30.
Наконец, в стадии 40 заверши ориентир 30. Кроме того, отметь флажок "Complete Quest" под полем "Log Entry". Теперь, достигнув последней стадии, появится сообщение о том, что квест успешно завершен. (А задание переместится в соответствующий раздел журнала, дабы не мозолило глаза.)
Последняя запись в журнале должна подвести итог нашего приключения. Например так:
Мой новый знакомый, Бенду Оло, сторицей вознаградил меня за возвращение похищенного амулета.
Проверка результата
Теперь, по мере выполнения квеста, ты будешь видеть, как изменяются цели в журнале заданий.
Предыдущая статья | К другим учебникам | Следующая статья |
Language: | English • français • русский |
---|