Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Игровой клиент (https://forum.zone-game.info/forumdisplay.php?f=54)
-   -   Редактируем interface.u (Hex вариант) (https://forum.zone-game.info/showthread.php?t=40430)

Shayne 05.04.2016 22:48

Редактируем interface.u (Hex вариант)
 
Раз уж пошла такая пьянка с большим интересном к редактированию интерфейса решил поговорить о насилии редактировании interface.u. На вбросы уровня гуру в этом направлении не претендую, но думаю пара-тройка людей оценит.

Итак, инструментарий:
- UTPT
- l2decrypt (либо кому-чем удобно декомпилить клиентские файлы)
- Хекс редактор. Я использую 010 Editor

В качестве примера запилим следующую штуку*:
https://pp.vk.me/c630225/v630225278/...6b7nZdfJXM.jpg
*Сделано в качестве примера, многого ожидать не стоит:)

Открыв в UT Package Tool interface.u, ищем нужный участок кода (для просмотра выбираем нужный класс \ функцию -> ПКМ -> Decompile). В примере один из вариантов - это


Код:

if ( bShowHPBar && (GetGameStateName() != "SPECIALCAMERASTATE") )
  {
    barHP.ShowWindow();
  } else {
    barHP.HideWindow();
  }

Цель: заменить barHP.HideWindow() на barHP.ShowWindow().
Так независимо от кода выше будет отображаться HP, для всех целей в таргете.
Для этого нужно найти barHP.HideWindow() в байт коде. Тут поможет смещение:

https://pp.vk.me/c630225/v630225278/...qE_bVJXL5s.jpg

Как включить отображение смещений в коде:
Свернуть ↑Развернуть ↓

Переходим к байт коду, для этого в UTPT жмем ПКМ по HandleTargetUpdate и выбираем Analize Raw Object


В появившемся окне жмем Format -> Auto format, в результате получаем следующий вид:


Далее - Jump -> To Object Offcet и вставляем смещение нужной строки (у нас это 0x00000755)


Получаем:
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).



Может так статься, что таких же строк будет найдено больше одной, тогда то и понадобиться "глобальное смещение".
Тут правда у меня вылез ньанс - когда смещение предлагаемое UTPT не совсем совпадает с реальным смещением для строки в хекс редакторе, так что остается следить на глаз:Olen':



Заменяем 19 01 47 33 06 00 00 1C 96 16 на 19 01 47 33 06 00 00 1C A1 16 ( по сути один байт)



сохраняем, упаковываем (опять же любым доступным способом), готово.



Почему 010 Editor?:
Свернуть ↑Развернуть ↓


Может кто подкинет варианты упрощения процедуры, а то и вовсе другие варианты, был бы рад:)

Emperor 06.04.2016 00:11

Re: Редактируем interface.u (Hex вариант)
 
Вопрос из разряда "просто интересно": А бар живой? Или не отображает действительность на хп игроков?

Zubastic 06.04.2016 00:15

Re: Редактируем interface.u (Hex вариант)
 
Отображает
Вброшу:
http://risovach.ru/upload/2016/04/me...4077_orig_.png

Shayne 06.04.2016 00:26

Re: Редактируем interface.u (Hex вариант)
 
Цитата:

Сообщение от Emperor (Сообщение 409592)
Вопрос из разряда "просто интересно": А бар живой? Или не отображает действительность на хп игроков?

В этом варианте отображает на момент взятия в таргет, дальше не меняется.

Zubastic 06.04.2016 01:23

Re: Редактируем interface.u (Hex вариант)
 
Цитата:

Сообщение от Shayne (Сообщение 409595)
В этом варианте отображает на момент взятия в таргет, дальше не меняется.

Не до конца доломали просто :)

Shayne 06.04.2016 09:57

Re: Редактируем interface.u (Hex вариант)
 
Не в том месте. Да и полоску двигать нужно, но это уже следующая история:D

ChiF 06.04.2016 13:48

Re: Редактируем interface.u (Hex вариант)
 
ну гайд, профа вместо статуса, был бы более актуален)

Emperor 06.04.2016 15:22

Re: Редактируем interface.u (Hex вариант)
 
Цитата:

Сообщение от ChiF (Сообщение 409612)
ну гайд, профа вместо статуса, был бы более актуален)

http://memesvault.com/wp-content/upl...acepalm-05.png

Shayne 06.04.2016 16:57

Re: Редактируем interface.u (Hex вариант)
 
Цитата:

Сообщение от ChiF (Сообщение 409612)
ну гайд, профа вместо статуса, был бы более актуален)

Давай файлом скину да и всё, зачем эти гайды?)

fabuLous 09.04.2016 13:47

Re: Редактируем interface.u (Hex вариант)
 
Цитата:

Сообщение от Shayne (Сообщение 409627)
Давай файлом скину да и всё, зачем эти гайды?)

он сам всё хочет
чтоб сделать такой же патч как в шаре
но сделал то сам :redlol:

Emperor 09.04.2016 14:08

Re: Редактируем interface.u (Hex вариант)
 
C2 0E 36 FF 0C 00 5D 02 > D2 05 36 E8 0A 00 5D 02.

Shayne 09.04.2016 15:50

Re: Редактируем interface.u (Hex вариант)
 
Профа в таргете?
https://pp.vk.me/c626729/v626729278/...fTJkheWRAY.jpg

Emperor 09.04.2016 16:58

Re: Редактируем interface.u (Hex вариант)
 
Shayne, Ага.

P.S. На разных *.u - разные значения, как я заметил.

C8 0D 36 E4 0D 00 5E 02 > DE 05 36 DC 0B 00 5E 02.


У меня лично сохранено уже два.

Zubastic 09.04.2016 22:35

Re: Редактируем interface.u (Hex вариант)
 
Грязные извращенцы вы, вот.

Emperor 10.04.2016 22:14

Re: Редактируем interface.u (Hex вариант)
 
Посвятите меня, как быть со смещением? Например мне нужно заменить AAA на AAAA, куда мне смотреть?

//С hex'ом не особо знаком. Использую Hex Workshop.

Zubastic 10.04.2016 23:15

Re: Редактируем interface.u (Hex вариант)
 
ААА на АААА?)

Emperor 10.04.2016 23:27

Re: Редактируем interface.u (Hex вариант)
 
Zubastic, Ну грубо говоря. Там же всё смещается, если добавить ещё одно значение к заменяемому.

Maeglin 22.06.2016 16:21

Re: Редактируем interface.u (Hex вариант)
 
Уже до дыр за смотрел весь интернет, толково ни где не смог найти описания для редактирования либо уже готового выложенного данного файла (interface.u) может господа знатоки помогут)?
Как сделать или лучше есть ли у кого готовый фаил что б в таргете показывалось профа и ХП а не только ник и клан другого игрока.

Знаю это реально и много видео роликов с такими изменениями, видел НО ник то не делится файлами или описанием процесса редактирования "под себя".

Emperor 22.06.2016 16:27

Re: Редактируем interface.u (Hex вариант)
 
>Создаёшь им темы с подробным описанием что и куда.
>Даёшь ссылки на весь софт который понадобится.
>Советуешь как лучше и быстрее.
>Всё равно задают глупые вопросы и тупят.

Maeglin 22.06.2016 17:11

Re: Редактируем interface.u (Hex вариант)
 
уж не бейте сильно ногами НО:

- Открыв в UT Package Tool interface.u, ищем нужный участок кода (для просмотра выбираем нужный класс \ функцию -> ПКМ -> Decompile).
Откуда я, непосвященный, могу знать нужный участок кода?

Ладно пример как сделать ХП в таргете, но судя по переписке дальше процесс так до конца и не отлажен, то есть отображается криво-косо...

Persy 22.06.2016 17:53

Re: Редактируем interface.u (Hex вариант)
 
Никто в здравом уме не хексит скрипты интерфейса. :redlol:

moveton 22.06.2016 18:54

Re: Редактируем interface.u (Hex вариант)
 
Цитата:

Сообщение от Maeglin (Сообщение 414048)
Ладно пример как сделать ХП в таргете

Никак. Клиент понятия не имеет об уровне здоровья других игроков(за исключением соппартийцев).

Emperor 22.06.2016 19:39

Re: Редактируем interface.u (Hex вариант)
 
Maeglin, Сервер не присылает пакет о кол-ве ХП таргета. Вроде нечто подобное сделано корейцами в каких-то GoD хрониках, но немного иначе, нежели чем просто бар в таргете.


//Вызвав полоску ХП в таргете через скрипты - будет отображаться твоё кол-во ХП, даже если в таргете кто-то другой, потому что клиенту больше нечего отобразить.

Добавлено через 1 минуту
moveton, Мля, опередил.

Shayne 22.06.2016 20:39

Re: Редактируем interface.u (Hex вариант)
 
Парни, на скринах в 1-м посте РПГ-клаб (PTS насколько я понимаю) и всё работает, за исключением обновления НР т.е. что бы показатели сменились нужно убрать таргет и навести снова, хотя и этот вопрос по идее решаем.

Emperor 22.06.2016 20:47

Re: Редактируем interface.u (Hex вариант)
 
Цитата:

Сообщение от Shayne (Сообщение 414061)
Парни, на скринах в 1-м посте РПГ-клаб (PTS насколько я понимаю) и всё работает, за исключением обновления НР т.е. что бы показатели сменились нужно убрать таргет и навести снова.

Ну значит на птсе в UserInfo приходит информация о хп цели, но обновляется только про повторном обновлении окна таргета.

А вообще интересно. Реально запилить пару скринов-пруфов со вторым окном в пати и разным кол-вом хп?

Ибо на явах он тупо дублирует своё хп даже при выделении другого игрока. Корректно работает только на гвардах\нпц.

Shayne 22.06.2016 21:09

Re: Редактируем interface.u (Hex вариант)
 

В пати кстати обновляется нормально, ну тут надо отдельно разбираться.
P.S. Ставим лойс за снукер:D

ChaosPaladin 22.06.2016 21:13

Re: Редактируем interface.u (Hex вариант)
 
Цитата:

Сообщение от Emperor (Сообщение 414063)
А вообще интересно. Реально запилить пару скринов-пруфов со вторым окном в пати и разным кол-вом хп?

https://i.gyazo.com/13ff12420da8f397...a60f7e7b17.gif

https://cdn.pbrd.co/images/1Sx9kIyG.png :redlol:

Emperor 22.06.2016 21:20

Re: Редактируем interface.u (Hex вариант)
 
ChaosPaladin, Новые хроники не котируются, там чего только не впилили. Интересно до хф.

Zubastic 22.06.2016 23:08

Re: Редактируем interface.u (Hex вариант)
 
Цитата:

Сообщение от moveton (Сообщение 414050)
Никак. Клиент понятия не имеет об уровне здоровья других игроков(за исключением соппартийцев).

Это ваши явы ничего не знают. А сервер все отсылает прекрасно...

Hack 23.06.2016 03:20

Re: Редактируем interface.u (Hex вариант)
 
Цитата:

Сообщение от moveton (Сообщение 414050)
Никак. Клиент понятия не имеет об уровне здоровья других игроков(за исключением соппартийцев).

Имеет. И от ява сервера все так же прекрасно отсылается, как и от птса.

Zubastic 23.06.2016 12:00

Re: Редактируем interface.u (Hex вариант)
 
Цитата:

Сообщение от Hack (Сообщение 414111)
Имеет. И от ява сервера все так же прекрасно отсылается, как и от птса.

Зависит от сборки. Есть извращенцы, которые нифига не шлют :)

luslighter 23.06.2016 12:05

Re: Редактируем interface.u (Hex вариант)
 
Цитата:

Сообщение от Zubastic (Сообщение 414119)
Зависит от сборки. Есть извращенцы, которые нифига не шлют :)

Они просто в пакет нули кидают, причем тут извращения.

Zubastic 23.06.2016 12:20

Re: Редактируем interface.u (Hex вариант)
 
Цитата:

Сообщение от luslighter (Сообщение 414120)
Они просто в пакет нули кидают, причем тут извращения.

При том, что им неизвестно как оно работает на оффе :)

moveton 23.06.2016 12:22

Re: Редактируем interface.u (Hex вариант)
 
Цитата:

Сообщение от Hack (Сообщение 414111)
Имеет. И от ява сервера все так же прекрасно отсылается, как и от птса.

Начиная с каких тронов то?

Emperor 23.06.2016 12:36

Re: Редактируем interface.u (Hex вариант)
 
Цитата:

Сообщение от moveton (Сообщение 414122)
Начиная с каких тронов то?

Ну вот пакеты от 2007-го года, стало быть IT-Kamael.

http://fursoffers.narod.ru/Packets.htm
Правда шут его знает что именно имеется ввиду. И имеются ли ввиду персонажи вне пати.

Donatte 23.06.2016 13:07

Re: Редактируем interface.u (Hex вариант)
 
Всё, чем может распоряжаться клиент для окна цели находится в пакетах NpcInfo, DoorInfo, CharInfo. Инфа 147%. То, что изображено выше скорее всего качественный кастом клиент-сервера.

Zubastic 23.06.2016 14:49

Re: Редактируем interface.u (Hex вариант)
 
Цитата:

Сообщение от Donatte (Сообщение 414129)
Всё, чем может распоряжаться клиент для окна цели находится в пакетах NpcInfo, DoorInfo, CharInfo. Инфа 147%. То, что изображено выше скорее всего качественный кастом клиент-сервера.

Клиент этим распоряжается, но из-за кривой пакетки ему летит лажа. Именно поэтому на явах невозможно смотреть профы других чаров. Там у всех хуман файтеры :redlol:

Emperor 23.06.2016 17:00

Re: Редактируем interface.u (Hex вариант)
 
Цитата:

Сообщение от Zubastic (Сообщение 414143)
на явах невозможно смотреть профы других чаров

Профы чаров работают куда корректнее, нежели чем бар ХП, не надо мне тут.

Donatte 23.06.2016 18:35

Re: Редактируем interface.u (Hex вариант)
 
Цитата:

Сообщение от Zubastic (Сообщение 414143)
Клиент этим распоряжается, но из-за кривой пакетки ему летит лажа. Именно поэтому на явах невозможно смотреть профы других чаров. Там у всех хуман файтеры :redlol:

Это возможно только если лыжа настолько крива что броадкастит пакет StatusUpdate по радиусу, а не по условию. По крайней мере на PTS с4 инфы от сервера такой не шлётся. Не знаю как там на ГФ и выше обстоят дела с пакеткой, хотя тоже сомневаюсь.

Hack 23.06.2016 21:33

Re: Редактируем interface.u (Hex вариант)
 
Цитата:

Сообщение от moveton (Сообщение 414122)
Начиная с каких тронов то?

Как минимум с интерлюда.
P.S. Поправочка, на птсах точно посылается, на явах далеко не везде


Текущее время: 14:12. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot