-StalkMen- 159 Опубликовано 20 Мая 2014 0x104428BB 8 CUIPdaWnd__SetActiveSubdialog_ext ; посылка инфопоршня при смене закладок в ПДАКто автор этой правки? Подписывались бы в asm файлах... Поделиться этим сообщением Ссылка на сообщение
-StalkMen- 159 Опубликовано 20 Мая 2014 Спс Где kolmogor2000'а искать? На АМК вроде его нет(на заходил давно)... 1 Поделиться этим сообщением Ссылка на сообщение
-StalkMen- 159 Опубликовано 31 Мая 2014 @Full Noob, http://www.amk-team.ru/forum/index.php?showtopic=10538&page=30#entry831286 Поделиться этим сообщением Ссылка на сообщение
-StalkMen- 159 Опубликовано 28 Августа 2014 == Функции получения стандартных окон == local wnd = level.get_pda_wnd() -- PDA local wnd = level.get_talk_wnd() -- окно диалога local wnd = level.get_car_body_wnd() -- инвентарь трупа или ящика local wnd = level.get_trade_wnd() -- окно торговли Кто нибудь юзал такое? Какой класс получаем,, наследника CUIDialogWnd? Что можно с этим сделать? Такие вещи работать будут? local pda_wnd = level.get_pda_wnd() pda_wnd.button_close = xml:Init3tButton ("button",pda_wnd.dialog) pda_wnd:Register (pda_wnd.button_close, "btn_cls") Поделиться этим сообщением Ссылка на сообщение
-StalkMen- 159 Опубликовано 28 Августа 2014 , Спасибо за быстрый ответ Значит это мне подходит, осталось перенести на ЗП...Но самое интересное для меня, функция register_ns_dialog_void. Почему пришлось писать свою? Почему не подходит "прототип" от какой нить "Object_by_id" ? , Мб слот ножа в инвентаре? Попробуй добавить по аналогии с другими слотами. Поделиться этим сообщением Ссылка на сообщение
-StalkMen- 159 Опубликовано 29 Августа 2014 , register_ns_dialog_void proc var_8 = dword ptr -8var_4 = byte ptr -4arg_0 = dword ptr 8arg_4 = dword ptr 0Charg_8 = dword ptr 10hpush ebpmov ebp, esppush ecxpush ecxmov ecx, ds:Memorypush esipush 14h ; _DWORDcall ds:xrMemory__mem_allocmov esi, eaxtest esi, esijz short loc_101AFC1Fmov ecx, esicall ds:??0registration@detail@luabind@@QAE@XZ ; luabind::detail::registration::registration(void)mov eax, [ebp+arg_4]mov [esi+8], eaxmov eax, [ebp+arg_8]mov dword ptr [esi], offset off_10481F40mov [esi+0Ch], eaxjmp short loc_101AFC21; ---------------------------------------------------------------------------loc_101AFC1F: ; CODE XREF: sub_101AFBE9+18jxor esi, esiloc_101AFC21: ; CODE XREF: sub_101AFBE9+34jand [ebp+var_8], 0push ecxmov eax, esplea ecx, [ebp+var_4]mov [eax], esicall ds:??0scope@luabind@@QAE@V?$auto_ptr@Uregistration@detail@luabind@@@std@@@Z ; luabind::scope::scope(std::auto_ptr)mov ecx, [ebp+arg_0]push eaxcall ds:??0scope@luabind@@QAE@ABU01@@Z ; luabind::scope::scope(scope::scope const &)lea ecx, [ebp+var_4]call ds:??1scope@luabind@@QAE@XZ ; luabind::scope::~scope(void)mov ecx, [ebp+var_8]test ecx, ecxjz short loc_101AFC53mov eax, [ecx]push 1call dword ptr [eax]loc_101AFC53: ; CODE XREF: sub_101AFBE9+62jmov eax, [ebp+arg_0]pop esileaveretnregister_ns_dialog_void endp Если эта функция "из движка", то зачем её копировать?Вроде обычно юзают "указатель", типа такого: org 103CA530h - shift register_ns_dialog_void: Поделиться этим сообщением Ссылка на сообщение
-StalkMen- 159 Опубликовано 6 Сентября 2014 Появилось немного времени, решил поковырять. Наковырял функции для получения указателей на окна. Осталось доделать экспорт...Чем дальше, тем не понятнее mov dword ptr [esi], offset off_10481F40 mov [esi+0Ch], eax org 102ACF30h - shift game_cl_GameState__StartStopMenu: ; заглушка для регистрация функции, возвращающей диалог org 10481F40h - shift off_10481F40 dd ? ??? По сравнивал этот прототип с прототипом от get_hud. Вроде одинаковые вещи происходят, только написаны по разному.Вещи то вроде одинаковые, но как я понял, где то лежит "описание класса", экземпляр которого мы получаем. Я прав? Где лежит?))) 1 Поделиться этим сообщением Ссылка на сообщение
-StalkMen- 159 Опубликовано 20 Сентября 2014 (изменено) Не удается найти D:\XRE\3312_shoc_10006\mydll.obj Не удается найти D:\XRE\3312_shoc_10006\mydll.exp Не удается найти D:\XRE\3312_shoc_10006\mydll.lib Изменено 20 Сентября 2014 пользователем -StalkMen- Поделиться этим сообщением Ссылка на сообщение
-StalkMen- 159 Опубликовано 7 Октября 2014 что бы найти место в файле xrGame.dll if (pSettings->line_exist(section, "k_air_resistance")) Надобно это найти? Тогда качать IDA и дальше поиск k_air_resistance и просмотр ссылок на эту строку... Вот только зачем это, если у нас есть нормальные исходники найти адрес константы в этой функции, и изменить её jmp поставить, не?)) cmp eax, 01h бывает ещё хитрее, ,, mov eXX,01 cmp eax,eXX Вот ещё что, смещения текущего Гейм ID для чит енжина <CheatEntry> <ID>1</ID> <Description>"GameType1"</Description> <Color>80000008</Color> <VariableType>4 Bytes</VariableType> <Address>"xrEngine.exe"+000931A8</Address> <Offsets> <Offset>414</Offset> <Offset>4</Offset> </Offsets> </CheatEntry> <CheatEntry> <ID>34</ID> <Description>"GameType2"</Description> <Color>80000008</Color> <VariableType>4 Bytes</VariableType> <Address>[[["xrGame.dll"+512BDC]]+486F8]+10</Address> </CheatEntry> Поделиться этим сообщением Ссылка на сообщение
-StalkMen- 159 Опубликовано 31 Августа 2015 очень долгая компиляция -> нормально настроил = profit Поделиться этим сообщением Ссылка на сообщение