PDA

Просмотр полной версии : [Вопрос] /makeadmin - по нику админа



Kurbanoff
25.09.2015, 20:38
Всем привет уважаемые скриптеры P-P
Хочу сделать команду что бы она работала только для меня то есть для Fara_Kurbanov
Не много подумал и решил сделать так но , команда все равно у всех гл.админов пашет


if(strcmp("/makeadmin", cmdtext, true, 10) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, " Используйте: /makeadmin [ID/часть ника] [Lvl (0-5)]");
return 1;
}
new para1;
new level;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
level = strval(tmp);
if(strcmp(PN(playerid), "Fara_Kurbanov", true) != 0 && level > 5 ) return SendClientMessage(playerid, COLOR_GREY, "Lvl Админки может быть от 0 до 5");
if(level > 5 || level < 0) { SendClientMessage(playerid, COLOR_GREY, "Команда работает только для Fara_Kurbanov"); return 1; }
if(PlayerInfo[playerid][pAdmin] >= 5 || PlayerInfo[playerid][pProverkaip] >= 1 || IsPlayerAdmin(playerid))
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[para1][pAdmin] = level;
printf(": %s продвинул %s на %d уровень админки.", sendername, giveplayer, level);
format(string, sizeof(string), "Вас назначил %d уровнем админки %s ", level, sendername);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "Вы назначили %s админом %d уровня.", giveplayer,level);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
PlayerInfo[playerid][pHelper] = 0;
format(string, 256, " * %s makeadmin %s fract %d.", sendername, giveplayer, level);
MakeAdmin(string);
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Вы не уполномочены использовать эту команду!");
}
}
return 1;
}

заранее спасибо

gangzone.ini
25.09.2015, 20:46
if(!strcmp(pInfo[playerid][pName], "Тут свой ник", true) || !strcmp(pInfo[playerid][pName], "Ещё 1 ник", true))

Kurbanoff
25.09.2015, 21:01
if(!strcmp(pInfo[playerid][pName], "Тут свой ник", true) || !strcmp(pInfo[playerid][pName], "Ещё 1 ник", true))

полный код пожалуйста.
P.S Новичок :sorry:

#Vito
26.09.2015, 02:17
Дык, у Вас же есть проверка в команде:


if(strcmp(PN(playerid), "Fara_Kurbanov", true) != 0 && level > 5 ) return SendClientMessage(playerid, COLOR_GREY, "Lvl Админки может быть от 0 до 5");

Kurbanoff
27.09.2015, 09:53
Скоро выложу код ! проблема решена

Дык, у Вас же есть проверка в команде:
Читайте 1 пост (3 абзац)

UPDATE: добавил код


if(strcmp(cmd, "/makeadmin", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "Вы не авторизованы!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Введите: /makeadmin [id] [level]");
return 1;
}
new para1;
new level;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
level = strval(tmp);
new redname[MAX_PLAYER_NAME];
GetPlayerName(playerid, redname, sizeof(redname));
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "Вы не вошли");
return 1;
}
if (!strcmp(redname, "Fara_Kurbanov", true))
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[para1][pAdmin] = level;
printf(": %s продвинул %s на %d уровень админки.", sendername, giveplayer, level);
format(string, sizeof(string), "Вас назначил %d уровнем админки %s ", level, sendername);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "Вы назначили %s админом %d уровня.", giveplayer,level);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
PlayerInfo[playerid][pHelper] = 0;
format(string, 256, " * %s makeadmin %s fract %d.", sendername, giveplayer, level);
MakeAdmin(string);
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Обращайтесь к Fara_Kurbanov");
}
}
return 1;
}

P.S: Закрыта!