XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Желтая пресса: обучающие статьи
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

 
Sergant1000

offline
Опыт: 11,308
Активность:
Модифицирование \Импортирование моделей в WIIITFT. Создание своего Варкрафт.
Вступление
Каждый из нас хоть раз хотел сделать свой В3, но не знал как это
сделать. Или импортировать в карту больше 4метров моделей.
Радуйтесь теперь все просто.Описываю как импортировать на варике в1.23
Первое нужно:
прога распаковки 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. И сидим наслаждаемся своим
предметом.
  1. Замена модели предмета
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. И сидим наслаждаемся своим Персом.
  1. Замена модели юнита
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=- горячяя клавиша изучения спела
Заолняем, сохраняем. Импортируем И наслаждаемся спелом
  1. Замена\изменение спела
сначало определимся чито мы хотим заменить, ЕСЛИ:
хар-ки то открываем 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@mail.ru

Отредактировано Sergant1000, 25.11.2009 в 11:49.
Старый 30.09.2009, 01:55
DragonSpirit
у - уходи
offline
Опыт: 22,625
Активность:
Sergant1000, оформи,что бы было более читабельно
Старый 30.09.2009, 18:22
Sergant1000

offline
Опыт: 11,308
Активность:
А, ну тогда вовсе не обязательно засовывать модели в MPQ вручную, можно либо через Mod launcher, либо просто не париться с путями и оставить модельки - текстуры в корневой папке Варкрафта.
Согласен только если тебе нужны модели. По мне так просто скачать хх мегов с новыми юнитами чем потом самому ставить пути.
оформи,что бы было более читабельно
Это Как?

Отредактировано DFlyer, 14.10.2009 в 21:46.
Старый 01.10.2009, 15:36
NETRAT

offline
Опыт: 83,762
Активность:
Старый 01.10.2009, 16:45
BLOOD ELF

offline
Опыт: 8,662
Активность:
А не легче сделать все изменения в карте (новых юнитов создать, спеллов написать), потом прогнать карту через оптимизатор, и потом из карты вытянуть готовые .slk .txt и т.д. файлы которые уже можно и в MPQ засунуть.
Старый 02.10.2009, 02:26
Sergant1000

offline
Опыт: 11,308
Активность:
А не легче сделать все изменения в карте (новых юнитов создать, спеллов написать), потом прогнать карту через оптимизатор, и потом из карты вытянуть готовые .slk .txt и т.д. файлы которые уже можно и в MPQ засунуть.
А от этой процедуры гемора ни намного больше будет?)

Отредактировано DFlyer, 14.10.2009 в 21:47.
Старый 02.10.2009, 13:06
Rewenger
The culprit will not die
offline
Опыт: 35,273
Активность:
Sergant1000, как раз таки гемора будет намного меньше, ведь РО и прочее сделаны для удобства юзера. Что лучше, двести раз нанести по 1 дамагу юниту, или же нанести 200 дамага?
А вообще, статья немножечко бесполезная, имхо.
Старый 02.10.2009, 19:59
Sergant1000

offline
Опыт: 11,308
Активность:
нда, а что лучше делать 200 юнитов по 1, или всех сразу, и кстати твой дамаг ставится куда быстрее.
Старый 12.10.2009, 23:58
BLOOD ELF

offline
Опыт: 8,662
Активность:
Sergant1000,
Ты когда делаешь нестандартных юнитов (декор и т.д.) в своей карте ты же все делаешь в РО, а не в куче .slk таблицах.
Старый 14.10.2009, 16:00
CeraRalaz
...
offline
Опыт: 48,015
Активность:
Sergant1000:
Microsoft EXEL
Excel
Старый 14.10.2009, 21:31
JamesBlack
black mind
offline
Опыт: 6,595
Активность:
Статья хорошая, но очень уж... "многа букоф", как говорят. Разбавь хоть какими-то скринами. А то как оглянешь в начале статью - один текст, желание читать отпадает сразу =)
Старый 14.10.2009, 21:55
Sergant1000

offline
Опыт: 11,308
Активность:
какиеми, например%(
Старый 16.10.2009, 19:54
reALien

offline
Опыт: 29,211
Активность:
Довольно полезная статья, но на время её написания я успел сам в этом разобраться.
Старый 17.10.2009, 13:27
Sergant1000

offline
Опыт: 11,308
Активность:
Вот кстати и мой мод на основе этой статьи xgm.ru/forum/showthread.php?t=29735
Старый 17.10.2009, 19:50
LordSerga

offline
Опыт: 3,809
Активность:
Если чесно то статью бы я удалил, так как такое незнают в основном новички и начитавшись начинают пробывать. Ну вот они пробуют, пробуют а оригинальные файлы не скопировали и при выходе нового патча игра не обновляется, так как несовпадение суммы чисел или просто уже нельзя играть в другие карты! А вообще статья ненужная вообще!!!
Старый 20.10.2009, 20:55
Sergant1000

offline
Опыт: 11,308
Активность:
LordSerga, Не забывай ставить ИМХО или что то вроде, означающее твое мнение. Если забываешь делать Бэкап твои проблемы.

Отредактировано Sergant1000, 23.10.2009 в 12:51.
Старый 21.10.2009, 15:11
Sergant1000

offline
Опыт: 11,308
Активность:
мож поставите это статью за место статьи Sargerasa?
Старый 05.11.2009, 21:00
xpadd91

offline
Опыт: 10,739
Активность:
Sergant1000:
unitAbilID- id-код юнита
Это порядок номер юнита, а не код это code
Старый 24.11.2009, 19:14
DragonSpirit
у - уходи
offline
Опыт: 22,625
Активность:
Статью написал Сергей Пантелеев. Удачи в Модераторстве.
мб в картостроительстве?^^
Старый 24.11.2009, 21:31
Sergant1000

offline
Опыт: 11,308
Активность:
мда глупо вышло))))
Отредактировал статью.

Отредактировано Sergant1000, 25.11.2009 в 11:50.
Старый 25.11.2009, 11:29

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 02:33.