MM Engine

» опубликован

О MM Engine


MM Engine - это крупная модификация, дополняющая оригинальный WC3 такими возможностями, как подгрузка кастомных mpq на уровне War3Patch.mpq; добавление кастомных рас, включая интерфейс и озвучку; создание своих кампаний на уровне оригинальных и многое другое!
Текущая версия: 1.1.1 (Release)
» Список изменений
*1.1.1 (Release) - Фикс функции получения числа из конфига, теперь работает и с отрицательными числами. Улучшен API, также он содержится в архиве с MM Engine. Фикс краша кастомок, теперь с модами можно играть даже на них.
*1.1.0 (Release) - Добавлена поддержка аддонов. Созданы API для работы с аддонами. Убрана поддержка широкоформатных мониторов, убрана возможность смены цвета здоровья, убрана возможность приближать и отдалять камеру. Всё это будет реализовано в виде аддонов. Фикс запуска кастомных карт с модом. Установлено ограничение рас до 99. Создан свой лаунчер. Добавлена возможность выставлять свой логотип(500x400 px), прописав "Logo Ваш лого.bmp", и текст поверх него "LogoText Ваш Текст\nНовая строка".
*1.0.1 (Release) - Фикс бага при запуске.
*1.0.0 (Release) - добавлена вторая система создания модов. Добавлен фикс широкоэкранных мониторов, полоса здоровья, возможность смены цвета полосы здоровья, приближение камеры зажатием ЛКМ и LCTRL. Для перезагрузки конфига во время игры, зажмите LCTRL + R. Добавлена новая система рас, основанная на оригинальной, без использования форы.
*1.0.0 (Alpha 5) - Фикс краша, при запуске карты на одного. Добавлена возможность постройки нестандартных ратуш с помощью шкатулки вождя. Пофикшен баг с загрузочным экраном при выборе любой расы. Добавлена возможность добавления кампаний(она уже была, но не доделана). Добавлен WideScreenFix(спасибо RenderEdge за исходники) для процесса игры. Исправлен вылет при запуске кампаний. Исправлена сложность HARD в кампаниях, теперь она отображается. Улучшена функция подгрузки mpq, теперь они накладываются как слои в фотошопе)
*1.0.0 (Alpha 4) - Фикс краша, при запуске титров. Пофикшена камера, теперь при попытке её использования вне игры(в главном меню), игра не крашится. Доработанна система рас. Изменён синтаксис установки mpq и версии, теперь можно использовать тире, а также, при написании имени подгружаемого mpq, можно использовать пробелы. Обновлён образец мода с расой гноллов. Обновлена инструкция по установке модов.
*1.0.0 (Alpha 3) - Фикс бага со звуком завершения постройки. Добавлена возможность отдалять\приближать камеру, зажав LCTRL + ЛКМ.
*1.0.0 (Alpha 2) - Фикс бага с мультиплеером, работы ИИ альянса и орды, экрана загрузки и отображением иконок рас в меню результатов. Откат к старой системе подгрузки mpq, рас и т.д(прописывание в параметрах запуска или создание bat, пример на новом видео уроке).
*1.0.0 (Alpha 1) - Полностью реализована система добавления новых рас. Добавлены новые функции в common.j, bj. Приоритет с простоты создания рас перешел на тонкость настройки. Увеличен лимит до 59 нестандартных рас(если еще заменить 4 стандартных, то до 63). Новая система счисления версии. Главный файл со скриптами сново bj. Стандартный приоритет для подгрузки mpq - 8 (Уровень War3Patch.mpq). Обогнали по проработанности и функционалу такие моды, как Nirvana, Way of Others, Union of High Elves. Ждём ваши ремейки ;D
Старые версии:
*1.0 - Добавлена возможность создания и подгрузки аддонов(Их исходники вы можете скачать тут). Для установки аддона, загрузите его в папку "Addons", в корне Warcraft, указать аддон в "MM Engine.cfg", добавив его в пункт "Addons".
*0.9 - Добавлена возможность смены языка. Моды хранятся в папке "Mods". Главный файл любого мода "Manifest.ini", к нему можно подключать другие файлы, функцией "#include "назаание файла.расширение"". Все mpq архивы мода хранятся в соответственной папке "Mpqs", расположенной в папке мода. Имеется возможность подключать более одного архива, позволяя подключать доп. архивы с моделями. Для правильной работы, указывать их в нужно порядке в функцие "Mpqs".
*0.8 - Максимальное сжатие системы создания новых рас в mme.j - 1 строка;
*0.7 - Упрощенная система создания расы. Размер кода, требоваемого добавить в mme.j при создании новых рас - 3;
*0.6 - Перенос всех значений .bat во временный носитель, а с него в мод. Добавлен английский язык(бета);
*0.5 - Пофикшен баг с добавлением расы в мод.
Требования:
» Демонстрация функционала мода, на примере образца(Naga Race)
Изменение версии WC3
Выбор рас в игровом лобби
Отображение названия и экрана загрузки рас
Спавн нестандартных юнитов расы
Работа ИИ ботов
Отображение нестандартного текста при нехватки пищи
Отображение нестандартного текста при отсутствии ратуши
Постройка нестандартных ратуш с использованием шкатулки вождей
Отображение иконок рас в меню результатов
Функционирование реплеев
  • Скачать демонстрационный мод на расу наг можно Тут.
» Демонстрация функционала мода, на примере образца(Custom Campaign)
Добавление новых кампаний, как основных
  • Скачать демонстрационный мод на новую кампанию можно Тут.
Планы и результаты

( + ) - Собственный лаунчер.
( + ) - Поддержка аддонов.
( + ) - API.
( + ) - Полностью функционирующая система рас.
( + ) - Чтение и запись конфигов.
( ? ) - Порт RenderEdge, как аддона.
( - ) - Совместимость с IrinaBot (совместим только клиент).
( - ) - Лаунчер для автообновлений.
100% - Собственный лаунчер
100% - Завершенность системы рас
90% - Поддержка кастомных карт (зависит от строения карты)
10% - Порт RenderEdge

» Установка
MM Engine:
Перенести мод в папку с Warcraft III - TFT.
Модов:
Для установки модов поверх MM Engine, перенесите mpq и прилигающий к нем bat в папку с Warcraft(где установлен MM Engine). Для запуска мода, запустите недавно перенесённый bat файл.
Аддонов:
Для установки аддона, загрузите его в папку "Addons", в корне Warcraft, указать аддон в "MM Engine.cfg", добавив его в пункт "Addons".
Чтобы привязать аддон к моду, повторите те же самые действия с самим модом.
Для отключения пользовательских аддонов (не привязанных к моду), используйте параметр "AllowAddons" со значением 0.
» Инструкция по созданию модов
Создание bat файла, для запуска мода:
Создаем txt файл. Открываем его через текстовый редактор, а после, вставляем данные строки:
""start .\"MM Engine.exe" -version (Название мода, которое будет отображаться в главном меню) -mpqs (Имена mpq архивов, которые будут подгружены к игре. В конце каждого имени писать .mpq) -races (Имена рас, записанные в war3skins, включая стандартные. Писать через запятую, без пробелов) -racesnames (Имена рас, записанные в GlobalStrings.fdf. Писать через запятую, без пробелов)""
Добавление новой кампании:
Шаг 1: Создайте карту(ы) в редакторе WC3 и перенесите их в ваш mpq по пути "Maps\FrozenThrone\Campaign\"(ну или пропишите свой путь). При добавлении карт, если вы используете такой же mpq editor, как у меня, уберите сжатие и шифрование, иначе WC3 просто не найдет карту.
Шаг 2: Для прописывания новых кампаний, вам нужно достать CampaignStrings_exp.txt из War3Patch.mpq, изменить его по вашему усмотрению, а после перенести в свой mpq по пути "UI\"(строго по этому пути). Параметр "DefaultOpen" делает доступной кампанию без прохождения других.
Этап 1: Создание юнитов
Заметка:
1)Для каждого мода должен быть своеобразный фундамент, без которого он не сможет существовать. Для самого начала Вы должны создать примерные наброски своей расы. Будь это чириканья на бумажке, карандашные зарисовки или стойкая мысль в Вашей голове. Используйте фантазию. Придумайте ей свою изюминку, которая будет отличать её от других рас.
2)Создание модификаций для Warcraft 3 с нуля задача непосильная каждому. Пользователь должен понимать каждую частичку кода, иметь знания в зоне программирования и прочие неприятности. Однако MM Engine позволяет упростить этот процесс для максимума, предоставляя некоторые свои добавления. Если Вы до сих пор не скачали его, то сделайте это, так как этот движок понадобится нам в создании своей собственной модификации.
3)После того, как Вы определились с концепцией, набросайте примерную ‘’линию развития’’ (она же TechTree). У каждой расы есть 1 главное здание, 1 алтарь, 1 здание для производства пищи, 1 стартовый барак, а также 1 здание, которое производит улучшения. На втором уровне(или же 2-nd Tier) развития у каждой расы есть здание для подготовки магов и 1 специальное здание. Третий уровень(Он же 3-rd Tier) даёт 1 здание, которое производит самую сильную боевую единицу расы.
4)После составления своей линии развития можно начинать работу над своей расой. Соберите ресурсы(модели, иконки, возможно звуковое сопровождение) для своего мода. Все ресурсы можно найти на таких популярных площадках как HiveWorkshop, XGM и так далее.
Шаг 1: После всех собранных ресурсов можно перейти к технической части мода. Используйте редактор кампаний (или же карту) чтобы создать свою расу. Этот процесс не отличается особой трудоёмкостью. Он требует лишь терпение и кучу свободного, вольного времени.
Шаг 2: Когда Вы завершите работу с этой частью, нажмите CTRL+D. Это отобразит ID(он же RawCode) всех элементов игры, включая и нестандартные. После этого желательно записать куда-нибудь ID Ваших рабочих, героев и главного здание, которое появится в начале игры.
Шаг 3: Сохраняем нашу кампанию (карту), а потом попросту изменяем расширение файла с w3n(w3m\w3x) на mpq. Всё выглядит довольно просто, не так ли?

Этап 2: Скрипты
Шаг 1: Из скачанного нами ранее MM Engine.mpq достаем Blizzard.j и common.j.

Шаг 2: По примеру со стандартными расами, создаем переменную, хранящую нашу расу в игре.
Шаг 3: Помните те самые ID, которые мы выписывали? Прописываем для нашей новой расы рабочих. Не забываем прописать героев и главное здание во избежание всяческих казусов.


Шаг 4: Прописываем ИИ для нашей расы, которое мы должны были поместить в наш MPQ архив ранее. Если такового у нас нет, то пропускаем этот пункт.

Шаг 5: Для отображение строк, появляющихся в случае отсутствия расы, прописываем их ключи в Blizzard.j, а сами строки в GlobalStrings.fdf (Можно достать из War3Patch.mpq).

Этап 3: Интерфейс и мелкие добавления
Шаг 1: Для добавления интерфейса, достаем war3skins.txt из MM Engine.txt, и по примеру стандартных рас прописываем собственные пути для интерфейса.

Шаг 2: Если хотите, чтобы вашу ратушу можно было воздвигнуть с помощью шкатулки вождей, достаем из War3Patch.mpq файл AbilityData.slk и в строке 609 (ID Albg) добавляем нашу ратушу к стандартным.

Шаг 3: Для добавления фраз, отображающихся в случае нехватки пищи, достаем из War3Patch.mpq CommandStrings.txt и в строке с ключом Nofood добавляем нашу фразу. Не забудьте поставить запятую.

Этап 4: Создание .bat и завершение
Шаг 1: В новой версии MM Engine присутствует два способа создание модов, один из них представлен ниже. Создаем .bat, в который прописываем команду запуска MM Engine.exe с нужными параметрами. –version отвечает за отображение версии в меню игры. –mpqs за подгрузку mpq архивов(Их может быть более одного). Подгружаются архивы со стандартным приоритетом 9, для изменения приоритета пишем –priorities приоритеты в порядке следования mpq. –races отвечает за изменения интерфейса в игре. –racesnames отвечает за отображение названия расы при загрузке игры.

Шаг 2: Переносим всё в наш mpq и наслаждаемся игрой.
» Инструкция по созданию аддонов
В разработке...


Просмотров: 9 355



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


Noncloud #51 - 2 месяца назад 0
Я пытался установить расы на клиент с установленным MM Engine, но в игре не отображались расы...
Ev3nt #52 - 2 месяца назад 0
Noncloud, расскажите порядок совершенных вами действий.
Evolving #53 - 2 месяца назад (отредактировано ) 0
Возможно вопрос странный, но есть ли способ интегрировать ММ Engine с RenderEdge?
Или можно передать лаунчер RenderEdge как нестандартный WC3?
Ev3nt #54 - 2 месяца назад 0
Evolving:
Возможно вопрос странный, но есть ли способ интегрировать ММ Engine с RenderEdge?
Или можно передать лаунчер RenderEdge как нестандартный WC3?
Скоро RenderEdge будет портирован, как аддон.
Bergi_Bear #55 - 2 месяца назад 0
Ev3nt, ты же в курсе про мемхак и его функционал? есть ли вероятность что ты вошьешь мемхак прям в редактор, и сделаешь его либо нативным либо вообще на гуи функциях?
Ev3nt #56 - 2 месяца назад 1   
Bergi_Bear:
Ev3nt, ты же в курсе про мемхак и его функционал? есть ли вероятность что ты вошьешь мемхак прям в редактор, и сделаешь его либо нативным либо вообще на гуи функциях?
Можно.
Bergi_Bear #57 - 2 месяца назад 0
Ev3nt, я вот думаю что даже сам мемхак не нужен, ты можешь просто сделать свою альтернативу, самый простые примеры броня и тип брони юнита, которые на лету менются у них самый простейший адрес, он никуда не спрятан глубоко, думаю тебе вообще раз плюнуть будет сделать такое
Ev3nt #58 - 2 месяца назад (отредактировано ) 0
Bergi_Bear, в идеале можно добавить jass функцию для подгрузки/выгрузки dll.

Ну и новый тип данных DLL, основанный на handle.
Ikobot #59 - 2 месяца назад 0
Никто не тестил как работают кастомные рудники на основе рудников нежити и ночных эльфов? Те что будут выставлены на старте этим модом будут работать также как стандартные рудники, или возникнет баг, когда при смерти рудника не остается обычный рудник.
Ev3nt #60 - 1 месяц назад (отредактировано ) 1   
Опрос: Как, по вашему мнению, следует опубликовать API (заголовки и lib)?

Всего проголосовали: 13
PAMEXI #61 - 1 месяц назад 1   
Я хотел "В комплекте с ММЕ"
Vlod #62 - 1 месяц назад 2   
Под катом на главной и внутри ММЕ
Ev3nt #63 - 3 недели назад (отредактировано ) 1   
PAMEXI, Vlod, готово, в архиве с MME и на странице аддонов. Исходники аддонов и инструкции появятся позже.