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

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

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

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

/rang [ID][+ или -] + /uninvite

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

continue

Специалист
Итак Добрый вечер решил выложить команды копированные с Advance Role Play
1) Ко всем #define добавим:
#define send(%0,%1) SendClientMessage(%0, -1, %1) и #define PlayerInfo[%0][pRang] PlayerInfo[%0][pRank] - не обязательно но мне для удобство.
PHP:
     if(strcmp(cmd, "/uninvite", true) == 0)
	{
		if(IsPlayerConnected(playerid))
		{
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))return SCM(playerid, COLOR_GRAD2, " Использование: /uninvite [id]");
			new Leader;
			new Member;
			new para1;
			new sendername[MAX_PLAYER_NAME],giveplayer[MAX_PLAYER_NAME];
			new string[256];
			para1 = ReturnUser(tmp);
			Leader = PlayerInfo[playerid][pMember];
			Member = PlayerInfo[para1][pMember];
			if(para1 == playerid) return SCM(playerid,0x0094FFAA, "Запрещено!");
			if (PlayerInfo[playerid][pLeader] >= 1 || PlayerInfo[playerid][pMember] >= 8)
			{
				if(IsPlayerConnected(para1))
				{
					if(para1 != INVALID_PLAYER_ID)
					{
						if(Leader == Member)
						{
							if (PlayerInfo[para1][pMember] > 0)
							{
								GetPlayerName(para1, giveplayer, sizeof(giveplayer));
								GetPlayerName(playerid, sendername, sizeof(sendername));
								format(string, sizeof(string), "{ff6600}%s[%i] уволил Вас из организации ''%s''", sendername,giveplayerid,GetFRACName(PlayerInfo[playerid][pMember]));
								SetPlayerToTeamColor(playerid);
								SCM(para1, COLOR_LIGHTBLUE, string);
								PlayerInfo[para1][pMember] = 0;
								PlayerInfo[para1][pRang] = 0;
								PlayerInfo[para1][pChar] = 0;
		                                                SetPlayerToTeamColor(para1);
								SetPlayerSkin(para1,PlayerInfo[para1][pChar]);
								format(string, sizeof(string), "{3399ff}Вы уволили %s[%i] из своей организации", giveplayer,giveplayerid);
					                        SCM(playerid, COLOR_LIGHTBLUE, string);
							}
						}
						else
						{
							SCM(playerid, COLOR_GRAD1, " Игрок не в вашей фракции!");
						}
					}
				}//not connected
			}
			else
			{
				SCM(playerid, COLOR_GRAD1, " Игрок не в вашей фракции!");
			}
		}
		return 1;
	}
И добавляем stock отвечает за, из какой фракций были уволены.
stock GetFRACName(fnumbwer)
{
	new string[256];
	switch(fnumbwer)
	{
        case 1: format(string,sizeof(string),"Управление Полиций ЛС"); // Заменить на свою фракцию 
	case 15: format(string,sizeof(string),"Grove Street"); // Заменить на свою фракцию
	case 17: format(string,sizeof(string),"Varios Los Aztecas"); // Заменить на свою фракцию
	case 12: format(string,sizeof(string),"The Ballas"); // Заменить на свою фракцию
	case 18: format(string,sizeof(string),"The Rifa");  // Заменить на свою фракцию
	case 13: format(string,sizeof(string),"Los Santos Vagos"); // Заменить на свою фракцию
	}
	return string;
}
if(strcmp(cmd,"/rang",true)==0)
	{
		new string[256];
		if(PlayerInfo[playerid][pLeader] == 0) return true;
		if(sscanf(params, "ds[5]", params[0], params[1])) return send(playerid,  "Используйте /rang [id] [+/-]");
		if(params[0] == INVALID_PLAYER_ID) return SCM(playerid, 0x0094FFAA, "{DB7093}[X]{ffffff}Игрок не в сети");
		if (PlayerInfo[playerid][pLeader] >= 1)
		{
			if(!IsPlayerConnected(params[0]))return SCM(playerid,0x0094FFAA, "Запрещено!");
			//if(params[0] == playerid)return SCM(playerid,0x0094FFAA, "Запрещено!");
			if(PlayerInfo[params[0]][pMember] == PlayerInfo[playerid][pLeader] || PlayerInfo[params[0]][pLeader] == PlayerInfo[playerid][pLeader])
			{
			    if(strcmp(params[1],"+",true) == 0)
				{
					if(PlayerInfo[params[0]][pRank] == 7) { send(playerid, "У игрока уже 7 ранг, больше нельзя!"); return true; }
					PlayerInfo[params[0]][pRank] += 1;
					format(string, sizeof(string), "{319aff}Ваш ранг в организации был повышен до %d (%s)", PlayerInfo[params[0]][pRank],RankName(params[0]));
					SCM(params[0], -1, string);
					format(string, sizeof(string), "{319aff}Вы повысили ранг игроку %s[%d] до %d (%s)", GN(params[0]),params[0],PlayerInfo[params[0]][pRank],RankName(params[0]));
					SCM(playerid, -1, string);
				}
				else if(strcmp(params[1],"-",true) == 0)
				{
				    if(PlayerInfo[params[0]][pRank] == 1) { send(playerid, "У игрока уже 1 ранг, меньше нельзя!"); return true; }
					PlayerInfo[params[0]][pRank] -= 1;
					format(string, sizeof(string), "{ff6600}Ваш ранг в организации был понижен до %d (%s)",PlayerInfo[params[0]][pRank],RankName(params[0]));
					SCM(params[0], -1, string);
					format(string, sizeof(string), "{319aff}Вы понизили ранг игроку %s[%d] до %d (%s)", GN(params[0]),params[0],PlayerInfo[params[0]][pRank],RankName(params[0]));
					SCM(playerid, -1, string);
				}

			}
			else
			{
				SCM(playerid,-1,"{DB7093}[X]{ffffff} Этот игрок не из вашей фракции");
			}
		}
		return true;
	}
Добавим к stock:
stock GN(playerid) { new name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, sizeof(name)); return name; }
stock RankName(playerid) 
{
		new atext[30];
		switch(PlayerInfo[playerid][pMember])
		{
			case 1: // 1 фракция в моде
			{
				switch(PlayerInfo[playerid][pRank])
				{
				case 8: atext = "Мэр"; // Ранги
				case 7: atext = "Заместитель мэра"; // Ранги
				case 6: atext = "Адвокат"; // Ранги
				case 5: atext = "Лицензер"; // Ранги
				case 4: atext = "Секретарь"; // Ранги
				case 3: atext = "Управляющий"; // Ранги
				case 2: atext = "Охраник"; // Ранги
				case 1: atext = "Водитель"; // Ранги
				}
			}
			default: atext = "Нет";
			}
		return atext;
}
Внимание! Для работы /rang + нужно подключение SSCANF
Выдача ранга была взята с Legend RolePlay
Доделано Danil1998 (Мной)
Будут Eror"s Warings пишите.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу