• 0

[закрыто] Как сделать чтоб админ не мог снять админа выше себ

Вопросы

Как сделать чтоб админ не мог снять админа выше себя
 

Сама команда

CMD:makeadmin(playerid, params[])
{
    if(pData[playerid][pAdmin] < 6 || !GetPVarInt(playerid,"AdminLogin")) return true;
    if(sscanf(params,"dd",params[0],params[1])) return SendClientMessage(playerid,0xFFa500AA, "Используйте: /makeadmin [id] [уровень]");
    if(params[1] > 5 || params[1] < 0) return SCM(playerid, CR, "Значение не может быть меньше 0 и больше 5");
    if(!pData[params[0]][pMysqlID] || !IsPlayerConnected(params[0])) return SCM(playerid, CR, "Данный игрок не авторизован.");
    if(params[1] == 0)
    {
        pData[params[0]][pAdmin] = 0;
        pData[params[0]][pAdmprefix] = 0;
        SFCM(params[0], CR, "Администратор {FFFFFF}%s {FF8A30}аннулировал вам полномочия администратора",pData[playerid][pNickname]);
        SFCM(playerid, CR, "Аннулирование прав администратора у игрока {FFFFFF}%s {FF8A30}прошло успешно", pData[params[0]][pNickname]);
        UpdatePlayerData(params[0], "admin", pData[params[0]][pAdmin]);
        UpdatePlayerData(params[0], "admprefix", pData[params[0]][pAdmprefix]);
        return true;
        }
    new query[128];
    pData[params[0]][pAdmin] = params[1];
    pData[params[0]][pAdmprefix] = 0;
    UpdatePlayerData(params[0], "admprefix", pData[params[0]][pAdmprefix]);
    UpdatePlayerData(params[0], "admin", pData[params[0]][pAdmin]);
    SFCM(params[0], CGREEN, "Администратор {FFFFFF}%s {33AA33}установил вам новый уровень администратора", pData[playerid][pNickname]);
    ShowPlayerDialog(params[0],dAPassNew,DIALOG_STYLE_INPUT,"{f4b042}Настройки администратора","{FFFFFF}Введите Ваш будущий админ пароль.\nОн должен состоять мин. - 4 сим. и макс. - 10 сим.\nЖелательно в нём должны присутствовать буквы и цифры.","Далее","");
    SFCM(playerid, CGREEN, "Вы успешно выдали {FFFFFF}%s {33AA33}права администратора {FFFFFF}%d {33AA33}уровня", pData[params[0]][pNickname],params[1]);
    mysql_format(MySQLGo, query,sizeof(query),"INSERT INTO `admin` (`Name`,`level`,`Postavil`) VALUES ('%s','%d','%s')", pData[params[0]][pNickname],params[1],pData[playerid][pNickname]);
    mysql_query(MySQLGo, query);
    return true;
}

 

Помогите пожалуйста

Поделиться сообщением


Ссылка на сообщение

2 ответа на этот вопрос

  • 0
if(pData[playerid][pAdmin] < pData[params[0]][pAdmin])
    return 1;

 

Поделиться сообщением


Ссылка на сообщение
  • 0
Спойлер


CMD:makeadmin(playerid, params[])
{
    if(pData[playerid][pAdmin] < 6 || !GetPVarInt(playerid,"AdminLogin")) return true;
    if(sscanf(params,"dd",params[0],params[1])) return SendClientMessage(playerid,0xFFa500AA"Используйте: /makeadmin [id] [уровень]");
    if(params[1] > 5 || params[1] < 0return SCM(playerid, CR, "Значение не может быть меньше 0 и больше 5");
    if(!pData[params[0]][pMysqlID] || !IsPlayerConnected(params[0])) return SCM(playerid, CR, "Данный игрок не авторизован.");
    if(pData[playerid][pAdmin] < pData[params[0]][pAdmin]) return SCM(playerid, CR, "Вы не можете изменить уровень админ прав администратору выше!");
    if(params[1] == 0)
    {
        pData[params[0]][pAdmin] = 0;
        pData[params[0]][pAdmprefix] = 0;
        SFCM(params[0], CR, "Администратор {FFFFFF}%s {FF8A30}аннулировал вам полномочия администратора",pData[playerid][pNickname]);
        SFCM(playerid, CR, "Аннулирование прав администратора у игрока {FFFFFF}%s {FF8A30}прошло успешно", pData[params[0]][pNickname]);
        UpdatePlayerData(params[0], "admin", pData[params[0]][pAdmin]);
        UpdatePlayerData(params[0], "admprefix", pData[params[0]][pAdmprefix]);
        return true;
        }
    new query[128];
    pData[params[0]][pAdmin] = params[1];
    pData[params[0]][pAdmprefix] = 0;
    UpdatePlayerData(params[0], "admprefix", pData[params[0]][pAdmprefix]);
    UpdatePlayerData(params[0], "admin", pData[params[0]][pAdmin]);
    SFCM(params[0], CGREEN, "Администратор {FFFFFF}%s {33AA33}установил вам новый уровень администратора", pData[playerid][pNickname]);
    ShowPlayerDialog(params[0],dAPassNew,DIALOG_STYLE_INPUT,"{f4b042}Настройки администратора","{FFFFFF}Введите Ваш будущий админ пароль.\nОн должен состоять мин. - 4 сим. и макс. - 10 сим.\nЖелательно в нём должны присутствовать буквы и цифры.","Далее","");
    SFCM(playerid, CGREEN, "Вы успешно выдали {FFFFFF}%s {33AA33}права администратора {FFFFFF}%d {33AA33}уровня", pData[params[0]][pNickname],params[1]);
    mysql_format(MySQLGo, query,sizeof(query),"INSERT INTO `admin` (`Name`,`level`,`Postavil`) VALUES ('%s','%d','%s')", pData[params[0]][pNickname],params[1],pData[playerid][pNickname]);
    mysql_query(MySQLGo, query);
    return true;
}

 

 

Отредактировано пользователем itz.dev

Поделиться сообщением


Ссылка на сообщение
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • От MrNARTI
      всем привет можете пожалуйста подсказать с командой от анти слива /aban
       
      чтобы банило и администратора который использовал эту кмд и адм которого указал в айди. 
    • От MrNARTI
      всем привет.
       
      появился баг раньше не было.
       
      когда захожу должно появляться окно для адм авторизации но почему то перестало.
      так же когда когда ввожу /car  показывает что тс загружен хотя я его не загружал и у меня его вообще нет
       
      кто может помогите:
      тг: aboba_qq