Recent changes Random page
GAMING
Gaming
 
WoWWiki
Halopedia
FFXIclopedia
Age of Conan
Warhammer Online
Grand Theft Wiki
See more...

Системы появления

Материал из Djinni Wiki

Перейти к: навигация, поиск

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

Благодаря этой системе можно, к примеру, создать персонажа, который появится в кузнице в 07:00 и будет оставаться там до 15:00, занимаясь созданием мечей и доспехов. В 15:00 этот же персонаж отправиться в таверну, чтобы выпить и сыграть в покер. В 20:00 он покинет таверну и отправится домой спать. На следующее утро в 07:00 он встанет и снова отправится в кузницу. Возможности практически безграничны.

Как мы уже говорили в начале этой главы, персонажей "Ведьмака" можно разделить на 3 условные группы: NPC, независимые или второстепенные персонажи (такие, как городские жители, торговцы или разбойники) и монстры. Мы начнем с NPC.

Для NPC задается имя; индивидуальные характеристики; места, где персонаж проводить время на разных стадиях игры; диалоги в определенных ситуациях и т. д. Другими словами, такой персонаж является уникальным. Если его убить, больше он в игре не появится. Системы появления NPC несколько отличаются от систем появления других персонажей (второстепенных персонажей и монстров).

Для начала я опишу процесс создания системы появления NPC. В нашем случае NPC – это Зигфрид, и данную систему появления мы создаем для него. В меню Файл (File) выберите Создать ‐> Основной персонаж (.npc) (New ‐> Story NPC (.npc)).

Изображение:spwns001.PNG


Откроется окно Новый основной персонаж (new story npc).

Изображение:spwns002.PNG


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


  • Примечание (Comment). В это поле вы можете ввести свое примечание. В игре они не используются и служат только для информационных целей. Сюда вы можете ввести любой текст, например краткое описание персонажа. Чтобы ввести текст, дважды щелкните по белому полю рядом со словом Примечание (Comment).

Изображение:spwns003.PNG


В случае Зигфрида можете ввести сюда "Зигфрид – рыцарь, работодатель" (Zygfryd – zakonnik, zleceniodawca). Затем нажмите клавишу Enter.

Изображение:spwns004.PNG


  • Стадия сюжета (Story Phase). Действия персонажа зависят от стадии сюжета. С помощью скриптов или заданий можно сменить сюжетную стадию. Это в свою очередь приведет к смене поведения персонажа (если для персонажа определено несколько стадий). В каждой сюжетной стадии необходимо задать действия, которые будет выполнять персонаж, а также идентификаторы пункта появления. Более подробно пункты появления и области действии описаны в отдельных главах этого руководства.


Для каждого NPC можно создать неограниченное количество стадий сюжета. В каждой стадии можно указать выполняемые персонажем действия, идентификаторы пункта появления и т. д. Таким образом, поведение персонажа можно настроить для каждой стадии игры. Чтобы добавить новую сюжетную стадию, щелкните правой кнопкой мыши по столбцу Стадия сюжета (Story Phase).

Изображение:spwns005.PNG


В контекстном меню выберите пункт Добавить стадию сюжета (Add Story Phase).

Изображение:spwns006.PNG


Будет создана новая стадия сюжета.

Изображение:spwns007.PNG


Для начала присвойте новой сюжетной стадии имя. Это имя должно быть простым и интуитивно понятным, так как оно понадобится при каждой смене сюжетных стадий персонажа.

Изображение:spwns008.PNG


Так как в нашем случае Зигфрид дает Геральту задание, введите в это поле слово zadanie (zlecenie) и нажмите клавишу Enter.

Изображение:spwns009.PNG


  • Стадия появления (Spawn Phase). Следующий шаг – создание стадии появления. Эти стадии в целом отвечают за разные части суток, в которые персонаж выполняет действия. Каждая стадия сюжета может содержать несколько стадий появления. Чтобы создать новую стадию появления, щелкните правой кнопкой мыши по полю в столбце Стадия появления (Spawn Phase).

Изображение:spwns010.PNG


В контекстном меню выберите пункт Добавить стадию появления (Add Spawn Phase).

Изображение:spwns011.PNG


Будет создана новая стадия появления. Обратите внимание, что в сюжетной стадии zadanie появилась новая строка.

Изображение:spwns012.PNG


Сюжетная стадия zadanie в настоящий момент содержит две стадии появления. Так как в нашем случае у Зигфрида будет только одна такая стадия, вторую можно удалить. Для этого щелкните правой кнопкой мыши по стадии появления, которую нужно удалить. Удалить стоит вторую стадию, так как мы только что ее создали. Щелкните правой кнопкой мыши по полю в столбце Стадия появления (Spawn Phase).

Изображение:spwns013.PNG


В контекстном меню выберите пункт Удалить стадию появления (Delete Spawn Phase).

Изображение:spwns014.PNG


Ненужная стадия появления была удалена. Каждая новая сюжетная стадия уже содержит одну стадию появления. Давайте присвоим ей имя. Для этого щелкните по полю в столбце Стадия появления (Spawn Phase).

Изображение:spwns015.PNG


Введите ozhidanie (oczekiwanie) и нажмите клавишу Enter. Таким образом, мы создали сюжетную стадию zadanie (zlecenie) с одной стадией появления ozhidanie (oczekiwanie).

Изображение:spwns016.PNG


  • Время начала (Start time). Наш следующий шаг – установить время выполнения действия. Для этого в столбце Время начала (Start time) необходимо указать время начала данной стадии появления. А в столбце Время конца (End Time) указывается время конца данной стадии появления. В этот временной период NPC будет выполнять действия, которые мы назначим чуть позже. Чтобы ввести время начала, дважды щелкните по полю в столбце Время начала (Start time).

Изображение:spwns017.PNG


Значение можно ввести с клавиатуры или с помощью стрелок, расположенных с правой стороны ячейки.

Изображение:spwns018.PNG


Оставьте здесь значение 00:00:00.

  • Время конца (End Time). В этом столбце указывается время конца данной стадии появления. По умолчанию стоит значение 06:00:00. Если мы оставим это значение, Зигфрид появится в игре в 00:00:00 и исчезнет в 06:00:00, но это нас не устраивает. В нашем случае Зигрид должен быть в игре постоянно, днем и ночью. Для этого необходимо установить время начала и время конца стадии появления на 00:00:00. Дважды щелкните по полю в столбце Время конца (End Time).

Изображение:spwns019.PNG


Введите 00:00:00 и нажмите клавишу Enter.

Изображение:spwns020.PNG


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

  • Скрипт при появлении (OnSpawn Script). В этом столбце указывается скрипт, выполняемый при каждом появлении NPC в игре. В случае Зигфрида устанавливать скрипт не нужно. Однако если вы хотите назначить скрипт, дважды щелкните по полю в столбце Скрипт при появлении (OnSpawn Script).

Изображение:spwns021.PNG


Откроется окно выбора (Select).

Изображение:spwns022.PNG


В этом окне перечислены все скрипты, доступные в игре. Древовидная схема списка отображает структуру каталога Data\Scripts (где хранятся все скрипты). Чтобы открыть дерево, щелкните по знаку плюса.

Изображение:spwns023.PNG


Чтобы закрыть ветвь, щелкните по знаку минуса.

Изображение:spwns024.PNG


Дважды щелкните по нужному скрипту. Например, Зигфриду можно назначить скрипт 2city.

Изображение:spwns025.PNG


После того, как вы дважды щелкните по скрипту 2city, он появится в поле в столбце Скрипт при появлении (OnSpawn Script).

Изображение:spwns026.PNG


Чтобы удалить скрипт, дважды щелкните по полю в столбце Скрипт при появлении (OnSpawn Script). Но на этот раз в окне выбора дважды щелкните по пункту <Удалить> (<Delete>) в верхней части списка.

Изображение:spwns027.PNG


Скрипт 2city будет удален. Обратите внимание, что каждой стадии появления можно присвоить свой скрипт.

  • Шаблон (Template). Еще один важный шаг – добавить шаблон персонажа. Именно здесь указывается шаблон персонажа, который мы создали чуть ранее. Процесс назначения шаблона аналогичен процессу назначения скриптов. Дважды щелкните по полю в столбце Шаблон (Template). Откроется окно выбора (Select).

Изображение:spwns028.PNG


На этот раз в окне перечислены все шаблоны персонажей, доступные в игре. Древовидная схема шаблонов отображает структуру каталога Data\Templates. Шаблон Зигфрида сохранен в каталоге Data\Templates\Characters\NPC. Найдите шаблон nash_zygfryd (nasz_zygfryd) и дважды щелкните по нему.

Изображение:spwns029.PNG


Шаблон nash_zygfryd (nasz_zygfryd) назначен на сюжетную стадию zadanie.

Изображение:spwns030.PNG


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

  • Диалоги (Dialogs). Созданию диалогов посвящена отдельная глава этого руководства. Диалог – разговор между двумя и более персонажами. Зигфриду необходимо назначить диалог, но это мы сделаем позже. А теперь я лишь расскажу вам, как это сделать. Процедура аналогична добавлению скрипта или шаблона персонажа. Дважды щелкните по полю в столбце Диалоги (Dialogs).

Изображение:spwns031.PNG


Откроется окно выбора (Select).

Изображение:spwns032.PNG


В окне перечислены диалоги. Древовидная схема списка отображает структуру каталога Data\Dialogues (где хранятся все диалоги игры). Чтобы добавить диалог, найдите его в списке и дважды щелкните по нему. Например, можете назначить Зигфриду диалог cn_boy01.

Изображение:spwns033.PNG


Выбранный диалог появится в поле в столбце Диалоги (Dialogs).

Изображение:spwns034.PNG


Так как созданием собственных диалогов мы займемся позже, дважды щелкните по полю в столбце Диалоги (Dialogs) и в окне выбора (Select) выберите пункт <Удалить> (<Delete>).

Изображение:spwns035.PNG


Диалог будет удален. Каждой стадии появления для NPC можно присвоить разные файлы диалогов. Именно поэтому таким персонажам не присваивают файлы диалогов в шаблоне персонажа.

  • Категории появления (Spawn Categories). Следующий столбец – категории появления. Это идентификатор, который сообщает NPC информацию, в каком пункте появления персонаж должен появляться или исчезать. Чтобы добавить категорию появления, щелкните правой кнопкой мыши по полю в столбце Категории появления (Spawn Categories).

Изображение:spwns036.PNG


В контекстном меню выберите пункт Добавить категорию (Add Category).

Изображение:spwns037.PNG


Будет создана новая категория появления. Чтобы присвоить ей имя, дважды щелкните по полю, которое только что появилось в столбце Категории появления (Spawn Categories).

Изображение:spwns038.PNG


В случае Зигфрида присвоим категории имя spawn_zygfryd. Введите имя и нажмите клавишу Enter.

Изображение:spwns039.PNG


Чтобы Зигфрид мог впоследствии появиться в игре, необходимо создать пункт появления с тегом spawn_zygfryd. Более подробно пункты появления описаны в отдельной главе этого руководства.


Каждая стадия появления для ключевых персонажей игры может содержать неограниченное количество категорий появления. Добавим Зигфриду еще одну категорию. Щелкните правой кнопкой мыши по полю в столбце Категории появления (Spawn Categories). В контекстном меню выберите пункт Добавить категорию (Add Category). Появится следующее поле.

Изображение:spwns040.PNG


Правда, в нашем случае вторая категория появления не нужна, поэтому ее можно удалить. Для этого щелкните правой кнопкой мыши по соответствующему полю в столбце Категории появления (Spawn Categories).

Изображение:spwns041.PNG


В контекстном меню выберите пункт Удалить категорию (Delete Category).

Изображение:spwns042.PNG

  • Список действий (Action List). В этом столбце указываются все действия, которые будет выполнять Зигфрид в данной стадии появления. Это наборы анимационных роликов, воспроизводимых для определенного персонажа в соответствующий момент. Чтобы добавить действие, щелкните правой кнопкой мыши по полю в столбце Список действий (Action List).

Изображение:spwns043.PNG


В контекстном меню выберите пункт Добавить действие (Add Action).

Изображение:spwns044.PNG


Откроется окно выбора (Select).

Изображение:spwns045.PNG


В этом окне вы увидите обширный список действий. Найдите пункт w_h_pray (заставит Зигфрида молиться) и дважды щелкните по нему.

Изображение:spwns046.PNG


Выбранное действие появится в столбце Имя действия (Action Name).

Изображение:spwns047.PNG


В столбце Вероятность (Probability) появилось значение 50%. Это означает, что для нашего персонажа вероятность выполнить действие w_h_pray в определенный момент составляет 50% по сравнению со всеми другими действиями. Учтите, после того, как вы укажете все действия, которые должен выполнить персонаж за данную стадию появления, сумма всех значений в этом столбце должна составлять 100%. Предположим, вероятность выполнения действия w_h_pray для Зигфрида должна составлять всего 5%. Чтобы изменить значение, дважды щелкните по полю в столбце Вероятность (Probability).

Изображение:spwns048.PNG


Введите значение 5 и нажмите клавишу Enter. Знак процентов вводить необязательно, т. к. он добавляется автоматически. Теперь добавим еще одно действие. Еще раз щелкните правой кнопкой по столбцу Имя действия (Action Name) в строке сюжетной стадии zadanie. На этот раз, когда откроется окно выбора (Select), щелкните по крестику, чтобы закрыть окно.

Изображение:spwns049.PNG


Будет добавлено пустое действие.

Изображение:spwns050.PNG


Естественно, это поле нельзя оставлять пустым. Щелкните по пустому полю в столбце Имя действия (Action Name), чтобы открыть окно выбора (Select) со списком действий.

Изображение:spwns051.PNG


Снова откроется окно выбора. Найдите в списке пункт w_h_alarmed (заставляет Зигфрида тревожно осматриваться) и дважды щелкните по нему.

Изображение:spwns052.PNG


Выбранное действие появится в столбце Имя действия (Action Name).

Изображение:spwns053.PNG


Дважды щелкните по ячейке в столбце Вероятность (Probability) рядом с действием w_h_alarmed, установите значение на 10% и нажмите клавишу Enter.

Изображение:spwns054.PNG


Добавьте Зигфриду еще три действия: all_walkto1 (вероятность 35%), all_walkto2 (вероятность 35%) и w_h_bored (вероятность 15%). Вы уже знаете, как это сделать. В целом, список действий Зигфрида должен выглядеть следующим образом.

Изображение:spwns055.PNG


Запомните, что общая сумма значений в столбце Вероятность (Probability) должна составлять 100%. Появившись в игре, Зигфрид будет ходить с места на место, время от времени будет вставать на колени и молиться, оглядываться по сторонам или потягиваться от скуки. Если хотите удалить то или иное действие, щелкните по нему правой кнопкой мыши и в контекстном меню выберите пункт Удалить действие (Delete Action).

Изображение:spwns056.PNG


  • Цикл действий (Actions Looped). При установке значения True в этом столбце действия, перечисленные в столбце Имя действия (Action Name) будут выполняться циклично. То есть Зигфрид будет постоянно выполнять указанные действия. При выборе значения False Зигфрид выполнит каждое действие один раз, а затем отправится к пункту выхода. Чтобы установить цикличный повтор действий, дважды щелкните по полю в столбце Цикл действий (Actions Looped).

Изображение:spwns057.PNG


В меню выберите пункт Да (Yes).

Изображение:spwns058.PNG


Цикл действий будет включен.

Изображение:spwns059.PNG


Чтобы изменить значение, щелкните правой кнопкой мыши по ячейке в столбце Цикл действий (Actions Looped) и выберите в меню пункт Нет (No).

  • Список зон (Regions List). Зона появления – это просто идентификатор для области действий (более подробно области действий описываются в отдельной главе данного руководства). Зона появления передает персонажу информацию, какие действия необходимо выполнить в той или иной области действий. Учтите, что в списке области действий, в которой персонаж должен что‐то сделать, должны быть указаны идентичные действия. Чтобы добавить новую зону появления, щелкните правой кнопкой мыши по полю в столбце Список зон (Regions List).

Изображение:spwns060.PNG


В контекстном меню выберите пункт Добавить зону появления (Add Spawn Region).

Изображение:spwns061.PNG


Будет создана новая зона появления.

Изображение:spwns062.PNG


Теперь присвоим ей имя. Дважды щелкните по полю, которое только что было добавлено в столбец Список зон (Regions List). Введите action_zygfryd и нажмите клавишу Enter.

Изображение:spwns063.PNG


Учтите, что имя области действия, в которой Зигфрид должен выполнять свои действия, должно быть идентично имени зоны появления. В каждой стадии появления можно создать любое количество зон появления. Чтобы добавить еще одну зону, щелкните правой кнопкой мыши по столбцу Список зон (Regions List) и выберите в меню пункт Добавить зону появления (Add Spawn Region). Появится еще одно поле.

Изображение:spwns064.PNG


Правда, в нашем случае вторая зона появления не нужна, поэтому щелкните по ней правой кнопкой мыши и выберите в контекстном меню пункт Удалить зону появления (Delete Spawn Region).

Изображение:spwns065.PNG


Вот практически и все, что касается создания систем появления для ключевых персонажей игры. Можно создать одну систему появления для всех основных NPC, но так делать не рекомендуется. Лучше всего создать отдельную систему параметров для каждого персонажа.


Теперь сохраним систему появления. Для этого в меню Файл (File) выберите пункт Сохранить как... (Save As...).

Изображение:spwns066.PNG


Откроется стандартное окно Windows для сохранения файлов. Сохраните параметры появления Зигфрида в каталог Templates\NPCSpawn. Перейдите в этот каталог, введите имя файла nash_zygfryd (nasz_zygfryd) и нажмите кнопку Сохранить. Не забудьте, что имя файла должно содержать не более 16 символов. В противном случае редактор D’jinni просто не увидит этот файл. Убедитесь, что сохраняете файл в формате npc.

Изображение:spwns067.PNG


Если в окне указан другой тип файла, это, возможно, означает, что вы случайно пытаетесь сохранить содержимое другого открытого окна. Прежде, чем сохранять шаблон персонажа, убедитесь, что у вас активно окно Новый основной персонаж (new story npc). Если оно не активно, его заголовок будет отображаться серым цветом.

Изображение:spwns068.PNG


Любой другой цвет заголовка означает, что данное окно является активным.

Изображение:spwns069.PNG


Звездочка перед текстом в заголовке окна означает, что последние изменения в этом файле не были сохранены. Как и в случае с шаблонами, вместо пункта Сохранить как... (Save As...) можно выбрать в меню Файл (File) пункт Сохранить нового основного персонажа (Save new story npc). Таким образом вы сможете сохранить файл непосредственно в модуль. Но в данном руководстве этот способ не рассматривается.


Теперь перейдем к системам появления для остальных персонажей, т. е. для второстепенных персонажей и монстров. Начнем с Юза. Задача этого персонажа – играть в покер с Геральтом. Чтобы создать систему появления Юза, выберите в меню Файл (File) пункт Создать ‐> Система появления (.spn) (New ‐> Spawn set (.spn)).

Изображение:spwns070.PNG


Откроется окно Новая система появления (new spawn set).

Изображение:spwns071.PNG


Как и при работе с окном Новый основной персонаж (new story npc), в данном случае можете воспользоваться полосой прокрутки в нижней части окна. Это окно также разделено на несколько столбцов. И хотя некоторые столбцы здесь идентичны столбцам окна Новый основной персонаж (new story npc), я расскажу о них еще раз, чтобы процедура создания системы появления была понятнее.


  • Примечание (Comment). В это поле вы можете ввести свое примечание. В игре они не используются и служат только для информационных целей. Сюда вы можете ввести любой текст, например краткое описание персонажа. Чтобы ввести текст, дважды щелкните по белому полю рядом со словом Примечание (Comment).

Изображение:spwns072.PNG


В случае Юза можете ввести сюда "Юз – заядлый игрок в покер" (Józek – pasjonata gry w kości), после чего нажмите клавишу Enter.

Изображение:spwns073.PNG


  • Элемент появления (Spawn Entry). Для неключевых персонажей игры не предусмотрены параметры Стадия сюжета (Story Phase) и Стадия появления (Spawn Phase). Дело в том, что таким персонажам это не требуется. Однако параметр Элемент появления (Spawn entry) в определенной степени аналогичен стадии появления. С помощью элементов появления персонажу можно присвоить действия, которые он будет выполнять в разное время суток. Чтобы создать новый элемент появления, щелкните правой кнопкой мыши по столбцу Элемент появления (Spawn Entry).

Изображение:spwns074.PNG


В контекстном меню выберите пункт Добавить элемент появления (Add Spawn Entry).

Изображение:spwns075.PNG


Будет создан новый элемент появления.

Изображение:spwns076.PNG


Чтобы присвоить ему имя, дважды щелкните по полю в столбце Элемент появления (Spawn Entry).

Изображение:spwns077.PNG


Так как Юз в нашем случае любит играть в покер, просто введите в поле слово poker и нажмите клавишу Enter.

Изображение:spwns078.PNG


Чтобы добавить еще один элемент появления, снова щелкните правой кнопкой мыши по столбцу Элемент появления (Spawn Entry) и выберите в меню пункт Добавить элемент появления (Add Spawn Entry). Будет создан второй элемент появления.

Изображение:spwns079.PNG


Однако второй пункт нам не нужен, поэтому можете его удалить. Щелкните правой кнопкой мыши по полю в столбце Время начала (Start time).

Изображение:spwns080.PNG


В контекстном меню выберите пункт Удалить элемент появления (Delete Spawn Entry).

Изображение:spwns081.PNG


Учтите, что в контекстном меню столбца Элемент появления (Spawn Entry) нет пункта Удалить элемент появления (Delete Spawn Entry).

  • Время начала (Start time). Для независимых (второстепенных) персонажей также необходимо указывать период выполнения действий. Столбцы Время начала (Start time) и Время конца (End Time) аналогичны одноименным столбцам в окне Новый основной персонаж (new story npc). Чтобы указать время начала для элемента появления, дважды щелкните по полю в столбце Время начала (Start time).

Изображение:spwns082.PNG


Значение можно ввести с клавиатуры или с помощью стрелок, расположенных с правой стороны ячейки.

Изображение:spwns083.PNG


Оставьте здесь значение 00:00:00.

  • Время конца (End Time). По умолчанию здесь стоит то же значение, что и в предыдущем случае – 06:00:00. Если оставить это значение, Юз будет появляться в 00:00:00 и исчезать в 06:00:00. Однако в нашем случае необходимо, чтобы и Зигфрид, и Юз присутствовали в игре постоянно, днем и ночью. Как и в случае с настройками для NPC, независимые персонажи будут постоянно присутствовать в игре, если и время начала, и время конца установлено на 00:00:00. Дважды щелкните по полю в столбце Время конца (End Time).



СТАТЬИ
Персонажи
ВведениеШаблоныСистемы появленияПунткы появленияОбласти действий
Д'жинни

С чего начатьБазовые статьиМодулиПерсонажиДиалогиКвестыЗапуск и тестирование игрыРолики

Общая информация о скриптахПриложенияФанатские приложенияРуководства от REDFlame InteractiveРуководства других пользователей

Оцените: Share this article: