|
|
Модератор форума: Dimitro |
Форум Программы и прочее Патчи для WoW [Мануал] Как создать Login screen используя Lua&XML (Дословный перевод (внесены правки 15.10.2012)) |
[Мануал] Как создать Login screen используя Lua&XML |
Переведено с Modcraft'a
Привет парни! Сегодня я хочу показать вам как сделать Логин меню только редактируя Lua и XML файлы. Всё что понадобится вам для этого урока вы сможете найти по этой ссылке: Ссылка Код 1. Установка файлов 2. Изменение логин меню 2.1 Фон 2.2 Музыка 2.3.1 Кнопки 2.3.2 Позиции 3. Добавление M2 моделей 4. Пример --------------------------------------------------------------------------------------------------- 1. Установка файлов Во-первых вам понадобится извлечь файлы из архива в папку с WoW Грац! Первый шаг готов! 2. Изменение логин меню 2.1 Фон Для установки фона, вам нужно буделт создать .png файл размером 1024х1024 который будет иметь 75% от 1024 пикселей (768px в высоту) для того чтобы заполнить экран ввода. Закончив с редактированием изображения, сохраните его в директории: WoW\Interface\LoginScreen\ И назовите ваш файл: Background.png Теперь всё что требудется это перетащить .png файл на программу BLP Converter и удалить .png картинку из папки. 2.2 Музыка Если вы хотите нестандартную музыку, то нужно поместить файл (.mp3 или .wav) в папку: WoW\Interface\LoginMusic\ и назвать его: LoginScreen Теперь вам надо узнать продолжительность музыкального файла в секундах. Пример.: 2:25 -> 145 Теперь откройте vx_vars_init.lua (находится в WoW\Interface\GlueXML\) Нахмите CTRL + F и найдите строку: VX_MUSICTIMER = GetTime() + <SECOUNDS>; и замените <SECOUNDS> на продолжительность вашего муз файла. Если же вы хотите поставить любую другую музыку из клиента WoW, то в строке PlayMusic("Sound\\Music\\CityMusic\\Undercity\\undercityintro-moment.mp3"); укажите путь к файлу в .MPQ архиве. 2.3.1 Кнопки Для кнопок, необходимо создать 6 файлов: Код Glues-BigButton-Up -> Нормальная кнопка Glues-BigButton-Down -> Нажатая кнопка Glues-BigButton-Highlight -> Кнопка, когда курсор находится над ней Glues-Editbox-Background -> Неактивная кнопка Glues-BigButton-Glow -> Свечение вокруг унопки Glues-BigButton-Rays -> Пульсирующие лучи вокруг кнопки Вам необходимо сохранить .png файлы в папке: WoW\Interface\GLUES\COMMON\ с указаными именами и перетащите .png файлы в программу BLP Converter. Теперь удалите оставшиеся .png файлы и мы закончили. 2.3.2 Позиции Теперь зададим позиции кнопкам и для этого откроем файл AccountLogin.XML в папке: WoW\Interface\GlueXML\ Нажмите CTRL + F для поиска: Код name="AccountLoginAccountEdit" -> Поле имени аккаунта name="AccountLoginPasswordEdit" -> Поле пароля name="AccountLoginLoginButton" -> Кномка входа name="AccountLoginExitButton" -> Кнопка выхода name="OptionsButton" -> Кнопка опций name="AccountLoginManageAccountButton" -> Кнопка учётной записи name="AccountLoginCommunityButton" -> Кнопка оффииального сайта name="AccountLoginSaveAccountNameText" -> Чекбокс "Запомнить имя учётной записи" Для перемещения ищите текст как: Код <Anchor point="BOTTOM"> <Offset> <AbsDimension x="..." y="..."/> </Offset> </Anchor> С опорными точками (Аnchor point) и установите данную точку на ваше усмотрение: "TOP" ; "BOTTOMLEFT" ; "RIGHT"; "CENTER" ; ... И собственно оси координат AbsDimension x и y. 3. Добавление M2 моделей Для начала откройте vx_vars_init.lua... Строки 4-9 -- определение модели. Модели добавляются на экран в последних трёх строках. В строках 5-9 вносите свои настройки, комментарии думаю понятны: Код -- light + light direction -> свет и направление света; -- position -> позиция на экране (x - вперёд/назад, y - влево/вправо, z - вниз/вверх); -- rotation -> поворот (вращение) -- scale -> размер модели; -- alpha -> прозрачность. (SetHeight и SetWidth используются в совокупности со scale если вы хотите каким либо образом ограничить модель (обрезать)) Если вы хоите более одной модели, то вам надо скопировать блок (4-9 строки) и заменить каждое Mod1 с скопированном блоке на Mod2 (если более 2-х, то проделать то же самое на Mod3, ...) Ещё вам нужно будет добавить все задействованные модели в таблицу M = { } В итоге у вас получится что то вроде: M = {Mod<НОМЕР_МОДЕЛИ>,Mod<НОМЕР_МОДЕЛИ>,Mod<НОМЕР_МОДЕЛИ>} Пример: M = {Mod1,Mod2,Mod3} Если вы не добавите модель в таблицу "M", моедль сбросит позицию при Логауте и возвращение на главный экран ввода логина и пароля. Для поиска и устанвки модели запустим WoWModelViewer и найдём модель которая имеет только 1 скин (skin) (в противном случае мы получим абсолютно белую модель) Затем введём её полный путь во 2-ю последнюю строку с двойными обратными слэшами \\ и .m2 на конце. PS.: Постарайтесь устанавливать координату Z+1, до тех пор пока не увидите модель. PPS.: Запомните, что каждая модель может иметь разное примерение комманды SetPosition. Пример: одни используют координаты x и y для перемещения в 2D поле другие используют y и z координаты. 4. Пример Это примеры того, каким может получиться Логин Скрин: |
Quote (Попрыгун) Теперь всё что требудется это перетащить .png файл на программу BLP Converter и удалить .png картинку из папки. Поподробнее можно? Добавлено (06.11.2012, 17:37) Quote (Попрыгун) с указаными именами и перетащите .png файлы в программу BLP Converter. Теперь удалите оставшиеся .png файлы и мы закончили. Тоже самое. Добавлено (06.11.2012, 17:51)
Сообщение # 3 написано 06.11.2012 в 17:51
|
Есть программа в архиве BLP Converter.exe это консольная программа, чтоб её использовать требуется PNG картинку перетащить на значёк программы и отпустить над ним.
для позиции кнопок вроде всё доступно написано Code Для перемещения ищите текст как: Code <Anchor point="BOTTOM"> <Offset> <AbsDimension x="..." y="..."/> </Offset> </Anchor> С опорными точками (Аnchor point) и установите данную точку на ваше усмотрение: "TOP" ; "BOTTOMLEFT" ; "RIGHT"; "CENTER" ; ... И собственно оси координат AbsDimension x и y. и для поиска написаны названия кнопок Code name="AccountLoginAccountEdit" -> Поле имени аккаунта name="AccountLoginPasswordEdit" -> Поле пароля name="AccountLoginLoginButton" -> Кномка входа name="AccountLoginExitButton" -> Кнопка выхода name="OptionsButton" -> Кнопка опций name="AccountLoginManageAccountButton" -> Кнопка учётной записи name="AccountLoginCommunityButton" -> Кнопка оффииального сайта name="AccountLoginSaveAccountNameText" -> Чекбокс "Запомнить имя учётной записи"
Труды и наработки:
Анимация WPF приложений WoW Realmlist Manager Launcher на заказ Набор строителя Логин меню (^_^)
Сообщение # 4 написано 07.11.2012 в 17:52
|
Quote (Попрыгун) для позиции кнопок вроде всё доступно написано Code Для перемещения ищите текст как: Code <Anchor point="BOTTOM"> <Offset> <AbsDimension x="..." y="..."/> </Offset> </Anchor> С опорными точками (Аnchor point) и установите данную точку на ваше усмотрение: "TOP" ; "BOTTOMLEFT" ; "RIGHT"; "CENTER" ; ... И собственно оси координат AbsDimension x и y. и для поиска написаны названия кнопок Code name="AccountLoginAccountEdit" -> Поле имени аккаунта name="AccountLoginPasswordEdit" -> Поле пароля name="AccountLoginLoginButton" -> Кномка входа name="AccountLoginExitButton" -> Кнопка выхода name="OptionsButton" -> Кнопка опций name="AccountLoginManageAccountButton" -> Кнопка учётной записи name="AccountLoginCommunityButton" -> Кнопка оффииального сайта name="AccountLoginSaveAccountNameText" -> Чекбокс "Запомнить имя учётной записи" Поле логина передвинул, а вот поле пароля не хочет.. В чём может быть проблема? И да, когда я запускаю эту программу, через долю секунды она закрывается. Что я делаю не так? Добавлено (07.11.2012, 18:55)
Сообщение # 6 написано 07.11.2012 в 18:55
|
Sivanv99, мне видео что-ли снять на тему как пользоваться консольными программами? что не понятного в системе Драг-энд-дроп? Взял картинку, и перетащил на программу, отпустил, в папке с изображением появится одноимённый файл с расширением .блп (латыницей)
Труды и наработки:
Анимация WPF приложений WoW Realmlist Manager Launcher на заказ Набор строителя Логин меню (^_^)
Сообщение # 7 написано 09.11.2012 в 17:13
|
Попрыгун, можешь и видео выложить ^^
Сообщение # 8 написано 17.11.2012 в 11:41
|
<Anchor point="BOTTOM">
<Offset> <AbsDimension x="..." y="..."/> </Offset> </Anchor> что-то мне html напоминает. А что если разметить логскрин как html документ?
Уроки по модификации клиента World of Warcraft
- Маппинг - Операции с файлами - Серверсайд - UI etc.
Сообщение # 9 написано 27.11.2012 в 23:48
|
Noggit, думаю ничего, потому как это xml он чем-то похожно на штмл, но интерфейс читается именно xml-вский
Труды и наработки:
Анимация WPF приложений WoW Realmlist Manager Launcher на заказ Набор строителя Логин меню (^_^)
Сообщение # 10 написано 28.11.2012 в 09:50
|
| |||
| |||