Внедрение собственных юнитов в игру Иногда
бывают случаи, когда нам необходимо внедрить своих собственных юнитов в
World Editor, то есть сделать так, чтобы они не были в списке «особых»,
а были в списке стандартных юнитов. В этой статье вы узнаете, как это
сделать. Эта статья будет полезна для людей, разрабатывающих свой
«собственный» Warcraft, ну а также и для других разумных целей, в
частности, для изменения характеристик существующих юнитов (будьте
осторожны с этим, так как изменение существующих юнитов может привести
к нежелательным последствиям, в частности неработоспособность сетевой
игры). Для осуществления внедрения нам понадобится следующее: - Программа для работы с архивами MPQ (MPQ Master, WinMPQ или что-то наподобие); - Microsoft Excel или любой другой редактор, умеющий читать и правильно сохранять файлы в формате slk; - Microsoft Word; - Мозги (свои); Итак, начнём! 1. Откройте файл war3.mpq соответствующей программой, а заодно и World Editor; (а именно редактор объектов); 2. Сохраните все файлы из папки Units на жёстком диске (обратите внимание – файлы, а не папки). 3. Откройте сохранённый файл UnitBalance.slk. 4. Далее нам необходимо добавить своего собственного юнита. Немного о структуре таблицы. В
первом столбце выводится так называемые id-коды юнита. Обратите
внимания, что в данном файле нет повторяющихся id-кодов, следовательно,
будущий id-код вашего юнита должен быть единственным. Кроме того,
следует также отметить, что первый символ кода соответствует расе, а
именно h - люди, o - орки, e – ночные эльфы, u - нежить, n –
«нейтралы», z – вообще непонятно откуда взялся (по некоторым данным, из
других игр, в частности, из Starcraft). Также важным моментом является
то, что id-коды всех героев начинаются с большой буквы. Второй
столбец – столбец категорий. Там вы увидите такие значения, как a1, a2,
a3, b1, b2 и т.д. Всех, как видно, три категории. К категории l1 (l –
это первая буква) относятся герои, к категории l2 – обычные юниты, а к
категории l3 – здания. Для юнитов из других игр предусмотрена категория
z9. Третий столбец довольно запутан. В нём уже идёт деление юнитов по другим категориям: uher – юнит является героем xbui – юнит является зданием sum – юнит является вызванным art – юнит относится к классу артиллерии tow – юнит является башней fly1 – юнит является летающим, и не имеет наездника (исключение – вертолёт) fly2 – юнит является летающим и управляется наездником peo – юнит является работником zz – другое zzz – юнит взят из другой игры cas – юнит относится к классу магов me1 и me2 – не очень понятно. По всей видимости, к первому классу относятся обычные слабые воины, а ко второму – сильные. Четвёртый
столбец – это уровень юнита. Если он равен 5 и больше, то юнит
считается сильным существом и его нельзя захватить заклинанием
«Обладание» у привидения. Как ни странно, башни тоже имеют уровень,
равный одному. А у других он вообще отсутствует. Ну а дальше, думаю, всё понятно. 5. Добавьте своего юнита в файл. Вот некоторые правила добавления юнитов: I. ID-код должен быть универсальным. Помните, что первая буква есть раса юнита, а для героев она является большой. II.
Не нужно делать несоответствия между категориями и классами. То есть,
если вы добавляете героя, то нужно обязательно задавать ему категорию
l1 (l – это какая-то буква), класс uher. III. Внимательно читайте комментарии, представляющие собой «красные углы» в некоторых ячейках первой строки файла! 6. Сохраните файл и обязательно запомните ID-код вашего юнита. 7. Откройте файл UnitData.slk. 8. Отредактируйте этот файл, добавив в него ID-код вашего юнита и установив необходимые параметры; 9. Сохраните файл; 10.
Откройте файл UnitAbilities.slk. В нём содержится информация о
способностях юнитов. Проводим ту же самую операцию, как и с предыдущим
файлом: добавляем ID-код и устанавливаем параметры. В столбике AbilList
располагается информация об обычных способностях юнита, а в столбике
heroAbilList находится информация о «геройских» способностях.
Естественно, доступно лишь для юнитов-героев. Со всеми способностями и
их ID-кодами можно ознакомиться в файле Units\AbilityData.slk архива
MPQ. 11. Сохраните файл; 12. Далее открываем файл
*UnitStrings.txt, где под * я подразумеваю расу юнита. Что же мы видим?
Мы видим смесь английских символов с какими-то другими, не известными
нам. Не пугайтесь. Просто эти файлы закодированы. Если у вас английская
версия Warcraft’a, то у вас всё будет нормально отображаться, а вот
если русская – то «иероглифы» неизбежны. Этот файл необходимо открыть
не обычным «Блокнотом», а программой Microsoft Word, которая позволяет
декодировать текст в привычный нам язык. Теперь мы понимаем информацию
этого файла. В этом файле содержатся тексты для юнитов. Чтобы лучше
понять, что означает каждая категория (Hotkey, Tip, Ubertip и др.),
вернитесь в редактор объектов. Выберите любого юнита, а затем нажмите
Просмотр --- Вывести величины в необработанном виде. Это облегчит вам
задачу. Отредактируйте данный файл, добавив в него информацию о своём
юните и сохраните его. 13. Следующим файлом для редактирования
является *UnitFunc.txt. Здесь ничего декодировать не надо. Необходимо
также отредактировать файл, используя «необработанный вид» величин.
Сохраните этот файл. 14. Теперь откройте файл Unitweapons.slk. О
том, как отредактировать первые 4 столбика, описано в пункте 4. Ну а
дальше используете подсказки «красных углов». Сохраните файл. 15.
Если ваш юнит является героем и входит в стандартный список какой-либо
расы, добавьте его ID-код в файл NeutralUnitFunc.txt в третьей строке.
Снова сохраните файл. 16. Для установки внешнего вида отряда, а
также звуков, используемых им, необходимо внедрение его ID-кода с
соответствующими параметрами в файл UnitUI.slk. Значения столбцов легко
понять по описаниям. Сохраните файл. 17. Теперь экспортируйте все
файлы в архив MPQ. Если ваш юнит все равно не добавляется, то придётся
редактировать все вышеупомянутые файлы в архиве war3x.mpq. На этом всё. Спасибо за внимание!
|