Oblivion cоздание квесту

Ласкаво просимо в туторіал Povuholo зі створення квестів. Це я :)

Я знаю, наскільки складним виглядає Construction Set. особливо система квестів. Коли Облівіон був випущений і я подивився на цю систему, я не мав уявлення, що робити. Але після прочитання туторіал (в якому, між іншим, були помилки) я поступово почав його розуміти. На перших етапах я тримав відкритою сторінку туторіал, тому я міг звіряти, що я робив правильно, але несподівано я просто зрозумів як це робиться.

Як би там не було, це не історія про мене, а туторіал по створенню квесту. Ось те, що ми будемо робити за допомогою цього туторіал:

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

Перед тим, як ми почнемо, я хочу бути впевненим що ви знаєте кілька базових речей, які я не буду пояснювати в цьому керівництві:

І рада перед початком. Зберігати частину. Сonstruction Set часто вилітає, коли ви робите щось неправильно або навіть коли ви робите щось правильно! Тому зберігайтеся частіше!

Створення NPC, який дає квест

Добре, почнемо зі створення об'єктів, які нам знадобляться. Додаємо нового NPC в клітинку. Переконайтеся, що зробили новий ОРИГІНАЛЬНИЙ і УНІКАЛЬНИЙ ID.

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

Tut означає Tutorial, ця назва мого мода.

Тому мої ID завжди виглядають так:

Звичайно, це всього лише моя точка зору, як називати ID, ви ж можете створювати будь-які ID на свій розсуд. Головне, переконайтеся, що вони унікальні, адже ми ж не хочемо, щоб хто-небудь використовував той же ID для свого квесту, так як це може привести до непрацездатності обох модов.

Тепер додайте в клітинку, наприклад, в торговий район Імперського міста, нового NPC (я свого назвав Alex). Подвійний клік на нього, у вікні відзначте прапор persistent reference (якщо можливо) і зробіть новий reference ID. У мене - povtutAlexref2.

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

  • Перейдіть в Object Window (вікно об'єктів) і знайдіть закладку key (ключ).
  • Створіть новий ключ з новим ID ... ID мого ключа povtutalexkey1.
  • Виберіть, який предмет втратив 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)

Уф-ф. Це був етап створення предметів. Зараз ми переходимо до тієї частини, яка за важливістю для нас знаходиться на першому місці, це безпосередньо сам квест!

Oblivion cоздание квесту

Стадії квесту (Quest Stages)

Ми розглядали ятати quest data. тепер же ми переходимо до закладки quest stages.

Теми квесту (Quest Topics)

Далі розберемося з темами (topics).

Oblivion cоздание квесту

  • Клацніть правою клавішею миші на порожньому місці в editor ID. і виберіть в меню, що з'явилося add topic (додати тему).
  • Потім виберіть GREETING. Натисніть OK.

Oblivion cоздание квесту

  • Правий клік мишею на одному з порожніх полів у вікні 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 персонажа, який з вами говорить povtutAlex1. він вибере це вітання. Якщо ви цього не зробите, кожен NPC в світі буде говорити це вітання!

Звичайно, ми не хочемо, щоб він говорив це, коли його броня вже буде повернута!

  • Тому знову виберіть new в вікні Conditions. На цей раз виберіть function getstage.
  • Натисніть на Invalid і знайдіть ID вашого квесту.
  • У comparion виберіть символ <. В value. наберите 10. Это означает, что Алекс будет говорить это только если этап квеста меньше (<) чем 10.
  • Додайте нове привітання (greeting) з текстом "Будь ласка, знайди мою броню".
  • Перейдіть в умови (conditions) і зробіть так само, як в останній раз з GetisID.
  • Для getstage виберіть той же квест, але виберіть рівняння (comparison) = =, встановіть значення (value) на 10. Тому, коли він буде питати вас про пошук броні, але ви її ще не знайшли, він скаже цю фразу. "= =" Означає "дорівнює". Отже, використовуватися це вітання буде коли рівень квесту дорівнює 10, ні менше, ні більше.

Зараз ми додамо ще одне привітання з текстом:

  • Знову той же getisID. Для GetStage виберіть = = 20. Звичайно ж, не забудьте ID квесту.
  • Далі, в Editor ID (там, де знаходиться тема GREETINGS) клацніть правою кнопкою миші і виберіть add topic (додати тему).
  • Виберіть тему, яку ви створили як перше привітання (greeting), у мене це було povtutlostmyarmor.
  • Змініть текст теми на "Втрата моєї броні" тому, що ви не хочете, щоб гравець побачив povtutlostmyarmor в якості назви теми, вірно?
  • Зайдіть в info. правий клік і виберіть new (новий).

Oblivion cоздание квесту

Тепер ви будете вводити текст, який буде відображатися, коли ви виберете цю тему.

  • Наберіть щось на кшталт:
  • Якщо ваш текст занадто довгий, він може не поміститися у вікні. Просто натисніть 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. Таким чином, цей текст буде відображатися, коли ви виберете в темах діалогу тему Втрата моєї броні. Алекс завжди буде говорити вам про свою втраченої броні, поки ви її не повернете.

Oblivion cоздание квесту

Ми вже майже на місці ...

  • Правий клік і знову в info виберіть new (новий), і наберіть:
  • Той же getisID. в getstage ставимо = = 15.
  • У result script наберіть setstage povtutalexarmorquest 20 і додайте player.additem gold001 20 0. Тут Gold001 - це ID золота, якщо ви вкажете в кінці 200, наприклад, ви отримаєте 200 золота!
  • І, звичайно, наберіть player.removeitem povtutalexarmor1 1 і таким чином ви повернете йому його броню назад!
  • Додайте ще один рядок в поле info і наберіть:
  • Той же getisID. getstage = = 20. Це текст, який буде відображатися, якщо ви запитаєте про втрачену броні після її повернення.
  • Вийдіть з вікна квестів, натиснувши ok.

Скрипт (The script)

  • Натисніть save (зберегти) і вийдіть з вікна.
  • У віконці 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.