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

Проблема в команде

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

Windows_8

Умник
При назначении можно выдать любой LVL админки, а не с 1 по 5
Сначала выдает текст в чате "Вы назначены на 100 уровень (пример)"
А ниже строчка "Разрешено не больше 5"
В БД прописывается 100 LVL

CSS:
CMD:setadmin(playerid, params[])
{
    if(pInfo[playerid][pAdmin] < 6) return true;
    if(sscanf(params, "dd", params[0], params[1])) return SendClientMessage(playerid, -1, "/setadmin [ID] [уровень]");
    if(params[0] == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "Игрок не найден");
    if(params[1] < 0 || params[1] > 5) SendClientMessage(playerid, -1, "Уровень администратора может быть от 0 до 5");
    if(IsPlayerNPC(params[0])) return SendClientMessage(playerid, -1, "Это NPC");
    new string[256];
    if(params[1] >= 1 && pInfo[params[0]][pAdmin] == 0)
    {
        pInfo[params[0]][pAdmin] = params[1];
        mysql_strings = "";
        mysql_format(connect_mysql, mysql_strings, sizeof(mysql_strings), "INSERT INTO `admins` (`name`, `ID`, `level`, `put`) VALUES ('%e','%i', '%i', '%e')",
        pInfo[params[0]][pName], pInfo[params[0]][pID], params[1], pInfo[playerid][pName]);
        mysql_pquery(connect_mysql, mysql_strings,  "", "");

        ShowPlayerDialog(params[0], 6, DIALOG_STYLE_INPUT, "Пароль администратора", "Придумайте пароль администратора.","Принять","");
        return true;
    }
    else if(params[1] >= 1 && pInfo[params[0]][pAdmin] != 0)
    {
        pInfo[params[0]][pAdmin] = params[1];
        mysql_strings = "";
        mysql_format(connect_mysql, mysql_strings, sizeof(mysql_strings), "UPDATE `admins` SET `level` = '%d' WHERE `ID` = '%d' LIMIT 1",params[1], pInfo[params[0]][pID]);
        mysql_pquery(connect_mysql, mysql_strings, "", "");
        format(string, sizeof(string), "%s[%d] изменил ваши админ полномочия на %d уровень", pInfo[playerid][pName], playerid, params[1]);
        SendClientMessage(params[0], -1, string);
    }
    else if(params[1] == 0)
    {
        if(pInfo[params[0]][pAdmin] == 0) return SendClientMessage(playerid, -1, "Игрок не администратор");
        pInfo[params[0]][pAdmin] = 0;
        mysql_strings ="";
        new idx[100]; format(idx, sizeof(idx), "Вы были сняты с поста администратора.\nСнял: %s",pInfo[playerid][pName]);
        SendClientMessage(params[0], -1, idx);
        ShowPlayerDialog(params[0], 0, DIALOG_STYLE_MSGBOX, "Панель администратора", idx,"Принять","");

        mysql_format(connect_mysql, mysql_strings, sizeof mysql_strings, "DELETE FROM `admins` WHERE `ID` = '%i' LIMIT 1", pInfo[params[0]][pID]);
        mysql_pquery(connect_mysql, mysql_strings,  "", "");

        return Kick(params[0]);
    }
    return true;
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу