26.12.2014, 10:37
Добрый день, у меня возникла проблема, делаю систему АФК если игрок нажал на ESC.
Вот код:
это в onplayerconnect
далее, я создаю паблик
[PHP]fCallBack::AFKTimer(playerid) //закончил работу
В OnPlayerUpdate AFK[playerid] = -3; когда игрок уходит в AFK то это прекращается и AFK[playerid] начинает нормально прибавляться, но 3д текст появляется на 1 секунду и снова убирается почему то, а бывает появляется первый раз нормально а потом нет. Подскажите пожалуйста, в чем проблема.
Вот код:
PHP Code:
TimerAFK[playerid] = SetTimerEx("AFKTimer", 1000, true, "i", playerid);
далее, я создаю паблик
[PHP]fCallBack::AFKTimer(playerid) //закончил работу
PHP Code:
fCallBack::AFKTimer(playerid) //закончил работу
{
AFK[playerid]++;
if(AFK[playerid] == 5)
{
afkplayer[playerid] = Create3DTextLabel("{66cc33}АФК:{FFFFFF} 00:00:00", -1, 30.0, 40.0, 10.0, 40.0, 0);
Attach3DTextLabelToPlayer(afkplayer[playerid], playerid, 0.0, 0.0, 0.1);
printf("%d выполнился",playerid);
}
if(AFK[playerid] > 5)
{
new string[35];
format(string,sizeof(string), "{66cc33}АФК:{FFFFFF} %02d:%02d",minutesf[playerid], secondsf[playerid]);
Update3DTextLabelText(afkplayer[playerid], -1, string);
if(secondsf[playerid] >= 60) { secondsf[playerid] = 0, minutesf[playerid]++; }
if(minutesf[playerid] >= 59) { Kick(playerid); }
secondsf[playerid]++;
}
if(AFK[playerid] < 0)
{
Delete3DTextLabel(afkplayer[playerid]);
secondsf[playerid] = 0;
minutesf[playerid] = 0;
}
return 1;
}