31.01.2015, 12:32
(
Последний раз редактировалось OstGot; 01.02.2015 в 08:15.
)
Отредактировал код выше, вот что получилось:
И фишка в том, что при перезапуске вызываются все print'ы, без исключения, и сразу после этого сервер ложится. Пробовал на чистом моде просто при перезапуске в OnPlayerDisconnect пихать функции IsPlayerNPC, BlockIpAddress и GetServerVarAsInt, никаких нареканий, всё выполняется идеально.
Upd: После отдельного закомментирования каждой строки выявил, что проблема в этой:
Но как написано выше, краш идёт не сразу после её выполнения, и тем более непонятно, почему он вообще из-за этого идёт.. Есть какие мысли по этому поводу?
PHP код:
public OnPlayerDisconnect(playerid, reason)
{
if(AntiCheatInfo[playerid][pOnline])
{
AntiCheatInfo[playerid][pOnline] = false;
if(!IsPlayerNPC(playerid))
{
print("Вызвано 1.");
KillTimer(AntiCheatInfo[playerid][pACTimerID]);
print("Вызвано 2.");
if(reason != 2) Kick(playerid);
print("Вызвано 3.");
}
print("Вызвано 4.");
}
return 1;
}
Upd: После отдельного закомментирования каждой строки выявил, что проблема в этой:
pawn Код:
if(reason != 2) Kick(playerid);