den4is
Ученик
Команда /demote для понижения/повышения губернатором членов гос. фракций.
Стандартный командный процессор:
dc_cmd:
У кого будет ругаться на PlayerName, ко всем define
в enum с инфо игрока добавляем
в OnPlayerConnect:
Стандартный командный процессор:
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;
}
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;
}
PHP:
#define PlayerName(%0) PlayerInfo[%0][pName]
PHP:
pName[24]
PHP:
GetPlayerName(playerid, PlayerInfo[playerid][pName], 24);
