Перейти к содержанию

Лидеры

  1. MasterGH

    MasterGH

    Ветераны


    • Баллы

      1

    • Постов

      2 999


  2. LIRW

    LIRW

    Ветераны


    • Баллы

      1

    • Постов

      4 514


  3. ZOCKIR

    ZOCKIR

    Ветераны


    • Баллы

      1

    • Постов

      1 025


Популярный контент

Показан контент с высокой репутацией 03.01.2016 во всех областях

  1. Если письмо не пришло, проверь папку спам
    1 балл
  2. Когда в коде игры происходит какое-то условие, то нельзя просто так взять и взывать CE Lua функцию, т.к. код игры ничего не знает о CE. Здесь нужно немного пошаманить на ассемблере и вот два примера. [ENABLE] {$lua} function testFunc(param) print("Hello world!") print("Calling LUA from ASM!!!:)") print(param) end {$asm} ///#region untouched - Call CE lua function loadlibrary(luaclient-i386.dll) luacall(openLuaServer('CELUASERVER')) globalalloc(luainit, 128) globalalloc(LuaFunctionCall, 128) label(luainit_exit) globalalloc(luaserverinitialized, 4) globalalloc(luaservername, 12) luaservername: db 'CELUASERVER',0 luainit: cmp [luaserverinitialized],0 jne luainit_exit push luaservername call CELUA_Initialize //this function is defined in the luaclient dll mov [luaserverinitialized],eax luainit_exit: ret LuaFunctionCall: push ebp mov ebp,esp call luainit push [ebp+c] push [ebp+8] call CELUA_ExecuteFunction pop ebp ret 8 //luacall call example: //push integervariableyouwishtopasstolua //push addresstostringwithfunction //(The lua function will have access to the variable passed by name "parameter") //call LuaFunctionCall //When done EAX will contain the result of the lua function ///#endregion globalalloc(myVar,4) myVar: dd 0 alloc(luaCallExample, $200) label(funcName) createThread(luaCallExample) luaCallExample: push 1 push funcName call LuaFunctionCall mov [myVar],eax inc [myVar] ret funcName: db 'testFunc',0 [DISABLE]callers={} function store(parameter) if (callers[parameter]==nil) then callers[parameter]=1 else callers[parameter]=callers[parameter]+1 end end function getCallers() for caller,count in pairs(callers) do print(string.format("%x : %d", caller, count)) end end autoAssemble([[ loadlibrary(luaclient-i386.dll) luacall(openLuaServer('CELUASERVER')) globalalloc(luainit, 128) globalalloc(LuaFunctionCall, 128) label(luainit_exit) globalalloc(luaserverinitialized, 4) globalalloc(luaservername, 12) luaservername: db 'CELUASERVER',0 luainit: cmp [luaserverinitialized],0 jne luainit_exit push luaservername call CELUA_Initialize //this function is defined in the luaclient dll mov [luaserverinitialized],eax luainit_exit: ret LuaFunctionCall: push ebp mov ebp,esp call luainit push [ebp+c] push [ebp+8] call CELUA_ExecuteFunction pop ebp ret 8 alloc(newmem,2048) alloc(storecaller, 2048) label(returnhere) label(originalcode) label(exit) storecaller: db 'store(parameter)',0 //------------Modify this part:-------------------- newmem: mov eax,[esp] push eax push storecaller call LuaFunctionCall originalcode: mov edi,edi push ebp mov ebp,esp exit: jmp returnhere "USER32.dll"+205BA: //peekMessageW jmp newmem returnhere: ]])
    1 балл
  3. Название: Serious Sam Classic The Second Encounter Добавил: LIRW Добавлен: 01 янв. 2016 Категория: Трейнеры для PC игр Бессмертие. Бесконечная броня. Бесконечные патроны. Много очков. Без перезарядки пистолета. Версия игры steam Сначала запускаем игру, а потом трейнер. P/S В трейнере просто решил попробовать новый дизайн, ну и протестировать надо было как оно работает. Ну а раз трейнер рабочий остался, то почему бы его и не выложить. Нажмите здесь, чтобы скачать файл
    1 балл
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.