Для начала создадим диалог для Зигфрида. На самом деле, мы создадим несколько разных диалогов, но какой из них будет выводиться в игре, зависит от конкретной ситуации. Зигфрид должен дать Геральту задание убить главаря разбойников. Чтобы создать файл диалога, в меню Файл (File) выберите Создать -> Диалог (.dig) (New ‐> Conversation (.dig)).
Откроется окно Новый диалог (new conversation).
Откройте только окно свойств. В меню Вид (View) выберите Окна -> Свойства (Utility Windows -> Properties).
В правой части экрана откроется окно Свойства (Properties).
Теперь добавим первую реплику диалога. Для этого щелкните правой кнопкой мыши по пункту Новый диалог (new conversation).
Если мы сохраним наш диалог, на месте этого пункта будет отображаться имя файла (например, dialog_zygfryda). Мы сохраним диалог чуть позже. А пока выберите в меню пункт Создать реплику для квеста (Create Quest Node).
Именно так создается диалог для квеста. Здесь появится первая пустая реплика (EMPTY).
Учтите, что каждый диалог, независимо от его типа (то есть диалоги для квестов, для видео и стандартные диалоги), должен начинаться компьютерным персонажем. Геральт никогда не начинает диалог. Именно поэтому реплика, которую мы только что создали, предназначается для Зигфрида. Чтобы создать текст, который произнесет Зигфрид, дважды щелкните по пункту EMPTY.
Откроется окно.
Введите текст "Привет, Геральт" (Witaj Geralt) и нажмите клавишу Enter. Первая реплика Зигфрида готова.
Теперь Геральт должен ответить. Выберите реплику "Привет, Геральт" (Witaj Geralt) и щелкните по ней правой кнопкой мыши.
В меню выберите пункт Создать ответ для квеста (Create Quest Reply).
Будет создана еще одна пустая реплика (EMPTY).
Обратите внимание, что эта реплика отображается синим цветом. Это означает, что данная реплика произносится Геральтом. Персонажи говорят по очереди: сначала один персонаж, затем другой и так далее. Чтобы ввести ответ Геральта, дважды щелкните по новой реплике. Откроется окно. Введите в нем "Привет, Зигфрид. У тебя есть для меня задания?" (Witaj Zygfrydzie. Masz dla mnie jakieś zlecenia?) и нажмите клавишу Enter.
Добавим еще одну реплику Геральта. Выберите пункт "Привет, Геральт" (Witaj Geralt) и щелкните по нему правой кнопкой мыши.
Снова выберите пункт Создать ответ для квеста (Create Quest Reply).
Будет создана еще одна пустая реплика Геральта.
Дважды щелкните по ней и введите "Бывай" (Bywaj). Нажмите клавишу Enter.
Обратите внимание, что реплика "Бывай" (Bywaj) является вторым ответом в диалоге для квестов. Игрок сможет выбрать фразу "Привет, Зигфрид. У тебя есть для меня задания?" (Witaj Zygfrydzie. Masz dla mnie jakieś zlecenia?) или "Бывай" (Bywaj). Щелкните левой кнопкой мыши по реплике "Бывай" (Bywaj).
Теперь в окне свойств щелкните по правой ячейке параметра Тип диалога (Conv Type). В списке значений выберите Сопроводительный текст (Accompanying).
Теперь реплика "Бывай" (Bywaj) является вторым вариантом в диалоге для квестов. Её новый статус отображается новой иконкой слева от реплики.
Вот что мы только что с вами сделали: в начале диалога Зигфрид говорит: "Привет, Геральт" (Witaj Geralt). После этого игрок может спросить, есть ли у Зигфрида для него задания, выбрав "Привет, Зигфрид. У тебя есть для меня задания?" (Witaj Zygfrydzie. Czy masz dla mnie jakieś zlecenia?), или просто закончить диалог, выбрав ответ "Бывай" (Bywaj).
Теперь необходимо создать реплику, позволяющую Зигфриду ответить на вопрос Геральта о заданиях. Для этого выберите реплику "Привет, Зигфрид. У тебя есть для меня задания?" (Witaj Zygfrydzie. Czy masz dla mnie jakieś zlecenia?), и щелкните по ней правой кнопкой мыши.
В меню выберите пункт Создать запись для квеста (Create Quest Entry).
Будет создана пустая реплика Зигфрида.
Дважды щелкните по этой реплике и введите следующий текст: "Да. Ты должен разобраться с главарем разбойников. Сам я не справлюсь." (Mam. Trzeba zlikwidowac herszta bandytów. Ja nie moge tego zrobić). Затем нажмите клавишу Enter.
Теперь необходимо создать ответ. Выберите реплику "Да. Ты должен разобраться с главарем разбойников. Сам я не справлюсь." (Mam. Trzeba zlikwidowac herszta bandytów. Ja nie moge tego zrobić) и щелкните по ней правой кнопкой мыши.
В меню выберите пункт Создать ответ для квеста (Create Quest Reply).
Будет создана ещё одна реплика.
Дважды щелкните по ней и введите "Согласен" (Zrobi się). Нажмите клавишу Enter.
Так как Геральт не обязан соглашаться на это задание, мы должны добавить реплику для его отказа. Если игрок не желает брать задание Зигфрида, он может ответить "Бывай" (Bywaj). Так как такой ответ мы уже создавали, нет необходимости заново его вводить. Сделаем небольшой трюк. Выберите реплику "Бывай" (Bywaj) и щелкните по ней правой кнопкой мыши.
В меню выберите пункт Копировать (Copy).
Теперь выберите реплику "Да. Ты должен разобраться с главарем разбойников. Сам я не справлюсь." (Mam. Trzeba zlikwidowac herszta bandytów. Ja nie moge tego zrobić) и щелкните по ней правой кнопкой мыши.
В меню выберите пункт Вставить ссылку (Paste as link).
Появится реплика, которая на самом деле является ссылкой на другую реплику.
С помощью этого трюка можно избежать повторного создания одинаковых реплик. На экране же будет отображаться все тот же вариант ответа "Бывай" (Bywaj). Однако новую ссылку необходимо установить после реплики "Согласен" (Zrobi się). Для этого щелкните по ссылке "Бывай" (Bywaj) и удерживайте левую кнопку мыши.
Теперь перетащите ссылку под реплику "Согласен" (Zrobi się) и отпустите левую кнопку мыши.
Это простой и эффективный способ организации реплик. Итак, вот что мы имеем на данный момент. В начале диалога Зигфрид говорит: "Привет, Геральт" (Witaj Geralt). После этого игрок может спросить, есть ли у Зигфрида для него задания, выбрав "Привет, Зигфрид. У тебя есть для меня задания?" (Witaj Zygfrydzie. Masz jakieś zlecenia dla mnie?), или просто закончить диалог, выбрав ответ "Бывай" (Bywaj).
Если игрок выберет первый вариант, Зигфрид ответит: "Да. Ты должен разобраться с главарем разбойников. Сам я не справлюсь." (Mam. Trzeba zlikwidowac herszta bandytów. Ja nie moge tego zrobić). Теперь игрок может решить, соглашаться ему на задание или нет. Он может согласиться и выбрать ответ "Согласен" (Zrobi się), а может отказаться и выбрать ответ "Бывай" (Bywaj). Как вы уже поняли, ответ "Согласен" (Zrobi się) означает, что игрок принял задание Зигфрида. Поэтому мы должны присвоить этой реплике идентификатор квеста. Щелкните по реплике "Согласен" (Zrobi się).
В окне свойств (Properties), щелкните по правой ячейке параметра Идентификатор квеста (Quest Id). Введите zygfryd_zadanie (zygfryd_zlecenie).
Обратите внимание, что иконка рядом с репликой "Согласен" (Zrobi się) изменилась.
Запомните: в одной и той же ветви может быть только одна реплика квеста (то есть реплика, которой присвоен идентификатор квеста). В нашем случае это не проблема, так как в той же ветви у нас находится ссылка на реплику "Бывай" (Bywaj), которая в свою очередь является сопроводительным текстом (Accompanying).
Итак, мы создали реплику с заданием Зигфрида. Однако, если игрок уже получил это задание, этот диалог не должен отображаться. Теперь мы должны создать новый диалог, в котором Зигфрид поинтересуется у Геральта, как идут дела с заданием. Если Геральт ответит, что уже выполнил задание, Зигфрид должен вознаградить его.
Если всего создано три диалога, откуда игра узнает, какой именно выводить на экран? Для этого мы должны создать систему признаков. Выберите реплику "Привет, Геральт" (Witaj Geralt).
В окне свойств (Properties) в разделе Устанавливаемые признаки (After Flags) щелкните по желтой иконке в правой ячейке параметра Добавить признак (Add Flag).
Откроется окно Признаки (Flags).
Щелкните правой кнопкой мыши по полю в окне и выберите в меню пункт Создать имя (Create Name).
Откроется окно Введите имя (Enter name).
Введите zadanie_polucheno (posiada_zlecenie).
Нажмите кнопку OK. В окне Признаки (Flags) появится новый признак.
Если хотите удалить тот или иной признак, щелкните по нему правой кнопкой мыши и выберите в контекстном меню пункт Удалить имя (Delete Name).
Однако, в нашем случае удалять признак не надо. Поэтому, создав признак, просто нажмите кнопку OK в окне Признаки (Flags).
Теперь создадим второй признак с именем glavar_ubit (herszt_zabity). Значение этого признака будет равно 0, пока главарь все еще жив. Когда Геральт убьет главаря разбойников, значение признака изменится и будет равно 1.
Однако, этот признак должен быть глобальным. До этого мы создавали локальные признаки, то есть признаки, действующие только во время диалога. Глобальные признаки действуют на протяжении всей игры, поэтому их можно использовать, к примеру, при создании квестов. Более подробную информацию по этой теме вы найдете в другой главе этого руководства. Глобальные признаки сохраняются в файле globaldlgflags.2da.
Создадим глобальный признак. Для этого в меню Файл (File) выберите Создать -> Ida-файл (.2da) (New ‐ > 2DA file (.2da)).
Откроется окно Редактор нового Ida-файла (new 2da editor).
В игре "Ведьмак" 2da‐файлы – это простые базы данных, в которых текст записан в 2D‐таблицах. В 2da‐файле может быть неограниченное количество столбцов и строк, но каждый новый 2da‐файл содержит всего два столбца и две строки. Первая строка – заголовок, а вторая строка – запись. Первый столбец – ключ записи, по которому производится адресация в базе данных. Для файла globaldlgflags.2da достаточно одного столбца. Чтобы удалить второй, щелкните правой кнопкой мыши по любому из столбцов.
В меню выберите пункт Удалить столбец (Remove Column).
Откроется окно Удаление столбцов (Removing columns).
Нажмите кнопку Да.
Столбец будет удален. Если вам понадобится добавить новый столбец, щелкните правой кнопкой мыши по месту в окне, куда вы хотите вставить столбец, и выберите в меню пункт Вставить столбец (Insert Column).
Чтобы добавить столбец в конец файла, выберите в меню пункт Добавить столбец (Add Column).
В нашем 2da‐файле теперь один столбец. На данный момент нам нужна только одна строка, но удалить вторую нельзя. Обратите внимание, что нумерация строк начинается с 0 и со второй строки. Почему? Как мы уже говорили выше, первый столбец и первая строка могут использоваться для создания заголовка. В нашем случае в этом нет никакой необходимости, поэтому просто щелкните правой кнопкой мыши по первой строке.
В меню выберите пункт ****.
Этот пункт подтверждает, что в нашем 2da‐файле нет заголовка столбца.
Теперь два раза щелкните по второй строке.
Введите в поле glavar_ubit (herszt_zabity).
Нажмите клавишу Enter. Вот и все. Если впоследствии захотите добавить в этот файл новые строки, щелкните правой кнопкой мыши по месту, куда нужно вставить строку, и выберите в меню пункт Вставить строку (Insert Row).
Чтобы добавить новую строку в конец файла, выберите в меню пункт Добавить строку (Add Row).
Если бы нам нужно было создать заголовки столбцов и строк в нашем 2da‐файле, перед сохранением файла необходимо было бы выбрать в меню пункт Блокировать/разблокировать (Fix/Unfix).
Это позволило бы превратить первый столбец и первую строку в заголовки. Впоследствии, чтобы внести изменения в такой файл, необходимо сначала выбрать в меню пункт Блокировать/разблокировать (Fix/Unfix). В противном случае, новые строки и столбцы добавить будет невозможно.
В нашем 2da‐файле заголовки не нужны, поэтому мы оставим все как есть. Необходимо только сохранить файл. Для этого в меню Файл (File) выберите пункт Сохранить как... (Save As...).
Откроется стандартное окно Windows для сохранения файлов. Все 2da‐файлы "Ведьмака" хранятся в каталоге Data\2DA. Перейдите в этот каталог, введите имя файла globaldlgflags и нажмите кнопку Сохранить. Проследите за тем, чтобы файл был сохранен в формате 2da.
Если в окне указан другой тип файла, это, возможно, означает, что вы случайно пытаетесь сохранить содержимое другого открытого окна. Прежде, чем сохранять шаблон персонажа, убедитесь, что у вас активно окно Редактор нового Ida-файла (new 2da editor). Если оно не активно, его заголовок будет отображаться серым цветом.
Любой другой цвет заголовка означает, что данное окно является активным.
Звездочка перед текстом в заголовке окна означает, что последние изменения в этом файле не были сохранены. Как и в случае с шаблонами, вместо пункта Сохранить как... (Save As...) можно выбрать в меню Файл (File) пункт Сохранить новый 2da‐файл (Save new 2da editor). Таким образом вы сможете сохранить файл непосредственно в модуль. Но сейчас этого не делайте.
Вернемся к нашему диалогу. Щелкните по правой ячейке параметра Добавить признак (Add Flag) в разделе Устанавливаемые признаки (After Flags). В списке значений выберите zadanie_polucheno (posiada_zlecenie).
Все значения в списке перечислены в алфавитном порядке. Итак, мы добавили признак zadanie_polucheno (posiada_zlecenie).
Каждый признак характеризуется двумя состояниями: истина (числовое значение 1) или ложь (значение 0). Когда игрок вступает в диалог с Зигфридом, Геральт еще не получил задание. Поэтому значение признака должно быть установлено на 0. Чтобы изменить значение, щелкните по правой ячейке признака zadanie_polucheno (posiada_zlecenie) и введите 0. Затем нажмите клавишу Enter.
Если вы хотите удалить признак из раздела Устанавливаемые признаки (After Flags) (не путать с удалением признаков в окне Признаки (Flags)), щелкните по правой ячейке соответствующего признака и удалите его значение.
Нажмите клавишу Enter. Признак будет автоматически удален из раздела Устанавливаемые признаки (After Flags).
Если вы удалили признак, вы можете снова добавить его в список, выбрав его и установив соответствующее значение, то есть 0.
Теперь выберите реплику "Согласен" (Zrobi się).
В окне свойств (Properties) щелкните по правой ячейке параметра Добавить признак (Add Flag) в разделе Устанавливаемые признаки (After Flags). В списке выберите пункт zadanie_polucheno (posiada_zlecenie).
Так как значение признака автоматически устанавливается на 1, менять его не нужно.
Еще раз щелкните по правой ячейке параметра Добавить признак (Add Flag) и выберите в списке пункт glavar_ubit (herszt_zabity).
Мы только что добавили признак glavar_ubit (herszt_zabity).
Однако, нам нужно установить значение признака на 0, так как главарь разбойников еще не убит. Щелкните по правой ячейке признака glavar_ubit (herszt_zabity) и введите 0. Затем нажмите клавишу Enter.
Эти признаки сообщают игре, какие диалоги должны выводиться на экран и когда. Диалог, который мы создадим чуть позже, будет отображаться лишь в том случае, когда значение признака zadanie_polucheno (posiada_zlecenie) будет равно 1. Мы уже знаем, что это значение признак приобретает после того, как Геральт соглашается выполнить задание Зигфрида, то есть выбирает в диалоге реплику "Согласен" (Zrobi się).
И, наконец, два важных замечания. Свойства признаков диалогов для квестов можно изменить только в разделе Устанавливаемые признаки (After Flags). Их значение будет установлено после выбора соответствующей реплики в игре. Кроме того, когда игрок выбирает в диалоге реплику квеста (то есть реплику, которой присвоен идентификатор квеста), текст этой и последующих реплик не будет выводиться при следующем диалоге.
| СТАТЬИ | |
|---|---|
| Диалоги | |
| • Введение • Диалоги для квестов • Стандартные диалоги и диалоги для роликов • Мини-игры в диалогах • | |
| • Д'жинни •
• С чего начать • Базовые статьи • Модули • Персонажи • Диалоги • Квесты • Запуск и тестирование игры • Ролики • • Скрипты • Приложения • Модели персонажей • Форматы файлов • | |














































































