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

Почему может не сохраняться изменение уровня администратора?

Chuck1

Новичок
Здравствуйте, нужна помощь в команде setadmin. Вроде бы всё хорошо и запросы к БД правильные, в чем проблема? Я выдаю например игроку админку, а когда он пишет /alogin то ничего нет и в базе в таблице с админками его тоже нет. Помогите!

PHP:
CMD:setadmin(playerid, params[])
{
    if (pInfo[playerid][pAdmin] < 7 || !pTemp[playerid][PlayerADostup]) return SendClientMessage(playerid, COLOR_GREY, !""colwarn"[Ошибка]"colwhi" Вам недоступна данная возможность");
    new
        name[32],
        query_[256],
        string_[80];
    if (sscanf(params, "s[32]d", name, params[1])) return SendClientMessage(playerid, COLOR_WHITE, !"Введите: /setadmin [ник] [уровень модератора]");

    if (strlen(name) >= 32) return SendClientMessage(playerid, COLOR_GREY, !"Вы указали слишком много символов!");

    if ((params[1] > 7 || params[1] < 0) && pInfo[playerid][pAdmin] < 10) return SendClientMessage(playerid, COLOR_GREY, !"Вы допустили ошибку");
    else if ((params[1] > 10 || params[1] < 0) && pInfo[playerid][pAdmin] > 9) return SendClientMessage(playerid, COLOR_GREY, !"Вы допустили ошибку");
    
    format(query_, sizeof query_, "SELECT * FROM s_admin WHERE Name = '%s'", name);
    new Cache:result = mysql_query(dbHandle, query_);
    if (cache_num_rows()) {//АДМИН найден
        /* LEVEL UP / DOWN */
        if (params[1] == 0)
        {
            /*else if (!strcmp(name, "Akatsuji_Costallone") || !strcmp(name,"Ryus_Luv") ||!strcmp(name,"Loka_Rampage")) {
                SendClientMessage(playerid, COLOR_REDD, !"Конечно, а по ****у?");
                cache_delete(result);
                return 1;
            }*/
            format(query_, sizeof query_, "DELETE FROM `s_admin` WHERE `Name`= '%s' LIMIT 1", name);
            mysql_tquery(dbHandle, query_, "", "");
            new select_id;
            sscanf(name, "u", select_id);
            if (IsPlayerConnected(select_id))
            {
                pInfo[select_id][pAdmin] = 0;
                pTemp[select_id][PlayerADostup] = false;
                aAdminInfo[select_id][aID]         =
                aAdminInfo[select_id][aReport]     =
                aAdminInfo[select_id][aRepute]     =
                aAdminInfo[select_id][aJail]     =
                aAdminInfo[select_id][aMute]     =
                aAdminInfo[select_id][aPrison]     =
                aAdminInfo[select_id][aWarn]     =
                aAdminInfo[select_id][aBan]     =
                aAdminInfo[select_id][aRegIP]     = 0;
                Iter_Remove(AdminsTeam, select_id);
            }
        }
        else
        {
            mysql_format(dbHandle, query_, sizeof query_, "UPDATE `s_admin` SET  level = '%d' WHERE Name = '%s' LIMIT 1", params[1], name);
            mysql_tquery(dbHandle, query_, "", "");       
            new select_id;
            sscanf(name, "u", select_id);
            if (IsPlayerConnected(select_id)) {
                pInfo[select_id][pAdmin] = params[1];
            }
        }
    }
    else {
        new
            select_id,
            player_ip[16];
        select_id = getPlayerIdByNickname(name);
        if (PlayerInConnected(select_id)) {
            GetPlayerIp(select_id, player_ip, sizeof player_ip);
            SendClientMessage(select_id, COLOR_LIGHTBLUE, "Теперь Вы администратор!");
        } else player_ip = "0.0.0.0"; 
        mysql_format(dbHandle, query_, sizeof query_, "INSERT INTO `s_admin` (Name, level, LastCon, IP, LastIP) VALUES ('%s', '%d', '%s', '%d', '%s', '%s')",
            name, params[1], gettime(), player_ip, player_ip
        );
        mysql_tquery(dbHandle, query_, "", "");
        
    }
    cache_delete(result);
    format(string_, sizeof string_, "Вы установили %s %d уровень администрирования", name, params[1]);
    SendClientMessage(playerid, 0x6495EDFF, string_);
    return 1;
}
 
Сверху Снизу