• 0
Sign in to follow this  
Followers 0

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

Question

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

Сама команда

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;
}

 

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

Share this post


Link to post

2 answers to this question

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

 

Share this post


Link to post
  • 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;
}

 

 

Edited by itz.dev

Share this post


Link to post
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By d7.KrEoL
      Datalink filterscript - передача тактической информации об игроках на карту sampmap.ru
      Скачать файл Данный скрипт позволяет передавать информацию об игроках на тактическую карту проекта sampmap. Управление функциями через RCON команды, сам скрипт хоть и полностью готов к использованию, но скорее является примером, на его основе можно писать свои системы для взаимодействия с тактической картой.
      Тактическая карта проекта sampmap - это подобие даталинк системы, которая позволяет координировать действия отряда, либо просто отслеживать местоположение игроков в режиме радара. Для каждого переданного в datalink систему (на тактическую карту) игрока выводится его основная информация о скорости, азимуте, высоте, величине и направлении вектора скорости, а так же принадлежность свой/чужой
      Несколько скринов:
       
       
      Архивы:
       
      Исходники:
       
      Команды (ркон) для dlink:
      Помимо серверной версии скрипта существуют так же клиентские для обычного клиента с moonloader и для RakSAMP Lite бота. Все эти скрипты распространяются по открытой лицензии MIT, здесь находится git с исходниками. Проект открыт для ваших предложений относительно кода, или дальнейшего развития, вы можете оставить свои предложения на официальной странице github.






      Добавил d7.KrEoL Добавлено 09.12.2024 Категория Скрипты Автор d7.KrEoL  
    • By d7.KrEoL
      Данный скрипт позволяет передавать информацию об игроках на тактическую карту проекта sampmap. Управление функциями через RCON команды, сам скрипт хоть и полностью готов к использованию, но скорее является примером, на его основе можно писать свои системы для взаимодействия с тактической картой.
      Тактическая карта проекта sampmap - это подобие даталинк системы, которая позволяет координировать действия отряда, либо просто отслеживать местоположение игроков в режиме радара. Для каждого переданного в datalink систему (на тактическую карту) игрока выводится его основная информация о скорости, азимуте, высоте, величине и направлении вектора скорости, а так же принадлежность свой/чужой
      Несколько скринов:
       
       
      Архивы:
       
      Исходники:
       
      Команды (ркон) для dlink:
      Помимо серверной версии скрипта существуют так же клиентские для обычного клиента с moonloader и для RakSAMP Lite бота. Все эти скрипты распространяются по открытой лицензии MIT, здесь находится git с исходниками. Проект открыт для ваших предложений относительно кода, или дальнейшего развития, вы можете оставить свои предложения на официальной странице github.






    • By Мемен Томорли
      Как сделать табличку после бана аккаунта? Типо как на малиновке, когда тебя банят, выдают табличку(скрин приложил), и при входе на сервер такую же табличку давало??