Рейтинг темы:
  • 10 Голос(ов) - 5 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Редактирование interface.xdat
4ipolino Написал:кто использовал данный вариант поделитесь пропатченой nwindow.dll (или патчем)

Вот отрывок из моего динамического патчера:

Код:
/* Replace first instruction of code at src with jump to repl */
bool replaceFuncAtAddr(void* src, void* repl, uint8_t bak[static 6]);

/* Replace data in .text. Back up is written to bak and should be at least as
* large as replSz
*/
bool patchText(void* dst, const uint8_t* repl, uint8_t* bak, size_t replSz);

__attribute__ ((stdcall))
int repl_CompileUIScript(void* a0) {
    return 0;
}

/* ... */

/* Compile Interface.xdat from UIEditor Interface *.xml */
uint8_t movb_1_ecx[] = {0xb1, 0x01};
patchText((void*)(0x103a0855 + nwindow_offs), movb_1_ecx, NULL, sizeof(movb_1_ecx));

/* Disable UIScript recompile.. */
replaceFuncAtAddr((void*)(0x103a09d0 + nwindow_offs), repl_CompileUIScript, NULL);

При загрузке nwindow рассчитывается nwindow_offs – смещение адреса загрузки nwindow.dll, и выполняется непосредственно патчинг.
Ответ
Ребят, подкиньте добряка.
Хочу поменять положение систем чата и обычного. Скачал пару патчей, где это уже измненено, сравниваю с дефолтным interface.xdat через editor, но в упор не вижу, как называются окна чата и сис.чата. Упоролся уже перепроверять по координатам и выравниванию...
Ответ
Bollo, SystemMsgWnd.
Если хочешь двинуть, придётся отвязывать его от парент окна - ChatWnd.
Ответ
Emperor Написал:Bollo, SystemMsgWnd.
Если хочешь двинуть, придётся отвязывать его от парент окна - ChatWnd.
Так он в interface.u... Вот я олух, что xdat чекал сначала. Спс за подсказку. Кинул бы спасибку, да че то прав нету.
Ответ
Bollo, interface.u - логика окон, на основе API nwindow. interface.xdat - просто вывод элементов, на основе скриптов interface.u.

Есть в обоих местах.
Ответ
Помогите плиз, в теме видел скрипт по вырезке камаэлей при создании персонажа, но у меня в клиенте Хелиоса нету CharacterCreateSetupWnd, и ни чего похожего на это. Может кто знает как вырезать камаэлей и артей из клиента ?
Ответ
Rogzi Написал:Помогите плиз, в теме видел скрипт по вырезке камаэлей при создании персонажа, но у меня в клиенте Хелиоса нету CharacterCreateSetupWnd, и ни чего похожего на это. Может кто знает как вырезать камаэлей и артей из клиента ?

Это теперь в ui
Код:
flash_begin    window=[characterCreateMenuWnd]    file=[ui4]    flash_end

Проще сменить режим запуска клиента на Classic в Option.ini

[LobbyMap]
SavedLobbyMapType=1 = классик клиент
Ответ
ChaosPaladin Написал:Это теперь в ui
Код:
flash_begin    window=[characterCreateMenuWnd]    file=[ui4]    flash_end

Проще сменить режим запуска клиента на Classic в Option.ini

[LobbyMap]
SavedLobbyMapType=1 = классик клиент

Поменял на классик, все равно можно создавать камаэлей и артей

Это теперь в ui... А можно поподробнее, если не сложно Smile
Ответ
включи в игре просмотр названия окон от имени админа прописав ///show windowname потом сделай рестарт, тебя выкинет до выбора персов и будет показывать название окон, войди в создание персонажей и посмотри названия окна. от него и пляши в том же xdat редакторе.
Ответ
Phantom-Dev Написал:включи в игре просмотр названия окон от имени админа прописав ///show windowname потом сделай рестарт, тебя выкинет до выбора персов и будет показывать название окон, войди в создание персонажей и посмотри названия окна. от него и пляши в том же xdat редакторе.
Ога, с окнами на флеше ;D
[Изображение: 4e38c909fcd08c5fcdf363b54a62.png]
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 4 Гость(ей)