Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

AFK system

Статус
В этой теме нельзя размещать новые ответы.

iFarmatic

Новичок
Смотрите какая проблема. Писал афк систему и не могу понять в чем ошибка. Значит если игрок свернулся над головой у него горит текст (AFK blalalala) все прекрасно все показывает, но работа таймера меня пугает, секунды летят, в прямом смысле слова ЛЕТЯТ, одна за две и отображается это все над головой, допустим простоял человек в афк 10 секунд, над головой пишет 50:03 как будто он уже 50 минут стоит... Прошу помощи у бородатых скриптеров...

Собственно сам функционал афк системы, система работает в секундном таймере....

PHP:
foreach(new i: Player)
	{
	    if(PlayerAFK[i] == 0) PlayerAFK[i] = -1;
	    else if(PlayerAFK[i] == -1)
	    {
	        PlayerAFK[i] = 1;
	        f("AFK: {FFFFFF}[%s]", Convert(PlayerAFK[i]));
	        SetPlayerChatBubble(i, string, COLOR_GREEN, 20.0, 1200);
	    }
	    else if(PlayerAFK[i] > 0)
	    {
	        PlayerAFK[i]+=1;
	        f("AFK: {FFFFFF}[%s]", Convert(PlayerAFK[i]));
	        SetPlayerChatBubble(i, string, COLOR_GREEN, 20.0, 1200);
	        if(PlayerAFK[i] > 6000)
	        {
	            if(Pl[i][pAdmin] == 0)
	            {
	                SCM(i, COLOR_RED, "Âû ñëèøêîì äîëãî ïðîñòîÿëè â AFK!");
	                SetTimerEx("kick", 50, false, "i", i);
	            }
	        }
	    }
	}
Связано ли это с моим кодом или проблема в чем то другом? up help me

---------- Post added at 15:12 ---------- Previous post was at 15:08 ----------

Небольшое вложение, это буквально спустя минуты 3.



Вы скажите, что кидай суда свой конвертер, скажу сразу дело не в нем... Но если это кому то поможет - пожалуйста!
PHP:
Convert(number)
{
    new hours = 0, mins = 0, secs = 0, string[100];
    hours = floatround(number / 3600);
    mins = floatround((number / 60) - (hours * 60));
    secs = floatround(number - ((hours * 3600) + (mins * 60)));
    if(hours > 0) { format(string, 100, "%i:%02d?:%02d?", hours, mins, secs); }
    else { format(string, 100, "%i:%02d", mins, secs); }
    return string;
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу