02.12.2013, 16:20
Если не желаете юзать ничего лишнего, то вот мой вариант фикса фейкового-дисконнекта.
pawn Code:
new AT_Timerid[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
if(AT_Timerid[playerid]) //На практике это вряд ли произойдет, но для самоуспокоения добавил
{
KillTimer(AT_Timerid[playerid]);
AT_Timerid[playerid] = 0;
}
//...
}
public OnPlayerDisconnect(playerid, reason)
{
//...
AT_Timerid[playerid] = SetTimerEx("AfterDisconnectTimer", 500, 0, "i", playerid);
}
forward AfterDisconnectTimer(const playerid);
public AfterDisconnectTimer(const playerid)
{
FastKick(playerid); //Это у меня для вызова обычного моментального Kick. Оставил, т.к. советую обратить на это внимание, учитывая то, что почти у всех щас макрос на Kick()
AT_Timerid[playerid] = 0;
}

