PLUGIN_EXPORT int PLUGIN_CALL AmxLoad(AMX * amx) { static bool bFirst = false; if(!bFirst) { bFirst = true; // Get pNetGame int (*pfn_GetNetGame)(void) = (int(*)(void))ppPluginData[PLUGIN_DATA_NETGAME]; pNetGame = (CNetGame*)pfn_GetNetGame(); // Get pConsole int (*pfn_GetConsole)(void) = (int(*)(void))ppPluginData[PLUGIN_DATA_CONSOLE]; pConsole = (void*)pfn_GetConsole(); // Get pRakServer int (*pfn_GetRakServer)(void) = (int(*)(void))ppPluginData[PLUGIN_DATA_RAKSERVER]; pRakServer = (RakServer*)pfn_GetRakServer(); } return InitScripting(amx); }
PLUGIN_EXPORT int PLUGIN_CALL AmxLoad(AMX *amx) { static bool bFirstLoad = false; if (bFirstLoad == false) { int(*pfn_GetNetGame)(void) = (int(*)(void))ppPluginData[PLUGIN_DATA_NETGAME]; pNetGame = (CNetGame*)pfn_GetNetGame(); int(*pfn_GetRakServer)(void) = (int(*)(void))ppPluginData[PLUGIN_DATA_RAKSERVER]; pRakServer = (RakServer*)pfn_GetRakServer(); pRakServer->UnregisterAsRemoteProcedureCall(&RPC_VehicleDestroyed); pRakServer->RegisterAsRemoteProcedureCall(&RPC_VehicleDestroyed, OnVehWrecked); bFirstLoad = true; } if (&pNetGame->pGameModePool->m_amx == amx) { pGameModeAmx = amx; } return AMX_ERR_NONE; }