Вопросы

Thom_Shelby
Новичок

Здравствуйте. Хочу чтобы при выдаче админки на определенный лвл указывался своУказывался свой определенный пароль в базу данных. Например выдашь 5 лвл в значение базы данных APASS принимало значение 3832. А на 6 лвле APASS принимало 5555. Код

Спойлер



makeadmin CMD:makeadmin(playerid, params[])
{
    if(PI[playerid][pAdmin] < 6) return SCM(playerid, COLOR_RED, NO_DOSTUP_TEXT);
    if(!ADuty{playerid}) return SCM(playerid, COLOR_GREY, NO_DUTY_TEXT);
    new id, admin;
    if(sscanf(params, "dd", id, admin)) return SCM(playerid, COLOR_RED, !"Èñïîëüçóéòå: /makeadmin [id] [level (0 - 8)]");
    if(!IsPlayerConnected(id)) return false;
    if(CheckIsASuccesIP(playerid)) return 0;
    if(admin < 0 || admin > 8) return SCM(playerid, COLOR_RED, !"Èñïîëüçóéòå: /makeadmin [id] [level (0 - 8)]");
    if(PI[playerid][pAdmin] == 6 && admin > 4)
    {
    SCMf(playerid,COLOR_RED, "Íåò! Äî 4 ëâëà");
    return false;
    }
    if(PI[playerid][pAdmin] == 7 && admin > 5)
    {
    SCMf(playerid,COLOR_RED, "Íåò! Äî 5 ëâëà");
    return false;
    }
    static Adm[30];
    Adm[0] = EOS;
    switch(PI[playerid][pAdmin])
    {
        case ADM_GRAND_ADMIN: Adm = "[Êóðàòîð]";
        case ADM_DEPUTY_ADMIN: Adm = "[Çàìåñòèòåëü ÃÀ]";
        case ADM_MAIN_ADMIN: Adm = "[Ãëàâíûé Àäìèíèñòðàòîð]";
        case ADM_GRAND: Adm = "[Îñíîâàòåëü]";
    }
    static Adm2[30];
    Adm2[0] = EOS;
    switch(admin)
    {
        case ADM_MODER: Adm2 = " [Ìëàäøèé Ìîäåðàòîð]";
        case ADM_SUPER_MODER: Adm2 = " [Ìîäåðàòîð]";
        case ADM_ADMIN: Adm2 = " [Ñòàðøèé Ìîäåðàòîð]";
        case ADM_SUPER_ADMIN: Adm2 = " [Àäìèíèñòðàòîð]";
        case ADM_GRAND_ADMIN: Adm2 = " [Êóðàòîð]";
        case ADM_DEPUTY_ADMIN: Adm2 = " [Çàìåñòèòåëü ÃÀ]";
        case ADM_MAIN_ADMIN: Adm2 = " [Ãëàâíûé Àäìèíèñòðàòîð]";
        case ADM_GRAND: Adm2 = " [Îñíîâàòåëü]";
    }
    SCMf(playerid, 0x6495EDFF, "Âû âûäàëè èãðîêó %s %i-é óðîâåíü àäìèíèñòðèðîâàíèÿ%s", PN(id), admin, Adm2);
    SendAdminsMessagef(COLOR_RED, "[MakeAdmin] %s %s[%i] óñòàíîâèë %i%s óðîâåíü àäìèíèñòðàòîðà èãðîêó %s (áûë: %i óð)", Adm, PN(playerid), playerid, admin, Adm2, PN(id), PI[id][pAdmin]);
    aml(16, playerid, PN(id), "", admin);
    return SetAdminLevel(id, admin, "/makeadmin");
}


 

 

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

Заметка от keyl , создано

3.2. Код больше 10 строк необходимо брать в теги "Код" и "Спойлер". Как это сделать рассказано в разделе "FAQ".

Устное предупреждение.

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


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

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

  • 0
Человек-редиска
Активный

Видел данную тему, не ты создавал makeadmin)

 Попробуй

       if(PlayerInfo[para1][pApaskeyadmi] == 0 || PlayerInfo[para1][pApaskeyadmi] == 2038) PlayerInfo[para1][pApaskeyadmi] = 1000+random(10000);
      }
      else PlayerInfo[para1][pApaskeyadmi] = 0;

На свои параметры

 

makeadmin CMD:makeadmin(playerid, params[])
{
    if(PI[playerid][pAdmin] < 6) return SCM(playerid, COLOR_RED, NO_DOSTUP_TEXT);
    if(!ADuty{playerid}) return SCM(playerid, COLOR_GREY, NO_DUTY_TEXT);
    new id, admin;
    if(sscanf(params, "dd", id, admin)) return SCM(playerid, COLOR_RED, !"Èñïîëüçóéòå: /makeadmin [id] [level (0 - 8)]");
    if(!IsPlayerConnected(id)) return false;
    if(CheckIsASuccesIP(playerid)) return 0;
    if(admin < 0 || admin > 8) return SCM(playerid, COLOR_RED, !"Èñïîëüçóéòå: /makeadmin [id] [level (0 - 8)]");
    if(PI[para1][pApaskeyadmi] == 0 || PlayerInfo[para1][pApaskeyadmi] == 2038) PlayerInfo[para1][pApaskeyadmi] = 1000+random(10000);
    else PI[para1][pApaskeyadmi] = 0;
    if(PI[playerid][pAdmin] == 6 && admin > 4)
    {
    SCMf(playerid,COLOR_RED, "Íåò! Äî 4 ëâëà");
    return false;
    }
    if(PI[playerid][pAdmin] == 7 && admin > 5)
    {
    SCMf(playerid,COLOR_RED, "Íåò! Äî 5 ëâëà");
    return false;
    }
    static Adm[30];
    Adm[0] = EOS;
    switch(PI[playerid][pAdmin])
    {
        case ADM_GRAND_ADMIN: Adm = "[Êóðàòîð]";
        case ADM_DEPUTY_ADMIN: Adm = "[Çàìåñòèòåëü ÃÀ]";
        case ADM_MAIN_ADMIN: Adm = "[Ãëàâíûé Àäìèíèñòðàòîð]";
        case ADM_GRAND: Adm = "[Îñíîâàòåëü]";
    }
    static Adm2[30];
    Adm2[0] = EOS;
    switch(admin)
    {
        case ADM_MODER: Adm2 = " [Ìëàäøèé Ìîäåðàòîð]";
        case ADM_SUPER_MODER: Adm2 = " [Ìîäåðàòîð]";
        case ADM_ADMIN: Adm2 = " [Ñòàðøèé Ìîäåðàòîð]";
        case ADM_SUPER_ADMIN: Adm2 = " [Àäìèíèñòðàòîð]";
        case ADM_GRAND_ADMIN: Adm2 = " [Êóðàòîð]";
        case ADM_DEPUTY_ADMIN: Adm2 = " [Çàìåñòèòåëü ÃÀ]";
        case ADM_MAIN_ADMIN: Adm2 = " [Ãëàâíûé Àäìèíèñòðàòîð]";
        case ADM_GRAND: Adm2 = " [Îñíîâàòåëü]";
    }
    SCMf(playerid, 0x6495EDFF, "Âû âûäàëè èãðîêó %s %i-é óðîâåíü àäìèíèñòðèðîâàíèÿ%s", PN(id), admin, Adm2);
    SendAdminsMessagef(COLOR_RED, "[MakeAdmin] %s %s[%i] óñòàíîâèë %i%s óðîâåíü àäìèíèñòðàòîðà èãðîêó %s (áûë: %i óð)", Adm, PN(playerid), playerid, admin, Adm2, PN(id), PI[id][pAdmin]);
    aml(16, playerid, PN(id), "", admin);
    return SetAdminLevel(id, admin, "/makeadmin");
}

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


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

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

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

    • Korochansky
      От Korochansky
      Настало время объявить о скором выпуске первого релиза среды разработки под названием Spawn.

      В настоящее время программа находится на заключительных этапах доработки кода и локализации интерфейса.
      Таким образом, в течение следующей недели будет выпущена быстрая и современная среда разработки, обладающая следующими возможностями (о которых я расскажу сейчас, а о других — позже):
       
      Полнофункциональный локальный Git: 
      Индексирование, фиксации, индикаторы состояния и мягкий/жесткий сброс до любой точки сохранения одним щелчком мыши. Разрабатывайте свой игровой сервер, не боясь его сломать.
      Новички могут рассматривать это как историю кодовой базы вашего сервера (что и есть на самом деле).
       
      Чистый UTF-8 (без BOM): 
      Полный отказ от устаревшей кодировки Windows-1251 (CP1251) для абсолютной стабильности и идеальной совместимости с Git.
      Реализация поддержки CP1251 привела бы к нестабильному поведению программы и ухудшила бы пользовательский опыт.
       
      История изменений строк: Редактор выделяет измененные строки в реальном времени в полях рядом с номерами строк. Это позволяет мгновенно видеть границы изменений, внесенных с момента открытия файла.
       
      Сопоставление и выделение фигурных скобок: мгновенное выделение открывающих и закрывающих фигурных скобок для быстрой навигации по структуре кода и защиты от ошибок компиляции.
       
      Интеграция с SAMPCTL: готовая к использованию автоматизация процессов. Сборка, запуск сервера и менеджер зависимостей (управление библиотеками и плагинами) работают напрямую из интерфейса редактора.
       
      И многое другое...
       
      И самое главное: проект будет с открытым исходным кодом под лицензией GPLv3!
      Следите за новостями о выпуске в репозитории: https://github.com/daniilkorochansky/spawn
    • KodBi
      От KodBi
      шапка
      по одиночке работают
      нужны оба