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

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

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

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

Как сделать проверку чтобы лидер лидера не мог повысить/понизить и уволить?

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

Gressie

Мастер
Как сделать проверку чтобы лидер лидера не мог повысить/понизить и уволить?
Сама команда /giverank:
PHP:
if(strcmp(cmd, "/giverank", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD2, "*Используйте: /giverank [id] [ранг]");
				return 1;
			}
			new para1;
			new level;
			para1 = ReturnUser(tmp);
			tmp = strtok(cmdtext, idx);
			level = strval(tmp);
			if(PlayerInfo[playerid][pLeader] <= 0 && PlayerInfo[playerid][pRank] <=  PlayerInfo[para1][pRank]) return SendClientMessage(playerid, COLOR_GREY, "Вы не можите давать ранг тому,кто старше вас по рангу");
			if(PlayerInfo[playerid][pMember] > 0 && playerid == para1) return SendClientMessage(playerid, COLOR_GREY, "Вы не можете дать ранг самому себе!");//ну и проверяем не себе ли он даёт!
			if(IsPlayerConnected(para1))
			{
				if(!IsValidRank(playerid,level)) return SendClientMessage(playerid,COLOR_GREY,"Неправильный номер ранга");
			    if(PlayerInfo[para1][pMember] == PlayerInfo[playerid][pLeader] || PlayerInfo[para1][pLeader] == PlayerInfo[playerid][pLeader])
			    {
				    if(CanGiverankPlayer(playerid,para1))
				    {
				        if(para1 != INVALID_PLAYER_ID)
				        {
							new mem = 0;
							if(PlayerInfo[playerid][pLeader] > 0) mem = PlayerInfo[playerid][pLeader];
							else if(PlayerInfo[playerid][pMember] > 0) mem = PlayerInfo[playerid][pMember];
				            if(PlayerInfo[para1][pMember] != mem) return SendClientMessage(playerid,COLOR_RED,"Этот игрок не в вашей фракции");
							if(PlayerInfo[playerid][pMember] > 0 && PlayerInfo[playerid][pRank] < level) return SendClientMessage(playerid,COLOR_GREY,"Вы не можете повысить ранг выше своего");
							GetPlayerName(para1, giveplayer, sizeof(giveplayer));
							GetPlayerName(playerid, sendername, sizeof(sendername));
							PlayerInfo[para1][pRank] = level;
							format(string, sizeof(string), "%s повысил/понизил вас до %d ранга", sendername,level);
							SendClientMessage(para1, 0x6AB1FFAA, string);
							format(string, sizeof(string), "Вы повысили/понизили %s до %d ранга", giveplayer,level);
							SendClientMessage(playerid, 0x6AB1FFAA, string);
						}
					}
					else
					{
						SendClientMessage(playerid, COLOR_GRAD1, "Нет прав на использование команды!");
					}
				}
				else
				{
				    SendClientMessage(playerid,COLOR_GRAD1,"Этот игрок не из вашей фракции");
				}
			}
		}
		return 1;
	}
Сама команда /uninvite:
PHP:
if(strcmp(cmd, "/uninvite", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD2, " Используйте: /uninvite [id]");
				return 1;
			}
			new para1;
			para1 = ReturnUser(tmp);
			if(para1 == playerid) return SendClientMessage(playerid,-1,"Себя невозможно уволить");
			if(PlayerInfo[para1][pMember] == PlayerInfo[playerid][pLeader] ||PlayerInfo[para1][pMember] == PlayerInfo[playerid][pMember])
			{
				if(IsPlayerConnected(para1))
				{
				    if(CanUninvitePlayer(playerid,para1))
				    {
				        if(para1 != INVALID_PLAYER_ID)
				        {
						    if(PlayerInfo[para1][pMember] > 0)
						    {
							    GetPlayerName(para1, giveplayer, sizeof(giveplayer));
							    GetPlayerName(playerid, sendername, sizeof(sendername));
							    format(string, sizeof(string), "%s выгнал вас из организации", sendername);
							    SendClientMessage(para1, 0x6AB1FFAA, string);
							    format(string, sizeof(string), "Вы снова гражданский", sendername);
							    SendClientMessage(para1, 0x6AB1FFAA, string);
							    format(string, sizeof(string), "Вы выгнали %s из организации", giveplayer);
								SendClientMessage(playerid, 0x6AB1FFAA, string);
							    PlayerInfo[para1][pMember] = 0;
							    PlayerInfo[para1][pRank] = 0;
								PlayerInfo[para1][pLeader] = 0;
							    PlayerInfo[para1][pJob] = 0;
							    SetPlayerArmourAC(para1,0);
							    SpawnPlayer(para1);
							}
						}
					}
					else
					{
						SendClientMessage(playerid, COLOR_GRAD1, "Вы не уполномочены использовать эту команду!");
					}
				}
			}
			else
			{
			    SendClientMessage(playerid,COLOR_GREY,"Этот игрок не в вашей фракции");
			}
		}
		return 1;
	}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу