Доступ к готовым решениям

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

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

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

Урок АФК система [Оптимизированая].

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

Samuel_Lecompte

Умник
Итак, начнем
над pInfo
Код:
enum pAFKInfo
{
 	bool:pIsAFK,
	pAFK
}
new pAFKSystem[MAX_PLAYERS][pAFKInfo];
В любой 1-секундный таймер к примеру OnPlayerUpdateTimer (Только не OnPlayerUpdate!)
Код:
	pAFKSystem[i][pAFK] ++;
		if(pAFKSystem[i][pAFK] >= 3)
		{
			new mes[128];
			format(mes,sizeof(mes),"Игрок на паузе: %d секунд.",Converts(pAFKSystem[i][pAFK]));
			SetPlayerChatBubble(i, mes, 0xFFFF00FF, 19.0, 1500);
			pAFKSystem[i][pIsAFK] = true;
		}
		if(pAFKSystem[i][pIsAFK])
		{
	 		pAFKSystem[i][pIsAFK] = false;
		}
Добавляем stock для высчитывание времени АФК:
Код:
stock Converts(number)
{
	new hours = 0, mins = 0, secs = 0, string[30];
	hours = floatround(number / 3600);
	mins = floatround((number / 60) - (hours * 60));
	secs = floatround(number - ((hours * 3600) + (mins * 60)));
	if(hours > 0)
	{
		format(string, 30, "%d:%02d:%02d", hours, mins, secs);
	}
	else
	{
		format(string, 30, "%d:%02d", mins, secs);
	}
	return string;
}
А теперь в OnPlayerUpdate
Код:
pAFKSystem[playerid][pAFK] = 0;
В OnPlayerConnect
Код:
pAFKSystem[playerid][pIsAFK] = false;
pAFKSystem[playerid][pAFK] = 0;
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу