PDA

Просмотр полной версии : [Вопрос] Kick и SendClientMessage



m1n1vv
25.11.2018, 01:56
Я так понимаю, это лучший вариант на сегодня?

static
timerKick[MAX_PLAYERS];

stock PlayerKick(playerid)
{
timerKick[playerid] = SetTimerEx(!"KickTimer", 50, false, "i", playerid);
return 1;
}

forward KickTimer(playerid);
public KickTimer(playerid)
{
KillTimer(timerKick[playerid]);
Kick(playerid);
return 1;
}

Но функция кика вызывается крайне редко. Имеется ввиду в худшем случае раз в минуту.
Там может стоит сделать так?

static
playeridKick = -1;

stock PlayerKick(playerid)
{
playeridKick = playerid;
SetTimer(!"KickTimer", 50, false);
return 1;
}

forward KickTimer();
public KickTimer()
{
Kick(playeridKick);
playeridKick = -1;
return 1;
}

Или рекурсия?

DeimoS
25.11.2018, 12:32
Зачем вообще сохранять ID таймера? Там вопрос идёт на миллисекунды. Шанс того, что кикнутый успеет за это время выйти, а на его место зайдёт кто-то другой, стремится к нулю.

Просто запускай таймер на число секунд, равное пингу игрока, например.