local function CTimer__Update()
-- ...
if (pSAMPInfo == 0) then return originalCTimer__Update() end
-- ...
rakClient = hooks.vmt.new(raknet.pRakClient[0])
raknet.originalOutgoingPacket = rakClient.hookMethod(
"bool(__thiscall*)(void*, uintptr_t, char, char, char)",
handleOutgoingPacket, 6
)
raknet.originalOutgoingRpc = rakClient.hookMethod(
"bool(__thiscall*)(void*, int*, uintptr_t, char, char, char, bool)",
handleOutgoingRpc, 25
)
raknet.originalIncomingRpc = hooks.jmp.new(
"void(__fastcall*)(void*, void*, unsigned char*, int, int)",
handleIncomingRpc, getOffsetFromBase("handleRpcPacket", samp)
)
jit.off(handleOutgoingPacket, true)
jit.off(handleOutgoingRpc, true)
jit.off(handleIncomingRpc, true)
originalCTimer__Update.stop()
return originalCTimer__Update.call()
end
originalCTimer__Update = hooks.jmp.new(
"void(__cdecl*)()",
CTimer__Update, getOffsetFromBase("CTimerUpdate")
)
jit.off(CTimer__Update, true)
function handleOutgoingPacket(this, bitStream, priority, reliability, orderingChannel)
-- ...
end
function handleOutgoingRpc(this, id, bitStream, priority, reliability, orderingChannel, shiftTimestamp)
end
function handleIncomingRpc(this, void, data, length, playerId)
end