Как создать квест в skyrim

Опубликовано: 22.07.2024

В этой главе вы пройдете через первые шаги в создании квестов для Skyrim, настройке общей структуры квестов в общих чертах.

  • Как структурировать квест до начала создания
  • Как сделать совершенно новый квест
  • Что такое "этапы квеста"(quest stages) и как их создавать

Начнем с достаточно высокой идеи для квеста. Это будет простенький квест, который даст игроку небольшой опыт и позволит почувствовать, как же строятся квесты в Creation Kit. Как только разобрались с этим, приступаем к делу.

Итак, мы можем разбить эту историю на последовательные этапы:

  • Pre-Quest: Игрок никогда не встречал Бенду Оло. Амулет находится в пещере, вместе с тем, кто его украл.
  • Stage 1: Игрок встречает Бенду Оло и получает задание вернуть амулет.
  • Stage 2: Игрок убивает вора.
  • Stage 3: Игрок получает амулет.
  • Stage 4: Игрок относит амулет обратно Бенду Оло и получает за это награду.

Это позволяет думать над стадиями квеста, как над событиями которые недавно произошли. Мы будем использовать эти стадии, чтобы определить, какие варианты диалога NPC предлагает игроку, установить задание и цель квеста, и следить за общим ходом квеста.

InDepth.jpg
Если вы подумаете наперед, вы можете понять что 3 стадия квеста может быть выполнена без убийства вора (через красться или карманную кражу) и что стадию 1 можно рассматривать как два отдельных события, если игрок отказывается помочь Бенду Оло при первой встрече. Мы покажем, как работать с обоими из них.

В окне Object Window, идем в Character -> Quest в списке категорий. Правый щелчок в любом месте списка квестов и выберите пункт "New."

ObjectWindowQuestSection.jpg

Этим мы вызовем окно Quest и стандартную вкладку Quest Data, которое может немного напугать своими виджетами, однако мы пройдем через все это.

Важные поля, на которые сейчас нужно обратить внимание (и заполнить), это:

  • ID: Это то, что используется внутри Creation Engine для идентификации квеста. Введите тут: "GSQ01" (без кавычек).
  • Quest Name: Название, которое увидит игрок, и которое будет ассоциироваться с квестом. Введите: "Единственная надежда Бенду Оло"
  • Priority: Влияет на порядок расположения диалогов, когда игрок использует много квестов. "60" это обычное значение для одиночных не сюжетных квестов, так что введите тут это число.
  • Type: Здесь выберите "Side Quest". Это влияет на отображение вашего квеста в журнале игрока.

StartedQuest.jpg

InDepth.jpg
Каждый объект в игре имеет свой собственный ID, поэтому он должен быть уникальным. Стандартная техника - это использовать префикс для всего, что вы делаете для одинарного квеста, так как проще увидеть все соответствующие этому квесту объекты используя фильтр в окне Object Window. (Внутри он также отмечает объекты, как квестовые, чтобы другие моддеры их в общем то не использовали.) В этом учебнике мы используем "GSQ" для "Getting Started Quest."

Откройте снова ваш квест, выполнив двойной щелчок по нему в списке. Нажмите на "Quest Stages" чтобы перейти (что не удивительно) к вкладке Quest Stages.

InDepth.jpg
Мы закрыли и открыли заново квест после ввода базовой информации, потому что до того как он был создан, некоторые опции не были доступны для изменения. Как только он появится в списке объектов, то будет полностью готов к внесению изменений.

Здесь мы сделаем макет квеста, как разбили его на этапы ранее. Таблица что слева (с колонкой названной "Index") это место где будет список этапов квеста. Правый щелчок в ней и выберите "New."

Это создаст для вас этап квеста прямо сейчас, с выбранным для редактирования номером этапа. Оставьте сейчас тут 0, мы будем считать это нашим "пред-квестовым" этапом, до того, как игрок взаимодействовал с содержимым квеста.

Правый щелчок в табице и выберите снова пункт "New" для создания другой стадии. Введите здесь "10" -- обычно мы даем квестовым стадиям номера с шаком в 10, потому что это дает гибкость в создании промежуточных стадий, если они понадобятся позже, без нужды что-либо переименовывать. (Если вы когда-нибудь программировали на BASIC, вы должны чувствовать себя как дома с этой условностью.)

Таким же образом создайте этапы с номерами 20, 30, и 40.

Ваша вкладка Quest Stages сейчас должна выглядеть вроде этого.

QuestStagesTabSection.jpg

Голый скелет квеста создан, но есть еще много работы, которую предстоит сделать.

Перед началом работы ОБЯЗАТЕЛЬНО откройте в Creation kit`е файл " Skyrim.esm "

На все запросы редактора при загрузке отвечать "Yes"

Подготовка идеи

Давайте начнем с идеи квеста.Это будет простой квест, так что вы сможете получить представление о том, как создавать квесты, построенные в Creation Kit.Если у вас есть, что внизу, то это просто вопрос деталей.

Так что мы можем разделить всю задумку в набор последовательных этапов истории:

  • Предварительный этап: игрок никогда не встречал Бенду Оло.Амулет находится в пещере, вместе с вором.
  • Этап 1: Игрок встретился Бенду Оло и была поставлена задача получить амулет.
  • Этап 2: Игрок убил вора.
  • Этап 3: Игрок получил амулет.
  • Этап 4: Игрок вернул амулет обратно Бенду Оло и получил свою награду.

Мы будем использовать эти этапы, чтобы определить, какие варианты диалога непись предлагает игроку, установить цели и отслеживать ход выполнения задания.

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


В Object Window перейдите к Character -> Quest в списке категорий. Щелкните правой кнопкой мыши в списке заданий и выберите "Новый".

Это вызовет окно:


Каждый объект в игре имеет свой ID, так что это должно быть уникальным. Распространенным методом является использование префикса для одного квеста - так легче увидеть все соответствующие ему объекты.На этом уроке мы будем использовать префикс "GSQ".

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

У каждого этапа есть свой номер. Оставьте первому "0"

Щелкните правой кнопкой мыши на таблице и выберите "Новый", чтобы создать еще один этап. Назовите его "10" - обычно начинают с шага 10, потому что это дает возможность вернуться и добавить дополнительные промежуточные этапы, если нужно.

Продолжим создание этапов с номером 20, 30 и 40.

Ваш вкладка "quest stages" теперь должна выглядеть примерно так.


Создание персонажа (Бенду Оло)

В Object Window перейдите в Actors -> Actor в списке категорий. Щелкните правой кнопкой мыши в списке актеров и выберите "Новый".

К счастью, большинство полей в окне "Actor" говорят сами за себя. Тем не менее, есть приличное количество установок, которые нам придется указать.


  • ID: То же, что и ID квеста, это должно быть уникальным для игры.Дайте ему ID GSQBenduOlo.(Обратите внимание, что идентификатор не может иметь пробелов или специальных символов.)
  • Name: имя, которое будет видно игроку."Бенду Оло" в нашем случае.
  • Short name: Как другие NPC будут ссылаться на перса..А сейчас просто называют его "Бенду".
  • Unique: Это только флажок нам нужен сейчас.Это позволяет движку знать, что это единственный актер этого типа в мире (в отличие от животных, например).Убедитесь, что это проверено.

Есть несколько вещей, которые мы должны установить с правой стороны.

  • Race: Довольно очевидно.Выберите "DarkElfRace" из выпадающего меню.Теперь Бенду будет иметь вид и расовые бонусы Темных Эльфов.
  • Voice type: Это определяет, каким голосом будет говорить актер.Установите его в качестве MaleDarkElf.

Наконец, идем на вкладку Инвентаризация.Здесь мы дадим ему одежду, чтобы он не просто бегал в трусах.

То, что актер предпочитает носить, определяет его снаряжение.На данный момент дадим ему костюм со шляпой, выбрав "FarmClothesOutfit01WithHat" в выпадающем меню "Экипировка по умолчанию".


Убедитесь, что вы нажали "ОК", а не "Отмена"!

Размещение персонажа

То, что мы сделали здесь, это лишь "душа" актера, чтобы матерелизовать его в игре, нам нужно создать ссылку на него.

Мы собираемся поместить Бенду в любую существующую локацию.В Mill Mixwater, есть заброшенный дом рабочих.Давайте поселим туда Бенду.


(У вас это окно может быть поменьше)

Убедитесь, что в выпадающем меню справа от "World Space" написано "Interiors", затем выберите "MixwaterMillWorkersHouse" из списка.
Дважды щелкните, чтобы загрузить его.



Навигация в окне визуализации:
-Масштаб- прокрутка колесика мыши
-Панорамное перемещение- зажать колесико мыши
-Прочие движения камерой- SHIFT

Перед нами возникло пространство. Даже не пытайтесь двигать незнакомые объекты (чревато последствиями)
Уменьшим немного, так? чтобы можно было видеть больше внутреннего пространства.
Теперь перенесем Бенду (GSQBenduOlo) прямо в окно визуализации:


Создание врага

Теперь мы собираемся сделать вора, который украл амулет у Бенду.Создайте нового актера, как мы делали раньше, и дайте ему ID "GSQThief и Name "Грязный вор".

Теперь все становится немного интересней.Вместо указания всех данных вора, мы используем шаблон.В левом нижнем углу окна Actor вы можете увидеть "Шаблон данных".


Использование шаблона позволяет типового актера.Это здорово для любого актера, а наш будет боевой, и мы можем легко использовать существующие уровневые списки и статистику, изменяя только те параметры, которые нам нужны.

Таким образом, из выпадающего списка ActorBase выберите "LvlBanditMelee1H".

  • Lvl: Этот актер использует уровневый список. Когда игрок становится более мощным, этот актер будет увеличиваться в трудности.
  • Bandit: появление этого актера и его снаряжения соответствует архетипу, и он будет отображаться как "бандит" в боевом интерфейс игрока.
  • Melee: Этот актер будет ближний бой, а не магические атаки.
  • 1H: Этот актер будет использовать одноручное оружие.

Даже у шаблонного NPC может быть множество вариаций.Вы можете получить одного бандита Каджита, а другого женщину норда.

Выбрав шаблон, нам нужно выбрать, какие аспекты этого шаблона мы хотим использовать, ставя галочки в соответствующие поля в области шаблона. Поставьте галочки везде, за исключением "Использовать сценарий" и "Использование базы данных".

Мы не должны беспокоиться о выборе расы, инвентаря, бухла, или чего-нибудь еще, так как мы все это движок берет из шаблона!

Нажмите "OK" для сохранения вора.

Размещение врага

Есть не так много незанятых подземелий Скайриме, самое подходящее для нас (правда далекое) находится в Гнезде Ветров Предела.Загрузите "ReachwindEyrie01" и разместите вора так же, как мы поместили Бенду в Дом Рабочих.


Видите эту зеленую фигню? Это наш вор. Так сделано, потому что он может быть практически кем угодно (от каджита 5 lvl до вампира-мастера и даже круче).

Диалоги: Основа

Чтобы начать работу с диалогами, найдем наш квест (GSQ01) и дважды щелкнем, чтобы открыть окно квестов. Затем перейдем к закладке "Dialogue Views". Ваше окно должно выглядеть следующим образом:


Для создания нового диалога щелкните правой кнопкой мыши в таблице в левой части окна и выберите "Новый". Вам будет предложено дать ID этому диалогу, и он автоматически получит квестовый ID в качестве префикса. Выберите этот "GSQ01BenduView". Нажмите на него в таблице, чтобы выбрать его.
Перед нами предстал скучный белый простор. Щелкните правой кнопкой мыши в этом пространстве и выберите "Создать отрасли". Вам будет предложено назвать отрасли, которые мы назовем "GSQ01MeetingBenduBranch". Еще одна строка для обозначения темы (Вы можете просто принять значение по умолчанию "GSQ01MeetingBenduBranchTopic"), и, нажав Enter, вы увидите серию прямоугольников, которые, вероятно, ничего не значат для вас.


Прежде чем мы продолжим, мы узнаем некоторые термины, которые лично меня ввели в заблуждение, и мы должны их запомнить:


Это все требует очень много терпения, и мы сделаем отрасль, которая автоматически создаст тему для квеста.Тема в настоящее время не содержит информации.

Bethesda Tutorial Planning the Quest
Серия "Основы создания квестов", часть 1
Все руководства
LeftArrow.jpg
Предыдущее
СледующееRightArrow.jpg

Содержание

  • 1 Обзор
  • 2 От идеи до реализации
  • 3 Разработка основы квеста
  • 4 Создание стадий квеста

В этой главе мы поговорим о предварительных этапах разработки и создании общей структуры квеста.

  • Как разработать начальную структуру квеста до начала реализации
  • Как сделать совершенно новый квест
  • Что такое "стадии квеста" и как их создавать

Давайте попробуем поразмышлять над будущим квестом. Так как мы только учимся, то это будет простое и незначительное задание для игрока. Но, не смотря на его значимость, вы легко сможете получить представление о том, как создаются квесты в Creation Kit.

Игрок встречает Бенду Оло, темного эльфа, у которого не так давно был украден амулет. Потерпевший предлагает заплатить двойную стоимость за амулет, если вы его вернете. Последний раз вора видели в соседней пещере.

Теперь давайте разобьем данную идею на стадии:

  • Начальная стадия: Игрок никогда не встречал Бенду Оло, а амулет находится в пещере вместе в вором.
  • Стадия 1: Игрок встретил Бенду Оло и принял его предложение разыскать амулет.
  • Стадия 2: Игрок убил вора.
  • Стадия 3: Игрок получил амулет.
  • Стадия 4: Игрок вернул амулет и получил награду.
Protip.jpg
Оставляйте между стадиями интервал для того, чтобы на случай, если к готовому квесту вам понадобится добавить новую стадию, вам не пришлось переписывать весь квест.

Используя стадии, мы можем рассматривать их как отдельные случаи. Мы так же будем использовать эти стадии для определения текста диалога, который следует выводить; цель, которую игрок будет пытаться достигнуть.

InDepth.jpg
Так же вы должны понимать, что игрок не обязательно убьет вора, он может и сам обворовать его. Мы расскажем и покажем, как правильно нужно составить основу квеста.

В окне Object Window раскройте пункт Character -> Quest в списке категорий. Щелкните правой кнопкой мыши в списке и вам откроется контекстное меню. Теперь выберете "New".

ObjectWindowQuestSection.jpg

Появится новое окно Quest с активной вкладкой Quest Data. Все выглядит довольно сложным, но скоро мы пройдем через это.

На данный момент важными областями, которые нам понадобятся, являются:

  • ID: Это то, что дает возможность идентифицировать квесты. Заполните строку: "GSQ01" (без кавычек).
  • Quest Name: Название квеста которое будет видеть игрок. Введите: "Единственная надежда Бенду Оло" (без кавычек).
  • Priority: Влияет на порядок диалогов, когда актер (NPC) использует более одного квеста. "60" является типичным значением для одноразового квеста, так что введите это число.
  • Type: Выберите "Side Quest". Это влияет на отображение информации о квесте в журнале игрока.

StartedQuest.jpg

Нажмите "ОК" в правом нижем углу, чтобы сохранить ваш квест.

InDepth.jpg
Каждый объект в игре имеет свой ID, так что данное значение должно быть уникальным. Распространенным методом является использование одинакового префикса для обозначения группы объектов. Таким образом легче увидеть все соответствующие объекты с помощью фильтра окна. В этом уроке мы будем использовать префикс "GSQ", т.е с перевода на русский язык - "Первый квест".

Откройте ваш квест заново, дважды щелкнув на него в списке объектов. Нажмите на кнопку "Quest Stages", чтобы перейти (что неудивительно) в меню Quest Stages tab.

InDepth.jpg
Мы специально закрыли и заново открыли наш квест, чтобы он сохранился и для нас открылись дополнительные возможности.

Здесь находятся этапы (стадии) квеста для его разбивки на части. Они будут перечислены в таблице слева (в столбце "Index"). Щелкните правой кнопкой мыши в таблице и выберите "New". Это создает основу для последующий изменений. Назовите столбец "0". Мы будем считать это нашей пре-стадией квеста, т.е до того, как игрок взаимодействовал с актерами (NPC) или амулетом. Продолжите создание этапов под номерами 10, 20, 30 и 40.

Этапы в таблице теперь должны выглядеть примерно так.

QuestStagesTabSection.jpg

Голая основа нашего квеста готова, но впереди есть еще довольно много работы.

Автором этого туториала является Povuholo , последняя
модификация 2006-12-17 07:00:50.

Как бы то ни было, это не история обо мне, а туториал по созданию квеста. Вот
то, что мы будем делать с помощью этого туториала:

  • Добавление диалогов NPC ( Non Playable Character
    (не играемый персонаж), все кроме вас в Обливионе)
  • Создание обновлений журнала
    путем собирания предметов или разговоров с NPC .
  • Получение предмета (ключа) от
    NPC , чтобы вы могли найти предмет, который он потерял.
  • Получение награды от NPC , за возвращение ему предмета.
  • Добавление квестовых
    маркеров, чтобы игрок знал, куда ему нужно направляться.

Перед тем, как мы начнем, я хочу быть уверенным что вы знаете
несколько базовых вещей, которые я не буду объяснять в этом руководстве:

  • Вы должны уметь создавать
    новых NPC и
    новые предметы изменяя их ID .
  • Вы должны уметь размещать этих
    NPC и предметы в ячейках.
  • Вы должны уметь создавать
    новый контейнер (сундук) и размещать предметы в нем.
  • Вы должны уметь читать
    по-английски (читающие данный перевод этот пункт могут опустить J )

И совет перед началом: СОХРАНЯЙТЕСЬ ЧАСТО. С onstruction Set часто вылетает, когда вы делаете
что-то неправильно или даже когда вы делаете что-то правильно! Поэтому
сохраняйтесь почаще !

Создание NPC который дает квест

Хорошо, начнем с создания предметов, которые нам понадобятся. Добавляем нового
NPC в ячейку. Убедитесь , что сделали новый
ОРИГИНАЛЬНЫЙ и УНИКАЛЬНЫЙ ID .

А так правильно:

povtutAlex 1 ( pov означает
Povuholo , то есть меня.
Помещайте это перед всеми вашими ID чтобы сделать их
уникальными, это также позволит легче находить их в списке объектов. Tut означает Tutorial, это название моего мода . Поэтому мои ID всегда
выглядят так: мое имя+имя моего мода+мой объект, или мое имя+ имя моего мода+имя
владельца предмета+мой объект.

Конечно это всего лишь моя точка зрения как делать ID , вы
можете делать собственные ID . Главное убедитесь, что
они уникальны, ведь мы не хотим, чтобы кто-нибудь использовал тот же ID для своего квеста, что может привести к неработоспособности
обоих модов.

Теперь добавьте нового NPC (я своего назвал Alex ) в ячейку. Например в
торговый район Имперского города. Двойной клик на него, отметьте окошко persistent reference (если
возможно) и сделайте новую reference ID . У меня - povtutAlexref 2.

Добавление необходимых для квеста предметов

Перейдите в Object Window (окно объектов) и найдите закладку key (ключ). Создайте новый ключ с
новым ID … ID моего ключа povtutalexkey 1. Сейчас выберите, какой
предмет потерял Alex . Возможно свою железную броню ? Идите в закладку armor (броня) и возьмите iron armor (железную броню), измените ее имя на Alex ' s iron armor и измените ее ID . Мой ID - povtutalexarmor1. Вы также
можете отметить окошко Quest Item , тогда игрок не сможет выбросить этот предмет.

Сейчас добавьте новый контейнер, например, сундук ( chest ). Вы можете
изменить его имя, но если его название всегда будет Сундук, вам будет легче
запомнить его. Или вы можете изменить его на Alex ' s chest (Сундук Алекса), это уже как пожелаете. Мой ID - povtutAlexchest1. Теперь
поместите iron armor (железную броню) в сундук, и
перейдите в закладку lock (замок) сундука. Измените lock на " needs a key ", и выберите ключ, который вы перед этим создали
(теперь сундук можно будет открыть только этим ключом). Теперь разместите
сундук в пещере или в любом другом месте, где пожелаете. Затем кликните на сундуке
выберите окошко ' persistent reference ' и
добавьте ссылку ID . У меня - povtutarmorchestref

Общая информация о квесте ( Quest data )

Фуф. Это был этап создания предметов. Сейчас мы переходим к той части, которая
находится по важности на первом месте для нас, это непосредственно сам квест! Нажмите
на кнопку Q в меню
вверху слева, чтобы открыть окно квестов (или в меню выберите Character > Quests …). С левой стороны
вы можете найти все квесты, вы также можете просмотреть некоторые, чтобы
ознакомится с тем, как они работают. Только ничего не изменяйте

Когда вы будете готовы, кликните правой клавишей
мыши на одном из квестов в окне Editor ID , и в появившемся меню выберите " new " Откроется
маленькое окно, где вы сможете ввести ID вашего квеста. И опять
же, он должен быть уникальным. У меня povtutAlexarmorquest . (1)

Теперь, выберите ID , который вы только что создали. Введите
название своего квеста ( quest name ), у меня Броня Алекса. Измените значение приоритета ( priority ) на какое-нибудь повыше, 60 будет нормально. В
условиях квеста ( quest conditions ), найдите и выберите в condition function GetisPlayableRace (не нажимайте enter , это закроет окно квестов), value поставьте
1. Я не знаю почему GetisPlayableRace находится здесь, но каждый квест содержит это условие, другие
туториалы содержат подобные рекомендации, это не несет каких-либо побочных
эффектов, поэтому не имеет смысла не делать этого.

Этапы квеста ( Quest Stages )

Это все для закладки quest data , и теперь мы переходим к закладке quest stages . В окошке Index , кликните правой клавишей мыши и выберите new . Наберите 10. Текст, который вы введете в окошке Log Entry , это
текст, который вы увидите после обновления журнала. Я написал "Я встретил
Алекса, который потерял свою броню. Он попросил меня найти ее. Предположительно
броня находится в замкнутом сундуке в [впишите название ячейки, где вы разместили
сундук]. Он дал мне ключ. Я должен попытаться найти этот сундук, и вернуть ему
броню" Опять , не
нажимайте enter , это
закроет окно квестов .

Теперь, опять сделайте новый индекс, но со стадией 15. На этот раз, вы говорите:
"Я нашел броню Алекса и теперь должен ему ее
вернуть ". Теперь
сделайте еще один индекс, с номером 20, и наберите "Алекс был доволен, когда
я вернул ему броню и наградил меня 200 золота." Так же отметьте здесь
окошко " complete quest".

Темы квеста (Quest Topics )

Далее разберемся с темами ( topics ). Перейдите в
закладку topics (темы).
Кликните правой клавишей мыши на пустом месте в editor ID , и выберите в появившемся меню add topic
(добавить тему). Затем выберите GREETING . Нажмите OK .

Правый клик мышью на одном из пустых полей в окне info , и в
появившемся меню выбираем new .
Набираем : " Привет , ты можешь мне помочь ? Я потерял свою броню, и хотел бы ее вернуть."
Добавьте другую тему выбрав add topic в editor ID , правый клик на topic и кликните на ' new '. Назовите ее как - нибудь . У меня povtutlostmyarmor.

Справа, есть несколько пустых полей с надписью сверху add topic (добавить
тему). НЕ ИСПОЛЬЗУЙТЕ это для добавления тем. Это баг в CS который
приводит к конфликтам в сложных модах, если добавлять темы этим путем, поэтому они
не будут работать. Вместо этого , в result script наберите : "addtopic povtutlostmyarmor" без кавычек .

Что мы только что сделали? Когда Алекс приветствует вас, используя свое
приветствие ( greeting ), тема povtutlostmyarmor будет
добавлена в его список тем, и вы сможете спросить его об этом.

Теперь, в окне условий ( conditions ), кликните
правой клавишей мыши и выберите в появившемся меню new . В Condition function выберите getisID. В Function
parameters , кликните на INVALID . Откроется длинный список. Помните NPC , которого вы
создали ? Наберите
начальные буквы его ID (я набрал POVtutalex ) и вы найдете его. Убедитесь,
что выбрали NPC , а не броню
или что-нибудь еще. Нажмите OK . Теперь это должно выглядеть так: getisID povtutAlex1 = = 1. 1 означает да , 0 означает нет . Это означает, что когда ID персонажа который с вами говорит povtutAlex 1, он выберет это приветствие.
Если вы этого не сделаете, каждый NPC в
мире будет говорить это приветствие!

Конечно, мы не хотим, чтобы он говорил это, когда его броня уже будет
возвращена! Поэтому опять выберите new в
окне Conditions . На этот раз выберите function getstage .
Кликните на Invalid , и найдите ID вашего квеста. В comparion , выберите символ value , наберите
10. Это означает, что Алекс будет говорить это только если этап квеста меньше ( greeting ) с текстом
"Пожалуйста найди мою броню". Перейдите в условия ( conditions ) и сделайте так же как в последний раз с GetisID . Для getstage , выберите тот же квест,
но выберите равнение ( comparison ) = =, и выберите значение
( value ) 10. Поэтому, когда он будет спрашивать вас о поиске
брони, но вы ее еще не нашли, он скажет эту фразу. = = означает "равен"
Следовательно, использоваться это приветствие будет когда уровень квеста равен
10, ни меньше, ни больше.

Сейчас добавим еще одно приветствие с текстом "еще раз спасибо за то,
что нашел мою броню". Опять тот же getisID . Для GetStage ,
выберите = = 20. Конечно не забудьте ID квеста!

Теперь, в Editor ID тем (где находится тема GREETINGS ) правый клик, и выберите add topic (добавить тему). Выберите тему,
которую вы создали как первое приветствие ( greeting ), у меня это
было povtutlostmyarmor .
Измените текст темы на "Потеря моей брони", потому, что вы не хотите,
чтобы игрок увидел povtutlostmyarmor в качестве названия темы, верно? В info , правый
клик и выберите new (новый).

Теперь вы будете вводить текст, который будет показан, когда вы выберите эту
тему. Наберите что-то вроде "Я потерял свою броню, когда охотился в [напишите
название ячейки, в которой вы поместили сундук]. Я положил ее в сундук и запер его,
на случай, если какой-нибудь бандит решит ее украсть. Но после этого я был атакован,
и бежал прочь, не захватив с собой броню! Ты ее мог бы мне вернуть? Это ключ от
сундука."

Если ваш текст слишком длинный, он может не поместиться в окне. Просто нажмите
ok (убедитесь, что вы закончили предложение), правый клик
мышью на чистом поле в response text и наберите остальную часть
текста.

В result script , наберите "setstage povtutalexarmorquest
10" без кавычек . Затем нажмите enter и наберите player.additem povtutalexkey1 1

Сначала идет ID персонажа,
которому добавляется предмет (для игрока, просто player ) затем
ставится точка, затем additem .
Затем пробел, после чего ID который
вы хотите дать, в данном случае ключ, и затем количество (сколько этих
предметов вы хотите дать игроку).

Таким образом, когда это будет сказано, обновятся записи квеста в вашем журнале
до уровня 10, в которой будет сказано: "Я встретил Алекса, который потерял
свою броню…." И остальная часть текста… а также ключ будет добавлен в ваш
инвентарь.

В окне условий ( conditions ), еще раз выберите getisID с
тем же ID что и в
приветствиях. Это ID Алекса !

Теперь, правый клик в пустом месте поля
info и в появившемся меню выбираем new . Наберите: "Я надеюсь ты найдешь мою броню" Выберите
тот же ID как и в
приветствиях, и поставьте getstage
= = 10. Таким образом, этот текст будет показан, когда вы выберете в темах диалога
тему Потеря моей брони, Алекс всегда будет говорить вам о своей потерянной
броне, пока вы ее не вернули.

Мы уже почти здесь… Правый клик и выберите new (новый) в info опять,
и наберите "Вау! Ты нашел ее , спасибо ! Вот твоя награда !"

Тот же getisID, в getstage ставим = = 15.

В result script , наберите setstage povtutalexarmorquest 20 и наберите player.additem gold001 200 . Gold 001 это
ID золота, набирая 200 позади его вы
получаете 200 золота! И конечно наберите player . removeitem povtutalexarmor 1
1 и таким образом вы вернете ему его броню назад!

Добавьте еще одну линию в поле info и
наберите "Больше ничего не пропадало!"

Тот же getisID, для getstage делаем = = 20.

Это текст, который будет показываться, если вы спросите о потерянной
броне, после ее возвращения. Выйдете из окна квестов нажав ok .

Скрипт ( The script )

Теперь кликните на кнопку с изображением карандаша, которая откроет окно
редактора скриптов. Не волнуйтесь, это будет быстро и безболезненно.

Кликните на script , и выберите new .

Это ( ; ) символ, который можно использовать для вставки описания после линии скрипта,
все что идет после этого символа игнорируется и не меняет скрипт. Например
(описание выделено курсивом):

scn povtutalexarmorscript; This
is the ID of the script. SCN means script name. This should always be on top of
your scripts.

Begin OnAdd; When the
item this script is placed on (we will do that next) is added to the players
inventory, the following thing will happen.

if ( getstage
povtutalexarmorquest == 10 ); If the quest stage is at 10

SetStage povtutalexarmorquest 15; Set it to 15.

Endif; Just a standard thing you have to type when you used "if"

Нажмите save (сохранить)
и выйдите из окна.

Если по какой-то причине ваш скрипт не работает (появляется ошибка, когда вы
пытаетесь его сохранить), удалите весь текст после знака ; . Это должно помочь,
и еще: Не нажимайте enter в
середине любой из линий скрипта. Теперь, найдите броню Алекса (в окне объектов ( object window ), а
не в сундуке). В окошке scripts должно
стоять NONE . Прокрутите список, пока не
найдете ваш скрипт. Выберите его и нажмите OK.

С этого места, если вы начнете играть в свой квест, он будет работать. Но я покажу
одну вещь, благодаря которой можно сделать квест легче: Маркеры квеста.

Маркеры квеста (Quest Markers )

Откройте окно квестов. И выберите закладку quest targets . В target ref , правый клик мыши и выберите в
появившемся меню new . В conditions добавьте getstage povtutalexarmorquest == 10.

В quest target data , выберите cell , в
которой вы поместили сундук с броней Алекса. Для ref , выберите ref сундука , который вы сделали . У меня был povtutarmorchestref Если его нет в списке, перейдите в ячейку
с сундуком, выберите его и посмотрите, чтобы окошко " persistent reference " было отмечено, и
сделали ли вы reference ID . Если нет , сделайте сейчас . Теперь, когда этап квеста равен 10, маркер
будет указывать на сундук, и игрок сможет найти его.

Создайте новую линию в quest target ref . В conditions ( условиях ), поставьте getstage povtutalexarmorquest = = 15. В
reference , прокрутите до ячейки в которой находится Алекс, и
выберите эту ссылку ( reference ). Теперь, когда вы
добудете броню, и сообщения в журнале обновятся до 15 уровня квеста, маркер будет
показывать местоположение Алекса, таким образом вы сможете найти его.

Конец !

Вот и все . Вы только
что создали квест. Помните, что все, что вы создали, не появится в игре до тех пор,
пока вы не выберите свой мод в data files когда загружаете Oblivion , поэтому сделайте
это перед началом тестирования! Начинайте просто поговорив с Алексом.

Возможно, вы попробуете сделать другой квест, и не будете заглядывать в туториал
слишком часто. Это хороший путь для того, чтобы чему-нибудь научится. И я скажу
это опять: ЧАЩЕ СОХРАНЯЙТЕСЬ! Если вы создавали мод в течении нескольких часов
без сохранения и Конструктор вылетит, думаю вас это сильно расстроит.

Если у вас есть какие-нибудь вопросы о системе квестов или что-нибудь еще,
просто отправьте мне сообщение на форумах Tessource .

Перевод: IgorLutiy ( Igor _ Ra ). Меня можно найти по мылу VIZ 222@ mail . ru или
на форуме www . modder .3 bb . ru (под ником Igor _ Ra ).

Содержание:
1. Введение.
2. В начале было слово.
3. Создаем свой первый квест
1. Что именно ты хочешь сделать
2. Что необходимо
3. Поиск потенциальной «жертвы»
4. Выбор подходящих локаций
5. Создание предметов
6. Поиск ошибок.
В архиве Вы можете найти, файл плагина, для наглядного изучения.

Введение:
Надеюсь, Вы уже знакомы с программой TES Construction Set. Если нет, то далее Вам читать не нужно. Так как данное руководство рассчитано на тех, кто уже хоть немного ориентируется в конструкторе. Моя задача, состоит в том, что бы научить РЕАЛИЗОВЫВАТЬ квесты. Именно реализовывать, писать могут почти все. А вот реализовать лишь единицы. Вот мы и займемся исправлением, этой несправедливости. Сделаем упор на диалогах, так как большинство квестов диалоговые.

В начале было слово:
Это слово было «придумал». Именно после того как Вы придумали свой квест, наверняка, захотите его переместить из своей головы в Тамриэль.
Итак, для начала нужно определиться;
1. что именно Вы хотите сделать.
2. продумать, какие предметы понадобятся, для выполнения квеста
3. найти потенциальную «жертву» (Далее субъект. Это может быть как человек, так и предмет. Главное, что именно этот субъект, дает игроку задание.)
4. выбрать подходящие локации для реализации (часто напрямую зависит от субъекта)
5. приступить к созданию, изменению предметов.
6. не пункт. Поиск ошибок.

Щелкаем по нему. Это упорядочит всех NPS, в алфавитном порядке по классам. Спускаемся ниже, ищем класс «Farmer». см. рис 2.


рис. 2
Нашли? Я нашел двадцать два фермера в Сиродиле. Из них и нужно выбрать одного. Я выбрал Мерилдора (ID Merildor). Исходя из тех соображений, что у него, равно как и у его жены нет ссылок, а это, значит, нет квестов . Исправим . рис 3.

4. Локации нам выбирать не придется. Так как они уже есть это ферма нашего фермера.
5. Итак, наступил ответственный момент. Начнем изменять мир.
Первое. Правым кликом на Мерилдоре, вызываем контекстное меню, в котором выбираем Use Info. Рис 4

рис 4
Вот для чего. Нам необходимо присвоить Мерилдору ссылку, по которой в дальнейшем мы будем обращаться к нему из скриптов. После щелчка по выбранному пункту меню, появится окно, с писанием всех обращений к объекту. Рис 5

рис. 5
В таблице Used in these Cells:, выбираем BrindleHome02. В прочем выбирать то и не из чего. Двойной щелчок левой кнопкой и ячейка с персонажем загружена. Находим в Render Window, Мерилдора и дважды щелкаем по нему. Появится окно ссылки. Рис 6.

В появившемся окне Effect Item, вводим следующее. Effect – Высасывание параметра, ActorVal – Скорость, Magnitude – 100. жмем «OK». Эффект добавлен. В окне Spell жмем «OK». Рис. 8

рис. 8
Болезнь создана, можете убедиться, проверив список, Если Вы ввели ID с префиксом, то спел, будет в самом верху.
Лекарство. У нас будет заклинание в свитке. Для этого переходим Magic->Enchantment, и создаем новое зачарование для свитка. Правой кнопкой «New». ID – «aaaMedicineForASsarcoma». Type – Свиток. Параметры зачарования определим позже. Пока создадим свиток Items->Book. Здесь находятся книги Тамриэля, в том числе и свитки. Выбираем любой свиток заклинания, я выбрал «ScrollRestoreHealthTouch1Novice». Дважды щелкните на выбранном свитке, и перед вами появится окно редактирования. Измените ID, на «aaaMedicineForASsarcomaScroll». Name – Излечение саркомы. В списке Enchanting, выберите созданное нами зачарокание «aaaMedicineForASsarcoma». Пока на этом все. Жмите ОК. Появится окно. (В нем говорится, что старый ID не совпадает с новым ID. Что сделать, изменить или создать новый объект?) Жмите «Да», создается новый объект. В противном случае объект будет изменен, и все связанные с ним действия будут нарушены! Если вы сделали все правильно, вверху списка должен появиться наш объект. Почему мы просто не создали новую книгу и не ввели необходимые параметры? Потому, что так проще, нам не потребовалось вводить изображение книги. Это может стать настоящей проблемой. Ведь требуется выбрать из существующих картинок, а они все находятся в архиве. И их предварительно необходимо извлечь при помощи специальных программ, либо рисовать самостоятельно.

Перейдем к созданию квеста и стадий к нему.
Открываем окно квестов. Нужно создать новый квест, для этого, правой кнопкой мыши щелкаем в списке квестов и выбираем New.
Рис. 9
И в появившемся окне вписываем название нашего квеста, «aaaMyFirstQuest». Вписывать нужно на латинице. Это идентификатор квеста, в игре будет отображаться другое название. Во вкладке Quest Data, вписываем название нашего квеста и выставляем приоритет выше нуля. Ставим 60, как и другие квесты. рис.9
Рассмотрим подробнее окно квестов.

рис 10
Вкладка Quest Data – Общая информация о квесте.
Quest Name – Название квеста записываемое в журнал и видимое в игре.
Priority – Приоритет квеста.
Script – Сценарий управляющий квестом (не обязателен).
Start Game Enabled – Квест будет запущен при старте игры автоматически.
Allow Repeated Conversation Topics – Разрешить повторение тем бесед (см. ниже).
Allow Repeated Stages – Разрешить повторение стадий (см. ниже)
Quest Conditions – Условия Квеста при которых он может выполнятся.
Условия добавляются кнопкой New, как функция или значение какой-либо переменной.
Кнопки в правой верхней части: Показать окно диалогов для квеста, Перекомпилировать все сценарии результатов, Экспортировать диалоги. Сверху вниз соответственно.
Кнопка Add Icon Image – Позволяет установить иконку для квеста.

Вкладка Quest Stages – Стадии квеста. То, что записывается в журнал, по наступлении определенных событий.
Index – Индекс. Любая цифра. ( в разумных пределах ) По индексу происходит запись в журнал нужной записи. Индекс текущей стадии возвращается при вызове функции GetStage…
Quest Stage Items – Части индекс записей. Под одним индексом можно записать несколько вариантов записей, различающихся условиями (Conditions). Например, запись для игрока мужчины и женщины. ( Нашел…, Нашла…).
Log Entry – Собственно сам текст записи.
Result Script – Сценарий результата. При добавлении записи, можно выполнить определенный код, для реализации каких-либо специальных нужд. ( Скрыть объект или наоборот показать, и т.д.п.)
Quest Targets – Цели квеста. (Маркер на карте) Определяются по индексу в условиях показа.
Select Reference in Render Window – Эта кнопка позволяет не напрягаясь выбрать цель прямо в окне мира. Можно выбрать и из списков находящихся ниже. Сначала выбрать ячейку, а затем предмет в ячейке. ( ВАЖНО! Предмет должен быть устойчив в мире. Reference Persist отмечен.)
Conditions – Условия для показа цели.
Compass Marker Ignore Locks – Маркер может показывать на необходимость прохода через запертые двери, не ища альтернативного пути.

Диалоги, как много в этом слове! Главное запомните, темы выбираются сверху вниз. Первая доступная тема будет отобрана для показа. Вы должны научится манипулировать темами, а значит и диалогами в целом.

Вкладка Conversation – Беседа. Аналогична Topics, но используется для разговоров между NPS. Можно использовать для добавления тем при подслушивании разговоров.

Вкладка Combat – Бой. То, что кричат NPS, при сражениях, краже, бегстве и т.п.

Вкладка Persuasion – Убеждения. То, что отвечают NPS, когда Вы пытаетесь им понравится, или не понравится.

Вкладка Detection – Обнаружение. То, что говорят NPS, когда находят или теряют из виду игрока.

Вкладка Service – Обслуживание. То, что говорят NPS, когда Вы торгуете, ремонтируете и т.п.

Вкладка Misc – Разное. Доступные темы: Corpse – когда видят труп. Idle – когда бездельничает. InfoRefusal – скажет если недостаточно расположения к игроку, за место отвергнутой темы. ( флаг - Info Refusal). ObserveCombat – если является свидетелем боя. TimeToGo – Скажет если не сможет сменить пакет AI, из-за установленного флага «Continue if PC Near» (продолжить, если игрок рядом).

Существует еще одно окно, «Edit Response» (Редактирование ответа). Появляющееся при создании нового или изменении существующего ответа. Разберем и его. Response Text – Текст ответа. Script Notes – Примечание Сценария, Не путайте с Script Result! Текст, введенный в это поле, не является сценарием, а всего лишь ПРИМЕЧАНИЕ! Группа Audio - Звук. Хотя тут и расположены настройки эмоций не имеющие отношения к звукам. Emotion Type – Тип эмоции (радость, грусть, злоба и т.д.). Emotion Value – Уровень эмоции. От 0 до 100%.

Вот собственно и все, что связано с диалогами.

Потренируемся на практике. Переходим на вкладку «Quest Stages». Сейчас мы создадим записи для журнала. Тем самым подробнее обрисуем себе, что нужно дальше. В левой части есть столбец «Index», он пока пуст. Правый щелчок мыши. Выбираем в меню «New». Будет создана чистая запись, ей нужно присвоить индекс. Пусть это будет 10. (Вообще принято писать индексы десятками 10, 20, 30. для того, что бы в случае необходимости, можно было добавить новый индекс в свободное пространство. Например, 21. Не будем и мы эти брезговать.) Log Entry – создаем вариант записи. Как и раньше Правый клик -> New. Появится EMTY, пустая запись. Запись мы вводим в одноименное поле находящееся ниже. Вот примерный текст. ( по квесту) «Я встретил человека по имени Мерилдор. Его съедает страшная болезнь саркома. Он попросил меня помочь ему.»
Повторите шаги создания стадий и создайте остальные стадии;
20 – «Я согласился помочь Мерилдору. Мне нужно найти для него лекарство. Все расходы Мерилдор обещал покрыть.»
30 – «Я купил заклинание, которое способно излечить Мерилдора. Нужно отправляться к нему.»
40 – «Я исцелил Мерилдора.»
50 – «Мерилдор отблагодарил меня за помощь. Вернул потраченные мной деньги, и подарил свое кольцо скорости.»
60 – «Я хотел обмануть Мерилдора. И сказал, что потратил на заклинание 350 золотых. Но, похоже, он знал, настояшую цену. т.к. вернул мне 240 золотых. То, что я потратил на покупку.»
70 – «Я хотел обмануть Мерилдора. И сказал, что потратил на заклинание 540 золотых. Но, похоже, он знал, настоящую цену. т.к. вернул мне 240 золотых. То, что я потратил на покупку.»
80 – «Я отказался помогать Мерилдору. У меня своих дел достаточно.»
В индексах, 50, 60, 70, 80. Установите флаг Complete Quest. Это варианты завершения квеста, и любой из этих индексов должен завершить квест. Рис. 11

Следующая вкладка. Quest Targets. Создаем цель квеста. Это Мерилдор на стадии 30. Правый клик -> New. Появится «Bad Target», неопределенная цель. Выбираем цель в группе Quest Target Data. Выбираем ячейку – BrindleHome02. (именно в ней находится Мерилдор) Выбираем Мерилдора в поле Ref. (как видите, он имеет установленную нами ссылку, значит, это именно тот Мерилдор который нам нужен, а не близнец какой-нибудь) Существует и другой вариант выбора ссылки. Немного проще, Загружаете ячейку с нужным объектом, устанавливаете камеру так, что бы он был виден. И нажимаете кнопку «Select Reference in Render Window», редактор автоматически переключится на указанное окно, и вы сможете выбрать объект, просто ткнув в него мышей. (Если объект можно выбрать курсор становится белым, в противном случае красный. Выбрать можно только устойчивые объекты.) Далее нужно выбрать условие, нам ведь не нужно показывать на Мерилдора на протяжении выполнения всего квеста. Conditions, нажимаем КНОПКУ New. Появится новое условие. Справа от кнопки в списке выбираем функцию «GetStage», эта функция возвращает значение текущей стадии (индекс). Потом щелкаем по кнопке INVALID (бывают и другие подписи, в зависимости от функции, но означают они всегда одно ОШИБКА) и выбираем параметр функции, наш квест из списка. Теперь нужно определит само условие Comparison. Нам нужно, что бы показ осуществлялся только на 30-й стадии, значит, выбираем «= =», и в поле Value выставляем 30. Таким образом, получилось условие – «если стадия квеста aaaMyFirstQuest равна тридцати» или иначе «GetStage aaaMyFirstQuest = = 30.00». В других вариантах цель не подходит, и не отображается. Рис Аналогично выполняются условия в диалогах. Рис. 12 К ним, и переходим.

0

Всем Привет , Вас Приветствует PerfectVPN .com

Тогда отказаться от использования смарт-карты и что ваш vpn клиент в настоящее время готов. Этот документ ответы на часто задаваемые вопросы о Cisco VPN Клиент. Всеобщая IPsec VPN клиента. Windows 7, Vista, XP (все 32/64 бит), Windows Mobile и Symbian 5/6.x; Совместимость с Cisco, Checkpoint, Juniper, Netgear. Теперь для подключения непосредственно к windows vpn сервер, вам нужно только ввести ваше имя и пароль. Настройка Windows Server 2003, на PPTP виртуальной частной сети (VPN) с этим шаг за шагом установки и настройки руководства. Получите обзор технологий VPN поддерживает Windows Server 2003 и Windows XP . VPN Документация по продукту, Windows Server 2003 Руководство по развертыванию. VPN клиент Установка займет несколько минут. Этот документ ответы на часто задаваемые вопросы о Cisco VPN Клиент. Клиент по умолчанию TCP / IP настройки могут помешать вашей способности получить доступ к Интернету, имея связи VPN.

Читайте также: