Команда /makeadmin с использованием Pawn.CMD и MySQL R39-6

Добро пожаловать!

Зарегистрировавшись у нас, вы сможете обсуждать, делиться и отправлять личные сообщения другим участникам нашего сообщества.

Зарегистрироваться!
  • Если Вы желаете помогать развитию проекта, готовы заполнять раздел(-ы) и подсказывать другим пользователям на портале, есть возможность попасть в команду редакторов. Для этого следует обратиться в техническую поддержку
Пользователь
Регистрация
15 Авг 2024
Сообщения
29
Привет форумчане, сегодня я хочу выложить для вас команду /makeadmin которая меняет админку игроку.
Pawn:
CMD:makeadmin(playerid, params[])
{
    //Везде где есть pData поменяйте на свое
    new pn[MAX_PLAYER_NAME], admlvl, plid, adminname[128], str[128], str1[128], db[128]; // создаем переменные
    GetPlayerName(plid,pn,sizeof(pn));  // получаем имя игрока чтобы в дальнейшем вывести его
    GetPlayerName(playerid,adminname,sizeof(adminname));// получаем имя админа чтобы в дальнейшем вывести его
    if(pData[playerid][pAdmin] < 6) return SendClientMessage(playerid, COLOR_RED, "У вас нет доступа к этой команде!"); // если у игрока ниже 6 лвл админки, то выводит что нет прав для команды то выво
    if(sscanf(params,"dd", plid, admlvl)) return SendClientMessage(playerid, -1, "/makeadmin [ID Игрока] [Уровень]."); //если игрок ввел чисто команду /makeadmin(без id и уровня) то ему пишет как ей пользоваться
    if(!IsPlayerConnected(plid)) return SendClientMessage(playerid, -1, "Игрок оффлайн."); // если игрок оффлайн
    if(admlvl >=1 && admlvl <=8)// если все правильно
    {
        pData[playerid][pAdmin] = admlvl; // в enum меняем значение pAdmin на то, которое указано в команде
        format(str, sizeof(str), "Вы назначили %s администратором %d уровня", pn, admlvl); // форматируем строку
        format(str1, sizeof(str1), "Администратор %s назначил Вас администртором %d уровня", adminname, admlvl); // форматируем строку
        SendClientMessage(playerid, -1, str); //выводим ее(строку)
        SendClientMessage(plid, -1, str1); //выводим ее(строку)
        format(db, sizeof(db), "UPDATE `users` SET `Admin` = '%d'", admlvl); // меняем таблицу Admin в базе данных, users измените на свое(чаще всего это accounts)
        mysql_query(mysql, db);
    }
    if(admlvl == 0) // если админка = 0(тоесть админ снимает игрока с поста)
    {
        pData[playerid][pAdmin] = 0;
        format(str, sizeof(str), "Вы сняли администратора %s с поста администратора.", pn); // форматируем строку
        format(str1, sizeof(str1), "Администратор %s снял Вас с поста администратораю.", adminname); // форматируем строку
        SendClientMessage(playerid, -1, str); // выводим ее(строку)
        SendClientMessage(plid, -1, str1);    // выводим ее(строку)
        format(db, sizeof(db), "UPDATE `users` SET `Admin` = '0'"); // меняем таблицу Admin в базе данных, users измените на свое(чаще всего это accounts)
        mysql_query(mysql, db);
    }
    if(admlvl > 8) return SendClientMessage(playerid, -1, "Уровень админки не должен привышать 8!"); // если админка больше 8, то выводит что больше 8 нельзя. Вы можете поменять 8 на свой максимальный уровень админки
    if(plid == playerid) return SendClientMessage(playerid, -1, "Вы не можете изменять админку себе!") // если человек пытается поменять админку себе то пишет что нельзя
    return 1;
}
#Код


Если будут вопросы пишите
 
Пользователь
Регистрация
3 Янв 2025
Сообщения
118
Привет форумчане, сегодня я хочу выложить для вас команду /makeadmin которая меняет админку игроку.
Pawn:
CMD:makeadmin(playerid, params[])
{
    //Везде где есть pData поменяйте на свое
    new pn[MAX_PLAYER_NAME], admlvl, plid, adminname[128], str[128], str1[128], db[128]; // создаем переменные
    GetPlayerName(plid,pn,sizeof(pn));  // получаем имя игрока чтобы в дальнейшем вывести его
    GetPlayerName(playerid,adminname,sizeof(adminname));// получаем имя админа чтобы в дальнейшем вывести его
    if(pData[playerid][pAdmin] < 6) return SendClientMessage(playerid, COLOR_RED, "У вас нет доступа к этой команде!"); // если у игрока ниже 6 лвл админки, то выводит что нет прав для команды то выво
    if(sscanf(params,"dd", plid, admlvl)) return SendClientMessage(playerid, -1, "/makeadmin [ID Игрока] [Уровень]."); //если игрок ввел чисто команду /makeadmin(без id и уровня) то ему пишет как ей пользоваться
    if(!IsPlayerConnected(plid)) return SendClientMessage(playerid, -1, "Игрок оффлайн."); // если игрок оффлайн
    if(admlvl >=1 && admlvl <=8)// если все правильно
    {
        pData[playerid][pAdmin] = admlvl; // в enum меняем значение pAdmin на то, которое указано в команде
        format(str, sizeof(str), "Вы назначили %s администратором %d уровня", pn, admlvl); // форматируем строку
        format(str1, sizeof(str1), "Администратор %s назначил Вас администртором %d уровня", adminname, admlvl); // форматируем строку
        SendClientMessage(playerid, -1, str); //выводим ее(строку)
        SendClientMessage(plid, -1, str1); //выводим ее(строку)
        format(db, sizeof(db), "UPDATE `users` SET `Admin` = '%d'", admlvl); // меняем таблицу Admin в базе данных, users измените на свое(чаще всего это accounts)
        mysql_query(mysql, db);
    }
    if(admlvl == 0) // если админка = 0(тоесть админ снимает игрока с поста)
    {
        pData[playerid][pAdmin] = 0;
        format(str, sizeof(str), "Вы сняли администратора %s с поста администратора.", pn); // форматируем строку
        format(str1, sizeof(str1), "Администратор %s снял Вас с поста администратораю.", adminname); // форматируем строку
        SendClientMessage(playerid, -1, str); // выводим ее(строку)
        SendClientMessage(plid, -1, str1);    // выводим ее(строку)
        format(db, sizeof(db), "UPDATE `users` SET `Admin` = '0'"); // меняем таблицу Admin в базе данных, users измените на свое(чаще всего это accounts)
        mysql_query(mysql, db);
    }
    if(admlvl > 8) return SendClientMessage(playerid, -1, "Уровень админки не должен привышать 8!"); // если админка больше 8, то выводит что больше 8 нельзя. Вы можете поменять 8 на свой максимальный уровень админки
    if(plid == playerid) return SendClientMessage(playerid, -1, "Вы не можете изменять админку себе!") // если человек пытается поменять админку себе то пишет что нельзя
    return 1;
}
#Код


Если будут вопросы пишите
он на каждом моде есть,Если сам написал то молодец
 
Сверху