Решено Как сделать уровни админки и добавить к ним админ команды

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

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

Зарегистрироваться!
  • Если Вы желаете помогать развитию проекта, готовы заполнять раздел(-ы) и подсказывать другим пользователям на портале, есть возможность попасть в команду редакторов. Для этого следует обратиться в техническую поддержку
Статус
В этой теме нельзя размещать новые ответы.
Active
Активный
Регистрация
30 Авг 2023
Сообщения
142
Как создать уровни администратора 1 уровня до 11 уровня. И создать к ним админ команды например: /ban, /kick, /warn и т.д. и сделать так что у каждого админ уровня были свои команды. Заранее спасибо.
 
Решение
Создать поле в базе данных, к примеру, pAdmin. В этом поле будет храниться уровень админ. прав.
В самом моде сделать загрузку этого поля и добавить новую переменную в энумератор ко всем переменным (тоже, к примеру, pAdmin).


Пример команд для каждого уровня:
C:
/* Пример с использованием командного процессора Pawn.CMD */

CMD:ban(playerid, params[]) //params = аргумент от плагина sscanf.
{
    if(PlayerInfo[playerid][pAdmin] < 1) //сама проверка на уровень админ. прав. PlayerInfo и pAdmin меняем на своё.
        return SendClientMessage(playerid, -1, "У Вас недостаточно прав для использования данной команды.");
   
    if(sscanf(params, "u", params[0]))
        return SendClientMessage(playerid, -1, "Используйте: /ban...
Создатель WayDev
Команда форума
Администратор
Регистрация
13 Мар 2022
Сообщения
866
Создать поле в базе данных, к примеру, pAdmin. В этом поле будет храниться уровень админ. прав.
В самом моде сделать загрузку этого поля и добавить новую переменную в энумератор ко всем переменным (тоже, к примеру, pAdmin).


Пример команд для каждого уровня:
C:
/* Пример с использованием командного процессора Pawn.CMD */

CMD:ban(playerid, params[]) //params = аргумент от плагина sscanf.
{
    if(PlayerInfo[playerid][pAdmin] < 1) //сама проверка на уровень админ. прав. PlayerInfo и pAdmin меняем на своё.
        return SendClientMessage(playerid, -1, "У Вас недостаточно прав для использования данной команды.");
   
    if(sscanf(params, "u", params[0]))
        return SendClientMessage(playerid, -1, "Используйте: /ban [playerid]");
   
    //код самой команды
    return 1;
}

CMD:mute(playerid, params[]) //params = аргумент от плагина sscanf.
{
    if(PlayerInfo[playerid][pAdmin] < 2) //сама проверка на уровень админ. прав. PlayerInfo и pAdmin меняем на своё.
        return SendClientMessage(playerid, -1, "У Вас недостаточно прав для использования данной команды.");
   
    if(sscanf(params, "u", params[0]))
        return SendClientMessage(playerid, -1, "Используйте: /mute [playerid]");
   
    //код самой команды
    return 1;
}

CMD:kick(playerid, params[]) //params = аргумент от плагина sscanf.
{
    if(PlayerInfo[playerid][pAdmin] < 3) //сама проверка на уровень админ. прав. PlayerInfo и pAdmin меняем на своё.
        return SendClientMessage(playerid, -1, "У Вас недостаточно прав для использования данной команды.");
   
    if(sscanf(params, "u", params[0]))
        return SendClientMessage(playerid, -1, "Используйте: /kick [playerid]");
   
    //код самой команды
    return 1;
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху