По теме:
Я думаю лучше будет использовать тут TextDrawSetString и совместить это с предложенным вариантом "DeimoS"
PHP код:
forward SecondTimer();
PHP код:
new Text:time_limit[2];
PHP код:
SetTimer("SecondTimer", 1000, 1);
PHP код:
public SecondTimer()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(GetPVarInt(i, "time_limit_for_authorization"))
{
SetPVarInt(i, "time_limit_for_authorization", GetPVarInt(i, "time_limit_for_authorization") - 1);
if(GetPVarInt(i, "time_limit_for_authorization") - 1 == 1)
{
SendClientMessage(i, -1, "Время на авторизацию истекло");
SendClientMessage(i, 0xFFCC00FF, "Введите \"/q\" (/quit) для выхода");
TextDrawHideForPlayer(i, time_limit[0]);
TextDrawHideForPlayer(i, time_limit[1]);
DeletePVar(i, "time_limit_for_authorization");
_DelayedKick(i);
}
else
{
new string[9];
format(string, sizeof(string), "Kick: %d", GetPVarInt(i, "time_limit_for_authorization") - 1);
TextDrawSetString(time_limit[1], string);
TextDrawShowForPlayer(i, time_limit[0]);
TextDrawShowForPlayer(i, time_limit[1]);
}
}
}
}
Когда игрок авторизуется:
PHP код:
SetPVarInt(playerid, "time_limit_for_authorization", 31);
Вошел/авторизовался:
PHP код:
DeletePVar(playerid, "time_limit_for_authorization");
TextDrawHideForPlayer(playerid, time_limit[0]);
TextDrawHideForPlayer(playerid, time_limit[1]);
PHP код:
time_limit[0] = TextDrawCreate(153.250000, 209.166656, "_");
TextDrawLetterSize(time_limit[0], 0.000000, 2.924074);
TextDrawTextSize(time_limit[0], 38.625000, 0.000000);
TextDrawUseBox(time_limit[0], 1);
TextDrawBoxColor(time_limit[0], -4259744);
time_limit[1] = TextDrawCreate(56.875000, 213.500000, "_");
TextDrawLetterSize(time_limit[1], 0.449999, 1.600000);
TextDrawSetShadow(time_limit[1], 1);
TextDrawFont(time_limit[1], 2);
TextDrawColor(time_limit[1], -1992342160);
Скриншот:
И оповещение перед киком игрока:
PHP код:
forward DelayedKick(playerid);
PHP код:
_DelayedKick(playerid, time = 500)
{
SetTimerEx("DelayedKick", time, false, "i", playerid);
return 1;
}
PHP код:
public DelayedKick(playerid)
{
Kick(playerid);
return 1;
}