Вопросы

maksimov maksim
Новичок

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

Сама команда

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
itz.dev
Активный
Спойлер


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 пользователей онлайн

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

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

    • KAIF HOST
      От KAIF HOST
      Если вы ищете надежный, стабильный и бюджетный хостинг для ваших серверов SAMP или CRMP, то KAIF-HOST.RU - лучший выбор для вас. Мы молодая компания среди игровых хостингов, но мы гарантируем стабильность и безопасность вашего сервера.
       
      Мы предлагаем защиту от TCP SYN и UDP флуда, а также от Spoofing атак. Мы также обеспечиваем защиту на уровнях L3, L4 и L7.
       
      Наши преимущества включают автоподнятие серверов после падения, удобную панель управления сервером и автоматическую установку сервера. Мы также гарантируем быструю техническую поддержку для всех наших клиентов.
       
       
       
      Наши серверы доступны всего от 20 рублей в месяц, что делает нас одним из самых доступных хостингов на рынке.
       
       
       
       
       
       Ссылки:
       
      Сайт kaif-host.ru
      Панель управления lk.kaif-host.ru
      Группа ВКонтакте https://vk.com/kaif_host_official
       
      P.s Промокод #pawnorus даст тебе скидку в размере 20%

    • Hunter Wright
      От Hunter Wright
          Large-Host - Предоставляем услуги профессионального дешевого игрового хостинга и самую удобную панель управления.

      — Защита от DDoS-атак
      — Техническая поддержка работает для вас 24/7
      — Быстрый доступ в панель управления и личный кабинет
      — Быстрая переустановка игрового сервера в любое время суток  
      — Редактирование конфигурационных файлов игрового сервера 
      — FTP доступ к файлам игрового сервера
      — Изменение количества слотов игрового сервера 
      — Система управления счетами и оплаты услуг
      — Большое количество всех возможных платежных систем
      — Бесплатная MySQL база данных — Автоустановка модов, есть как бесплатные моды, так и платные моды — У нас есть услуги, где вы можете заказать, установку мода, смену названия и т.д
      — Предоставляется доступ к firewall для блокировки злоумышленников   Тарифные планы (на данный момент): — GTA: SA-MP 0.3.7 - от 20р / месяц — GTA: CR-MP 0.3e - от 20р / месяц — GTA: CR-MP 0.3.7 - от 20р / месяц   Ссылки на хостинг и социальные сети: Сайт хостинга - Перейти на сайт хостинга Группа во ВКонтакте - Перейти в группу во ВКонтакте Группа тех.поддержки во ВКонтакте - Перейти в группу во ВКонтакте
      Телеграм канал хостинга - Перейти в телеграм YouTube канал хостинга - Перейти на YouTube канал
      Почта тех.поддержки - support@large-hosting.ru  
    • Снайк
      От Снайк
      Доброго времени суток, уважаемые пользователи данного форума.
       
      У меня тут возникла одна проблема с загрузкой Худа который на CEF написан.
      Судя по логам Цефа, сам CEF загружается успешно и подключается тоже правильно. Но вот не отображается.
      Можно сказать что Худ невидимый, потому что в логах написано что всё успешно загружено.
      Думал проблема в Худе, сменил её, но всё та же проблема.
       
      Помогите пожалуйста, кто разбирается в CEF (SAMP-CEF).
      Заранее спасибо. 
      Если нужны будут логи, могу скинуть в тг - @srr_mx