Но при этом require'lib.samp.events'.onServerMessage = function(clr, text) нормально перехватывает, а мне нужно и клиентские сообщения тоже ловить. Всё не для людей делают(похоже на то, у меня функция, которая грохала встроенный недопиленный вид от первого лица, перестала работать
Есть моя реализация и она У МЕНЯ ЛИЧНО работает уже более года https://www.blast.hk/threads/223959 Я даже обновил лаунчер и закинул конкретно файл из темы, всё ок.похоже на то, у меня функция, которая грохала встроенный недопиленный вид от первого лица, перестала работать
а, ну правильно, я с ней и гонял - только скрипт не обновил, потому что всё работалоЕсть моя реализация и она У МЕНЯ ЛИЧНО работает уже более года https://www.blast.hk/threads/223959 Я даже обновил лаунчер и закинул конкретно файл из темы, всё ок. Но чёт написали 2 сообщения, что у них сломалось. Хз в чём дело
Только что перепроверил. По адресу 0x67460 хук замечательно работает. Проблема у тебяЭто всё хорошо, но как теперь хукать все сообщения в чат? Кроме самп евентса
Я когда тестил у меня хукались и клиентские и эти. Всё прекрасно, лаунчер последний. Ищи проблему в своей реализации ну или давай код хотябНа голом лаунчере хукается только вход
Посмотреть вложение 274165Посмотреть вложение 274166
И судя по всему только клиентские сообщения
Потому что "Добро пожаловать на Arizona Role Play!" не хукнулось
Посмотреть вложение 274167
да, теперь хукаются только клиентские сообщения
Я когда тестил у меня хукались и клиентские и эти. Всё прекрасно, лаунчер последний. Ищи проблему в своей реализации ну или давай код хотяб
local ffi = require("ffi")
local hooks = require("hooks")
local originalCChat_AddEntry
local samp = getModuleHandle("samp.dll")
function CChat_AddEntry(this, nType, szText, szPrefix, textColor, prefixColor)
local text = ffi.string(szText)
print(text)
return originalCChat_AddEntry(this, nType, szText, szPrefix, textColor, prefixColor)
end
originalCChat_AddEntry = hooks.jmp.new(
"unsigned int(__thiscall*)(void *this, int nType, const char *szText, const char *szPrefix, unsigned int textColor, unsigned int prefixColor)",
CChat_AddEntry, (samp + 0x67460)
)
Хуки на lua кал. Делай на плюсах и не будет бедстандартный код, до обновления всё работало нормальноLua:local ffi = require("ffi") local hooks = require("hooks") local originalCChat_AddEntry local samp = getModuleHandle("samp.dll") function CChat_AddEntry(this, nType, szText, szPrefix, textColor, prefixColor) local text = ffi.string(szText) print(text) return originalCChat_AddEntry(this, nType, szText, szPrefix, textColor, prefixColor) end originalCChat_AddEntry = hooks.jmp.new( "unsigned int(__thiscall*)(void *this, int nType, const char *szText, const char *szPrefix, unsigned int textColor, unsigned int prefixColor)", CChat_AddEntry, (samp + 0x67460) )
Не дёргай человека, он сам тебе скажет тоже самое. Хуки на lua не идеальны и сделать их таковыми виртуальная машина lua не позволяет. Все эти отключения jit компиляции и т.п. полумеры.
На луа можно полноценно хукать, но только через https://www.blast.hk/threads/215363/Не дёргай человека, он сам тебе скажет тоже самое. Хуки на lua не идеальны и сделать их таковыми виртуальная машина lua не позволяет. Все эти отключения jit компиляции и т.п. полумеры.
Попробовал, всё равно только клиентские сообщенияНа луа можно полноценно хукать, но только через https://www.blast.hk/threads/215363/
Именно вставкой С кода. Дальше вызвать из С кода функцию из твоего луа скрипта, и наоборот (для того чтобы не показывать какое-то сообщение например)