закрыть диалог авторизации, если аккаунт заблокирован

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

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

Зарегистрироваться!
Пользователь
Регистрация
13 Июл 2024
Сообщения
30
здравствуйте, подскажите как убрать диалог авторизации, если аккаунт игрока заблокирован. я сейчас проверял, и вышло так:
sa-mp-107.png

аккаунт заблокирован, и при входе на него сразу кикает, но не показывает диалог блокировки, вместо диалога блокировки, вылезает диалог авторизации, как исправить?
 
Пользователь
Регистрация
13 Июл 2024
Сообщения
30
@Chief_Selectrum, сделать проверку на блокировку аккаунта при показе диалога авторизации/регистрации.
можно по подробнее? снизу код проверки блокировки
Pawn:
CB:check_banned(playerid)
{
    new rows;
    cache_get_row_count(rows);
    if(!rows) return 1;

    new NAME_ADMIN[24], NAME_PLAYER[24], BAN_REASON[32], UNBAN_DATA = 0;

    cache_get_value_index(0, 1, NAME_PLAYER, 24);
    cache_get_value_index(0, 2, NAME_ADMIN, 24);
    cache_get_value_index(0, 3, BAN_REASON, 24);
    cache_get_value_index_int(0, 4, UNBAN_DATA);
    if(UNBAN_DATA > gettime())
    {
        new date_ban[6];
        gmtime(UNBAN_DATA + 10800, date_ban[0], date_ban[1], date_ban[2], date_ban[3], date_ban[4], date_ban[5]);

        STRING_GLOBAL[0] = EOS;
        format(STRING_GLOBAL, sizeof(STRING_GLOBAL), ""W"Ваш игровой аккаунт:\t"NO"%s\n\
    "W"Разблокировка:\t\t"NO"%02d/%02d/%04d %02d:%02d:%02d\n\
    "W"Причина:"NO"\t\t\t%s\n\
    "W"Заблокировал:"NO"\t\t%s", NAME_PLAYER, date_ban[2], date_ban[1], date_ban[0], date_ban[3], date_ban[4], date_ban[5], BAN_REASON, NAME_ADMIN);
        ShowPlayerDialog(playerid, DIALOG_BAN, DSM, ""P"Этот аккаунт заблокирован", STRING_GLOBAL, "Закрыть", "");
        Kick(playerid);
        return 1;
    }
    else
    {

        MYSQL_GLOBAL[0] = EOS;
        mysql_format(connects, MYSQL_GLOBAL, sizeof(MYSQL_GLOBAL), "DELETE FROM `ban` WHERE `Name` = '%s' LIMIT 1", player_name[playerid]);
        mysql_tquery(connects, MYSQL_GLOBAL);
    }
    return 1;
}
 
Активный
Регистрация
20 Июл 2024
Сообщения
305
можно по подробнее? снизу код проверки блокировки
Pawn:
CB:check_banned(playerid)
{
    new rows;
    cache_get_row_count(rows);
    if(!rows) return 1;

    new NAME_ADMIN[24], NAME_PLAYER[24], BAN_REASON[32], UNBAN_DATA = 0;

    cache_get_value_index(0, 1, NAME_PLAYER, 24);
    cache_get_value_index(0, 2, NAME_ADMIN, 24);
    cache_get_value_index(0, 3, BAN_REASON, 24);
    cache_get_value_index_int(0, 4, UNBAN_DATA);
    if(UNBAN_DATA > gettime())
    {
        new date_ban[6];
        gmtime(UNBAN_DATA + 10800, date_ban[0], date_ban[1], date_ban[2], date_ban[3], date_ban[4], date_ban[5]);

        STRING_GLOBAL[0] = EOS;
        format(STRING_GLOBAL, sizeof(STRING_GLOBAL), ""W"Ваш игровой аккаунт:\t"NO"%s\n\
    "W"Разблокировка:\t\t"NO"%02d/%02d/%04d %02d:%02d:%02d\n\
    "W"Причина:"NO"\t\t\t%s\n\
    "W"Заблокировал:"NO"\t\t%s", NAME_PLAYER, date_ban[2], date_ban[1], date_ban[0], date_ban[3], date_ban[4], date_ban[5], BAN_REASON, NAME_ADMIN);
        ShowPlayerDialog(playerid, DIALOG_BAN, DSM, ""P"Этот аккаунт заблокирован", STRING_GLOBAL, "Закрыть", "");
        Kick(playerid);
        return 1;
    }
    else
    {

        MYSQL_GLOBAL[0] = EOS;
        mysql_format(connects, MYSQL_GLOBAL, sizeof(MYSQL_GLOBAL), "DELETE FROM `ban` WHERE `Name` = '%s' LIMIT 1", player_name[playerid]);
        mysql_tquery(connects, MYSQL_GLOBAL);
    }
    return 1;
}
Попробуй
Код:
CB:check_banned(playerid)
{
        new rows;
        cache_get_row_count(rows);
        if (!rows) return 1;

        new NAME_ADMIN[24], NAME_PLAYER[24], BAN_REASON[32], UNBAN_DATA = 0;

        cache_get_value_index(0, 1, NAME_PLAYER, 24);
        cache_get_value_index(0, 2, NAME_ADMIN, 24);
        cache_get_value_index(0, 3, BAN_REASON, 24);
        cache_get_value_index_int(0, 4, UNBAN_DATA);
        if (UNBAN_DATA > gettime())
        {
                new date_ban[6];
                gmtime(UNBAN_DATA + 10800, date_ban[0], date_ban[1], date_ban[2], date_ban[3], date_ban[4], date_ban[5]);

                STRING_GLOBAL[0] = EOS;
                format(STRING_GLOBAL, sizeof(STRING_GLOBAL), ""W"Ваш игровой аккаунт:\t"NO"%s\n\
        "W"Разблокировка:\t\t"NO"%02d/%02d/%04d %02d:%02d:%02d\n\
        "W"Причина:"NO"\t\t\t%s\n\
        "W"Заблокировал:"NO"\t\t%s", NAME_PLAYER, date_ban[2], date_ban[1], date_ban[0], date_ban[3], date_ban[4], date_ban[5], BAN_REASON, NAME_ADMIN);
                ShowPlayerDialog(playerid, DIALOG_BAN, DSM, ""P"Этот аккаунт заблокирован", STRING_GLOBAL, "Закрыть", "");
                Kick(playerid);
                return 1;
        }
        else
        {

                MYSQL_GLOBAL[0] = EOS;
                mysql_format(connects, MYSQL_GLOBAL, sizeof(MYSQL_GLOBAL), "DELETE FROM `ban` WHERE `Name` = '%s' LIMIT 1", player_name[playerid]);
                mysql_tquery(connects, MYSQL_GLOBAL);
        }
        return 1;
}
 
Активный
Регистрация
20 Июл 2024
Сообщения
305
1. Добавь код
Код:
CB:check_ip_ban(playerid)
{
        new rows, reason[35];
        cache_get_row_count(rows);
        if (rows)
        {
                cache_get_value_name(0, "reason", reason, 30);
                if (strlen(reason) == 0)
                {
                        STRING_GLOBAL[0] = EOS;
                        format(STRING_GLOBAL, sizeof(STRING_GLOBAL), "Ваш IP адрес заблокирован. Причина: Неизвестно", reason);
                        ErrorMessage(playerid, STRING_GLOBAL);
                }
                else
                {
                        STRING_GLOBAL[0] = EOS;
                        format(STRING_GLOBAL, sizeof(STRING_GLOBAL), "Ваш IP адрес заблокирован. Причина: %s", reason);
                        ErrorMessage(playerid, STRING_GLOBAL);
                }
                Kick(playerid);
        }
        else
        {
                MYSQL_GLOBAL[0] = EOS;
                mysql_format(connects, MYSQL_GLOBAL, sizeof(MYSQL_GLOBAL), "SELECT * FROM `"TABLE_BAN"` WHERE `Name` = '%e' LIMIT 1", player_name[playerid]);
                mysql_tquery(connects, MYSQL_GLOBAL, "check_banned", "i", playerid);
        }
}

2. У тебя есть таблица TABLE_BAN в бд?
 
Пользователь
Регистрация
13 Июл 2024
Сообщения
30
1. Добавь код
Код:
CB:check_ip_ban(playerid)
{
        new rows, reason[35];
        cache_get_row_count(rows);
        if (rows)
        {
                cache_get_value_name(0, "reason", reason, 30);
                if (strlen(reason) == 0)
                {
                        STRING_GLOBAL[0] = EOS;
                        format(STRING_GLOBAL, sizeof(STRING_GLOBAL), "Ваш IP адрес заблокирован. Причина: Неизвестно", reason);
                        ErrorMessage(playerid, STRING_GLOBAL);
                }
                else
                {
                        STRING_GLOBAL[0] = EOS;
                        format(STRING_GLOBAL, sizeof(STRING_GLOBAL), "Ваш IP адрес заблокирован. Причина: %s", reason);
                        ErrorMessage(playerid, STRING_GLOBAL);
                }
                Kick(playerid);
        }
        else
        {
                MYSQL_GLOBAL[0] = EOS;
                mysql_format(connects, MYSQL_GLOBAL, sizeof(MYSQL_GLOBAL), "SELECT * FROM `"TABLE_BAN"` WHERE `Name` = '%e' LIMIT 1", player_name[playerid]);
                mysql_tquery(connects, MYSQL_GLOBAL, "check_banned", "i", playerid);
        }
}

2. У тебя есть таблица TABLE_BAN в бд?
да, есть. кстати такой код уже был в моде, только я не понял, одинаковый или нет. вот посмотри который был:
Pawn:
CB:check_ip_ban(playerid)
{
    new rows, reason[35];
    cache_get_row_count(rows);
    if(rows)
    {
        cache_get_value_name(0, "reason", reason, 30);
        if(strlen(reason) == 0)
        {
            STRING_GLOBAL[0] = EOS;
            format(STRING_GLOBAL, sizeof(STRING_GLOBAL), "Âàø IP àäðåñ çàáëîêèðîâàí. Ïðè÷èíà: Íåèçâåñòíî", reason);
            ErrorMessage(playerid, STRING_GLOBAL);
        }
        else
        {
            STRING_GLOBAL[0] = EOS;
            format(STRING_GLOBAL, sizeof(STRING_GLOBAL), "Âàø IP àäðåñ çàáëîêèðîâàí. Ïðè÷èíà: %s", reason);
            ErrorMessage(playerid, STRING_GLOBAL);
        }
        Kick(playerid);
    }
    else
    {
        MYSQL_GLOBAL[0] = EOS;
        mysql_format(connects, MYSQL_GLOBAL, sizeof(MYSQL_GLOBAL), "SELECT * FROM `"TABLE_BAN"` WHERE `Name` = '%e' LIMIT 1", player_name[playerid]);
        mysql_tquery(connects, MYSQL_GLOBAL, "check_banned", "i", playerid);
    }
}
 
Активный
Регистрация
20 Июл 2024
Сообщения
305
да, есть. кстати такой код уже был в моде, только я не понял, одинаковый или нет. вот посмотри который был:
Pawn:
CB:check_ip_ban(playerid)
{
    new rows, reason[35];
    cache_get_row_count(rows);
    if(rows)
    {
        cache_get_value_name(0, "reason", reason, 30);
        if(strlen(reason) == 0)
        {
            STRING_GLOBAL[0] = EOS;
            format(STRING_GLOBAL, sizeof(STRING_GLOBAL), "Âàø IP àäðåñ çàáëîêèðîâàí. Ïðè÷èíà: Íåèçâåñòíî", reason);
            ErrorMessage(playerid, STRING_GLOBAL);
        }
        else
        {
            STRING_GLOBAL[0] = EOS;
            format(STRING_GLOBAL, sizeof(STRING_GLOBAL), "Âàø IP àäðåñ çàáëîêèðîâàí. Ïðè÷èíà: %s", reason);
            ErrorMessage(playerid, STRING_GLOBAL);
        }
        Kick(playerid);
    }
    else
    {
        MYSQL_GLOBAL[0] = EOS;
        mysql_format(connects, MYSQL_GLOBAL, sizeof(MYSQL_GLOBAL), "SELECT * FROM `"TABLE_BAN"` WHERE `Name` = '%e' LIMIT 1", player_name[playerid]);
        mysql_tquery(connects, MYSQL_GLOBAL, "check_banned", "i", playerid);
    }
}
Ошибку нашел видимо, у тебя если в pawno такая арабская вязь есть на русский меняй, а код да видимо одинаковый1722804912179.png
 
𝚖𝚘𝚛𝚜 𝚌𝚎𝚛𝚝𝚊, 𝚑𝚘𝚛𝚊 𝚒𝚗𝚌𝚎𝚛𝚝𝚊.
Команда форума
Администратор
Регистрация
21 Янв 2023
Сообщения
1,290
Активный
Регистрация
20 Июл 2024
Сообщения
305
Так как игрок узнает что у него аккаунт заблокирован если он не авторизуется ?
ну как минимум если банят в онлайне то пишется что забанен, а я бы еа месие Chief переписал бы код на другой, найти можно
 
Пользователь
Регистрация
13 Июл 2024
Сообщения
30
ну как минимум если банят в онлайне то пишется что забанен, а я бы еа месие Chief переписал бы код на другой, найти можно
я ничего не нашел, весь интернет уже перерыл
 
Пользователь
Регистрация
13 Июл 2024
Сообщения
30
𝚖𝚘𝚛𝚜 𝚌𝚎𝚛𝚝𝚊, 𝚑𝚘𝚛𝚊 𝚒𝚗𝚌𝚎𝚛𝚝𝚊.
Команда форума
Администратор
Регистрация
21 Янв 2023
Сообщения
1,290
Активный
Регистрация
20 Июл 2024
Сообщения
305
Сверху