Не срабатывает amx_FindPublic - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (
https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Не срабатывает amx_FindPublic (
/showthread.php?tid=599304)
Не срабатывает amx_FindPublic -
XZprod - 24.01.2016
Всем привет, я хотел начать писать античит в плагине, но при срабатывании паблик в моде не вызывается. Он объявлен в иклуде и определен в моде, похоже на то, что не находит нужный указатель *amx перебором в списке.
Я пробовал несколько вариантов записи в AmxLoad, но не работает. Сейчас он выглядит так:
PHP Code:
PLUGIN_EXPORT int PLUGIN_CALL AmxLoad(AMX *amx)
{
g_pAMX.push_back(amx);
return amx_Register(amx, PluginNatives, -1);
}
Так выглядит функция, она выводит данные в консоль, но в мод данные не приходят:
PHP Code:
void Catch(int playerid, int type)
{
cout << "report" << endl;
int amx_idx;
for (std::list<AMX *>::iterator a = g_pAMX.begin(); a != g_pAMX.end(); ++a)
{
if (amx_FindPublic(*a, "AC_OnCheatDetected", &amx_idx) == AMX_ERR_NONE)
{
amx_Push(*a, type);
amx_Push(*a, playerid);
amx_Exec(*a, NULL, amx_idx);
}
}
}