bool CALLBACK incomingRPC(stRakNetHookParams *params)
{
if (params->packetId == ScriptRPCEnumeration::RPC_ScrClientMessage)
{
uint32_t len, color;
char msg[144];
params->bitStream->ResetReadPointer();
params->bitStream->Read(color);
params->bitStream->Read(len);
params->bitStream->Read(msg, len);
msg[len] = '\0';
params->bitStream->ResetReadPointer();
if (toggle == true)
{
if (strstr(msg, "Депозит в банке: 13$"))
//SF->getSAMP()->sendWastedNotification(0, SF->getSAMP()->getPlayers()->sLocalPlayerID);
keybd_event('N', 0, 0, 0);
keybd_event('N', 0, KEYEVENTF_KEYUP, 0);
//SF->getSAMP()->getPlayers()->pLocalPlayer->Say("И тут появляется батя!");
}
};
return true;
};
void __stdcall cmd_toggle(string str)
{
toggle ^= true;
if (toggle == true)
SF->Log("{009ACD}[Скрипт]: Скрипт успешно запущен!");
else
SF->Log("{009ACD}[Скрипт]: Скрипт успешно отключен!");
}
void CALLBACK mainloop()
{
static bool init = false;
if (!init)
{
if (!SF->getSAMP()->IsInitialized())
return;
SF->getSAMP()->getChat()->AddChatMessage(0x009ACD, "[Скрипт]: Ловля домов by Nestro");
SF->Log("{009ACD}[Скрипт]: Ловля домов by Nestro");
SF->getRakNet()->registerRakNetCallback(RakNetScriptHookType::RAKHOOK_TYPE_INCOMING_RPC, incomingRPC);
SF->getSAMP()->registerChatCommand("arzbuy", cmd_toggle);
SF->registerConsoleCommand("arzbuy", cmd_toggle);
init = true;
}
}
BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved)
{
if (dwReasonForCall == DLL_PROCESS_ATTACH)
SF->initPlugin(mainloop, hModule);
return TRUE;
}