
24.07.2015, 18:06
|
|
Участник форума
Регистрация: 18.03.2013
Сообщений: 104
С нами:
6921972
Репутация:
0
|
|
урсхадов фип кто там ау разработчик в общем. фикс говноедство, типа
Код:
Код:
void CALLBACK mainloop() {
static bool init = false;
if (!init) {
if (GAME == nullptr)
return;
if (GAME->GetSystemState() != eSystemState::GS_PLAYING_GAME)
return;
if (!SF->getSAMP()->IsInitialized())
return;
SF->getSAMP()->getChat()->AddChatMessage(D3DCOLOR_XRGB(0, 0xAA, 0), "SAMPFUNCS Plugin loaded.");
init = true;
}
}
bool APIENTRY DllMain(HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved) {
switch (dwReasonForCall) {
case DLL_PROCESS_ATTACH:
SF->initPlugin(mainloop, hModule);
}
return true;
}
сделойте в методе инициализации плагина еще один параметр, колбек, вызывающийся после инициализации плагина. а основная петля будет вызываться уже после инициализации.
т.е будет нечто такое прекрасное, за что вам будут благодарны боги всех религий
Код:
Код:
void onPluginInit() {
SF->getRakNet()->registerRakNetCallback(RakNetScriptHookType::RAKHOOK_TYPE_INCOMING_RPC, incomingRPC);
SF->getSAMP()->registerChatCommand("showinfo", cmd_show_info_player);
}
void mainloop() {
if(SF->getGame()->isKeyPressed( 'H' )) {
int &iDialogStatus = SF->getSAMP()->getDialog()->iIsActive;
iDialogStatus ^= true;
if(!iDialogStatus)
SF->getSAMP()->getMisc()->ToggleCursor(false);
};
}
bool APIENTRY DllMain(HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved) {
switch (dwReasonForCall) {
case DLL_PROCESS_ATTACH:
SF->initPlugin(onPluginInit, mainloop, hModule);
}
return true;
}
|
|
|