Редактирование interface.xdat - Страница 113 - Форум администраторов игровых серверов
Форум администраторов игровых серверов 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 Ответить с цитированием
Непрочитано 25.02.2017, 17:09   #1121
Аватар для NoizeBD
Пользователь

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

Вот

https://yadi.sk/d/hboKqz7Q3EaHho
NoizeBD вне форума Отправить сообщение для NoizeBD с помощью Skype™ Ответить с цитированием
Непрочитано 26.02.2017, 09:22   #1122
Аватар для BadStealth
Пользователь

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

Спасибо за ссылку- но там простой xdat не обновленный. У меня именно при обновлении выдает потом ошибку.
Может кто обновить и выложить?
BadStealth вне форума Ответить с цитированием
Непрочитано 06.03.2017, 00:26   #1123
Пользователь

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

Немного информации для тех, кто интересовался использованием встроенного редактора L2UI:

Для исследований необходим nwindow.dll соответствующей версии без Themid'ы. Все символы в релизной версии nwindow пострипаны (кроме экспортов), но достаточно много имен можно восстановить по раскрутчикам стека (см. функции с именами SEH_…).
Непосредственно редактор окон (но не шорткатов и стилей) реализован в классе UIEditor в Interface.u (доступен по команде ///ui). UIEditor для загрузки и сохранения XML окна использует функции в nwindow, например, UWindowHandle::execLoadXMLWindow. Из кода последней функции следует, что для загрузки XML окна необходимо следующее:
1. Schema.xsd, описывающая возможные XML окон;
2. Собственно XML окна
Schema.xsd в клиенте нету, но для каждого типа данных есть метод Process, например, XMLWindowData::Process. По вызовам к методам XMLNode становится ясно, какие именно атрибуты принадлежат к каждому типу, что позволяет восстановить Schema. Стоит отметить, что в схеме каждый тип данных должен быть объявлен как xs:complexType ...Type, иначе nwindow не увидит его определение.
С получением XML окон дело обстоит немного сложнее. В nwindow есть экспорт в UnrealScript
PHP код:
native final function bool SaveXMLWindowstring FilePathName ); 
, но он предназначен для сохранения окон, редактируемых в UIEditor, поэтому часть свойств и иерархии сохраняться не будет. У меня не было времени искать причину, поэтому был написан дампер из xdat в XML (описание формата можно посмотреть в коде acmi).
nwindow умеет пересобирать Interface.xdat. За сборку отвечает bool XMLUIManager::ForceCreateNewData, см. конструктор XMLUIManager. Мне также пришлось отключить пересборку скрипта (видимо, в релизе чего-то недостает для этого).
doesitmatter вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 08.03.2017, 17:28   #1124
Аватар для Gylik
Пользователь

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

Добрый день!
Возможно ли через xdat перенести область талисманов и сам браслет из окна инвентаря в другое место?
Дабы видеть какие талисманы надеты в данный момент...
Gylik вне форума Ответить с цитированием
Непрочитано 08.03.2017, 17:49   #1125
Пользователь

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

Цитата:
Сообщение от Gylik Посмотреть сообщение
Добрый день!
Возможно ли через xdat перенести область талисманов и сам браслет из окна инвентаря в другое место?
Дабы видеть какие талисманы надеты в данный момент...
Конечно, это достаточно просто сделать:
doesitmatter вне форума Ответить с цитированием
Непрочитано 17.03.2017, 18:30   #1126
Пользователь

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

Хочу склепать нормальный мультиязычный клиент год+ хроник.
в данный момент язык меняю изменением ID в файле localization.ini
Но как сделать что бы можно было переключать сразу в клиенте, не меняя данный файл - не понятно. ковырял interface.u там что-то не нашёл подобного(((
Ninjago вне форума Ответить с цитированием
Непрочитано 17.03.2017, 19:02   #1127
Аватар для Emperor
Пользователь

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

Ninjago, В шаре есть пара патчей, в которых это реализовано. Достаточно только найти, поковырять, перенести себе.
__________________
https://sites.google.com/site/l2clientdev/ - мой небольшой сборник.
Emperor вне форума Ответить с цитированием
Непрочитано 17.03.2017, 20:08   #1128
Пользователь

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

Цитата:
Сообщение от Emperor Посмотреть сообщение
Ninjago, В шаре есть пара патчей, в которых это реализовано. Достаточно только найти, поковырять, перенести себе.
Суть в том, что под нужную сборку нету патча. Потому нужно разобраться и сделать самому))

Добавлено через 6 минут
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':commons:io:compileJava'.
> Could not find tools.jar. Please check that C:\Program Files\Java\jre1.8.0_51 contains a valid JDK installation.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

еще и вот так ругается на xdat editor (( готовый не запускается, пытаюсь с гитхаба пересобрать

Последний раз редактировалось Ninjago; 17.03.2017 в 20:23. Причина: Добавлено сообщение
Ninjago вне форума Ответить с цитированием
Непрочитано 17.03.2017, 20:29   #1129
Пользователь

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

Цитата:
Сообщение от Ninjago Посмотреть сообщение
Суть в том, что под нужную сборку нету патча. Потому нужно разобраться и сделать самому))

Добавлено через 6 минут
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':commons:io:compileJava'.
> Could not find tools.jar. Please check that C:\Program Files\Java\jre1.8.0_51 contains a valid JDK installation.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

еще и вот так ругается на xdat editor (( готовый не запускается, пытаюсь с гитхаба пересобрать
git submodule update --init, сделал?
ChaosPaladin на форуме Отправить сообщение для ChaosPaladin с помощью Skype™ Ответить с цитированием
Непрочитано 17.03.2017, 20:33   #1130
Пользователь

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

Вроде получилось

Последний раз редактировалось Ninjago; 17.03.2017 в 20:56. Причина: получилось
Ninjago вне форума Ответить с цитированием
Ответ


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

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

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
Текущее время: 00:28. Часовой пояс GMT +3.

Вверх