Редактирование interface.xdat - Страница 114 - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Инструменты

Инструменты Софт который облегчает обслуживание java сервера.

Ответ
Опции темы
Непрочитано 27.08.2014, 02:21   #1
Супергерой

Автор темы (Топик Стартер) Редактирование interface.xdat

Давно уже хотел запилить редактор, но все руки не доходили разобрать структуру interface.xdat.

И вот, более-менее готова первая версия с поддержкой пока одного клиента - High Five.
При запуске обновляет схему через интернет.
Я не реверсил клиент, структуру подбирал на глаз, советую при использовании делать бекапы.
Если кто-то хочет помочь с разбором неизвестных полей - пишите.

Cкачать:
java8u60
win64

Собрать:
GitHub


Возможности на примере:
Свернуть ↑Развернуть ↓

Скрипты:
Свернуть ↑Развернуть ↓
__________________
l2clientmod / l2io

Последний раз редактировалось acmi; 02.10.2017 в 20:17.
acmi вне форума Отправить сообщение для acmi с помощью ICQ Ответить с цитированием
Непрочитано 17.03.2017, 21:49   #1131
Пользователь

По умолчанию Re: Редактирование interface.xdat

http://pix.my/4fAlA7
Что не так?))
Ninjago вне форума Ответить с цитированием
Непрочитано 22.03.2017, 12:02   #1132
Пользователь

По умолчанию Re: Редактирование interface.xdat

Цитата:
Сообщение от Ninjago Посмотреть сообщение
http://pix.my/4fAlA7
Что не так?))
плюсану, такая же ошибка.
BooMs вне форума Ответить с цитированием
Непрочитано 22.03.2017, 13:41   #1133
Аватар для Gylik
Пользователь

По умолчанию Re: Редактирование interface.xdat

Цитата:
Сообщение от Gylik Посмотреть сообщение
Добрый день!
Возможно ли через xdat перенести область талисманов и сам браслет из окна инвентаря в другое место?
Дабы видеть какие талисманы надеты в данный момент...
Возможно кто то подскажет? разобрался

Последний раз редактировалось Gylik; 10.04.2017 в 18:25.
Gylik на форуме Ответить с цитированием
Непрочитано 12.04.2017, 18:42   #1134
Пользователь

По умолчанию Re: Редактирование interface.xdat

L2UIUnpack

Распаковывает указанный Interface.xdat в текущую директорию во множество .xml, ожидаемых nwindow.dll.
Пока что поддерживается только CT26 p4.
В архиве билд для win32, x86_64 macosx.
Вложения
Тип файла: zip L2UIUnpack.zip (565.8 Кб, 68 просмотров)
doesitmatter вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 12.04.2017, 20:17   #1135
Аватар для Emperor
Пользователь

По умолчанию Re: Редактирование interface.xdat

doesitmatter, Как самый умный распаковал всё на раб. стол и на нём же провернул распаковку *.xdat. В итоге еле очистил его от *.xml'ок.

Встал вопрос: А зачем, если нечем паковать обратно? Я наверное чего-то не понимаю, но я не вижу явного профита от анпака всех окон и их наполнения в виде *.xml. Впрочем для чего-то явно пригодится.
__________________
https://sites.google.com/site/l2clientdev/ - мой небольшой сборник.
Emperor вне форума Ответить с цитированием
Непрочитано 12.04.2017, 22:16   #1136
Пользователь

По умолчанию Re: Редактирование interface.xdat

Цитата:
Сообщение от Emperor Посмотреть сообщение
doesitmatter, Как самый умный распаковал всё на раб. стол и на нём же провернул распаковку *.xdat. В итоге еле очистил его от *.xml'ок.

Встал вопрос: А зачем, если нечем паковать обратно? Я наверное чего-то не понимаю, но я не вижу явного профита от анпака всех окон и их наполнения в виде *.xml. Впрочем для чего-то явно пригодится.
Я несколькими постами выше описывал процедуру запаковки. nwindow.dll умеет паковать *.xml обратно в system/Interface.xdat. Для этого нужно:
  • Добавить секцию UIEditor в system/Option.ini:
    Код:
    [UIEditor]
    SysPath=INTERFACE_PATH
    Где INTERFACE_PATH – путь к директории с нужными XML
  • В INTERFACE_PATH поместить *.xml интерфейса
  • В INTERFACE_PATH поместить Schema.xsd, которой соответствуют *.xml интерфейса. В принципе, схему можно сгенерировать и по xml (например, при помощи apache xmlbeans), главное, чтобы имена control-типов оканчивались на Type (например, WindowType). В UIEditor (///ui) есть список всех контролов.
  • Пропатчить nwindow.dll. Патчи для ct26 p4:
    • Включить сборку xdat: записать {0xb1, 0x01} по 0x103a0855
    • Отключить сборку UnrealScript (иначе движок не найдет линкер и упадет): {0x31, 0xc0, 0xc3} по 0x103a09d0.
Теперь при запуске игры nwindow будет пытаться собрать Interface.xdat

Последний раз редактировалось doesitmatter; 13.04.2017 в 05:01.
doesitmatter вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 12.04.2017, 22:29   #1137
Аватар для Emperor
Пользователь

По умолчанию Re: Редактирование interface.xdat

doesitmatter, Ну теперь встало на свои места, полезно. Правда было бы разумнее закатать всё это в отдельный тред, ибо затеряется в теме.
__________________
https://sites.google.com/site/l2clientdev/ - мой небольшой сборник.
Emperor вне форума Ответить с цитированием
Непрочитано 13.04.2017, 00:28   #1138
Пользователь

По умолчанию Re: Редактирование interface.xdat

Вот хорошая информация по поводу xmlschema, для составления Schema.xsd:
Статья №1
Статья №2
Phantom-Dev вне форума Ответить с цитированием
Непрочитано 13.04.2017, 00:53   #1139
Аватар для Ave
Пользователь

По умолчанию Re: Редактирование interface.xdat

Цитата:
Сообщение от doesitmatter Посмотреть сообщение
L2UIUnpack

Распаковывает указанный Interface.xdat в текущую директорию во множество .xml, ожидаемых nwindow.dll.
Пока что поддерживается только CT26 p4.
В архиве билд для win32, x86_64 macosx.
Thx, I will check it
Ave вне форума Отправить сообщение для Ave с помощью Skype™ Ответить с цитированием
Непрочитано 15.04.2017, 17:25   #1140
Пользователь

По умолчанию Re: Редактирование interface.xdat

Процитирую свой ответ на сообщение в ПМ (возможно, кому-то поможет):

Цитата:
Сообщение от doesitmatter
Цитата:
Привет друг, я воспользовался твоим советом по генерации XSD https://pastebin.com/PQMsxk84 -ShortcutWnd.xsd

И что то в игре от нее толку 0 , http://i.imgur.com/lt9GekA.png?1

Сами опции имеются но естественно не все, и 1 очень большая проблема - к примеру новые элементы(кнопки) имеют одно и тоже имя, и если изменить на одном, на другом изменится точно так же ! Это в порядке вещей, у тебя так же?

И более того не смотря на то что ShortcutWnd.XML и его ShortcutWnd.XSD закинут в Interface/Default , в UIEditor Оно не открывается !
Нужен всего лишь один xsd файл – Schema.xsd. Если UIEditor не хочет открывать какой-либо xml, значит этот xml не соответствует схеме. Проверить можно, например, тут: http://www.utilities-online.info/xsdvalidation/ .

Для сборки xdat все xml должны соответствовать схеме, и проходить дополнительные проверки в nwindow.dll. Например, если определен DefaultProperty.AbsoluteSize, то также должны быть определены DefaultProperty.AbsoluteSize.width и DefaultProperty.AbsoluteSize.height. nwindow пишет сообщения о таких ошибках функцией по адресу 0x1039fc80.

Все DefaultProperty.name должны отличаться, иначе UIEditor перестанет корректно работать.

Вот так выглядит ShortcutWnd в редакторе:
https://i.imgur.com/KsQMrBA.jpg
doesitmatter вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение шрифта и его размера в файле Interface.xdat Magister Обучающие статьи 41 03.12.2016 12:04
Нуждаюсь в помощи человека который знает все про редактирование клиента. Gadzhishka Игровой клиент 10 07.08.2013 05:47
Шрифт - Interface.xdat VISTALL Игровой клиент 20 28.08.2010 23:28
Редактирование скинов оружия PROGRAMMATOR Call of Duty 4 23 09.07.2010 13:08
Редактирование скриптов Locent Документация 1 26.03.2010 05:26


© 2007–2019 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 12:30. Часовой пояс GMT +3.

Вверх