Вызов / перехват public-функций
Приветствую, собственно, появился вопрос, как перехватить или хотя бы вызвать public-функцию (коллбэк) из плагина. Это, по идее, должно делаться примерно также, как и с нативными функциями, так как в структуре AMX_HEADER предусмотрена запись оффесета не только нативных функций, но и public-функций. Код в итоге выглядит примерно вот так, но не работает.
int index;
if(amx_FindPublic(amx, "OnPlayerConnect", &index) != AMX_ERR_NONE) return logprintf("Not found"), 0;
AMX_HEADER* hdr = (AMX_HEADER*)amx->base;
AMX_FUNCSTUB* func_stub = GETENTRY(hdr, publics, index);
AMX_CALLBACK Callback = (AMX_CALLBACK)func_stub->address;
cell retval , PARAMS[] = { 4, 5 };
Callback(amx, index, &retval, PARAMS);