Моддинг World of Warcraft. Создание собственного login screen. Часть 1.

Nyll

New member
Продвинутый пользователь
Регистрация
19.06.2020
Сообщения
55
Реакции
76
Баллы
0
Возраст
32
Местоположение
USA
Всем привет! В предыдущей статье мы научились создавать патчи, и сегодня мы применим данное знание на практике. Я думаю, что почти каждый, кто начинает изучать моддинг World of Warcraft, хочет создать собственный логин скрин. Поэтому в данной статье мы отредактируем клиент. Для примера будем использовать сервер, созданный командой данного форума — Ardentis, чтобы не рекламировать другие проекты на данном форуме. Ну что же, приступим!

Шаг 1. Основы

Клиент World of Warcraft использует XML и LUA файлы. Что означают данные файлы и для чего они нужны описано здесь. Немаловажный нюанс состоит в том, что нам нужно создавать патчи для внесения изменений в клиент WoW. Как вы понимаете это не очень быстрый и удобный способ проверки ваших изменений, так как нужно будет постоянно пересоздавать патчи и перезаходить в игру для просмотра изменений. Давайте вспомним, что мы с вами создали в данной статье специальный батник. Ранее я упомянул вскользь, что данный батник поможет просматривать наши изменения почти в реальном времени. Так оно и есть, так как он позволяет нам открывать консоль (нажатием на тильду или же буквы ё, чтобы открылась консоль язык должен быть переключён на английский). Ещё одна особенность нашего заменённого Wow.exe в том, что он позволяет считывать данные из корня директории. Таким образом мы можем избежать создания патчей на этапе разработки, это поможет нам ускорить процесс разработки и сразу выявлять ошибки.

Давайте запустим наш Вов через WoW_Start.bat и проверим, открывается ли у нас консоль.

GfMSEKd.png

Отлично! На данном этапе можно пока что закрыть клиент, ибо если он будет открыт через данный батник, мы не сможем редактировать MPQ, так как они уже напрямую читаются данным клиентом вов.

Шаг 2. Важность путей файлов и директорий

Немаловажную роль играет то, как именно вы храните файлы в своих патчах, ибо клиенту необходимо понимать, какие файлы ему нужно подгружать. Давайте поставим себе задачу отредактировать текст "Учетная запись Battle.net". Для того чтобы это сделать, нужно разобраться с тем, где храниться данная строка.

Открываем MPQEditor, нажимаем File -> Open MPQ(s) ...

2.png


В открывшемся окне нам необходимо открыть папку Data, которая хранится в директории нашего клиента. Выделяем все файлы и жмём "открыть".

3.png


В следующем открывшемся окне жмём "ОК"

4.png


Напоминаю, если вы попробуете открыть патчи, когда у вас запущен клиент через батник, то вы увидите следующую ошибку:

5.png


Далее видим следующую картину, с древовидным отображением структуры директорий, а так же файлы хранящиеся в них.

6.png


Шаг 3. Поиск файла, в котором хранится нужная информация

Так как мы хотим отредактировать клиент, то искать название папки Interface.

В данных патчах я не нашёл, поэтому давайте откроем все патчи из Data/ruRU

Нашёл в патче patch-ruRU-3.MPQ вот такие вот интересные папки Interface\GlueXML. Давайте извлечём данные файлы в нашу папку Extracted MPQ 3.3.5a все файлы из данного патча. Кликаем правой кнопкой мыши по названию патча и нажимаем Extract

7.png


В открывшемся окне указываем нашу директорию.

8.png


Нажимаем "ОК". Далее мы увидим процесс извлечения файлов из MPQ в указанную нами директорию.

9.png


Давайте откроем нашу папку и посмотрим на результат.

10.png


Отлично! Файлы извлеклись, теперь мы можем их редактировать. Откроем Interface\GlueXML и будем открывать каждый файл с помощью текстового редактора (в моём случае Notepad++).
И вот, открыв файл GlueStrings.lua я НЕ обнаружил тот самый текст, который мы хотим отредактировать.

Давайте сделаем всё тоже самое с 3-м патчем, ибо в нём может храниться более свежая информация, нежели чем в 2-м.

Откроем тот же самый файл и находим следующее:

11.png


Давайте везде вставим ссылочки на Ardentis и заменим текста и ссылки.

4GVRkga.png


Теперь нам нужно это заменить в самом клиенте, чтобы увидеть изменения. Так как мы условились, что по ходу разработки мы не будем создавать, а будет использовать более быстрый подход к разработке.

Открываем папку с нашим клиентом и создаём в корне Interface

3RpL8PT.png


Я думаю уже вы догадались, что внутри Interface нужно создать папку GlueXML, а во внутрь перенесём наш изменённый GlueStrings.lua.

OB1C6Ti.png


Далее давайте запустим Вов и посмотрим на результат.

MYldSTs.png

Отлично! Всё работает. Если у вас не получилось, здесь может быть 4 причины:
  1. Кэш, удалите WTF перед запуском WoW;
  2. GlueXML изменил название на GlueXML.old, если так то нужно изменить его на GlueXML;
  3. Вы забыли заменить Wow.exe на пропатченный, где отключена MD5 проверка хеш-сумм;
  4. Вы используете НЕ чистый клиент.
Шаг 4. Редактирование клиента без перезахода в игру

НЕ ЗАБУДЬТЕ запустить клиент через БАТНИК!

Мы хотим отображать последние новости нашего сервера. Откроем всё тот же файл GlueStrings.lua.
Находим в нём SERVER_ALERT.

hYIDBxz.png


Это по сути простой GET-запрос. Если бы я имел доступ к FTP-серверу Ardentis, я бы создал специальную директорию. Назовём её alertwow, внутри создадим index.html.

HTML:
SERVERALERT:
<html><body>
<h1 align="left">Ardentis 07.06.2022 Update</h1>
<p>Hi there! The server is not currently playable while we make the changes required to make this project a success. You can follow our progress on <a href="https://discord.gg/">Discord</a>.<br/><br/></p>
</body></html>

И вставляем ссылку, в нашем случае будет http://ardentis-wow.ru/alertwow/. Важно! Здесь нельзя указывать ссылку с безопасным протоколом httpS. Ссылка всегда должна начинаться с http, иначе работать не будет. Если у вас есть SSL-сертификат и стоит редирект на https, то не переживайте. Работать оно будет, просто ссылка должна быть именно http!

Мы внесли изменения, а как теперь посмотреть на изменения не выходя из игры? Всё просто, открываем консоль и пишем в неё reloadui

RGozusa.png


Я здесь просто текст написал, вы можете использовать HTML-теги и всячески это стилизовать.

4p30Xbp.png


Я думаю на этом закончим. Продолжение следует!
 

Deathcore

New member
Новичок
Регистрация
21.01.2021
Сообщения
20
Реакции
7
Баллы
0
Местоположение
БлатХата
Спасибо, за гайд очень полезен, а что касается более новых дополнений? Какие не содержат файлы по типу MPQ, как можно редактировать логин-скрин?
 
Верх Низ