Этот туториал все еще в разработке. Вы можете прочитать первые части и я думаю это уже поможет кому-то. Пожалуйста отпишитесь, если вы не поняли чего-то в этих частях.
WoW Моддинг - очень широкий простор для творчества. Поэтому нужно прочитать много текста, чтобы вникнуть и избежать всяких проблем. Я буду стараться давать вам всю важную информацию в этих уроках, которая нужна для работы. Я знаю это может быть сложно, но если вы реально хотите разобраться в моддинге WoW, припасите немного времени и читайте.Это обережет вас от многих проблем в будущем и сохранит кучу времени.
Оглавление
* 00 - Введение и оглавление. * 01 - Введение. Как работает моддинг. * 02 - Устанавливаем все необходимое. * 03 - Устанавливаем местный сервер Trinity.
Форматирование текста
Я буду использовать следующие правила форматирования в уроках. __________________________________________________________________________________________
Две стрелки в начале строки обозначают действия пользователя: >> Откройте дверь и выйдите на улицу, если солнце светит. __________________________________________________________________________________________
Путь на вашем жестком диске должен быть написан на одной строчке: X:\WoWModding\Tools\DriveLetter\ __________________________________________________________________________________________
Если вы должны выбрать что-нибудь в какой-то программе, это будет выглядеть так. Например вы должны нажать Fileи выбрать New. MENU > File > New __________________________________________________________________________________________
Техническая информация заключена в цитаты:
Цитата
Опасно класть свои носки под кровать или диван, потому что они всегда теряются. Поэтому держите весь ваш материал в порядке.
function WorldMapFrame_Update() local mapFileName, textureHeight = GetMapInfo(); if ( not mapFileName ) then if ( GetCurrentMapContinent() == WORLDMAP_COSMIC_ID ) then mapFileName = "Cosmic"; OutlandButton:Show(); AzerothButton:Show(); else -- Temporary Hack (Temporary meaning 2 yrs, haha) mapFileName = "World"; OutlandButton:Hide(); AzerothButton:Hide(); end
Шаг 2. Как работает модмейкинг в World of Warcraft
Структура Клиента и Сервера.
World of Warcraft - онлайн игра. Это значит, что нужно 2 типа софта, чтобы запустить ее. Клиент, который вы установили как игрок на своем ПК, и сервер, чтобы соединиться с клиентом и доставить необходимую информацию, которой нет в клиенте. Ниже вы видите изображение, где автор абстрактно показывает все части этих двух систем софта, которые мы меняем, чтобы модифицировать игру. Но не паникуйте если не понимаете чего-то из этого. Дальше все будет описываться.
MPQ Архивы
Вся информация клиента WoW храниться в MPQ архивах. Вы можете найти их в папке:
Код
WoWFolder/data
И также в местной подпапке (у нас ruRU). Она названа местным языковым кодом, вроде deDE, enUS, enGB, ruRU или frFR. Эти архивы такие же как ZIP или RAR. Они содержат все файлы, которые нужны для игры. Модели, карты и текстуры.
Blizzard использует несколько своих форматов файлов, поэтому нужны специальные приложения, чтобы редактировать их. Но также есть и простые mp3 и текстовые файлы для LUA и XML кода. Дальше автор покажет некоторые файлы, которые вы найдете в MPQ.
Итак, для того, чтобы модифицировать WoW нужно распаковать файлы, отредактировать их и запаковать обратно в MPQ, чтобы клиент смог загрузить их. Мы покажем вам в уроке, как это работает.
Типы файлов
Этот список показывает некоторые форматы файлов WoW и описывает для чего они нужны.
* BLP - Blizzard Picture, собственный формат изображений Blizzard. Текстуры, карты, модели и элементы интерфейса используют этот формат. * DBC - DataBase Client, эти файлы-таблицы хранят информацию для клиента. Они похожи на таблицы Excell. Вы увидите строки и колонки, хранящие множество информации. Например карты которые у вас есть, расы, спеллы и многое другое. * LUA - Скрипт-файлы на языке LUA, которые регулируют действия интерфейса. Например, что случиться если нажать кнопку "Вход" * XML - Эти файлы регулируют внешний вид интерфейса. Включают в себя модели, изображения и UI элементы. * M2 - Модели, такие как существа, деревья, камни и другие мелкие предметы. * SKIN - Текстурная информация для m2. * WMO - Большие модели, такие как дома, мосты и даже целые города и подземелья. Например Даларан - одна модель WMO. * ADT - Файл карты, такой как Восточные Королевства. Каждая карта может состоять максимум из 64х64 квадратов (файлов ADT). * WDT - Уточняющий файл карты. Он содержит информацию из скольких файлов АДТ состоит карта или построена ли она только из одного WMO, как некоторые подземелья. * WDL - Карта высот всех АДТ карты. Этот фал используется для того, чтобы отображать горы в далеке. * Wav/mp3 - Звук для музыки и эффектов.
Несколько слов о редактировании DBC
DBC - информационные файлы, включающие информацию для клиента или сервера в форме таблиц. Каждый DBC файл - большой список информации, такой как названия локации на которой вы находитесь, какая погода в той локации и какие спеллы существуют.
Цитата
В большинстве случаев, вам также необходимо скопировать ваши DBC в сервер, который вы используете. Часто сервер берет информацию, которую получает из клиента и сравнивает со своими DBC файлами. Итак, если спелл различается в клиенте и сервере, он просто не будет работать.
Нам нужно редактировать DBC для многих задач в моддинге. Может быть, лучше взглянуть на них, чтобы почувствовать и понять что DBC файлы из себя представляют.
Код
>> Откройте MyDBCEditor из
F:\WoWModding\Tools\MyDbcEditor\MyDbcEditor.exe
>> MENU > File > Open
>> Идите по пути
F:\WoWModding\ClientFiles\DBFilesClient
>> Откройте файл map.dbc.
Здесь вы увидите список всех карт, которые есть в WoW.
Хорошее место чтобы понять что все эти DBC делают, и что означают какие-либо значения, это WoWDev wiki.
Автор создал архив в котором есть весь необходимый софт. Установка займет немного времени, но она сохранит его в будущем, исключая такие проблемы, как поврежденные файлы WoW или моддинг неправильных файлов.
Итак, скачайте архив и распакуйте его в корневой каталог одного из ваших жестких дисков.
Диск должен иметь:
* Минимум 70GB свободного места для архива и всех копий клиента. * Одну из следующих букв диска: C, D, E, F
В уроке автор использует F. Итак, вам нужно лишь заменить букву, которую вы выбрали. Теперь у вас есть папка WoWModding, как вы видите на картинке.
Описание папок
* Client335aNoggit = Клиент WoW для Noggit. * Client335aTest = Клиент для ModelViewer и теста ваших патчей. * Client Files = Все распакованные файлы клиента . С помощью этого вы можете легко найти нужный файл. * Projects = Папка для всех ваших проектов. * Tools = Инструменты и полезные программы.
Теперь весь софт, находящийся в Tools
* 010Templates = Шаблоны для 010 Hex editor, чтобы проще делать hex-редактирование файлов. * ADTAdder = Инструмент, создающий копии ADT из уже существующиего. * AllWaterGui = Gui-приложение для редактирования воды в Adt. * BLPConverter = Конвертирует BLP файлы в PNG файлы. * BLPShellExtention = Показывает BLP файлы в иконках в проводнике Windows. * CMD = Пакет нужных консольных программ. * DriveLetter = Устанавливает настройки для вашей буквы диска. * FuTa = Экспорт/импорт alphamap из ADT. Удобно для быстрого текстурирования. * MPQEdit.1.1 = Совершает операции с MPQ архивами. * MPQEdit 3.2 = Совершает операции с MPQ архивами. * MyDBCEditor = Редактор базы данных WoW (DBC файлы). * NoggitSDL = ADT Редактор (Редактор карт) * ProjectTemplate = Пустая структура для создания нового проекта. * Taliis = Редактор файлов WoW. Мы используем его, чтобы создать WDT файлы. * WoWModelViewer7 = Показывает M2 и WMO модели и также помогает импортировать модели в Noggit.
Устанавливаем все необходимое
После того как вы распаковали архив вы должны проделать следующие шаги, чтобы все работало.
>> Открывайте эти папки
F:\WoWModding\Tools\DriveLetter
>> Откройте папку с буквой вашего диска, в которую вы распаковали все необходимое. >> Скопируйте папку Tools и вставьте по следующему пути и перепишите существующие файлы.
F:\WoWModding
Это изменит конфигурацию некоторых приложений под букву вашего диска.
>> Скопируйте контент чистого клиента WOW в обе папки с клиентом. Файлы должны находиться точно в этих обоих папках. Не просто переместите папку с WoW сюда. Так не будет работать.
Почему 2 папки с клиентом тратят мое свободное место? Проблема в том, что 2 приложения, использующие данные из одной копии клиента могут разрушить информацию, содержащеюся в MPQ-архивах . Итак, если нужны две программы, открытые в одно и то же время, вам нужны 2 копии клиента. Client335aNoggit сконфигурирован как база для Noggit. Client335aTest сконфигурирован для ModelWiever, также вы можете тестировать свои патчи на этом клиенте.
>> Теперь открывайте следующие приложения, чтобы убедиться, что все работает.
Возможна что не только одна версия какого-нибудь файла находиться в MPQ. Файлы могут иметь различные версии. Значит, если вы используете неправильный файл в своем патче, он заставит WoW вылететь при загрузке.
Чтобы этого избежать мы распаковываем все MPQ в порядке следующего списка и переписываем существующие файлы.
Все MPQ, которые необходимо извлечь в ClientFiles:
Из папки WoW и Data * common.MPQ * common-2.MPQ * expansion.MPQ * lichking.MPQ * patch.MPQ * patch-2.MPQ * patch-3.MPQ
Из местной папки (data/enUS для US клиентов или deDE, enGB, ruRU или frFR и др. У нас ruRU) * locale-enUS.MPQ * expansion-locale-enUS.MPQ * lichking-locale-enUS.MPQ * patch-enUS.MPQ * patch-enUS-2.MPQ * patch-enUS-3.MPQ
>> Итак, открываем MPQEdit 3.2 в папке Tools. >> MENU > File > Open MPQ >> Выберите первый файл из списка ниже и откройте его. Это common.mpq из папки wow/data. Просто возьмите MPQs из папки Client335aTest.
>> В левом окне древовидной структуры MPQ выберите выберите верхний файл как на картинке сверху. >> MENU > Operations > Extract >> Поставьте все опции в следующем окне аналогично изображению.
Нужно указать путь к следующей директории.
Код
F:\WoWModding\ClientFiles
MPQEditor распакует все файлы, находящиеся в этой папке.
>> Повторите эти действия со всеми MPQ, указанными в списке сверху.
Теперь у вас есть все нужные файлы и вы также можете искать необходимый файл, используя встроенный поиск вашей ОС.
Также следует установить BLPShellExtention из папки Tools. Это добавит функцию предпросмотра в Проводник. С помощью этого вы быстрее можете находить текстуры. Должно выглядеть вот так:
Итак, теперь все готово для использования. В следующем уроке мы научимся устанавливать тестовый сервер. Или пропустите, если он у вас уже есть, и начните свой первый проект.
Шаг 4. Установка тестового сервера (локальный эмулятор)
Введение
Если у вас нет доступа к серверу, чтобы протестировать свой патч вам нужен местный тестовый сервер. Для быстрой установки и запуска нас есть аддон в инструментах моддера с скопилируемым тестовым сервером Trinity. Пакет включает в себя XAMPP lite и другие скрипты, чтобы извлечь все файлы клиента и запустить сервер.
>>Скачайте адддон тестового сервера и распакуйте его в вашу папку WoWModding.
После того как вы распаковали аддон, ваша папка должна выглядеть вот так:
>> Переходите по пути:
Код
F:\WoWModding\TrinityServer
>> Запустите скрипт 01setup_xampp, чтобы настроить xampp. >> Запустите 02extractClientFiles. Это извлечет файлы клиента в папку с эмулятором. >> Откройте букву жесткого диска, где находиться ваша папка WoWModding. У автора F, как уже говорилось. Скрипт запустит все 3 распаковщика и скопирует файлы в нужную директорию. Это займет немного времени, поэтому сходите и выпейте чашечку кофе
Теперь сервер готов к использованию.
Запуск сервера
Нужно запустить MySQL DB,Logon Server и World Server.
Если вы открыли все 3, должно появиться черное окно, что означает, что сервер работает. Теперь нужен аккаунт, чтобы зайти на сервер.
>> Откройте окно worldserver.exe >> Напечатайте ".account create USERNAME PASSWORD", где заместо слова USERNAME вы ставить свой логин, а заместо PASSWORD свой пароль. >> Напечатайте ".account set gmlevel USERNAME 3 1" что даст вам права администратора на сервере. (Заместо USERNAME ставим свой логин).
Теперь вы должны поменять реалмлист для вашего тестового сервера.
>> Откройте этот файл в блокноте и измените содержимое на
В этом уроке мы попытаемся создать что-нибудь в Noggit. Автор подготовил шаблон , на который мы будем учиться добавлять воду, редактировать ландшафт, менять текстуры.
>> Запустите Noggit и выберете карту test01.
MENU > Continent > test01
>>Щелкните на середину оранжевых квадратов.
Оранжевые квадраты находятся в вашей папке с проектом. Другие находятся в MPQ. Итак, если вы отредактировали 1 ADT на
Цитата
существующей карте, например Восточные Королевства, только она будет оранжевой. Так вы найдете модифицированные ADT быстрее.
Теперь вы должны увидеть что-то вроде этого:
Обзор интерфейса Noggit
Слева вы увидите тулбар. В нем находятся 6 инструментов для редактирования карты. С лева на право:
* Raisen/Lower - Изменяет высоту ландшафта. * Flatten/Blur - Выравнивает и сглаживает неровности ландшафта. * 3D Paint - Изменяет текстуру. * Holes - Делает и убирает дыры в текстуре. Нужно для создания входов пещер и подвалов домов. * AredID painter - Помещает Area ID (Название местности) на чанки (маленькие квадраты, из которых состоит ADT). * Impassible Flag - Создает невидимые стены.
Снизу тулбара вы видите выбранную текстуру. Вы можете кликнуть сюда, появиться список текстур, которые вы можете выбрать. Сверху у вас есть несколько меню, чтобы получить доступ к различным функциям. Строка в низу экрана показывает некоторую информацию о вашем текущем местонахождении.
Советую взглянуть на Мануал пользователя Noggit. Там показаны все функции программы.
Так как мы хотим сделать остров, нам необходимо наличие воды на карте, чтобы правильно спланировать ландшафт. Просто, для того чтобы видеть, что находиться под водой, а что над ее уровнем. Автор написал скрипт, позволяющий добавлять воду на ADT. Теперь мы расскажем вам как это сделать.
>> Закройте Noggit! Никогда не открывайте файлы сразу в 2ух приложениях. >> Запустите скрипт по следующему пути.
Скрипт называется AllWaterWotlk.exe, он устанавливает воду на всем ADT на уровне 0. У земли тот же уровень.
Цитата
Noggit пока что не может сохранять воду. Поэтому вам придется запускать скрипт снова, каждый раз, когда вы закрываете Noggit. Иначе, воды не будет ни в Noggit, ни в игре.
Создание ландшафта
Теперь мы должны превратить плоский квадрат в "3D остров" - то есть мы должны добавить высоту и глубину. Для этого используются инструменты "Raise/Lower"и "Flatten/Blure". Первый позволяет изменить высоту земли, а второй - сгладить ландшафт. Также мы можем создавать плоские участки для расстановки домов.
Цитата
Вы также можете переключаться между инструментами, нажимая цифры от 1 до 6 на "нумпаде" (Правая клавиатура с цифрами).
> Выберите инструмент "Raise/Lower".
Цитата
Все инструменты в Noggit работают при помощи мыши + нажатия на одну из клавиш на клавиатуре.
>> Нажмите и держите SHIFT, нажмите и держите левую кнопку мыши, затем постепенно двигайте курсор.
Это изменит высоту земли.
>> Нажмите и держите CTRL, нажмите и держите левую кнопку мыши, затем постепенно двигайте курсор.
Это опустит ландшафт (сделает яму)
Также многие инструменты имеют меню опций. Здесь можно изменить различные настройки инструмента (кисти). Вот опции для инструмента "Raise/Lower":
Вы можете использовать 6 различных типов модификации ландшафта . "Linear" создает самый плавный ландшафт. Но попробуйте использовать все типы кисти, чтобы понять для чего они предназначены.
Цитата
Клавиша "Z" позволяет легко переключаться между типами кистей.
Следующая опция это радиус кисти ("radius"). Эта опция изменяет ширину кисти, и соответственно область действия инструмента. Опция "speed" позволяет изменить ту скорость, с которой будет изменяться ландшафт. Для грубого чернового ландшафта большая скорость - самое то, но для более детальной проработки, вы должны использовать меньшую скорость.
Вы также можете менять радиус с помощью сочетания клавиш. Зажмите ALT, левую кнопку мыши и двигайте мышь.
Теперь сделайте базовый ландшафт острова этим инструментом. Опустите места, где будет залита вода и поднимите те места, где должны быть горы и трава.
Цитата
В меню "View" вы можете изменить отображения некоторых частей мира, таких как вода или модели.
>> Выберите Menu > View > F4 Water или нажмите F4 на клавиатуре.
Теперь, возможно, у вас есть некоторые неровности на земле, как у меня.
>> Выберите инструмент Flatten/Blur. >> Зажмите SHIFT, левый клик по земле и двигайте мышью по неровным участкам.
Это займет немного времени до достижения нужного эффекта. Так что, будьте терпеливы. Вы должны получить подобный эффект.
Для более удобного редактирования земли советую воспользоватся инструментом Contour infos.
>> Выберите MENU > View > Map contoure infos или же нажмите F9
Теперь формируйте землю, используя различные размеры кистей. Постарайтесь получить ровные contour infos. Так будет выглядеть лучше в игре.
Вы можете использовать инструмент Flatten, чтобы сделать поверхность более сглаженной. >> Выберите инструмент Flatten/Blure >> Поставьте курсор на проблемное место (как на изображении выше) >> Зажмите CTRL и нажмите левую кнопку мыши. >> Теперь медленно разглаживайте поверхность.
В итоге должно получится вот так:
Шаг 6. Принцип наложения тайлсетов в WoW - WIP 70%
Введение
В первой части нашего урока мы настроили всю программную среду и начали делать первую локацию. В следующей части мы рассмотрим разные рабочие приемы, инструменты и их функции. Вы можете прочитать их по порядку или просто перейти к тому, что вам нужно в данный момент.
Многие люди сталкиваются с проблемами при текстурировании. Я использую специальный способ нанесения текстур и хочу показать вам, как это работает.
Цитата
Каждый ADT-файл разделен на 16 х 16 квадратов, которые называют чанками. Вы можете увидеть их, если вы нажмете F7. Проблема в том, что каждый чанк на ADT имеет максимум 4 слота для текстур. Если эти слоты полные, вы не сможете добавить еще одну текстуру. Чтобы увидеть сколько текстур на чанке, просто включите режим краски, удерживайте клавишу CTRL и кликните на земле. Откроется окно, которое покажет вам 4 текстуры на этом чанке. Если это окно не полное, вы не можете рисовать другой текстурой на нем.
Поэтому эта небольшая сложность заставляет нас заранее планировать наши действия с текстурами Также если вы наносите текстуру в Noggit, она добавляется на следующий текстурный уровень. Поэтому, иногда может случится так, что вы будете иметь текстуру дороги, к примеру на 2 слое и такую же на слое 3. Это делает вашу альфакарту практически не редактируемой на этом .adt файле.
Как в WoW располагаются текстуры?
Цитата
У вас есть 4 слоя текстуры и между ними 3 изображения в виде градаций серого. Эти изображения определяют, какую текстуру вы увидите через следующую текстуру. На самом деле, если вы наносите текстуру в Noggit, вы редактируете альфакарту.
Вот пример протекстурированного ADT. Вы видите 4 текстурных уровня и 3 альфа карты между ними.
В игре и редакторе это выглядит так:
С рельефом:
Именно поэтому я стал использовать ADT с 4 нанесенными слоями. Грязь на 1 слое, темная трава на 2, светлая трава 3 и текстура камня на 4.
Вы найдете это ADT в папке ADT adder внутри папки Tools.
Итак, практическая часть.
Итак, у вас есть АДТ с четырьмя слоями текстур. Но как добавить еще одну? Вы не сможете. Вы просто замените существующую текстуру на том чанке, на котором это необходимо..
>> Загрузите карту test01 в Noggit. >> Нажмите F7.
Теперь мы добавим дорогу на нашу карту. Для этого мы должны заменить 1 текстурный уровень дорогой. Для этого нужно использовать незадействованную на других чанках текстуру. Теперь мы можем рисовать здесь этой текстурой. Я заменю 2ой слот.
>> Включите режим текстуринга. >> Нажмите кнопку "texture swapper". Откроется режим замены. >> CTRL + ЛКМ на одном из чанков. >> Выберите текстуру на 2ом слое, как на изображении выше. >> Нажмите кнопку "set destination". >> Откройте текстурный браузер (клавиша X) >> Выберите нужную текстуру.
>> С зажатым Shift + ЛКМ заменяйте текстуру на чанках, следуя правилам с изображения выше.
Далее выбираем такое количество клеток, нужное вашему острову. Старайтесь выбирать квадрат, проще делать последующие шаги. Не делайте слишком много ADT (Даларан где-то 2 ADT)
Сохраняемся
Вписывайте такое же имя, что указывали при создании и обязательно добавьте .wdt в конец имени.
НЕ ЗАКРЫВАЙТЕ TALIIS ПОКА!!!
Открываем ADTADDER
Указываем путь к нашему уже сделанному ADT (template_0_0.adt)
Вводим имя нашего континента/инстанса.
Берем координаты этих точек из Taliis и забиваем в ADTADDER. Перед нажатием кнопки закройте Taliis.
Пример: Левый верхний угол 29_27 Нижний правый угол 37_35
Нажимаем создать.
В папке ADDTADDER видим:
Копируем в папку где лежит все остальное.
Дальше из папки ADTADDER выбираем три файла:
cygwin1.dll offsetfix.bat offsetfix.exe
Копируем в папку с проектом и запускаем offsetfix.bat. Ждем. После завершения удаляем.
Дополнительные уроки
Создание гор в виде уступов (клиффы)
Шаг 1. Создание основы
При помощи инструмента "Raise/Lower" с выбранным параметром "Flat" создаем основу для будущих гор. Если вы хотите сделать гору, а не утес, вам будет необходимо сделать основу в несколько этапов постепенно уменьшая радиус кисти.
Пример:
Шаг 2. Сглаживание зубцов
Чтобы уступы не получились угловатыми и острыми необходимо слегка сгладить зубцы, получившиеся при поднятии рельефа. Для этого выбираем инструмент "Flatten/Blur" с выбранным параметром "Linear" и с зажатой клавишей "Ctrl" и левой кнопкой мыши двигаем курсор по зубчатому краю.
Пример:
Шаг 3. Создание уступов
Для того, чтобы создать уступы используем инструмент "Flatten/Blur" с параметром "Flat", зажатой клавишей "Shift" и радиусом кисти 5.98 для мелких уступов и 11.98 для крупных.
Цитата
Для урока я испо
Сообщение отредактировал WoW-Mod - Понедельник, 22 Июля 2013, 11:07
Использованные в работе текстуры: tileset\stormwindcity\swc_dirta.blp tileset\expansion03\twilighthighlands\th_rock_01.blp tileset\expansion03\twilighthighlands\th_grassb_01.blp
1) Рисуем текстуру грязи.
2) Далее с помощью текстуры камня рисуем несколько пятен, которые в дальнейшем станут вершинами горы. Radius: 6 - 8 Pressure: +/- 30 Hardness: +/- 30
3) Затем нужно нарисовать менее крупные пятна. Можно изменять радиус и давление по вкусу. Radius: 3 - 4 Pressure: +/- 15 - 20 Hardness: +/- 15 - 20
4)(Необязательно) Следующий шаг - нарисовать траву между камнями. Это должно быть сделано быстро, чтобы грязь просматривалась. Radius: 2-3 Pressure: +/- 15 - 20 Hardness: +/- 15 - 20
Переходим в 3D режим
1) Используем инструмент для поднятия ландшафта. От радиуса зависит размер ваших будущих гор.
2) Теперь нужно поднять небольшие камни. Для этого используем тот же инструмент.
Результат:
Добавление воды на карту
Решил написать маленький тутариал так как у самого были с этим проблемы.
Для начала нужно: 1.Adt файл в который будем добавлять воду. 2.Noggit (я юзаю Noggit SDL 1.2) 3.Программа AllWater (можно найти тут.)
Начнем. 1.Открываем AllWater и выбираем нужный адт файл.(нас спросят нужно ли пропатчить? нажимаем да.)
2.Запускаем Noggit и открываем редактируемую зону. Нажимаем вкладку View и ставим галочку на против Lines и MapContourInfos.
3.И теперь по клеточками определяем какие ячейки нужно залить водой.
Определили... Выделяем и нажимаем GO. Внимание! Не нужно рисовать никаких красных линий на земле! Это нарисовано специально для туториала.
4.Проверяем. Нажимаем Esc без сохранения. Открываем заного карту и смотрим... и Опа! Что мы видим. Ноггит] 1-Значит то что уровень воды = уровню земли Х-Значит что тут нехватает ячейки с водой(ну я думаю вы догадались как это исправить)
Пропускаем 5й шаг, если нет проблемы как в шаге 4)
5.Изменяем в AllWater уровень воды с помощью значения height и выделяем нужные ячейки(Заного ну и дополняем недостающих) и нажимаем GO.
6.Проверка.
У меня все получилось. Желаю удачи с Ландшафтным дизайном
P.S: Добавлять воду нужно в последнюю очерьдь... т.к после редактирования карты вода пропадает. P.SS: Жидкость будет выглядеть нормально в клиенте, в отличии от редактора. P.SSS: Прошу простить за кривые скрины и мою неграмотность.
Конвертация моделей из MDX в m2
В этой статье я расскажу как можно создать модель m2 для вов, примером у меня будет модель оружия, топора если точнее. Что требуется: Базовые знания 3ds max и о самом устройстве стандартной модели. MDXtoM2 - http://modcraft.superparanoid.de/viewtopic.php?f=59&t=785 NeoDex MDL Export Plugin - Можете скачать сдесь - http://fbe.am/l9u MDLVis (Желательно 1.39с). WowModelViewer v 0.7.0.1 r366 или подобные (Для экспорта модели масштаба).
Я не буду описывать процесс создания самой модели в 3ds max, так-как это не относится к теме статьи. Начну с момента когда вы получили на выходе готовую mdl модель. Так как плагин не был подточен под создание моделей для World of Warcraft то нужно будет добавить в модель несколько дополнительных элементов, о них ниже:
Для начала необходимо настроить материал и текстуру. Все это производится в текстовом редакторе. В случае если у вас 1 текстура то вам только и нужно будет что в Bitmap { Image "" прописать путь к текстуре blp которую вы хотите использовать, это может быть как существующая в wow архивах текстура так и новая добавленная вами. Так как в этой статье в качестве примера будет рассматриваться модель оружия топора то и текстура будет расположена в соответствующей директории архива - Item\Objectcomponents\weapon. В результате получится следующая строка: Image " Item\Objectcomponents\weapon\CustomAxeTexture01a.blp", Название текстуре можете дать любое, на ваше усмотрение.
После Image нужно будет ограничить текстуру по вертикали и горизонтали флагами WrapWidth и WrapHeight, ими замените строку ReplaceableId 1, которая актуальна только в Warcraft. Если материал один, то на этом с текстурами и материалами пока достаточно, в случае если несколько необходимо будет создать допонительный Bitmap и дополнительный Material в разделах, в случае с материалом там хватит одного лишь копирования и замены значения static TextureID на большее.
После добавления материала, нужно будет добавить GeosetAnim т.к. без этого геосет модели не будет виден, GeosetAnim делается под каждый геосет, получается что обычно число GeosetAnim'ов должно быть равно числу самих геосетов. Чтобы сделать Anim внизу, после перечисления геосетов надо будет добавить следующий блок:
GeosetAnim { Alpha 1 { Linear, 0: 1, } GeosetId 0, - Номер геосета под который делается анимация. }
А вверху, в перечислении количества блоков создать после NumGeosets новую строку NumGeosetAnims.
Теперь модель может быть сохранена и открыта в MDLVis'е Желательно перед открытием сохранить резервную копию модели MDL т.к. MDLVis может испортить нормали модели. Там нужно будет добавить модели новую анимацию Stand (Кадры от 0 до 3333). Т.к. в mdlvis нельзя указывать кадр менее 1000 то после создания анимации и сохранения модели в mdl формате необходимо будет снова открыть модель в текстовом редакторе и изменить начало кадров модели с 1000 на 0. После этого можете сохранять модель и отправлять на конверт в MDXtoM2.
В случае если модель была подготовлена успешно то после конверта вы получите m2 модель и skin файл к ней после этого кидаете все это в новый (или старый если у вас уже есть) mpq архив, в директорию Item\Objectcomponents\weapon. Если текстуры не было то конвертируете ее через blplab даете ей имя как в пути и кидаете в соотв. директорию вашего mpq патча. Чтобы проверить модель в игре можете создать новый display-id предмета, а можете заменить другую модель оружия, которая уже есть в вов, не трогая при этом текстуру.
Информация указанная в этой статье была взята из личного опыта.
Конвертация моделей из Might&Magic Heroes VI в World of Warcraft
Необходимый софт:
1) 3D Object Converter 4.40 и 3D Object Converter 5.10 2) BLP Lab или BLPConverter6.exe 3) orc2zip.exe 4) Mirror Machine QT или Glitchy's MES или mdxtom2converter_lazy.exe
Шаг 1. Распаковка архивов.
При помощи утилиты orc2zip.exe конвертируем архивы .orc в .zip и далее открываем их любым архиватором.
Шаг 2. Экспорт .gobj моделей и .dds текстур.
Экспортируем нужные нам модели и соответсвующие им текстуры в любую папку. В качестве модел вьюера можно использовать встроенный редактор героев.
Шаг 3. Конвертация в .mdl (Cipher MDL2)
При помощи конвертера 3D Object Converter 5.10 сохраняем модель в формат Cipher MDL2 (.mdl). Не путать с .mdl Warcraft III!
Шаг 4. Конвертация в нужный вам формат (.3ds, .obj или .mdx)
При помощи 3D Object Converter 5.10 сохраняем модель в нужный вам формат для дальнейшей конвертации.
Автор хочет сделать ее более серой, но сохранив исходную модель.
1) Распакуйте исходную модель на рабочий стол или куда-нибудь еще.
WMO имеют много дополнительных файлов - распакуйте их тоже, но не редактируйте через HxD
2) Нам нужно знать текстуры WMO. Заходим в лог Model Viewer.
Теперь мы должны поменять директорию текстуры. Открываем WMO в HxD. Вы увидите это:
Представьте, что автор хочет поменять только 1 текстуру. И имеет уже заготовленную blp.
DUNGEONS\TEXTURES\NEXUS\JLO_NEX_ENVMAP01.BLP станет DUNGEONS\TEXTURES\NEXUS\JLO_NEX_ENVMAP07.BLP
Нужно только поменять имя в коде
Но мы не можем использовать более длинные или короткие адреса текстур. Если у Blizzard было 44 символа, значит и у вас должно быть столько же.
4)Создайте патч, переместите новую текстуру в директорию, которую вы редактировали. (У автора: "DUNGEONS\TEXTURES\NEXUS") и .wmo в кастомную директорию (У автора: "World\Wmo\Iago")
Помните! Не изменяйте 000 и 001 .wmo. Просто добавьте их в ту же директорию, что и саму модель. Импортируйте WMO через Noggit или сделайте кастомный dispalayID в DBC.
Результат:
Создание World Map (Карты Мира)
Шаг 1: Скачиваем .psd файл от сюда: Шаблон И открываем его в Photoshop.
Шаг 2:
Вы увидите чистую карту с небольшим количеством вспомогательных линий на ней.
Все что нам надо сделать, это удалить вспомогательные линии. (Смотрим скриншот) Скриншот испанский: Vista - Вид, Borrar Guias - Удалить линии.
Шаг 3: Теперь нужно выбрать инструмент Лассо (Lasso)
Теперь нужно нарисовать ваш остров, автор выбрал букву S в качестве примера, но вы должны нарисовать тот остров, который вы сделали в Noggit. Затем щелкните по нему правой кнопкой мыши и нажмите "Копировать как слой" . Теперь, чтобы увидеть ваш остров выключите видимость у слоя.
Получаем:
Шаг 4:
Теперь необходимо выделить берег острова. Жмем правую кнопку мыши на слое и Выбрать пиксели (Select Pixels).
Затем идем: Выбрать - Изменить - Расширить (Select, Modify, Expand). Выбираем 12 пикселей. С этим значением можно поиграть (больше-меньше)
Затем выберите слой CoastLineLayer (черная иконка). Опять скопируйте остров как слой.
Если все сделано правильно - останется только остров с береговой линией 12 px.
Также автор рекомендует снизить/повысить прозрачность береговой линии.
Шаг 5:
Теперь необходимо переключиться на режим "SeeLinesLayer"
Теперь вернитесь на второй слой и выберите пиксели (Select Pixels).
Затем важно вернуться на "SeeLinesLayer" и удалить его. Удостоверьтесь то, что это именно тот слой.
Теперь необходимо слегка подтереть стеркой остатки вспомогательных линий.
Быстрое создание картин в WoW
Делаем картины для WoW.
Сложность: легко
Нам потребуется:
* Adobe Photoshop или аналог, умеющий сохранять файлы в PNG * Вот этот архив * Время
>> Скачиваем и распаковываем архив.
В архиве вы увидите папку Custom, программу BLP конвертер и список путей до готовых картинок.
>> Открываем папку Custom и все вложенные в нее, пока не доберемся до кучи файлов.
>> Находим все файлы с расширением .blp и перетаскиваем (по одному) в BLP Converter (В архиве 6ая и 8ая версии, я использовал 6ую)
У вас в папке дожны были появиться изображения PNG (рекомендую использовать вид просмотра "Крупные значки", так удобнее)
>> Открываем PNG файл в Photoshop
Вы увидите это:
>> Теперь вам нужно найти изображение, которое вы хотите видеть на картине и поставить его заместо старого. На моем примере портрет Джигурды. Главное не трогать рамку.
Получаем:
>> Сохраняем наше изображение в формате PNG, не изменяя имени и соглашаясь на замену.
>> Переходим в папку и перетаскиваем нашу редактированную PNG на BLPCONVERTER6.exe снова. В папке появилось .blp изображение с тем же именем.
>> После того, как вы отредактировали достаточное для вас количество картин, копируем папку Custom, с уже отредактированными картинами в папку World вашего Noggit-проекта.
>> Открываем файл PicturePath.txt из архива и копируем все содержимое.
>> В папке с Noggit находим файл Import.txt, открываем его и вставляем содержимое PicturePath.txt. Сохраняем.
>> Запускаем Noggit. Открываем вашу карту.
Проделайте это:
Assist>ImportFromTextFile и выбираете любую картину.
>> Все работает!
Результат:
Использованы материалы человека под ником Reznik
Создание нового внешнего вида НПС
У каждого моба в базе сервера есть свой дисплей-ид (Визуал), этот айдишник указывает клиенту от сервера какой внешний вид необходимо отобразить у нпс, на клиентской стороне эти данные обрабатываются и применяют к мобу визуал указанный в клиентской базе данных CreatureDisplayInfo.dbc. Ниже указана структура столбцов этой таблицы:
1 - Энтри (Это и есть дисплей-ид). 2 - ModelID (Ссылка на CreatureModelData.dbc, таблицу в которой перечислены ссылки на модели клиента, их параметры - к примеру размер). 3 - SoundGroupID (Ссылка на группу звуков моба CreatureSoundData.dbc, в котором перечислены звуки издаваемые нпс при различных действиях, к примеру при аггро.). 4 - Ссылка на ExtraDisplay (Ссылается на CreatureModelData.dbc, применима только к моделям рас). 5 - Размер модели (Стандарт 1,0) 6 - Прозрачность модели (По шкале в 255 единиц, 0 - невидима, 255 - полностью видима). 7,8,9 - Скин-текстура модели (Применим в случае, если указана модель не относящаяся к расам). 10 - Название текстуры портрета НПС (Только текстуры из директории Interface\Icons). 11 - Уровень крови (Информации пока мало, будет дополняться). 12 - Возможно вид крови (Информации опять таки мало). 13 - Ссылка на звуки НПС 14 - Партиклы модели (Это те-же визуальные эффекты по типу вспышек, всполохов пламени и т.п.). 15 - Дополнение к геосету модели (Связана со .skin файлом модели). 16 - Ссылка на группу эффектов (ObjectEffectPackage.dbc, указаны в основном вехиклы и тому подобное).
В описании CreatureDisplayInfo.dbc был упомянут Model ID, CreatureModelData.dbc выполняет функцию проводника моделей существ от директории архивов Creature до CreatureDisplayInfo.dbc, так же в этой таблице клиентской базы перечислены различные параметры модели, к примеру размер, тип следов модели, флаги модели, информация о коллизии, и т.д. Структура CreatureModelData.dbc:
1 - Энтри (ИД Модели). 2 - Флаги ModelID. 3 - Путь к файлу модели (Оканчивается не M2 а MDX). 4 - Дополнительная модель (Пока мало информации). 5 - Технический размер. (Не равен 1 только у TaurenFemale). 7 - Уровень крови. 8 - Тип следов оставляемых моделью.(Ссылается на FootprintTextures.dbc). 9 - Длинна следов 10 - Ширина следов 11 - Размер всего следа 13 - Возможно размер "землетрясений" при ходьбе к примеру великанов. 15 - Информация о звуках существа (Ссылка на CreatureSoundData.dbc). 16 - Ширина границ коллизии (Столкновения объекта с другим объектом). 17 - Длинна границ коллизии (Столкновения объекта с другим объектом).
В описании структуры CreatureModelData.dbc были указаны не все столбцы, так-как на данный момент информации недостаточно.
В этой статье будет описано создание Визуала Creature базируемого на модели расы, по этому в первую очередь нужно указать на связь ExtraDisplayID из CreatureDisplayInfo.dbc и самой таблицы CreatureDisplayInfoExtra.dbc 4 Столбец ExtraDisplay из дбс CreatureDisplayInfo ссылается на таблицу CreatureDisplayInfoExtra.dbc, если присутствует запись в 4 столбце, то у моба активируется особый визуал, базируемый на расе, в этом визуале для моба указывается ссылка на особую текстуру, которая будет наложена на модель расы, так-же в этом дисплейнике будет доступен выбор типа, цвета волос, наплечников, шлема и т.д. Структура CretureDisplayInfoExtra.dbc:
1 - Энтри (ИД ExtraDisplay). 2 - Раса (Используется не для установки модели нпс, а в качестве ссылки на группу типов волос, серьг, цвета кожи и т.д.). 3 - Пол (0 - Мужской, 1 - Женский). 4 - Цвет кожи (Не особо понятно зачем нужна эта информация, учитывая что на модель все равно будет наложена особая текстура). 5 - Тип лица (Опять таки, будет наложена текстура). 6 - Прическа (У каждой расы свои схемы причесок). 7 - Цвет волос (У каждой расы своя схема). 8 - Тип серьг, рогов, и т.п. (У каждой расы своя схема). 9 - Ссылка на дисплей-ид шлема. 10 - Ссылка на дисплей-ид наплечников 11 - Дисплей ид рубашки (Если указана, может перекрывать перчатки, тем самым искажая визуал). 12 - Дисплей ид нагрудника (Позволяет движку понять какой геосет задействовать у модели, к примеру роба вместо бронежилета). 13 - Дисплей ид пояса (Так как пояс имеет несколько вариаций). 14 - Дисплей ид штанов (Позволяет движку понять какой геосет задействовать у модели, к примеру килт вместо шорт). 15 - Дисплей ид ботинков (Так-же имеют несколько вариаций). 16 - Дисплей ид браслета (Зачастую не указывается, так как может искажать визуал нпс). 17 - Дисплей ид перчаток (Перчатки имеют несколько вариаций). 18 - Дисплей ид гербовой накидки. 19 - Дисплей ид плаща. 20 - Одеваемый (Если установлен 1, то в случае если дисплей-ид наложен на игрока, то на нем все равно видны вещи надетые на персонажа). 21 - Имя текстуры, которая будет наложена на модель. (Расположены в директории Textures\Bakednpctextures).
Начать создание нового display ида для нпс, базируемого на расе можно с создания новой строки в CreatureDisplayInfoExtra.dbc Создайте новую строку и ориентируясь на структуру файла CreatureDisplayInfoExtra.dbc заполните ее на основе WowModelViewer к примеру, и сохраните изменения в DBC. Потом необходимо будет отредактировать файл CreatureDisplayInfo.dbc Создайте в нем новую строку, и заполните ее ориентируясь на соответствующую структуру указанную выше. Для удобства я отметил все ModelID'ы рас:
49 - Human Male 50 - Human Female 51 - Orc Male 52 - Orc Female 53 - Dwarf Male 54 - Dwarf Female 55 - Night Elf Male 56 - Night Elf Female 57 - Undead Male 58 - Undead Female 59 - Tauren Male 60 - Tauren Female 182 - Gnome Male 183 - Gnome Female 185 - Troll Male 186 - Troll Female 831 - Goblin Male 832 - Goblin Female 2208 - Blood Elf Male 2209 - Blood Elf Female 2248 - Draenei Male 2250 - Draenei Female
Так же, есть еще модели рас, при желании вы можете найти их сами.
Большая часть информации описанной в этой статье взята с сайта WoWDev wiki.
Активация полетов в Азероте (без работы с ядром)
Сложность: просто.
Нам не потребуется никаких изменений в ядре. Было протестировано на Trinity Core. Хотя, должно работать и на других системах. Но, на других системах увеличивается сложность,так как придется изменять ядро.
Нам нужны эти два файла: Map.dbc Areatable.dbc
Как? Просто. Открываем Map.dbc. Ищем строчку 64 (ExpansionID). Меняем номер "Expansion" для континета на 1,но лучше на 2. Сохраняем. Устанавливаем в клиент и на сервер. Открываем Areatable.dbc. Ищем строчку 5 (Flag). Добавляем 0x00004400 в зону, в которой мы хотим активировать полеты.Сохраняем. Устанавливаем в клиент и на сервер.
Необходимо: Игрок и сервер должен иметь .dbc файл с измененным флагом. Map.dbc должен иметь измененный expansion id, чтобы активировать полеты. Если хотите чтобы игроки могли летать не везде, поставьте ограничения (в Noggit Impassible Flag или каким-нибудь другим способом). Правда, вы не слезаете с маунта, когда залетаете в зону где полеты запрещены. Просто не сможете вызвать маунта снова. Кроме предметов в которых написано что-то типо "Используется только в зоне ...", можно спокойно активировать любого маунта, предназначенного для определеной зоны (пример: Item ID 40600 дляBone Gryphon) Может, а может и нет, иметь проблемы с кастомными континентами (.wdt может поломаться).
Создание FFA-зоны
Для начала нам нужно: 1.Dbc редактор (я юзаю MyDbcEditor) 2.Map.dbc (Находится в папке с сервером(server/dbc/map.dbc))
Приступим: 1.Открываем map.dbc с помощью редактора. 2.Ищем нужную зону. 3.Меняем в 3 столбце по линии нужной зоны значение на... • 1-Подземелье • 2-РейдовоеПодземелье • 3-БГ зона • 4-Арена зона 4.Сохраняем. Проверяем.
Тема будет обновляться по мере выхода новых материалов. В создании уроков принимали участие: WoW-Mod, Steff, NoName, fearless_wind (Dimidroll), Eluo, Kabanchik (Keeper), Dae-Mod, Ascathos, lago, TheBug
Т.к. уроки писались разными авторами, возможно наличие грамматических и лексических ошибок, просьба отнестись с пониманием и указать в комментариях на ошибки.