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

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

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

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

/demote

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

den4is

Ученик
Команда /demote для понижения/повышения губернатором членов гос. фракций.

Стандартный командный процессор:
PHP:
if(strcmp(cmd, "/demote", true) == 0) {
	if(PlayerInfo[playerid][pLeader] != 7) return true;
	if(sscanf(params, "ud", params[0], params[1]))
	    return SendClientMessage(playerid, COLOR_WHITE, "Введите: /demote [id] [ранг]");
	if(params[1] > 11 || params[1] < 0)
	    return SendClientMessage(playerid, COLOR_GRAD1,"[Ошибка]: ранг не может быть больше 11 и меньше 0");
	if(PlayerInfo[params[0]][pLeader] > 0) return true;
	switch(PlayerInfo[params[0]][pMember]) {
		case 0,5,6,7,8,9: return true; //номера не гос фракций
	}
	if(params[1] == 0) {
		static const mr[] = "Вы были уволены губернатором штата %s";
		static const mr1[] = "Вы уволили %s из организации.";
		new str[sizeof(mr)+25],  str1[sizeof(mr1)+25];
		format(str, sizeof(str), mr, PlayerName(playerid));
		SendClientMessage(params[0], 0x6495EDFF, str);
		format(str1, sizeof(str1), mr1, PlayerName(params[0]));
		SendClientMessage(playerid, 0x6495EDFF, str1);
		PlayerInfo[params[0]][pRank] = 0;
		PlayerInfo[params[0]][pMember] = 0;
		SpawnPlayer(params[0]);
	}
	else {
		PlayerInfo[params[0]][pRank] = params[1];
		static const mr2[] = "Вы были повышены/понижены Губернатором %s, до %d ранга";
		static const mr3[] = "Вы повысили %s до %d ранга";
		new str[sizeof(mr2)+24+1+3], str1[sizeof(mr3)+24+3+1];
		format(str, sizeof(str), mr2, PlayerName(params[0]), params[1]);
		SendClientMessage(params[0], 0x6495EDFF, str);
		format(str1, sizeof(str1), mr3, PlayerName(params[0]),params[1]);
		SendClientMessage(playerid, 0x6495EDFF, str1);
	}
	return true;
}
dc_cmd:
PHP:
CMD:demote(playerid, params[]) 
{
	if(PlayerInfo[playerid][pLeader] != 7) return true;
	if(sscanf(params, "ud", params[0], params[1]))
	    return SendClientMessage(playerid, COLOR_WHITE, "Введите: /demote [id] [ранг]");
	if(params[1] > 11 || params[1] < 0)
	    return SendClientMessage(playerid, COLOR_GRAD1,"[Ошибка]: ранг не может быть больше 11 и меньше 0");
	if(PlayerInfo[params[0]][pLeader] > 0) return true;
	switch(PlayerInfo[params[0]][pMember]) {
		case 0,5,6,7,8,9: return true; //номера не гос фракций
	}
	if(params[1] == 0) {
		static const mr[] = "Вы были уволены губернатором штата %s";
		static const mr1[] = "Вы уволили %s из организации.";
		new str[sizeof(mr)+25],  str1[sizeof(mr1)+25];
		format(str, sizeof(str), mr, PlayerName(playerid));
		SendClientMessage(params[0], 0x6495EDFF, str);
		format(str1, sizeof(str1), mr1, PlayerName(params[0]));
		SendClientMessage(playerid, 0x6495EDFF, str1);
		PlayerInfo[params[0]][pRank] = 0;
		PlayerInfo[params[0]][pMember] = 0;
		SpawnPlayer(params[0]);
	}
	else {
		PlayerInfo[params[0]][pRank] = params[1];
		static const mr2[] = "Вы были повышены/понижены Губернатором %s, до %d ранга";
		static const mr3[] = "Вы повысили %s до %d ранга";
		new str[sizeof(mr2)+24+1+3], str1[sizeof(mr3)+24+3+1];
		format(str, sizeof(str), mr2, PlayerName(params[0]), params[1]);
		SendClientMessage(params[0], 0x6495EDFF, str);
		format(str1, sizeof(str1), mr3, PlayerName(params[0]),params[1]);
		SendClientMessage(playerid, 0x6495EDFF, str1);
	}
	return true;
}
У кого будет ругаться на PlayerName, ко всем define
PHP:
#define PlayerName(%0)    PlayerInfo[%0][pName]
в enum с инфо игрока добавляем
PHP:
pName[24]
в OnPlayerConnect:
PHP:
GetPlayerName(playerid, PlayerInfo[playerid][pName], 24);
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу