Try do it like it implemented in UNetworkHandler::RequestXXX (see your engine.dll for details)
Код:
void(__cdecl *_sendPacket)(void *self, char *format, ...) = NULL;
void *_clientSocket = NULL;
int __fastcall AddNetworkQueueHook(NetworkHandler* self, int, NetworkPacket *packet) {
if (SendPacket == NULL) {
__asm {
mov ebx, ecx
mov ecx, [ebx + 0x48] ; see offset in disassembler
mov edx, [ecx]
mov _clientSocket, ecx
mov ecx, [edx + 0x6C]; in disassembler too
mov _sendPacket, ecx;
}
}
//do smth
return result;
}
and use it e.g. _sendPacket(_clientSocket, "cddc", 0x39, 0xE2, 0, 0);