WarCraft 3: Как создать свой MPQ.

» Раздел: Работа с MPQ и импортом
» Автор оригинала: Sergant1000

Вступление

Каждый из нас хоть раз хотел сделать свой В3, но не знал как это
сделать. Или импортировать в карту больше 8ми метров моделей.
Радуйтесь теперь все просто. Описываю как импортировать.
Первое нужно:
прога распаковки MPQ в моем случае MPQmaster
прога просмотра моделей в моем случае War3ModelEditor 1.05 Rus
Microsoft EXEL
Блокнот
Руки
мозг
World Editor
Куча, ну просто прорва времени.
И так начнем, в директории игры есть war3.mpq war3x.mpq war3patch.mpq и war3xlocal.mpq. Из всех нам нужен
war3patch.mpq т.к. в нем файлы имеют приоритет перед остальными. Создаем папку в которой будем
импортировать\экспортировать.
.Открываем war3patch.mpq MPQmaster*ом находим папку Units нам нужны
все .slx и .txt файлы. Сохраняем их в папку.
Так же если вы незнаете что означают величины в файлах, открываем WE редактор объектов *вид показывать названия переменных* ставим галочку и теперь все названия предметов, способностей, юнитов, характеристик, и т.д. станут как в файлах.

I. Операции с предметами

Нам для этого потребуются следующие файлы:
ItemData.sl - содержит инфу о предметах какие способности и какая модель.
ItemFunc.txt - содержит иконку предмета и ее положение
ItemStrings.txt - содержит название и описание предмета
ItemAbilityFunc.txt - содержит инфу о иконке способности чем стреляет, где находится эффект, куда попадает эффект.
ItemAbilityStrings.txt - содержит описание предмета.

=== 1. Импорт нового предмета
1.1. Запускаем MPQmaster открываем war3patch.mpq находим папку Objects создаем
в ней папку и назовем ее (как угодно) допустим Items импортируем будущую
модель предмета допустим HorseRidish в итоге путь выглядит
так: Objects\Items\HorseRidish.mdx запоминаем.
1.2. Импортируем иконки:
нормальный вид по пути - ReplaceableTextures\CommandButtons\BTNxxx
затенённую ПО пути - ReplaceableTextures\CommandButtonsDisabled\DISBTNxxx,
Где xxx название картинки.
1.3. Открываем предварительно сохраненный на жестком, файл ItemData.sl
подробно о структуре:
itemID- порядковый номер предмета(не должен повторяться)
comment- название предмета
scriptname- скриптовое название (должно быть такое же как и в comment но без пробелов)
class- клас предмета. «артефакт», «только для компании» или «прочее», и т.д
Level- уровень предмета
abilList- способность предмета
cooldownID- время отката
uses- используется ли как книга или зелье
usable- используется ли вообще, если нет то в uses ничего не ставить.
droppable- выпадает ли
sellable- можно ли продать
drop- падает
stockMax- кол-во зарядов
stockRegen- откат после покупки
stockStart- откат после начала игры
goldcost- стоит золота
lumbercost- стоит дерева
HP- жизни
file- путь к файлу
scale- размер
colorR- цвет предмета красный
colorG- цвет предмета зеленый
colorB- цвет предмета синий
1.4. Делаем наш предмет поставим ему индентификатор допустим puki и называете его допустим *Demon
Figu* запоминаем его идентификатор. Идем до столбика file и вставляем ранее запомненный путь к модели
нашего предмета, сохраняем.
1.5. Открываем ItemFunc.txt мы должны вставить конструкцию:
[puki] - в скобках наш ID предмета
Art=ReplaceableTextures\CommandButtons\BTNxxx - путь к нашей иконке
1.6. Возвращаемся к ItemData.sl а конкретно к столбику abilList, в него надо вставить
будущую способность нашего предмета. посмотреть все способности можно в AbilityData.slk и
AbilityBuffData.slk. если непонятно что за непонятные буквы то запускаем WE открываем редактор
объектов, выбираем вкладыш способности, теперь под шапкой есть меню, нас интересует вид\показать
название переменных. Ставим галочку и вуаля теперь нам все понятно. Выбираем понравившуюся
способность в нашем случае это AIob. Вставляем, сохраняем.
1.7. Открываем ItemStrings.txt опять идем в низ и вставляем такую конструкцию.
[puki]
Name=Демон Фига - название предмета
Hotkey=R- горячая клавиша
Tip=Демон Фига (cffffcc00Rr)- название предмета в краткой подсказке подсказке
Ubertip="При каждой атаке герой замораживает
противника, нанося ему <AIf2,DataA1> ед. урона
и снижая скорость его перемещения и боя. Кроме
того, герой получает возможность атаковать
воздушные цели." - описание
Description=При атаке герой замораживает - подсказка подробная
противников.
1.8. Сохраняем, импортируем все измененные файлы в war3patch.mpq. И сидим наслаждаемся своим
предметом.

2. Замена модели предмета

2.1. Повторяем пункт 1.1.
2.2. Открываем ItemData.sl идем до столбика file. Заменяем путь. Сохраняем.
2.3. импортируем измененный ItemData.sl обратно в war3patch.mpq. и наслаждаемся изменением.
Аналогично с изменение Способности, Характеристики, Иконкой и т.д.

II. операции с юнитом

Нам потребуются следующие файлы:
unitUI.sl - содержит инфу о модели юнита.
UnitData.sl - содержит инфу о юнитах.
UnitWeapons.slk - содержит инфу о оружии юнита(тип, дамаг, каст)
UnitBalance.slk - содержит инфу скока юнит стоит его хп мп а для героев какие характеристики
и на скока повышаются.
UnitAbilities.slk - содержит инфу о какие абилки имеет юнит
XXXUnitFunc.txt - иконка вашего юнита, чем стреляет как, и как дохнет
XXXUnitStrings.txt - описание юнита
(где ХХХ название рассы)

=== 1. Импорт нового юнита
1.1. Запускаем MPQmaster открываем war3patch.mpq и импортируем модель юнита Например *Torchok.mdx* и
тут 2 варианта:

Первый:

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

Второй:

если отображается нормально то открываем папку Units и создаем там путь вида:
Units\ХХХ\Torchok\Torchok.mdx где ХХХ название рассы.
(оба описания нужны только для удобства манипулировании моделями, в первом для отображения модели в
эдиторе, второй чтоб не запутаться в файлах)
И запоминаем путь
1.2. Импортируем иконки:
нормальный вид по пути - ReplaceableTextures\CommandButtons\BTNxxx
затененну ПО пути - ReplaceableTextures\CommandButtonsDisabled\DISBTNxxx,
Где xxx название иконки.
1.3. Открываем предварительно сохраненный на жестком, фаил unitUI.sl
подробно о структуре:
unitUIID - порядковый номер юнита(не должен повторяться. первый символ кода соответствует расе, а
именно h - люди, o - орки, e – ночные эльфы, u - нежить, n – «нейтралы», z – остальные. Также важным
моментом является то, что порядковый номер всех героев начинаются с большой буквы.)
sortUI - столбец категорий. Там вы увидите такие значения, как a1, a2, a3, b1, b2 и т.д.
Всех, как видно, три категории. К категории l1 (l – это первая буква) относятся герои, к категории l2
– обычные юниты, а к категории l3 – здания. Для юнитов из других игр предусмотрена категория z9.
file- путь к модели юнита
unitSound- звук юнита
name- название юнита
unitClass- класс юнита
special- является специальным юнитом (будет отображаться в эдиторе как созданный вами)
campaign- является юнитом компании(будет отображаться в эдиторе как юнит компании)
inEditor- показывается ли в WE
dropItems- падают ли предметы
walk- ходи
run- бегает
modelScale- размер модели
red- цвет юнита красный
green- цвет юнита зеленый
blue- цвет юнита синий
1.4. Делаем нашего юнита поставим ему порядковый номер (порядковый номер всех героев начинаются с большой буквы, порядковый номер обычных юнитов с маленькой) para и назовем его Torchok запоминаем его индентификатор Идем до столбика file и вставляем ранее запомненный путь к модели нашего юнита, сохраняем.
1.5. Откройте сохранённый файл UnitBalance.slk.
о структуре таблицы:
В первом столбце порядковый номер юнита. Аналогично с unitUI.sl.
Второй столбец – столбец категорий. Там вы увидите такие значения, как a1, a2, a3, b1, b2 и т.д.
Всех, как видно, три категории. К категории l1 (l – это первая буква) относятся герои, к категории l2
– обычные юниты, а к категории l3 – здания. Для юнитов из других игр предусмотрена категория z9.
Третий столбец
uher – юнит является героем
xbui – юнит является зданием
sum – юнит является вызванным
art – юнит относится к классу артиллерии
tow – юнит является башней
fly1 – юнит является летающим, и не имеет наездника (исключение – вертолёт)
fly2 – юнит является летающим и управляется наездником
peo – юнит является работником
zz – другое
zzz – юнит взят из другой игры
cas – юнит относится к классу магов
me1 и me2 – к первому классу относятся обычные слабые воины, а ко второму – сильные.
Четвёртый столбец – это уровень юнита. Если он равен 5 и больше, то юнит считается сильным существом
и его нельзя захватить заклинанием «Обладание» у привидения. Как ни странно, башни тоже имеют
уровень, равный одному.
1.6. Откройте сохранённые файлы UnitWeapons.slk и UnitData.sl, и отредактируйте их по анологии.
1.7. откройте UnitAbilities.slk
о структуре:
unitAbilID- порядковый номер юнита
sortAbil - категория юнита
comment(s) - название юнита
auto- автокаст(если стоит то юнит будет кастовать спел постоянно как хиллер у людей или как шаман у орды)
abilList - способность юнита (постоянная абилка)
heroAbilList- способность героя (прокачивающяяся абилка, макс 5)
(название способности смотрим в AbilityData.slk и AbilityBuffData.slk )
ставим сохраняем
1,8.открываем XXXUnitFunc.txt
вставляем конструкцию:
[para]
Builds=unpl,uzig,usep,ugrv,uaod,utod,uslh,ubon,usap,ugol,utom- тут пишется что юнит может построить (необязательно)
Art=ReplaceableTextures\CommandButtons\BTNххх.blp- ставим иконку юнита(обязательно)
Specialart=- спецэфект смерти необязательно)
Requires=- требования(необязательно)
Missileart=- снаряд(необязательно)
Missilearc=- дуга снаряда(необязательно)
Missilespeed= - скорость снаряда(необязательно)
MissileHoming=- самонаводящийся\не самонаводящийся (необязательно)
сохраняем.
1.9. открываем XXXAbilityStrings.txt
вставляем конструкцию:
[para] - id-код юнита
Name=Торчок - название юнита
Propernames=Фебис-Ра,Тигрис-Атон,Эхнамо - имена героя(если юнит, герой то добавляем строчку если нет то нет)
Tip=Торчок - название юнита в краткой подсказке
Hotkey=C - горячая клавиша
Ubertip="Мега юнит дохнущий от ломки" - описание юнита
Revivetip=Воскресить Торчок
Awakentip=Воскресить Торчок
сохраняем.
1.10. Сохраняем, импортируем все измененные файлы в war3patch.mpq. И сидим наслаждаемся своим Персом.

2. Замена модели юнита

2.1 выполняем пункт 1.1
2.2 выполняем пункт 1.3
2.3 открываем WE ставим галку на *показывать названия переменных* и смотрим id-юнита запоминаем, ищем
его в unitUI.sl, ставим путь импортированной модели. Сохраняем.
готово. Аналогично с абилками, иконками, описанием, характеристиками и т.д.

IV Операции со зданиями

Здания импортируются либо заменяются также как и юниты.

V Операции со способностями

Нам для этого потребуются следующие файлы:
AbilitisData.sl - содержит инфу о способностях.
AbilityBuffData- содержит инфу о данных.
XXXAbilityFunc.txt- содержит инфу о иконке способности чем стреляет, где находится эффект, куда попадает эфект.
XXXAbilityStrings.txt- описание способности
(где ХХХ название рассы)

1. Импорт новой способности

1.1 Запускаем MPQmaster открываем war3patch.mpq находим папку Abilities создаем
в ней папку и назовем ее (как угодно) допустим MySpell импортируем будущую
модель спелла, допустим HevenAndHell в итоге путь выглядит
так: Abilities\MySpell\HevenAndHell.mdx запоминаем.
1.2. Импортируем иконки:
нормальный вид по пути - ReplaceableTextures\CommandButtons\BTNxxx
затенённую ПО пути - ReplaceableTextures\CommandButtonsDisabled\DISBTNxxx,
Где xxx название иконки.
1.3. Открываем предварительно сохраненный на жестком, файл AbilitisData.sl
подробно о структуре:
alias- ID нашего спела
code- сюда вставляется 4х значный ID из AbilityBuffData
comments- название спела
useInEditor- используется в редакторе
hero- спел принадлежит герою
item- Спел принадлежит предмету
sort- тут вставляется либо item, либо unit, либо hero. В зависимости от выбранной принадлежности спелла
race- расса спела
levels- уровни прокачки спелла
reqLevel- требуемый уровень для исп спела
levelSkip- через сколько уровней герой может повысить лвл спела
дальше описываются характеристики спела, описывать их не буду посмотрите в редакторе, но
за место (х) надо вставлять число. Т.е. для первого лвла это будет 1, для второго те же характеристики
но с цифрой 2 и так далее.
targsх
Castх
Durх
HeroDurх
Coolх
Costх
Areaх
Rngх
DataAх
DataBх
DataCх
DataDх
DataEх
DataFх
DataGх
DataHх
DataIх
UnitIDх
BuffIDх
EfctIDх
Делаем спел, сохраняем.
1.4. открываем XXXAbilityFunc.txt
вставляем такую конструкцию:
[ЧЧЧЧ] - ID спела
Art=- иконка спела
Unart= - иконка неиспользуемого\заблокированного спела
Researchart= - иконка спела исследования
Buttonpos=2,2- положение иконки используется
Unbuttonpos=2,2- положение иконки не используется
Researchbuttonpos=2,0- положение иконки исследуется
CasterArt=- модель спела на кастующим юните
Targetattach= - положение модели на юните
TargetArt=- модель спела на атакуемом юните
EffectArt=- Модель спела на области
Animnames= - Анимация юнита при применении спела
Missileart=- снаряд спела
Missilespeed= - скорость снаряда
MissileHoming=- самонаводящийся да\нет
Missilearc=- дуга снаряда
Заполняем, сохраняем.
1.4. открываем XXXAbilityStrings.txt
вставляем такую конструкцию:
[ANic]
Name=- название спела
Tip=- подсказка названия
Researchtip= - подсказка исследования
Ubertip= - подробное описание спела
Hotkey=- горячая клавиша использования спела
Researchhotkey=- горячая клавиша изучения спела
Заполняем, сохраняем. Импортируем И наслаждаемся спелом

2. Замена\изменение спела

сначала определимся что мы хотим заменить, ЕСЛИ:
хар-ки то открываем AbilitisData.sl
графику то открываем XXXAbilityFunc.txt
Описание то открываем XXXAbilityStrings.txt

VI Операции с Объектами.

нам потребуется файл Doodads.slk, находится в папке Doodads. Содержит всю инфу о Объектах.
и WorldEditGameStrings.txt, находящийся в UI, содержит название объекта в редакторе.

1. Новый Объект

1.1 Запускаем MPQmaster открываем war3patch.mpq находим папку Doodads создаем
в ней папку и назовем ее (как угодно) допустим MyDoodads импортируем будущую
модель Объекта, допустим shit в итоге путь выглядит
так: Doodads\MyDoodads\shit.mdx запоминаем.
1.2. Открываем предварительно сохраненный на жестком, файл Doodads.slk
подробно о структуре:
doodID- ID объекта
category- категория
tilesets- тип ландшафта
tilesetSpecific- особые данные по типу ландшафта
file- путь к модели объекта
comment- свое название объекта
Name- название предмет должен выглядеть так: WESTRING_DOOD_чччч где чччч ID обьекта заглавными буквами
pathTex- пути.
остальное тупым копипастом.
1.3. открываем WorldEditGameStrings.txt идем в конец строчек
WESTRING_DOOD_хххх и вставляем нашу WESTRING_DOOD_чччч , называем ,
сохраняем. Импортируем И наслаждаемся объектом.
Большинство переменных небыли учтены в написании статьи из-за того что: их можно посмотреть в
редакторе, их необязательности, и копипаста.

Теперь САМОЕ интересное. Импортировали все файлы нормально, А В ИГРЕ НИЧЕГО НЕ ИЗМЕНИЛОСЬ ИЛИ НЕТУ НОВЫХ МОДЕЛЕЙ. Во всем виноваты режимы игры, чтобы все работало корректно нам потребуются заменить файлы по путям:
'Custom_V0\Units\'
'Custom_V1\Units\'
'Melee_V0\Units\'
ВАЖНО: Заменять только файлы которые есть в выше названых папках, только если файл с таким названием там
есть(например фаил ItemData.slk есть в папке Custom_V0\Units, Custom_V1\Units и Melee_V0\Units, удаляем их и импортируем измененный во все папки. И ТАК СО ВСЕМИ ФАЙЛАМИ), *НЕДОБАВЛЯТЬ ЛИШНИЕ*.

Все Вопросы по статье Sergant1000

Просмотров: 13 551

» Лучшие комментарии


JaBeN_Симфер #1 - 5 лет назад 0
А есть возможность создать новые наборы тайлсетов, не заменяя существующие своими текстурами?
Sergant1000 #2 - 5 лет назад 1
возможность есть, но я пока что незнаю способов.
Aazkaal #3 - 5 лет назад 1
Да уж... Времени действительно потребуется немало...
Но зато какие перспективы :)

Так значит, создать новые наборы тайлсетов все-таки возможно? Это здорово.
Msey #4 - 5 лет назад 1
оформление ужасное
поправь, оживи зрителей)
Sergant1000 #5 - 5 лет назад 0
Msey, данная статья немного спецефична, поэтому не расчитанан на каждого кому захочется покопаться в ресурсах варика.
Темак #6 - 5 лет назад 0
Sergant1000, ну это не повод для того чтоб статья выглядела как говно.
да и никаких преимуществ редактирование через блокнот не даёт.
Sergant1000 #7 - 5 лет назад (отредактировано ) 2
Темак, не_нравиться, не читай, а вот обкакивать не надо.
BruceWillisss #8 - 5 лет назад 1
Нормально оформлено - ничего лишнего и все по делу.
Forgant #9 - 4 года назад 1
но как выпустить патч моделей как в карте NWHC
Sergant1000 #10 - 4 года назад 0
вэлком xgm.guru/p/wc3mp
by_saddamus #11 - 4 года назад 0
А как поменять звуки у героев, очень надо)
Sergant1000 #12 - 4 года назад 0
просто добавляешь в архив файл музыки с таким же названием.
by_saddamus #13 - 4 года назад 0
а можешь подробней объяснить
в каком файле и т.д, буду благодарен
Sergant1000 #14 - 4 года назад 0
открываешь мпкушник, и папка sound в ней все муз файлы.
by_saddamus #15 - 4 года назад 0
а это звуки героев доты или миссии мне надо именно dota allstars поменять 5х5
толком скажи плиз какой файл именно открывать и где находятся
Sergant1000 #16 - 4 года назад 0
я ничего не путаю. Вопрос звучал так? "А как поменять звуки у героев, очень надо)"
Или "Не подскажите где в карте dota allstars находятся звуки героев. И как их изменить?"
by_saddamus #17 - 4 года назад 0
Не подскажите где в карте dota allstars находятся звуки героев. И как их изменить
Sergant1000 #18 - 4 года назад 0
открой карту MPQeditor и найдешь их. тут рассматриваются вопросы связанные с созданием мпкушника.
by_saddamus #19 - 4 года назад 0
а listfile какой нужен скинешь?
Sergant1000 #20 - 4 года назад 0
возьми открытую доту. там все есть.
4 комментария удалено
Vladislav9 #25 - 3 года назад 0
так а как путь текстур прописать модели которой всавлю?
DeMoNs_ViP #26 - 3 года назад 0
ау
Sergant1000 #27 - 3 года назад 0
Внутри самой модели пишется путь к текстурам.
Vladislav9 #28 - 3 года назад 0
как импортитровать музыку?
Sergant1000 #29 - 3 года назад 0
Через мпкушник.
Vladislav9 #30 - 3 года назад 0
я имел ввиду чтобы отображалься в редакторе нестандартная муыка
Sergant1000 #31 - 3 года назад 0
там есть редактор импорта.
Vladislav9 #32 - 3 года назад 0
как мне сделать это обьясни?
Sergant1000 #33 - 3 года назад 0
это статья: как сделать мпкушник, а не как пользоваться РО. На форуме уже отвечали.
Vladislav9 #34 - 3 года назад -4
что такое ро?
Int3r_Karma #35 - 3 года назад 0
Vladislav9:
что такое ро?
Редактор Объектов
Vladislav9 #36 - 3 года назад 0
так ро тут причём я про нестандартную музыку в мпкю както сделать чтобы в редакторе отображалься
Nikson12 #37 - 3 года назад 0
Vladislav9, А чем тебя простой импорт не устраивает?
Vladislav9 #38 - 3 года назад 0
Так проще сразу готово будет!
Тимур #39 - 3 года назад (отредактировано ) 1
Vladislav9, так сложнее :) Тебе каждый аудиофайл нужно прописать:
  • в файле UI\TriggerData.txt после сроки Music themes
  • в файле UI\WorldEditData.txt после строки [MusicFiles]
  • в файле UI\WorldEditStrings.txt после строки Music themes
Как именно это сделать - разберешься на примере стандартных музыкальных тем.
Vladislav9 #40 - 2 года назад 0
Помогите как в категории графика цель в РО сделать 2 способность описание ей а не путь с 1 получилось а со 2 нет помогите в графика цель категории их 2 1 написана по моему а вторая просто путь?
Vladislav9 #41 - 2 года назад 0
Тимур:
Vladislav9, так сложнее :) Тебе каждый аудиофайл нужно прописать:
  • в файле UI\TriggerData.txt после сроки Music themes
  • в файле UI\WorldEditData.txt после строки [MusicFiles]
  • в файле UI\WorldEditStrings.txt после строки Music themes
Как именно это сделать - разберешься на примере стандартных музыкальных тем.
А можно сделать нестандартную иконку или модель чтобы они отображались в редакторе без названия а для простого выбора через РО модель юнита?
Где найти модели в формате slk в РО выбор модели Дополнительно?
Sergant1000 #42 - 2 года назад 0
эти вопросы надо задавать на форуме, после прочтения статей.
Bornikkeny #43 - 2 года назад 0
Как по мне, лучше xxx.mix архив.
Vladislav9 #44 - 2 года назад 0
Sergant1000:
эти вопросы надо задавать на форуме, после прочтения статей.
ну вот форум
nvc123 #45 - 2 года назад 0
Vladislav9, это не форум, это сайт
Sergant1000, форум закрыли
хотя с такими вопросами ему на форуме самое место
Vladislav9 #46 - 2 года назад 0
Bornikkeny:
Как по мне, лучше xxx.mix архив.
а чем лучше новое не добавить в микс то
Это сообщение удалено
Andrey93 #48 - 11 месяцев назад 0
А есть возможность добавить свою расу? если нужно чтоб в меню было больше рас для выбора (про гандикапы знаю, но этого мало)
Shamil4 #49 - 2 месяца назад 0
Хотел добавить своего героя, сделал все что указано выше, не получилось(