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

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

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

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

AFK над головой (во время esc)

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

Johny

Ученик
AFK надпись над головой игрока во время ескейпа и кик если время афк больше заданных секунд

ко всем define

PHP:
#define GivePVarInt(%0,%1,%2) \
SetPVarInt(%0,%1,(GetPVarInt(%0,%1) + %2))

#define MAX_AFK 500 // секунд до кика
в OnGameModeInit

PHP:
SetTimer("AFKSystem", 1000, 1); //Создаем таймер
в OnPlayerUpdate

PHP:
SetPVarInt(playerid, "AFKTime", -2); // если игрок не в AFK переменная будет ровняться -2
в конец мода

PHP:
forward AFKSystem();
public AFKSystem()
{
	for(new i; i<GetMaxPlayers(); i++) //Запускаем цикл на всех игроков
	    {
	        if(IsPlayerConnected(i)) 
	            {
			        if(GetPVarInt(i, "AFKTime") == -1 || GetPVarInt(i, "AFKTime") == -2) GivePVarInt(i, "AFKTime", 1); 
			        if(GetPVarInt(i, "AFKTime") >= 0)
			            {
			                GivePVarInt(i, "AFKTime", 1);
							new str[32];
							format(str,32,"[AFK]: %d сек.",GetPVarInt(i, "AFKTime"));
							SetPlayerChatBubble(i,str,0x06A500FF,10.0,3000);
							if(GetPVarInt(i, "AFKTime") > MAX_AFK)
							    {
							        SendClientMessage(i, 0xFF0000FF, "Вы были кикнуты за AFK (" #MAX_AFK " секунд)");
									Kick(i);
								}
						}
				}
		}
	        
return 1;
}


Думаю тут все понятно, если нет - спрашивайте :)

P.S была 1 подобная тема тут но там очень много лишнего, а тут все просто и понятно
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу