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

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

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

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

Donate Anti-AFK

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

Максим56

Умник
Здравствуйте, уважаемые пользователи Pawno-Info!
Решил выложить команду которую сделал полностью сам!
Суть команды: Добавляется донат функция Анти-АФК.
Смотрим:
​

В enum pInfo
PHP:
pAntiAFK,
В public OnPlayerConnect
PHP:
PlayerInfo[playerid][pAntiAFK] = 0;
В public OnPlayerRegister
PHP:
iniSetInt(File,"DonateAntiAFK",PlayerInfo[playerid][pAntiAFK]);
В public OnPlayerUpdate
PHP:
iniSetInt(File,"DonateAntiAFK",PlayerInfo[playerid][pAntiAFK]);
В public OnPlayerLogin
PHP:
iniGetInt(File,"DonateAntiAFK",PlayerInfo[playerid][pAntiAFK]);
Теперь добавляем команду для выдачи преимущества:
PHP:
if(strcmp(cmd, "/danti-afk", true) == 0)
	{
		if(IsPlayerConnected(playerid))
		{
			if(PlayerInfo[playerid][pAdmin] >= 8)
			{
				tmp = strtok(cmdtext, idx);
				if(!strlen(tmp))
				{
					SendClientMessage(playerid, COLOR_GRAD2, " Подсказка: /danti-afk [ID игрока] [1(Дать возможность/0(Забрать возможность)]");
					return true;
				}
				new para1;
				new level;
				para1 = ReturnUser(tmp);
				tmp = strtok(cmdtext, idx);
				level = strval(tmp);
				if(level > 1 || level < 0)
				{
				   SendClientMessage(playerid, COLOR_GREY, "* Не меньше 0, и не больше 1!");
                   return true;
				}
				else if(level == 1)
	            {
				if(IsPlayerConnected(para1))
				{
					if(para1 != INVALID_PLAYER_ID)
					{
						GetPlayerName(para1, giveplayer, sizeof(giveplayer));
						GetPlayerName(playerid, sendername, sizeof(sendername));
						PlayerInfo[para1][pAntiAFK] = 1;
						printf("Администратор %s дал игроку %s возможность стоять в АФК неограниченно.", sendername, giveplayer);
						format(string, sizeof(string), "Администратор %s дал вам возможность стоять в АФК неограниченное количество времени.", sendername);
						SendClientMessage(para1, COLOR_LIGHTBLUE, string);
						format(string, sizeof(string), "Вы дали %s возможность стоять в АФК неограничено.", giveplayer);
						SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
					}
				}
				}
				else if(level == 0)
	            {
				if(IsPlayerConnected(para1))
				{
					if(para1 != INVALID_PLAYER_ID)
					{
						GetPlayerName(para1, giveplayer, sizeof(giveplayer));
						GetPlayerName(playerid, sendername, sizeof(sendername));
						PlayerInfo[para1][pAntiAFK] = 0;
						printf("Администратор %s забрал у %s возможность стоять в АФК неограниченно.", sendername, giveplayer);
						format(string, sizeof(string), "Администратор %s забрал у вас возможность стоять в АФК неограниченное количество времени.", sendername);
						SendClientMessage(para1, COLOR_LIGHTBLUE, string);
						format(string, sizeof(string), "Вы забрали у %s возможность стоять в АФК неограничено.", giveplayer);
						SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
					}
				}
				}
			}
			else
			{
				SendClientMessage(playerid, COLOR_GRAD1, "У вас нет прав на использование этой команды.");
			}
		}
		return true;
	}
А теперь добавим проверку при кике (У всех может быть по-разному)
PHP:
if(PlayerAFK[i][AFK_Time] > MAX_AFK_TIME && PlayerInfo[playerid][pAntiAFK] != 0) return 0;
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу