Как создать нпс в обливион

Обновлено: 05.07.2024

Это руководство покрывает основы создания нового боевого NPC и помещение его в подземелье. Раскрыты следующие темы:

  • Создание нового NPC
  • Редактирование характеристик NPC
  • Редактирование облика NPC
  • Редактирование инвентаря и магии NPC
  • Основы редактирования AI и Package

Это руководство не затрагивает создание диалогов или квестов. Начнем.

Основы редактирования AI и Package


Мы можем оставить установленные по умолчанию AI Attributes от оригинального NPC. Установка Aggression и Confidence в 100 означает, что наша NPC будет считать всех врагами и никогда не будет убегать. Вы можете поиграть с этими значениями, задавая различное поведение, например, можете понизить Confidence, чтобы задать NPC тенденцию к дезертирству из сражения. Energy level и Responsibility связаны с другими настройками поведения AI и их можно оставить без изменения.

Заметьте, что пакеты aaaCreatureInterior512 и aaaCreatureExterior1500 уже есть в списке пакетов. aaa – это префикс названия, который мы используем для обозначения базовых пакетов, которые можно использовать на любом NPC или существе. Мы оставим их в списке, чтобы NPC мог просто бродить вокруг и взаимодействовать с окружением, если не выбраны другие пакеты.

В меню выберите Packages. . Это полный список созданных пакетов. Выберите следующие три и добавьте их в список пакетов NPC:

Это стандартные пакеты, которые мы можем использовать, на что указывает префикс aaa. Название их также дает нам информацию о времени. Первое число – это время в военном стиле (24 час), а второе – продолжительность. Таким образом, наш NPC будет есть в течение двух часов в 10-00 и 20-00, а также спать восемь часов с 22-00. Такое поведение даст игрокам шанс более просто прокрасться и обыскать ее и жилую зону без прямого противостояния.

AI обрабатывает пакеты последовательно, начиная с верхней части списка, так что держите пакеты брождения внизу. Так как у этих пакетов нет условий (времени или продолжительности), то AI будет всегда выбирать один из них, а это значит, что NPC никогда не будет есть или спать, если эти пакеты будут находиться в списке ниже пакетов брождения.

Oblivion:Руководство по созданию компаньонов-NPC v2.01


Теперь перейдем к созданию пакетов. Они нам понадобятся при написании результирующих скриптов в диалогах. С их помощью мы будем управлять компаньоном.

  • Идем в Character -> Package…
  • Откроется окно AI packages, где мы увидим список всех существующих в игре пакетов АИ.
  • Щелкаем правой кнопкой мыши где-нибудь в этом списке и в появившемся меню выбираем New.
  • Сначала создаем пакет для следования:
  • ID пишем произвольно, например, EvilCompanionFollow.
  • Package Type (тип пакета). Выбираем Follow (следовать).
  • Schedule (расписание) – не трогаем.
  • Conditions (условия) – не трогаем.
  • Location (местоположение) – не трогаем.
  • Target (цель):
  • В закладке Target отмечаем Any Object.
  • В выпадающем списке Object ID выбираем Player. Это и будет цель, за которой будет следовать компаньон. То есть, за игроком в данном случае.
  • Flags (флаги) – не трогаем (убираем галочку с Defensive Combat, если стоит).


  • Теперь настраиваем пакет прогулки:
  • ID пишем произвольно, например, EvilCompanionWander
  • Package Type (тип пакета). Выбираем Wander (Бродить).
  • Schedule (расписание) – не трогаем.
  • Conditions (условия) – не трогаем.
  • Location (местоположение):
  • Отмечаем Location.
  • Затем отмечаем Near Current Location. То есть, NPC будет бродить в районе того места, где он сейчас находится.
  • Выставляем Radius (радиус), то есть, насколько далеко он будет отходить от начальной точки. Я поставил 512. Но если хотите, чтобы он стоял на месте, ставьте 0.
  • Target (цель) – не активна.
  • Flags (флаги) – не трогаем.


С пакетами все. Переходим к размещению нашего компаньона в мире.

Размещение NPC в мире (с Ref)

Сначала нужно подумать, куда разместим нашего компаньона. Я своего помещу в Бруме, около Гильдии Магов. Когда определились с размещением, нужно в Render Window загрузить необходимую ячейку:

  • В окне Cell View ищем в окошке World Space мир с названием BrumaWorld.
  • В списке ниже ищем BrumaExterior (6, 36) и дважды по ней щелкаем левой кнопкой мыши. Спустя какое-то время ячейка загрузится в Render Window.


  • Теперь ищем в окне объектов (Object Window) нашего NPC-компаньона и перетаскиваем его в Render Window.

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

  • Двойной щелчок левой кнопкой мыши на нашем NPC, находящемся в Render Window.
  • Появится окно Reference (ссылка), где нам нужно выставить уникальный Reference Editor ID (например, EvilCompanionNPCRef; чтобы не запутаться, удобно использовать ID объекта, добавив к нему Ref) и убедиться, что отмечено окошко Persistent Reference (в данном случае оно изначально отмечено и заблокировано):


Зачем все это? Дело в том, что в игре может присутствовать большое количество объектов (существ, предметов, оружия и т.д.) с одинаковым ID. А если нам нужно задействовать какой-то конкретный объект или существо, размещенное в игре? Если использовать ID, то наше воздействие на него повлияет на все такие объекты. Именно для того, чтобы этого избежать, для каждой копии объекта, размещенной в игре, вводится ссылка (Reference Editor ID) именно на данный конкретный объект. Таким образом, мы можем воздействовать через эту ссылку на конкретный объект, а не на все однородные.

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

Пришло время создавать диалоги нашему NPC.

  • Для начала идем в Character -> Quests.
  • В списке слева жмем правую кнопку мыши, в появившемся меню выбираем New.
  • В New Form Editor ID пишем произвольный ID нашему квесту, например, EvilCompanionTopics
  • Quest Name (имя квеста) – можно не писать.
  • Priority. Поставим 100.
  • Script. Не трогаем.
  • Start Game Enabled. Отмечаем. Это означает, что квест начнет работать сразу после запуска игры.



Переходим на закладку Topics.

  • В длинном пустом списке щелкаем правой кнопкой мыши.
  • В появившемся меню выбираем Add Topic:



  • В появившемся окошке выбираем GREETING (приветствие):


  • Справа в окне Info щелкаем правой кнопкой мыши, выбираем New.
  • В появившемся меню в окошке Response text вводим реплику, которую NPC скажет при приветствии.


  • Внизу, в Conditions (условия), щелкните правой кнопкой мыши и выберите в появившемся меню New.
  • Щелкните на стрелку правее GetDisposition и в появившемся списке выберите GetIsID.
  • В Function Parameters выберите ID нашего компаньона (EvilCompanionNPC). Таким образом, данный топик появится только у нашего компаньона.

Теперь давайте создадим тему для разговора, в которой мы говорим NPC следовать за нами. Для этого:

  • Снова щелкаем правой кнопкой мыши в пустом длинном списке, выбираем Add Topic.
  • В появившемся окне снова щелкаем правой кнопкой мыши, выбираем New.
  • Вводим произвольный ID, например, EvilCompanionTopicFollow и щелкаем справа в Info правой кнопкой мыши.
  • В Response text вводим реплику, которую скажет наш компаньон, когда мы выберем из списка EvilCompanionTopicFollow.
  • Выше Info есть строка Topic Text. То, что вы там напишете, будет отображаться при диалоге с NPC. Мы же не скажем в жизни другу: «EvilCompanionTopicFollow»? Конечно же нет! Это ведь прямая дорога в клинику. Поэтому сотрите из Topic Text все и напишите туда что-то вроде «Следуй за мной» Теперь нужно сделать так, чтобы тема «Следуй за мной» появилась в списке тем для разговора у нашего компаньона.
  • Для этого выберите GREETING и справа в маленьком квадратном окошке Add Topics щелкните правой кнопкой мыши и в появившемся меню выберите AddTopic.



(Прим. автора: у меня поле AddTopics уже заполненное. У вас же оно должно быть еще пустым.)

  • В списке выберите только что созданную нами тему для разговора EvilCompanionTopicFollow
  • Таким образом создайте еще две темы для разговора – "Жди здесь" (EvilCompanionTopicStop) и "Прогуляйся" (EvilCompanionTopicWander).
  • Не забудьте всем диалогам поставить в Conditions (условия) GetIsID EvilCompanion NPC == 1 и добавить их в окошко AddTopic реплики GREETING.

Ну, теперь самое время заняться результирующими скриптами.

Создание результирующих скриптов для диалогов

  • Откройте Topics, выберите топик EvilCompanionTopicFollow.
  • Справа, выше Conditions, будет окошко Result Script. В нем пишем следующее:
  • Жмем Compile.
  • Далее выбираем топик EvilCompanionTopicStop. В Result Script пишем:
  • Жмем Compile.
  • Ну и напоследок выбираем топик EvilCompanionTopicWander. В Result Script пишем:
  • Жмем Compile.
  • Жмем Ok.

Создание более продуманного и «живого» компаньона

Создание дополнительных AI пакетов

Все помнят, как создавать AI пакеты? Если нет, то читаем второй пункт первой части урока. А если же помните, то я больше не буду подробно расписывать этот процесс.

  • Для начала создаем пакет поиска золота.
  • ID – произвольно, например EvilCompanionFindGold
  • Package Type – Find.
  • Flags:
  • Можно отметить Defensive Combat (чтобы компаньон не нападал ни на кого первым).
  • Always Run (чтобы во время поисков персонаж всегда бегал).
  • Allow Swimming (позволить компаньону во время этого пакета плавать)…
  • В общем, какие флаги ставить, а какие нет – решать вам. Я же отметил только Defensive Combat.
  • Schedule (расписание) – можно поставить Duration на 1.
  • Condition (условия выполнения пакета). Не трогаем.
  • Location:
  • Near Current Location - в том месте, где компаньон начнет этот пакет.
  • Radius (радиус), (от точки, где компаньон начал выполнение пакета) в пределах которого компаньон будет искать нужный предмет) – произвольно, но желательно не слишком большой и не слишком маленький. Думаю, в пределах 1000-3000 будет достаточно.


  • Target (цель) – объект, который компаньон будет искать.
  • Выбираем AnyObject (какой-то объект).
  • ObjectID (какой именно объект) выбираем Gold001 (золото).
  • Count (сколько нужно золота) – произвольно. Можно поставить побольше. Я поставил 5000.


  • Теперь нужно создать пакет поиска ингредиентов.
  • ID – произвольно, например EvilCompanionFindIngredients
  • Package Type – Find.
  • Flags. Можно отметить Defensive Combat (чтобы компаньон не нападал ни на кого первым). Always Run (чтобы во время поисков персонаж всегда бегал). В общем, какие флаги ставить, а какие нет – решать вам. Я же отметил только Defensive Combat.
  • Schedule (расписание) – можно поставить Duration на 1.
  • Condition (условия выполнения пакета). Не трогаем.
  • Location. Near Current Location (в том месте, где компаньон начнет этот пакет), Radius (радиус, (от точки, где компаньон начал выполнение пакета) в пределах которого компаньон будет искать нужный предмет) – произвольно, но желательно не слишком большой и не слишком маленький. Думаю, в пределах 1000-3000 будет достаточно.


  • Target (цель) – объект, который компаньон будет искать. Выбираем AnyObject (какой-то объект). Object Type (в данном случае выбираем тип объекта, а не конкретный объект) - выбираем Flora (флора). Или можете выбрать Food, тогда он будет собирать еду. Count (сколько нужно компаньону сорвать цветочков/грибочков и пр.) – произвольно. Можно поставить побольше. Я поставил 5000.


С пакетами пока что все. Переходим к древовидным диалогам.

Создание древовидных диалогов

Я обещал, что научу вас создавать древовидные диалоги. Вот время и настало! Но перед тем, как создавать диалоги, следует определиться в их последовательности. Наш план таков:

Пример, хоть и примитивен, однако принцип создания один и тот же, сделайте вы дерево хоть из 20 топиков.

Для начала нам нужно создать 4 топика:

  • «Давай что-нибудь поищем»,
  • «Золото»,
  • «Ингредиенты»
  • «Ладно, проехали».

Все помнят, как создавать диалоги? Если нет, то читаем четвертый пункт первой части урока. Если да, то я не буду детально описывать этот процесс. Просто создайте четыре топика. НЕ присоединяйте их к другим (как, например, мы привязывали EvilCompanionTopicFollow к GREETING).

Их ID, например, будут:

  • У топиков «EvilCompanionTopicFindGold» и «EvilCompanionTopicFindIngredients» поставьте галочку на флаге Goodbye.
  • У топиков EvilCompanionFindSomething и EvilCompanionTopicDoesntMatter ставить ее не надо.
  • Не забываем поставить в каждом топике в Conditions условие GetIsID EvilCompanionNPC == 1
  • Result Scripts пока что не ставим.
  • Теперь привяжите EvilCompanionTopicFindSomething к GREETING (как мы, например, привязывали EvilCompanionTopicFollow к GREETENG)

Сейчас нам нужно привязать EvilCompanionTopicFindGold, EvilCompanionTopicFindIngredients и EvilCompanionTopicDoesntMatter к EvilCompanionTopicFindSometing.

НО! Делать это нужно не так, как мы привязывали диалоги раньше!


Если раньше мы добавляли топики в поле AddTopics, то теперь нам надо добавить наши новые три топика в поле Choices, оно находится чуть ниже.


Принцип привязывания к Choices тот же, что и у поля AddTopic:

  • Щелкаем в поле Choices правой кнопкой мыши.
  • В появившемся меню выбираем AddTopic и таким образом помещаем туда наши три топика.

Сейчас нужно привязать все наши топики (кроме EvilCompanionTopicFindGold, EvilCompanionTopicFindIngredients и EvilCompanionTopicDoesntMatter) к топику EvilCompanionTopicDoesntMatter. Но делать это уже через поле AddTopics


Теперь нужно нашим топикам поиска золота и ингредиентов Result Script’ы прописать, не зря же мы пакеты создавали.

EvilCompanionTopicFindGold:

EvilCompanionTopicFindIngredients:

Так, мы все настроили. Но тот, кто внимательно читал туториал, заметил, что искать-то предметы компаньон будет, а вот отдавать – нет. Я хотел сначала сделать так, чтобы по окончании пакета компаньон подошел к нам, сказал «У меня есть кое-что» и отдал нам золото или ингредиенты (в зависимости от того, какой пакет был активен). Но, благо, я посовещался с IgorLutiy (Igor_Ra), и он убедил меня отказаться от этой идеи. Сами посудите (цитирую IgorLutiy):

Инвентарь компаньона

В этой части урока я расскажу вам, как «залезть» в инвентарь к компаньону (вполне законно), забрать у него золото и ингредиенты, за которыми мы его посылали. Ну и шик сезона – как переодеть компаньона.

Для начала создадим сундук.

  • Выбираем из окна ObjectWindow закладку WorldObjects -> Container.
  • Кликаем правой кнопкой мыши на одном из сундуков (я выбрал AnvilBaeralornChest).
  • В появившемся меню выбираем Edit.
  • Меняем ID на произвольный (например, EvilCompanionChest). Имя можно оставить (все равно его не увидим).
  • Убираем галочку с Respawns.
  • Скрипты тоже удаляем (если были).
  • OpenSound и CloseSound убираем (для этого щелкните на них правой кнопкой мыши и выберите пустое поле в самом верху списка). Все вещи из сундука убираем. Должно получиться вот так:


  • Выскочит окошко, которое спросит, хотим ли мы создать новый объект. Отвечаем Yes (Да, Ok).


  • Сейчас надо этот сундук разместить в мире так, чтобы игрок его не увидел (в стене, например, или под землей. Как вам угодно).
  • После того, как разместили сундук в мире, кликните на нем дважды левой кнопкой мыши. Появится окошко.
  • Задайте Reference Editor ID произвольно, например, EvilCompanionChestRef.
  • Внизу обязательно отметьте галочку на Persistent Reference:


  • Теперь нам нужно создать AI пакет следования за игроком, но немного другой (этот пакет будет своего рода неким активатором инвентаря):
  • ID произвольно, например, EvilCompanionInvPack
  • Package Type – Follow
  • Flags – не трогаем.
  • Schedule – не трогаем.
  • Conditions – не трогаем.
  • Location – не трогаем.
  • Target – ObjectID – Player
  • Жмем Ok.

С пакетом закончили.

  • Теперь создадим топик «Инвентарь» с произвольным ID, например, EvilCompanionTopicInventory.
  • Отмечаем флаг Goodbye, не забываем условие (GetIsID EvilCompanionNPC == 1).
  • Привязываем этот топик к топику GREETENG и к EvilCompanionTopicDoesntMatter через поле AddTopics.
  • В Result Script пропишите следующее:

С топиком закончили. Сейчас нам нужно создать скрипт, какой и зачем, я расскажу в процессе.

  • Переходим в закладку Gameplay в конструкторе.
  • В появившемся окне выбираем Edit Scripts…. Перед нами появилось простенькое окошко.
  • В этом окошке выбираем закладку Script и в появившемся меню выбираем New…


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

Но у меня есть еще один туз в рукаве…

Смена боевого стиля компаньона

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

ГГ: Смени свой боевой стиль. Компаньон: Хорошо. Какой стиль предпочитаешь? ГГ: Стиль воина. Компаньон: Хорошо. Давненько я не сходился с противником в честном поединке. ГГ: Стиль мага. Компаньон: Как скажешь. Постараюсь ослабить противника, прежде чем сойтись с ним в поединке. ГГ: Стиль лучника. Компаньон: Отлично. Постараюсь не подпускать противника. А если и подпущу, то быстрые, но частые удары и уклонения в моем вкусе. ГГ: Ладно, проехали. Компаньон: Как скажешь. Что-нибудь еще?

Теперь создадим четыре топика. Почему именно четыре, когда имеется пять реплик? Помните, мы создавали топик EvilCompanionTopicDoesntMatter для дерева поиска? Никто и ничто не помешает нам использовать этот топик для дерева смены стиля.

Итак начнём:

Уменьшить

1)Качаем con set(если нет)Cкачать можно с этого сайта (Я буду работать в RUS версии)
2)Запускаем con set,в верзней панели выбираем "файл/данные и выбираем плаги которые нужны вам в моде,(oblivion.esm обязательно)
3)ждём пока пройдёт загрузка,выбираем в боковой панели Раздел "NPC" ,я всегда выбираю расу "Imperial"(позже можно будет сменить расу)
4)Перед вами появился список готовый НПС,там ищем id "TestImperial"
5)В окне "пространство мира" выбираем облость где мы хотим его разместить,предположим "AnvilWorld"
6)Далее в окне ниже выбираем облость (Облость Анвила в моём случае)
7)Дальше всё как в игре появляется картинка :) ,там приблидаем и двигаем к нужному месту камеру
8)Перетаскиваем testimperial к нужному месту
9)Кликаем на нпс и появляется его меню:Там можно его вращать и тп.
10)А этом меню( слева)Наживаем "Изменить" ,появляется меню,где можно многое изменить)
11.0)Меняем ID ,необходимо выбрать индивидуальный ид ,иначе ваш мод будет конфликтовать с другими(Например tes1game342)
11.1)Во втором пункте выбираем имя персонажа,включите фантазию
11.2)Далее выбираем класс
11.3)Выбираем уровень,например 14
11.4)Выбираем расу(Например orc)
11.5)Выбираем стиль боя,(тут должно стоять норм.) Но для эффекта можно изменить
11.6)если нужен выбираем или пишем скрипт,но это совсем другая история,так что этополе пока не трогаем
11.7)Дальше выбираем какой будет персонаж(Квестовый,оживающт=ий,всегда молчит и тп.) Это можно не трогать ,Если вам это не мужно
12)В правой части этого меню должно быть "Инвентарь" и тп,жмём инвентарь и ищем в боковом меню проги предметы которые нужны нпс

13)Во всех остальных блоках разабраться не трудно,если захотите :),но в этой статье я об них умолчу
14)Жмём "готово" ваш нпс изменился
15)Теперь жмём "файл/сохранить" сохраняем в "/oblivion/data"
Выбираем имя плагину например "tes-gameplugin1341"
Заключение

Уменьшить

1)Заходим в облу :) (Отмечаем в файлах ваш плагин)
2)Идём к месту куда вы поставили NPC
3)Смотрим,тестим на работоспособность:)
Вуаля:


Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Сохранение и тестирование


Еще раз убедитесь, что изменили ID перед нажатием ОК, иначе вы перепишете существующего NPC, которого мы использовали как шаблон. Теперь вы готовы перетащить NPC в ее комнату в CreepyCave02 (или в любое другое место). Неплохо поместить ее рядом с постелью, чтобы нормально отработал пакет сна (sleep package), а также можно поместить в ее комнату побольше еды.

Вот и все! Можете сохранить плагин и протестировать его в игре. У вас есть особый главарь, специально под ваше подземелье, и вы можете настроить его так, как нужно вам.

Как создать нпс в обливион


Находим в окне Object Window Actors  NPC. Перед нами появился список всех неигровых персонажей. Жмем по списку правой кнопкой мыши, нажимаем New

Перед нами появилось окно редактирования NPC

Идем дальше.
Spellist: Список заклинаний, которыми будет владеть наш НПС. Чтобы добавить заклинание, нам нужно найти в окне Object Window Magic  Spell. Таким же образом, как и одежду, переносим заклинания в спелл-лист. Я перенесу ему заклинание невидимости – SELpScalonInvisibility.

Идем дальше.
Вкладка Animation – тут ничего не трогать.
Face: Редактируем возраст, комплекцию, длину волос персонажа и их цвет. Ниже: Hair – прическа. Eyes – глаза. Я же сменю только прическу.
Face Advanced:. Настройки мимики, оттенка кожи и т.д.

С вкладками закончили. Теперь давайте перейдем к настройке AI нашего нпс. Жмем на кнопку AI и перед нами появилось вот такое окошко:

 Aggression (агрессия) – 5,
 Confidence (храбрость) – 100,
 Energy Level – в районе 50 (отвечает за подвижность NPC),
 Responsibility – 0. (При высоких значениях NPC доложит страже, если вы совершили преступление. При более низких сам сможет совершать преступления без зазрения совести).

Жмем Save. С настройкой НПС закончили, можете нажать OK. Теперь нам нужно разместить нашего подопытного в Сиродиле. Я размещу его в Анвиле, около главных ворот. Находим окошечко Cell View и в строчке World Space выбираем AnvilWorld.

Теперь нужно переместить нашего НПС из окошка Object window в окошко Render Window.

Редактирование характеристик NPC



Давайте бегло рассмотрим основные параметры, расположенные в левой панели этого окна.

  • ID: Editor ID для этого NPC. Должно быть уникальным. Используем CreepyCaveBoss
  • Name: Имя NPC, которое появляется в игре. Можем оставить как есть, или ввести свое.
  • Script: Здесь можно присоединить к NPC скрипт. В нашем случае оставим пустым.
  • Class: BanditBoss – это особый класс. Чтобы посмотреть детали ранее созданных классов, можете в меню выбрать Character −> Class.
  • Summonable: Оставьте чистым!
  • Offset/PC Level Offset: Поставив здесь флаг, вы заставите характеристики NPC подстраиваться под уровень игрока. Offset (смещение) определяет, насколько ниже/выше от уровня игрока будет данный NPC. В нашем случае NPC будет на один уровень выше игрока. На этот раз достаточно; позже это можно настроить.
  • Calc Min/Max: Эти поля определяют максимальный и минимальный уровень для NPC. Полезно при создании полууровневого содержания. Например, можно создать подземелье, которое растет в уровне с игроком между 10-15 уровнями. В нашем случае оставим значения по умолчанию 1 и 0, т.е. NPC будет соответствовать уровню любого игрока.
  • Race: Как есть – выберите расу из выпадающего меню. Выберите любую расу, какая вам нравится, я же выбрал Темного Эльфа.
  • Female: Еще более ясно. Мы сделаем нашего главаря женщиной, чтобы соблюдались равные права на убийство.
  • Combat Style: Стиль боя влияет на поведение NPC во время сражения. Для того, чего мы хотим от этого NPC, стиля по умолчанию (default style) будет достаточно.
  • Death Item: Используется для специальных предметов, которые не нужно показывать до смерти NPC. Полезно для предметов, которые нельзя украсть, и для биологических предметов (например, нельзя удалить сердце, пока NPC жив)
  • Essential: Используется для особых NPC и обычно контролируется скриптом. Essential NPC нельзя убить, можно только оставить их без сознания.
  • Respawn: Этот NPC возродится, когда ячейка перезагрузится – т.к. это безымянный главарь банды, пусть он перерождается.

Вы можете видеть, что значения на закладке "Stats" заблокированы (кроме личных). Это потому, что мы отметили "PC Level Offset". Закладка "Factions" также важна. Мы оставим здесь "BanditFaction", но, если понадобятся другие, мы можем добавить их из меню Character −> Factions. . Затем нужно перетащить фракцию из этого списка в список фракций NPC.

Как создать нпс в обливион


Редактирование облика NPC





Щелкните на закладке "Face". Эта закладка дает доступ к управлению базовыми параметрами, такими как возраст (age), комплекция (complexion), и волосы (hair).

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

Радиокнопки "Lock" позволяют вручную задать некоторые параметры, а затем, нажав кнопку "generate", сгенерировать случайным образом все остальные черты лица.

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

  • Нажмите Select Color
  • Выберите понравившийся вам яркий цвет
  • Справа есть вертикальная полоса со стрелочкой.
  • Переместите стрелку в зону с почти черным цветом.
  • Нажмите OK, чтобы посмотреть на результат.

Как правило, для создания уникального лица недостаточно сгенерировать его случайным образом, особенно, если персонаж достаточно важен. Для более деликатной настройки можно выбрать закладку "Face Advanced".

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

  • Slider: Этот ползунок используется для редактирования выбранной опции.
  • Control Type: Режим управления геометрией выбирается радиокнопкой “Geometry” и позволяет изменить форму лицевой структуры, тогда как радиокнопка “Texture” (текстура) позволит вам изменить вид кожи, волос на лице и косметики. Для нашей NPC я понизил линию бровей, делая ее более угрюмой, чем изначально созданное лицо.
  • Symmetry Type: Обычно вы будете работать в режиме симметрии (Symmetry mode). Однако ассиметричный режим (Asymmetry mode), доступный только в режиме управления геометрией, крайне полезен для создания несовершенств на лице персонажа. В нашем примере, я изменил Mouth - corners transverse shift для этого NPC до -8.93, придавая ее лицу ухмылку. Просто помните, что все нужно делать очень тонко, однако с боевыми NPC, такими как этот, допустимо сделать немного больше, чем с обычными говорящими NPC.

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

В этом руководстве давайте создадим особого главаря банды для официального руководства по созданию подземелий Creepy Cave. Для этого загрузите ячейку CreepyCave02, которую вы создали, и удалите "LL1BanditBossLvl100".

Если вы не завершили руководство по подземельям до конца – не волнуйтесь, там просто есть готовая комната для главаря банды, которую мы и используем.

Часто бывает полезным использовать уже существующих NPC в качестве шаблона для создания новых. Для нашего примера найдем в Object Window в разделе NPC "BanditBossFemale1" и выберем ее. Таким образом, наш главарь будет женщиной. Двойной щелчок на записи откроет диалоговое окно ее свойств.

Редактирование инвентаря и заклинаний NPC

Откройте закладку Inventory. Вы можете сделать это, используя маленькие стрелки влево/вправо. Вы обнаружите множество предметов в списке, начинающихся с LL. Это стандартный префикс для Уровневых списков. Так как мы используем шаблонный NPC женского пола, нам не нужно ей ничего добавлять – в ее инвентаре есть все, что нужно, чтобы дать достойный отпор игроку, а после его победы оставить достойную награду. Однако, если вы хотите, чтобы у NPC был какой-то особый предмет (записки и ключи – хороший пример), то вам нужно перетащить предмет в его список из Object Window.

Заметьте, что вы можете ввести предполагаемый уровень игрока и нажать Preview Calculated Result. Это откроет всплывающее окошко со списком предметов, которые редактор случайно выбрал из списка. Прогнав этот тест несколько раз, можно определить инвентарь, не запуская игру.

Далее, откройте закладку SpellList. Этот список пока что пустой, но давайте дадим главарю банды базовые способности в школе изменений, т.к. у нее есть небольшой навык в этой школе (я определил это в закладке Stats).

В Object Window перейдите в Magic −> LeveledSpell и перетащите заклинание LL1AlterationMinorLvl100 в список NPC. Это подготовит ее к сражению с некоторыми заклинаниями изменения, соответствующие уровню игрока.

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