PHP код:
new
player_kick_time[MAX_PLAYERS char];
В
OnPlayerConnect:
PHP код:
player_kick_time{playerid} = 30; // Отсчёт на 30 секунд
Думаю у каждого есть односекундный глобальный таймер, если нет, то создадим его.
В
OnGameModeInit:
PHP код:
SetTimer("@__login_timer", 1000, 1); // Глобальный таймер на 1 секунду
Далее создадим паблик (
если у вас есть односекундный паблик, то его создавать не нужно):
PHP код:
@__login_timer();
@__login_timer()
{
new
i = GetMaxPlayers();
do
{
--i;
if(IsPlayerConnected(i) && player_kick_time{i} != 0 && --player_kick_time{i} == 0)
{
SendClientMessage(i, -1, "Время на регистрацию / авторизацию закончилось, вы кикнуты");
Kick(i);
}
}
while(i);
}
И после того как игрок вошёл в аккаунт / зарегистрировался:
PHP код:
player_kick_time{playerid} = 0;
PHP код:
@____TimeForAuthorization(playerid, time);
@____TimeForAuthorization(playerid, time)
{
new string[3];
format(string, sizeof(string), "%d", time);
SendClientMessage(playerid, -1, string);
if(time > 0) SetTimerEx("@____TimeForAuthorization", 1000, 0, "ii", playerid, time-1);
else
{
SendCLientMessage(playerid. -1. "Время вышло");
}
return 1;
}
У меня код будет выглядить так??