Проверить выход из авто

Deny2903

Активный
Автор темы
371
77
Версия MoonLoader
Другое
Как проверить выход из машины, созданной через createCar?
sampev.onSendExitVehicle не подходит, действует только на серверные машины(ну по крайней мере у меня только с ними работает)
 
Решение
супер мега пупер решения на хуках (конечно же не тестировалось)
Lua:
local hooks = require("hooks") -- https://www.blast.hk/threads/55743/


local originalCTaskComplexLeaveCar__CTaskComplexLeaveCar


function main()
    originalCTaskComplexLeaveCar__CTaskComplexLeaveCar = hooks.jmp.new(
        "void*(__thiscall*)(void*, uintptr_t, int, int, char, char)"
        CTaskComplexLeaveCar__CTaskComplexLeaveCarHooked, 0x63B8C0
    )
end


function CTaskComplexLeaveCar__CTaskComplexLeaveCarHooked(this, pEntity, ...)
    if pEntity == getCharPointer(PLAYER_PED) then
        print("МЫ ВЫШЛИ ЕБАТЬ")
    end
    
    return originalCTaskComplexLeaveCar__CTaskComplexLeaveCar(this, pEntity, ...)
end

вайега52

Налуашил состояние
Модератор
3,005
3,145
вроде рпсшка должна слаться и из созданных тачек
кары, созданные через createCar не хранятся в самповском пуле тачек, следовательно, самп просто не реагирует на это, ибо тачка не проходит внутренние проверки внутри хука
 
  • Вау
Реакции: chapo

вайега52

Налуашил состояние
Модератор
3,005
3,145
супер мега пупер решения на хуках (конечно же не тестировалось)
Lua:
local hooks = require("hooks") -- https://www.blast.hk/threads/55743/


local originalCTaskComplexLeaveCar__CTaskComplexLeaveCar


function main()
    originalCTaskComplexLeaveCar__CTaskComplexLeaveCar = hooks.jmp.new(
        "void*(__thiscall*)(void*, uintptr_t, int, int, char, char)"
        CTaskComplexLeaveCar__CTaskComplexLeaveCarHooked, 0x63B8C0
    )
end


function CTaskComplexLeaveCar__CTaskComplexLeaveCarHooked(this, pEntity, ...)
    if pEntity == getCharPointer(PLAYER_PED) then
        print("МЫ ВЫШЛИ ЕБАТЬ")
    end
    
    return originalCTaskComplexLeaveCar__CTaskComplexLeaveCar(this, pEntity, ...)
end
 
  • Нравится
Реакции: Орк