• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

/setadmin

Статус
В этой теме нельзя размещать новые ответы.

Drakula_Joker

Начинающий
Пользователь
Регистрация
29 Дек 2019
Сообщения
11
Лучшие ответы
0
Репутация
0
Здравствуйте, нужна помощь с командой /setadmin.
Нужно сделать так, администратор 13 лвл мог выдать только 12.
Администратор 11 лвл мог выдать только 10.
Код:
PHP:
 CMD:setadmin(playerid,params[])
{
    if(!is_cmd_allow(playerid, CMD_setadmin)) return SendClientMessage(playerid, COLOR_GRAD1,"{FFFF00}У Вас нет доступа к данной команде. Для покупки используйте — {FF0000}/adonate");
	new NameA[24], lvl;
	if(sscanf(params,"s[24]d",NameA,lvl)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /setadmin [name] [уровень]");
	if(lvl > 14 || lvl < 0) return SendClientMessage(playerid,COLOR_WHITE,"Ошибка: Нельзя меньше 1 и больше 14");
    if(!strcmp(NameA, "Andre_Raysn") || !strcmp(NameA, "Drakula_Joker") || !strcmp(NameA, "Johny_Horton") || !strcmp(NameA, "Thomas_Shelby") || !strcmp(NameA, "Wolt_Besconte") || !strcmp(NameA, "Twich_Vercetti")) return DelAdmin(playerid);
	new query[144];
	format(query, sizeof(query), "SELECT * FROM `accounts` WHERE `Name` = '%s' LIMIT 1", NameA);
	mysql_function_query(connects, query, true, "SetAdmin", "dds", playerid, lvl, NameA);
	return true;
}

forward SetAdmin(playerid, level, name[]);
public SetAdmin(playerid, level, name[]) {
    new rows, fields;
    cache_get_data(rows, fields);
    if(rows) {
        new lvl = cache_get_field_content_int(0, "pAlcoInvenxua", connects);
        if(lvl < 1 && level < 1) return SendClientMessage(playerid, COLOR_WHITE, "Игрок не администратор!");
        new query[256], string[144];//PlayerInfo[playerid][pDostup] = 11111;
        format(query, sizeof(query), "UPDATE `accounts` SET `pAlcoInvenxua` = '%d' WHERE `Name` = '%s'", level, name);
        mysql_function_query(connects, query, false, "", "");
        format(stringer1, sizeof(stringer1), "[A] Администратор %s использовал команду /setadmin на %s.",PlayerInfo[playerid][pNames], name);
        SendAdminMessage(COLOR_GREY, stringer1);
        mysql_format(connects,mysql_query_,sizeof(mysql_query_),"INSERT INTO `grp_log` (`admin_name`, `type`, `name`, `date`) VALUES ('%s','использовал /setadmin на','%s','%d')",PlayerInfo[playerid][pNames], name);
        mysql_function_query(connects, mysql_query_, false, "", "");
        if(lvl < 1 && level > 0) {
            format(string, sizeof(string), "%s был назначен на пост администратора %d уровня", name, level);
            SendClientMessage(playerid, COLOR_WHITE, string);
            format(string, sizeof(string), "{0099CC}%s назначил Вас администратором %d уровня. Введите - /alogin.", PlayerInfo[playerid][pNames], level);
        } else if(lvl > 0 && level > 0) {
            format(string, sizeof(string), "Вы изменили уровень админ прав с %d на %d у %s", lvl, level, name);
            SendClientMessage(playerid, COLOR_WHITE, string);
            format(string, sizeof(string), "{0099CC}%s изменил Вам уровень админ прав с %d на %d.", PlayerInfo[playerid][pNames], lvl, level);
        } else if(level == 0) {
            format(string, sizeof(string), "Вы сняли админ права с %s", name);
            SendClientMessage(playerid, COLOR_WHITE, string);
            format(string, sizeof(string), "{0099CC}%s снял Вас c должности администратора сервера.", PlayerInfo[playerid][pNames]);
        }
        foreach(Player, i) {
            if(!IsPlayerConnected(i)) continue;
            if(strcmp(PlayerInfo[i][pNames], name, true) != 0) continue;
            if(level == 0) {
                SendClientMessage(i, COLOR_WHITE, string);
                DelAdmin(i);
                break;
            }
            PlayerInfo[i][pAlcoInvenxua] = level;
            SendClientMessage(i, COLOR_WHITE, string);
            break;
        }
    } else return SendClientMessage(playerid, COLOR_WHITE, "Данный игрок не зарегестрирован на этом сервере!");
    return true;
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу