Редактируем interface.u (Hex вариант)
Раз уж пошла такая пьянка с большим интересном к редактированию интерфейса решил поговорить о
Итак, инструментарий: - UTPT - l2decrypt (либо кому-чем удобно декомпилить клиентские файлы) - Хекс редактор. Я использую 010 Editor В качестве примера запилим следующую штуку*: https://pp.vk.me/c630225/v630225278/...6b7nZdfJXM.jpg *Сделано в качестве примера, многого ожидать не стоит:) Открыв в UT Package Tool interface.u, ищем нужный участок кода (для просмотра выбираем нужный класс \ функцию -> ПКМ -> Decompile). В примере один из вариантов - это TargetStatusWnd -> HandleTargetUpdate:Развернуть ↓Код:
if ( bShowHPBar && (GetGameStateName() != "SPECIALCAMERASTATE") ) Так независимо от кода выше будет отображаться HP, для всех целей в таргете. Для этого нужно найти barHP.HideWindow() в байт коде. Тут поможет смещение: https://pp.vk.me/c630225/v630225278/...qE_bVJXL5s.jpg Как включить отображение смещений в коде:Развернуть ↓Переходим к байт коду, для этого в UTPT жмем ПКМ по HandleTargetUpdate и выбираем Analize Raw Object IMG:Развернуть ↓В появившемся окне жмем Format -> Auto format, в результате получаем следующий вид: IMG:Развернуть ↓Далее - Jump -> To Object Offcet и вставляем смещение нужной строки (у нас это 0x00000755) IMG:Развернуть ↓Получаем: img:Развернуть ↓Т.е. barHP.HideWindow() соответствует 19 01 47 33 06 00 00 1C 96 16 в байт-коде. Такую же процедуру проворачиваем и с barHP.ShowWindow(). Ему соответствует 19 01 47 33 06 00 00 1C A1 16. Теперь собственно к редактированию: Анпакаем interface.u. Я это делаю банальным перестаскиванием interface.u на l2decrypt.exe в проводнике, в результате чего появляется interface.u.clear, с ним и будем работать. Можно прогнать l2endec'ом, или еще чем... Анпакнутый u открываем в хекс-редакторе и ищем строку с необходимым байт-кодом (Ctr + F -> 19 01 47 33 06 00 00 1C 96 16). IMG:Развернуть ↓Может так статься, что таких же строк будет найдено больше одной, тогда то и понадобиться "глобальное смещение". Тут правда у меня вылез ньанс - когда смещение предлагаемое UTPT не совсем совпадает с реальным смещением для строки в хекс редакторе, так что остается следить на глаз:Olen': img:Развернуть ↓Заменяем 19 01 47 33 06 00 00 1C 96 16 на 19 01 47 33 06 00 00 1C A1 16 ( по сути один байт) img:Развернуть ↓сохраняем, упаковываем (опять же любым доступным способом), готово. Результат:Развернуть ↓Почему 010 Editor?:Развернуть ↓Может кто подкинет варианты упрощения процедуры, а то и вовсе другие варианты, был бы рад:) |
Re: Редактируем interface.u (Hex вариант)
Вопрос из разряда "просто интересно": А бар живой? Или не отображает действительность на хп игроков?
|
Re: Редактируем interface.u (Hex вариант)
|
Re: Редактируем interface.u (Hex вариант)
Цитата:
|
Re: Редактируем interface.u (Hex вариант)
Цитата:
|
Re: Редактируем interface.u (Hex вариант)
Не в том месте. Да и полоску двигать нужно, но это уже следующая история:D
|
Re: Редактируем interface.u (Hex вариант)
ну гайд, профа вместо статуса, был бы более актуален)
|
Re: Редактируем interface.u (Hex вариант)
Цитата:
|
Re: Редактируем interface.u (Hex вариант)
Цитата:
|
Re: Редактируем interface.u (Hex вариант)
Цитата:
чтоб сделать такой же патч как в шаре но сделал то сам :redlol: |
Текущее время: 16:03. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot