Quote:
Originally Posted by HamletEagle
Please answer the question, post the file.
|
Nothing includes set_fail_state
And another error
Code:
L 05/20/2022 - 08:27:18: Invalid player id 77
L 05/20/2022 - 08:27:18: [AMXX] Displaying debug trace (plugin "Jailbreak_main.amxx", version "2.7.0")
L 05/20/2022 - 08:27:18: [AMXX] Run time error 10: native error (native "engclient_cmd")
L 05/20/2022 - 08:27:18: [AMXX] [0] Jailbreak_main.sma::set_user_team (line 2949)
L 05/20/2022 - 08:27:18: [AMXX] [1] Jailbreak_main.sma::join_menu_handle (line 2834)
There is something calling the callback functions( menu handlers and set_task call functions ) randomly within the amxmodx and not from the 3rd party plugins.
I am using the latest amxx version of dev 1.10 and Metamod v1.21p38 2018/02/11
I think this issue might because because of unregister_forward inefficiently remove a forward during its call time?
Code:
static cell AMX_NATIVE_CALL unregister_forward(AMX *amx, cell *params)
{
int func = params[1];
int func_id = params[2];
int post = params[3];
if (func >= FM_LAST_DONT_USE_ME || func < 1)
{
MF_LogError(amx, AMX_ERR_NATIVE, "Invalid function: %d", func);
return 0;
}
void *patchAddr = NULL;
ke::Vector<int> *peng = NULL;
if (post)
{
peng = &(EnginePost[func]);
patchAddr = EngineAddrsPost[func];
} else {
peng = &(Engine[func]);
patchAddr = EngineAddrs[func];
}
for (size_t i = 0; i < peng->length(); ++i)
{
if (peng->at(i) == func_id)
{
peng->remove(i);
MF_UnregisterSPForward(func_id);
if (!peng->length() && patchAddr != NULL && func != FM_ServerDeactivate)
{
/* Clear out this forward if we no longer need it */
*(void **)patchAddr = NULL;
}
return 1;
}
}
return 0;
}
__________________