PDA

Просмотр полной версии : [Вопрос] /makeleader+ and /makeleader-



Ololo
08.06.2014, 10:30
Здравствуйте,помогите сделать команду,чтобы Гл.Адм мог выдавать разрешение на управление лидерами любому игроку.
То есть я прописываю команду /makeleader+ 1,и пишется этому игроку "Гл.Администратор Ololo назначил вас ответственным за лидеров",а если прописываю /makeleader- 1,то пишется "Вы были сняты с ответственного за лидеров сервера".

DmX
08.06.2014, 10:38
Это нужно добавлять определенную переменную в enum для игроков.

DeimoS
08.06.2014, 11:25
Команду /makeleader предоставьте

Ololo
08.06.2014, 17:54
if(strcmp(cmd, "/makeleader", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return error(playerid, "Test: /makeleader [ ID игрока / Nick игрока ] [ Номер фракции ]");
new para1;
new level;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
level = strval(tmp);
if(level > 23 || level < 0) return error(playerid, "ID фракции не может быть больше 23.");
if (PlayerInfo[playerid][pAdmin] >= 5)
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new Float:px, Float:py, Float:pz;
GetPlayerPos(para1, px, py, pz);
if(IsPlayerInAnyVehicle(para1)) { SetPlayerPosServer(para1, px, py, pz+2); }
new otext[50];
if(level == 0)
{
PlayerInfo[para1][pTeam] = 3;
PlayerInfo[para1][pMember] = 0;
PlayerInfo[para1][pLeader] = 0;
PlayerInfo[para1][pRank] = 0;
PlayerInfo[para1][pFWarns] = 0;
if(PlayerInfo[para1][pSex] == 1 || PlayerInfo[para1][pSex] == 0) PlayerInfo[para1][pChar] = 234;
else if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 91;
MedicBill[para1] = 0;
SpawnPlayer(para1);
format(string, sizeof(string), "Главный Администратор %s лишил Вас прав лидера.", sendername,otext);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
SFM(playerid,COLOR_LIGHTBLUE,"Вы лишили %s прав лидера.", giveplayer);
return true;
}
if(level == 1)
{
if(PlayerInfo[para1][pSex] == 1 || PlayerInfo[para1][pSex] == 0) { PlayerInfo[para1][pChar] = 265; otext = "Los Santos Police Department"; PlayerInfo[para1][pRank] = 6; } //Police Force
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pChar] = 211; otext = "Los Santos Police Department"; PlayerInfo[para1][pRank] = 6; } //Police Force
MedicBill[para1] = 0;
SpawnPlayer(para1);
}
if(level == 2)
{
if(PlayerInfo[para1][pSex] == 1 || PlayerInfo[para1][pSex] == 0) { PlayerInfo[para1][pChar] = 164; otext = "Federal Bureau of Investigation"; PlayerInfo[para1][pRank] = 6; } //F.B.I./ATF
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pChar] = 93; otext = "Federal Bureau of Investigation"; PlayerInfo[para1][pRank] = 6; } //F.B.I./ATF
MedicBill[para1] = 0;
SpawnPlayer(para1);
}
if(level == 22)
{
if(PlayerInfo[para1][pSex] == 1 || PlayerInfo[para1][pSex] == 0) { PlayerInfo[para1][pChar] = 267; otext = "Las Venturas Police Department"; PlayerInfo[para1][pRank] = 6; } //F.B.I./ATF
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pChar] = 93; otext = "Las Venturas Police Department"; PlayerInfo[para1][pRank] = 6; } //F.B.I./ATF
MedicBill[para1] = 0;
SpawnPlayer(para1);
}
if(level == 3)
{
if(PlayerInfo[para1][pSex] == 1 || PlayerInfo[para1][pSex] == 0) { PlayerInfo[para1][pChar] = 287; otext = "National Guard"; PlayerInfo[para1][pRank] = 6; } //F.B.I./ATF
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pChar] = 191; otext = "National Guard"; PlayerInfo[para1][pRank] = 6; } //F.B.I./ATF
MedicBill[para1] = 0;
SpawnPlayer(para1);
}
if(level == 4)
{
if(PlayerInfo[para1][pSex] == 1 || PlayerInfo[para1][pSex] == 0) { PlayerInfo[para1][pChar] = 276; otext = "Los Santos Medical Center"; PlayerInfo[para1][pRank] = 6; }
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pChar] = 219; otext = "Los Santos Medical Center"; PlayerInfo[para1][pRank] = 6; }
MedicBill[para1] = 0;
SpawnPlayer(para1);
}
if(level == 5)
{
if(PlayerInfo[para1][pSex] == 1 || PlayerInfo[para1][pSex] == 0) { PlayerInfo[para1][pChar] = 113; otext = "La Cosa Nostra"; PlayerInfo[para1][pRank] = 6; }
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pChar] = 216; otext = "La Cosa Nostra"; PlayerInfo[para1][pRank] = 6; }
MedicBill[para1] = 0;
SpawnPlayer(para1);
}
if(level == 20)
{
if(PlayerInfo[para1][pSex] == 1 || PlayerInfo[para1][pSex] == 0) { PlayerInfo[para1][pChar] = 249; otext = "The Kazakh Mafia"; PlayerInfo[para1][pRank] = 6; }
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pChar] = 141; otext = "The Kazakh Mafia"; PlayerInfo[para1][pRank] = 6; }
MedicBill[para1] = 0;
SpawnPlayer(para1);
}
if(level == 6)
{
if(PlayerInfo[para1][pSex] == 1 || PlayerInfo[para1][pSex] == 0) { PlayerInfo[para1][pChar] = 120; otext = "Yakuza Family"; PlayerInfo[para1][pRank] = 6; }
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pChar] = 169; otext = "Yakuza Family"; PlayerInfo[para1][pRank] = 6; }
MedicBill[para1] = 0;
SpawnPlayer(para1);
}
if(level == 8)
{
if(PlayerInfo[para1][pSex] == 1 || PlayerInfo[para1][pSex] == 0) { PlayerInfo[para1][pChar] = 294; otext = "The Triads Mafia"; PlayerInfo[para1][pRank] = 6; }
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pChar] = 141; otext = "The Triads Mafia"; PlayerInfo[para1][pRank] = 6; }
MedicBill[para1] = 0;
SpawnPlayer(para1);
}
if(level == 7)
{
if(PlayerInfo[para1][pSex] == 1 || PlayerInfo[para1][pSex] == 0) { PlayerInfo[para1][pChar] = 166; otext = "Company Hired Killers"; PlayerInfo[para1][pRank] = 6; }
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pChar] = 150; otext = "Company Hired Killers"; PlayerInfo[para1][pRank] = 6; }
MedicBill[para1] = 0;
SpawnPlayer(para1);
}
if(level == 9)
{
if(PlayerInfo[para1][pSex] == 1 || PlayerInfo[para1][pSex] == 0) { PlayerInfo[para1][pChar] = 295; otext = "San News"; PlayerInfo[para1][pRank] = 6; }
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pChar] = 76; otext = "San News"; PlayerInfo[para1][pRank] = 6; }
MedicBill[para1] = 0;
SpawnPlayer(para1);
}
if(level == 11)
{
if(PlayerInfo[para1][pSex] == 1 || PlayerInfo[para1][pSex] == 0) { PlayerInfo[para1][pChar] = 171; otext = "Лицензеров"; PlayerInfo[para1][pRank] = 6; }
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pChar] = 172; otext = "Лицензеров"; PlayerInfo[para1][pRank] = 6; }
MedicBill[para1] = 0;
SpawnPlayer(para1);
}
if(level == 10)
{
if(PlayerInfo[para1][pSex] == 1 || PlayerInfo[para1][pSex] == 0) { PlayerInfo[para1][pChar] = 104; otext = "The Ballas Gang"; PlayerInfo[para1][pRank] = 6; }
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pChar] = 13; otext = "The Ballas Gang"; PlayerInfo[para1][pRank] = 6; }
MedicBill[para1] = 0;
SpawnPlayer(para1);
}
if(level == 12)
{
if(PlayerInfo[para1][pSex] == 1 || PlayerInfo[para1][pSex] == 0) { PlayerInfo[para1][pChar] = 270; otext = "The Grove Street Family"; PlayerInfo[para1][pRank] = 6; }
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pChar] = 195; otext = "The Grove Street Family"; PlayerInfo[para1][pRank] = 6; }
MedicBill[para1] = 0;
SpawnPlayer(para1);
}
if(level == 13)
{
if(PlayerInfo[para1][pSex] == 1 || PlayerInfo[para1][pSex] == 0) { PlayerInfo[para1][pChar] = 273; otext = "Los Santos Vagos"; PlayerInfo[para1][pRank] = 6; }
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pChar] = 12; otext = "Los Santos Vagos"; PlayerInfo[para1][pRank] = 6; }
MedicBill[para1] = 0;
SpawnPlayer(para1);
}
if(level == 14)
{
if(PlayerInfo[para1][pSex] == 1 || PlayerInfo[para1][pSex] == 0) { PlayerInfo[para1][pChar] = 292; otext = "Varrios Los Aztecas"; PlayerInfo[para1][pRank] = 6; }
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pChar] = 193; otext = "Varrios Los Aztecas"; PlayerInfo[para1][pRank] = 6; }
MedicBill[para1] = 0;
SpawnPlayer(para1);
}
if(level == 15)
{
if(PlayerInfo[para1][pSex] == 1 || PlayerInfo[para1][pSex] == 0) { PlayerInfo[para1][pChar] = 173; otext = "San Fierro Rifa"; PlayerInfo[para1][pRank] = 6; }
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pChar] = 55; otext = "San Fierro Rifa"; PlayerInfo[para1][pRank] = 6; }
MedicBill[para1] = 0;
SpawnPlayer(para1);
}
if(level == 16)
{
if(PlayerInfo[para1][pSex] == 1 || PlayerInfo[para1][pSex] == 0) { PlayerInfo[para1][pChar] = 272; otext = "Russian Mafia"; PlayerInfo[para1][pRank] = 6; }
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pChar] = 233; otext = "Russian Mafia"; PlayerInfo[para1][pRank] = 6; }
MedicBill[para1] = 0;
SpawnPlayer(para1);
}
if(level == 17)
{
if(PlayerInfo[para1][pSex] == 1 || PlayerInfo[para1][pSex] == 0) { PlayerInfo[para1][pChar] = 61; otext = "Taxi Company"; PlayerInfo[para1][pRank] = 6; }

else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pChar] = 76; otext = "Taxi Company"; PlayerInfo[para1][pRank] = 6; }
MedicBill[para1] = 0;
SpawnPlayer(para1);
}
if(level == 18)
{
if(PlayerInfo[para1][pSex] == 1 || PlayerInfo[para1][pSex] == 0) { PlayerInfo[para1][pChar] =48; otext = "Street Racers"; PlayerInfo[para1][pRank] = 6; }
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pChar] = 41; otext = "Street Racers"; PlayerInfo[para1][pRank] = 6; }
MedicBill[para1] = 0;
SpawnPlayer(para1);
}
if(level == 21)
{
if(PlayerInfo[para1][pSex] == 1 || PlayerInfo[para1][pSex] == 0) { PlayerInfo[para1][pChar] = 100; otext = "Hell Angels"; PlayerInfo[para1][pRank] = 6; }
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pChar] = 201; otext = "Hell Angels"; PlayerInfo[para1][pRank] = 6; }
MedicBill[para1] = 0;
SpawnPlayer(para1);
}
if(level == 23)
{
if(PlayerInfo[para1][pSex] == 1 || PlayerInfo[para1][pSex] == 0) { PlayerInfo[para1][pChar] = 171; otext = "Академии Юристов"; PlayerInfo[para1][pRank] = 6; }
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pChar] = 172; otext = "Академии Юристов"; PlayerInfo[para1][pRank] = 6; }
MedicBill[para1] = 0;
SpawnPlayer(para1);
}
PlayerInfo[para1][pTeam] = 18;
PlayerInfo[para1][pLeader] = level;
PlayerInfo[para1][pJob] = 0;
SFM(playerid,COLOR_LIGHTBLUE,"Вы дали %s права лидера фракции %s.", giveplayer, otext);
format(string, sizeof(string), "Администрация уволила Вас из фракции.", giveplayer,otext);
SendClientMessage(para1, COLOR_WHITE, string);
format(string, sizeof(string), "%s дал Вам права лидера фракции %s.", sendername,otext);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "Выучите правила сервера, лидерства, захватов, форума. Заполните раздел своей фракции.");
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "Отпишитесь в теме ''состав лидеров'' на форуме -/- иначе Вы будете сняты.");
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "Администрация уволила Вас с работы.", giveplayer,otext);
SendClientMessage(para1, COLOR_WHITE, string);
SetPlayerSkin(para1, PlayerInfo[para1][pChar]);

}
}//not connected
}
}
return true;

DeimoS
08.06.2014, 17:59
Не вся команда

Osetin
08.06.2014, 18:32
Можно было отредактировать свой пост, а не заливать там одну команду на rghost, чтобы мы скачали, а потом бы еще и исправили и выложили.

Ololo
08.06.2014, 18:46
Прошу прощения

DeimoS
08.06.2014, 19:07
Ваша команда

if(strcmp(cmd, "/makeleader", true) == 0)
{
if (PlayerInfo[playerid][pAdmin] < 5 && !PlayerInfo[playerid][pCurator]) return error(playerid, "Нет доступа");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return error(playerid, "Test: /makeleader [ ID игрока / Nick игрока ] [ Номер фракции ]");
new para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
new level = strval(tmp);
if(level > 23 || level < 0) return error(playerid, "ID фракции не может быть больше 23.");
if(!IsPlayerConnected(para1)) return error(playerid, "Игрок не в сети");
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(IsPlayerInAnyVehicle(para1))
{
SetPlayerPosServer(para1, px, py, pz+2);
new Float:px, Float:py, Float:pz;
GetPlayerPos(para1, px, py, pz);
}
new otext[40];
switch(level)
{
case 0:
{
PlayerInfo[para1][pTeam] = 3;
PlayerInfo[para1][pMember] = 0;
PlayerInfo[para1][pLeader] = 0;
PlayerInfo[para1][pRank] = 0;
PlayerInfo[para1][pFWarns] = 0;
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 91;
else PlayerInfo[para1][pChar] = 234;
MedicBill[para1] = 0;
SpawnPlayer(para1);
format(string, sizeof(string), "Главный Администратор %s лишил Вас прав лидера.", sendername,otext);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
SFM(playerid,COLOR_LIGHTBLUE,"Вы лишили %s прав лидера.", giveplayer);
return true;
}
case 1://LS Police Force
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 211;
else PlayerInfo[para1][pChar] = 265;
otext = "Los Santos Police Department";
}
case 2://F.B.I.
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 93;
else PlayerInfo[para1][pChar] = 164;
otext = "Federal Bureau of Investigation";
}
case 3://National Guard
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 191;
else PlayerInfo[para1][pChar] = 287;
otext = "National Guard";
}
case 4:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 219;
else PlayerInfo[para1][pChar] = 276;
otext = "Los Santos Medical Center";
}
case 5:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 216;
else PlayerInfo[para1][pChar] = 113;
otext = "La Cosa Nostra";
}
case 6:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 169;
else PlayerInfo[para1][pChar] = 120;
otext = "Yakuza Family";
}
case 7:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 150;
else PlayerInfo[para1][pChar] = 166;
otext = "Company Hired Killers";
}
case 8:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 141;
else PlayerInfo[para1][pChar] = 294;
otext = "The Triads Mafia";
}
case 9:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 76;
else PlayerInfo[para1][pChar] = 295;
otext = "San News";
}
case 10:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 13;
else PlayerInfo[para1][pChar] = 104;
otext = "The Ballas Gang";
}
case 11:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 172;
else PlayerInfo[para1][pChar] = 171;
otext = "Лицензеров";
}
case 12:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 195;
else PlayerInfo[para1][pChar] = 270;
otext = "The Grove Street Family";
}
case 13:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 12;
else PlayerInfo[para1][pChar] = 273;
otext = "Los Santos Vagos";
}
case 14:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 193;
else PlayerInfo[para1][pChar] = 292;
otext = "Varrios Los Aztecas";
}
case 15:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 55;
else PlayerInfo[para1][pChar] = 173;
otext = "San Fierro Rifa";
}
case 16:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 233;
else PlayerInfo[para1][pChar] = 272;
otext = "Russian Mafia";
}
case 17:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 76;
else PlayerInfo[para1][pChar] = 61;
otext = "Taxi Company";
}
case 18:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 41;
else PlayerInfo[para1][pChar] = 48;
otext = "Street Racers";
}
case 20:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 141;
else PlayerInfo[para1][pChar] = 249;
otext = "The Kazakh Mafia";
}
case 21:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 201;
else PlayerInfo[para1][pChar] = 100;
otext = "Hell Angels";
}
case 22://LV Police Force
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 93;
else PlayerInfo[para1][pChar] = 267;
otext = "Las Venturas Police Department";
}
case 23:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 172;
else PlayerInfo[para1][pChar] = 171;
otext = "Академии Юристов";
}
default: return SendClientMessage(playerid, 0xFF0000FF, "Ошибка: Неверный ID фракции");
}
PlayerInfo[para1][pRank] = 6;
MedicBill[para1] = 0;
PlayerInfo[para1][pTeam] = 18;
PlayerInfo[para1][pLeader] = level;
PlayerInfo[para1][pJob] = 0;
SFM(playerid,COLOR_LIGHTBLUE,"Вы дали %s права лидера фракции %s.", giveplayer, otext);
format(string, sizeof(string), "Администрация уволила Вас из фракции.", giveplayer,otext);
SendClientMessage(para1, COLOR_WHITE, string);
format(string, sizeof(string), "%s дал Вам права лидера фракции %s.", sendername,otext);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "Выучите правила сервера, лидерства, захватов, форума. Заполните раздел своей фракции.");
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "Отпишитесь в теме ''состав лидеров'' на форуме -/- иначе Вы будете сняты.");
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "Администрация уволила Вас с работы.", giveplayer,otext);
SendClientMessage(para1, COLOR_WHITE, string);
SetPlayerSkin(para1, PlayerInfo[para1][pChar]);
SpawnPlayer(para1);
return true;
}
Только ID скинов перепроверьте, ибо мог ошибиться при переносе



Теперь новая команда
В enum новую переменную

pCurator
Сохранение/загрузку сами сделайте.
И сама команда:

if(!strcmp(cmd, "/make_curator", true))
{
if(PlayerInfo[playerid][pAdmin] != /*Уровень кланой админки*/) return error(playerid, "Нет доступа");

tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return error(playerid, "/make_curator [ID игрока] [0/1]");
new id = strval(tmp);
if(!IsPlayerConnected(id)) return error(playerid, "Игрок не найден");

tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return error(playerid, "/make_curator [ID игрока] [0/1]");
new mode = strval(tmp);

new string_text[80+3+MAX_PLAYER_NAME];
switch(mode)
{
case 0:
{
if(!PlayerInfo[id][pCurator]) return error(playerid, "Игрок не является куратором");
GetPlayerName(id, string_text, MAX_PLAYER_NAME);
format(string_text, sizeof(string_text), "Вы сняли с должности \"Ответственный за лидеров\" игрока %s [ID: %d].", string_text, id);
SendClientMessage(playerid, 0xFF0000FF, string_text);

GetPlayerName(playerid, string_text, MAX_PLAYER_NAME);
format(string_text, sizeof(string_text), "Администратор %s [ID: %d] снял Вас с должности \"Ответственный за лидеров\".", string_text, playerid);
SendClientMessage(id, 0xFF0000FF, string_text);
}
case 1:
{
if(PlayerInfo[id][pCurator]) return error(playerid, "Игрок уже является куратором");
GetPlayerName(id, string_text, MAX_PLAYER_NAME);
format(string_text, sizeof(string_text), "Вы поставили на должность \"Ответственный за лидеров\" игрока %s [ID: %d].", string_text, id);
SendClientMessage(playerid, 0xFF0000FF, string_text);

GetPlayerName(playerid, string_text, MAX_PLAYER_NAME);
format(string_text, sizeof(string_text), "Администратор %s [ID: %d] поставил Вас на должность \"Ответственный за лидеров\".", string_text, playerid);
SendClientMessage(id, 0xFF0000FF, string_text);
}
default: return error(playerid, "/make_curator [ID игрока] [0/1]");
}
PlayerInfo[id][pCurator] = mode;
return true;
}

underwoker
08.06.2014, 19:27
return error(playerid, "/make_curator [ID игрока] [0/1]");
Впервые вижу "error".

DeimoS
08.06.2014, 19:30
return error(playerid, "/make_curator [ID игрока] [0/1]");
Впервые вижу "error".

Функция или макрос какой-то. Вчера-сегодня уже видел что-то подобное, только использовалось в макросе. Что-то типа

#define bla-bla error(blabla)
В общем, видимо, кому-то лень писать на 10 символов больше и они придумали такую кривую функцию

Gressie
08.06.2014, 19:52
CMD:makeleaderup(playerid, params[])
{
if(!gPlayerLogged[playerid]) return 1;
if(PlayerInfo[playerid][pAdmin] < 6) return 1;
if(sscanf(params,"d", params[0])) return SendClientMessage(playerid, -1, "Введите: /makeleaderup [id игрока]");
if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, -1, "Игрок не найден!");
SetPVarInt(params[0], "LeaderGet", 1);
new leadermessage[144];
format(leadermessage, sizeof(leadermessage), "Гл.Администратор %s назначил вас ответственным за лидеров", PlayerInfo[playerid][pName]);
SendClientMessage(params[0], -1, leadermessage);
return 1;
}

CMD:makeleaderdown(playerid, params[])
{
if(!gPlayerLogged[playerid]) return 1;
if(PlayerInfo[playerid][pAdmin] < 6) return 1;
if(sscanf(params,"d", params[0])) return SendClientMessage(playerid, -1, "Введите: /makeleaderdown [id игрока]");
if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, -1, "Игрок не найден!");
SetPVarInt(params[0], "LeaderGet", 0);
SendClientMessage(params[0], -1, "Вы были сняты с ответственного за лидеров сервера");
return 1;
}

Далее в /makeleader вставляй проверку:

if(GetPVarInt(playerid, "LeaderGet") == 0) return SendClientMessage(playerid, -1, "Ошибка! Вы не главный за лидерками.");

Ololo
09.06.2014, 01:11
Deimos Пишет ошибку 17,что неизвестный символ px,что делать?

- - - Добавлено - - -

Maks5 Попробывал твой вариант,хз почему но вылезает 26 варнингов

Gressie
09.06.2014, 04:41
Deimos Пишет ошибку 17,что неизвестный символ px,что делать?

- - - Добавлено - - -

Maks5 Попробывал твой вариант,хз почему но вылезает 26 варнингов
Мои команды для ZCMD / DC_CMD / LIFE:CMD.

DeimoS
09.06.2014, 07:47
Охх, а перенести одну строку под переменные нельзя самостоятельно было? Сразу видно - в ошибке даже не пытались самостоятельно разбираться... Зря я вам готовый код дал.


if(strcmp(cmd, "/makeleader", true) == 0)
{
if (PlayerInfo[playerid][pAdmin] < 5 && !PlayerInfo[playerid][pCurator]) return error(playerid, "Нет доступа");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return error(playerid, "Test: /makeleader [ ID игрока / Nick игрока ] [ Номер фракции ]");
new para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
new level = strval(tmp);
if(level > 23 || level < 0) return error(playerid, "ID фракции не может быть больше 23.");
if(!IsPlayerConnected(para1)) return error(playerid, "Игрок не в сети");
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(IsPlayerInAnyVehicle(para1))
{
new Float:px, Float:py, Float:pz;
GetPlayerPos(para1, px, py, pz);
SetPlayerPosServer(para1, px, py, pz+2);
}
new otext[40];
switch(level)
{
case 0:
{
PlayerInfo[para1][pTeam] = 3;
PlayerInfo[para1][pMember] = 0;
PlayerInfo[para1][pLeader] = 0;
PlayerInfo[para1][pRank] = 0;
PlayerInfo[para1][pFWarns] = 0;
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 91;
else PlayerInfo[para1][pChar] = 234;
MedicBill[para1] = 0;
SpawnPlayer(para1);
format(string, sizeof(string), "Главный Администратор %s лишил Вас прав лидера.", sendername,otext);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
SFM(playerid,COLOR_LIGHTBLUE,"Вы лишили %s прав лидера.", giveplayer);
return true;
}
case 1://LS Police Force
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 211;
else PlayerInfo[para1][pChar] = 265;
otext = "Los Santos Police Department";
}
case 2://F.B.I.
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 93;
else PlayerInfo[para1][pChar] = 164;
otext = "Federal Bureau of Investigation";
}
case 3://National Guard
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 191;
else PlayerInfo[para1][pChar] = 287;
otext = "National Guard";
}
case 4:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 219;
else PlayerInfo[para1][pChar] = 276;
otext = "Los Santos Medical Center";
}
case 5:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 216;
else PlayerInfo[para1][pChar] = 113;
otext = "La Cosa Nostra";
}
case 6:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 169;
else PlayerInfo[para1][pChar] = 120;
otext = "Yakuza Family";
}
case 7:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 150;
else PlayerInfo[para1][pChar] = 166;
otext = "Company Hired Killers";
}
case 8:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 141;
else PlayerInfo[para1][pChar] = 294;
otext = "The Triads Mafia";
}
case 9:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 76;
else PlayerInfo[para1][pChar] = 295;
otext = "San News";
}
case 10:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 13;
else PlayerInfo[para1][pChar] = 104;
otext = "The Ballas Gang";
}
case 11:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 172;
else PlayerInfo[para1][pChar] = 171;
otext = "Лицензеров";
}
case 12:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 195;
else PlayerInfo[para1][pChar] = 270;
otext = "The Grove Street Family";
}
case 13:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 12;
else PlayerInfo[para1][pChar] = 273;
otext = "Los Santos Vagos";
}
case 14:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 193;
else PlayerInfo[para1][pChar] = 292;
otext = "Varrios Los Aztecas";
}
case 15:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 55;
else PlayerInfo[para1][pChar] = 173;
otext = "San Fierro Rifa";
}
case 16:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 233;
else PlayerInfo[para1][pChar] = 272;
otext = "Russian Mafia";
}
case 17:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 76;
else PlayerInfo[para1][pChar] = 61;
otext = "Taxi Company";
}
case 18:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 41;
else PlayerInfo[para1][pChar] = 48;
otext = "Street Racers";
}
case 20:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 141;
else PlayerInfo[para1][pChar] = 249;
otext = "The Kazakh Mafia";
}
case 21:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 201;
else PlayerInfo[para1][pChar] = 100;
otext = "Hell Angels";
}
case 22://LV Police Force
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 93;
else PlayerInfo[para1][pChar] = 267;
otext = "Las Venturas Police Department";
}
case 23:
{
if(PlayerInfo[para1][pSex] == 2) PlayerInfo[para1][pChar] = 172;
else PlayerInfo[para1][pChar] = 171;
otext = "Академии Юристов";
}
default: return SendClientMessage(playerid, 0xFF0000FF, "Ошибка: Неверный ID фракции");
}
PlayerInfo[para1][pRank] = 6;
MedicBill[para1] = 0;
PlayerInfo[para1][pTeam] = 18;
PlayerInfo[para1][pLeader] = level;
PlayerInfo[para1][pJob] = 0;
SFM(playerid,COLOR_LIGHTBLUE,"Вы дали %s права лидера фракции %s.", giveplayer, otext);
format(string, sizeof(string), "Администрация уволила Вас из фракции.", giveplayer,otext);
SendClientMessage(para1, COLOR_WHITE, string);
format(string, sizeof(string), "%s дал Вам права лидера фракции %s.", sendername,otext);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "Выучите правила сервера, лидерства, захватов, форума. Заполните раздел своей фракции.");
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "Отпишитесь в теме ''состав лидеров'' на форуме -/- иначе Вы будете сняты.");
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "Администрация уволила Вас с работы.", giveplayer,otext);
SendClientMessage(para1, COLOR_WHITE, string);
SetPlayerSkin(para1, PlayerInfo[para1][pChar]);
SpawnPlayer(para1);
return true;
}