Видеоучебники [5] | Текстовые учебники [30] |
Главная » Статьи » Учебники по Dragon age toolset » Текстовые учебники |
В этом учебнике мы создадим торговца в лагерь игрока, и дадим ему предметы на продажу. Как и все остальные плагины этот плагин будет расширять однопользовательскую кампанию Dragon age origins. Также мы покажем несколько способов соединения с одиночной кампанией. Этот учебник гораздо более сложного уровня чем остальные, если вы еще не изучили Учебник по созданию предмета и добавлению его к игроку, прочтите сперва его, а уже потом принимайтесь за этот учебник. Так же хочу сказать что этот учебник не описывает создание 2da файла. Итак, что же мы хотим?-перед нами стоят следующие цели: 1)Создание модуля, расширяющего Single player. 2) Создание NPC который будет служить нашим торговцем. 3)Скрипт, который будет создавать НПС в нашем лагере 4)Cоздание маленького 2da файла, который больше известен как PRCSCR file, и который позволяет "hook into" в одиночную кампанию. Если вы сделали урок, Упомянутый выше, то вы уже знаете как создать модуль). Помните, что существуют 2 этапа этого процесса. Во-первых вы должны поставить модуль расширением single player, а потом открыть модуль. Далее вы должны снять галочку с single player в hierarchy. Также для нормальной работы мода мы должны убрать скрипт "Core script", для этого в настройках модуля кликаем на 3 точки и выбираем none. Cоздание Npc для dragon age, который в будующем будет нашим торговцем. Создание торговуа включает в себя несколько частей, и самой первой частью является создание Npc, для дальнейших манипуляций с ним. Для этого нам необходимо создать новый ресурс существа. Перейдите во вкладку creatures на панели, а потом создайте новый ресурс существа. Или вы можете сделать по-другому, вы можете нажать File-new-creature. Далее вводим нужное имя и папку с ресурсом, а потом ставим модуль на Core game resources, а owner module на наш с вами модуль.Вот скриншот с правильно заполненным окном В параметрах существа есть множество настроек, однако о многих из них нам не стоит волноваться. Спускаемся до Gender, и выбираем пол персонажа (male-мужчина, female-женщина). Далее идет Group, и нам необходимо убедиться, что там стоит _Neutral, если это не так, то исправьте. Это очень важно для нас,так как нам необходимо, чтобы персонаж не помогал нам в драке, а так же чтобы он на нас не напал. Далее следует пункт Invenory, который является инвентарем персонажа в Dragon age. Должно быть вы уже заметили, что наш персонаж голый. Нам следует его приодеть) Для этого нажмите на 3 тоячки рядом с Inventory, это откроет большое окно. Первым делом мы должны изменить его размер, сделав его шире. Это облегчит нам работу. Теперь слева выберите _Global, там вы найдете броню и одежду. Выбирайте что вам угодно) Лично я выбрал _Global -> Clothing -> Noble -> Human Female и дал моей торговке крутую робу. Кликните на предмет который вы хотите добавить, и нажмите на кнопку Add. И теперь, если вы растянули окно, то вы увидите справа "slot", который по умолчанию стоит на "Not Equipped”(не надето) Кликнув на это, вы сможете выбрать место для вашего предмета, в моем случае это "сhest" Это позволит надеть предмет на существо. После того, как вы наденете все что надо, кликайте Ок, и персонаж будет носить выбранные вами вещи. Опустимся ниже, тут вы сможете назначить имя вашему персонажу. Далее идет раздел "внешний вид". Тут вы сможете назначить расу персонажу, я выбрал "human". Следующее, что мы должны сделать нашему персонажу, это Head morph (морфинг головы). Кликаем на 3 точки, и выбираем наиболее понравившийся вариант. Последнее, что мы должны сделать, это Plot(аналог essental в обливион, делающий персонажа бессмертным). Мы поставим "True”, это значит, что этот персонаж важен и не может случайно погибнуть или быть убитым. Все, мы сделали существо. Сохранитесь и сделайте check in. Написание скрипта для спавна нашего NPC. Теперь, когда мы создали существо, нам необходимо разместить его в игровом мире. Для этого мы должны написать скрипт, который будет спавнить NPC в игровую локацию, после проверки того, есть ли npc в этой локации (во избежании бесконечного спавна). Продолжим и создадим скрипт: (cкрипт необходимо изменить под свой модуль).
Первое, что делает этот скрипт, это поиск в локации вокруг игрока на предмет того, не спавнился ли еще NPC. Если функция возвращает INVALID OBJECT, то это значит что NPC еще не спавнился в локации. После этого мы создаем location object который имеет X Y Z координаты и угол, там где мы хотим NPC, после чего спавним нашего NPC. Вызов "GetObjectByTag (" cam100ar_camp_plains ")" нужен чтобы получить дескриптор объекта к лагерю игрока. Сейчас вы скорее всего спросите:"Джон, откуда вы знаете координаты в локации для того, чтобы спавнить NPC в это место?", и это будет довольно здравый вопрос. Давайте ненадолго переведем тему разговора на то, как я узнал координаты. Для облегчения определения координат я создал небольшой скрипт, я назвал его "ShowLocation”, вот он:
Создайте скрипт, сохранитесь, сделайте check in и экспортируйте его. Этот скрипт переносит object pointer к игроку, после чего узнает координаты и угол игрока и выводит их. Чтобы использовать это, вы должны включить developer console. Для этого создайте ярлык и впишите в поле объект " -enabledeveloperconsole” (без кавычек), как на скриншоте: Это включит консоль. После чего запустите игру из этого ярлыка и включите консоль (по умолчанию-клавиша ~ (тильда)) Примечание:Я советую вам использовать мод, делающий консоль в dragon age origins видимой. После того, как вы открыли консоль, введите в ней:"runscript showlocation”, это запустит мой скрипт. Запускайте скрипт там, где вы хотите проспавнить вашего NPC, после чего запишите числа и вставьте их в первый скрипт. Создание PRCSCR файла. Итак, мы имеем существо, скрипт для спавна существа в локации, но сейчас ничто нам не говорит что скрипт действительно работает. Вы не можете просто создать скрипт и ждать что он заработает в игре, пока он (скрипт) не будет привязан к игре в некотором роде. Когда мы создавали предмет, мы связали скрипт с "module_core” скриптом. Однако в нашем случае, как игра должна знать, запускать ли ей наш скрипт. Тут то нам и понадобиться PRCSCR файл. PRSCR по существу является 2DA файлом, который позволит запустить определенный сценарий, когда определенная локация будет загружена. Так как это 2da, мы прежде всего должны создать таблицу в microsoft exel. Примечание:я не рекомендую использовать пакет OPEN OFFICE, так как некоторые сделанные в нем 2da файлы не работают. Если вы совершенно не знакомы с созданием 2da файлов, советую вам сначала уделить пару минут туториалу по 2da файлам который я написал-2DA or not 2DA – Overriding 2DA Files. Этот учебник содержит важную информацию о том, как работают 2da файлы и о том как их сделать и экспортировать. Файл очень прост, и для его создания нам понадобятся только 3 вещи: -ID -AreaListName -Скрипт Ид должен быть обязательно уникальным во избежании конфликтов и неправильной работы. Лично я записал свой ник числами и для меня мой ид 1710001, вот моя таблица: Вот что это означает: "Когда локация cam100ar_camp_plains загрузится, скрипт tut_merchant_spawn запустится. Когда вы создадите файл, скомпилируйте его и поместите сюда: Documents\Bioware\Dragon Age\AddIns\<Имя вашего плагина>\core\override РАСПОЛОЖЕНИЕ ФАЙЛА ОЧЕНЬ ВАЖНО. Экспорт и тестирование. На этом мы заканчиваем. Убедитесь что вы все сохранено и checked in, после чего нажмите export without dependent resources. После этого сгенерируйте ваш модуль и файлы manifest xml. После того, как вы с этим покончили, удалите ВСЕ из папки Dragon Age\Core\Override\Toolsetexport, во избежании порчи игры. все что нам нужно есть в addins папке вашего модуля. Теперь загрузите игру, и отправляйтесь в ваш лагерь, и если вы все сделали правильно, то там появится наш торговец. Примечание:существует несколько одинаковых локаций лагеря игрока, нужных для катсцен и других вещей. Наш нпс появится только в стандартном лагере, и не появится, например, во время первого посещения лагеря, когда проигрывается катсцена. Просто перезайдите в локацию и он появится. | |||
Просмотров: 3126 | Рейтинг: 0.0/0 |
Всего комментариев: 0 | |