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

Баг с рефералом в моде

gggtttiii

Новичок
здравствуйте! Пишу мод по видео и при вводе реферала рп ником пишет Корректно введите NickName!
А когда пишу цифры пишет такого аккаунта не существует! Помогите)

Код :

Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid)
    {
        case DLG_REG:
        {
            if(response)
            {
                if(!strlen(inputtext))
                {
                    ShowRegistration(playerid);
                    return SCM(playerid, COLOR_RED, "[Внимание!] {00FF00}Введите пароль ниже и нажмите кнопку | Далее | !");
                }
                if(strlen(inputtext) < 6 || strlen(inputtext) > 32)
                {
                    ShowRegistration(playerid);
                    return SCM(playerid, COLOR_RED, "[Внимание] {00FF00}Длина пароля должна быть от 6-ти до 32-ух символов!");
                }
                new regex:rg_passwordcheck = regex_new("^[a-zA-Z0-9]{1,}$");
                if(regex_check(inputtext, rg_passwordcheck))
                {
                    strmid(player_info[playerid][PASSWORD], inputtext, 0, strlen(inputtext), 32);
                    SPD(playerid, DLG_REGEMAIL, DIALOG_STYLE_INPUT, "{FFA500} Регистрация! • {FFFFFF}Ввод EMAIL",
                        "{FFFFFF}Введите свой настоящий Email адрес!\n\
                        При утере аккаунта вы сможете восстановить свой аккаунт через свою почту!\n\
                        Затем нажмите кнопку | Далее | !",
                    "Далее", "Выход");
                }
                else
                {
                    ShowRegistration(playerid);
                    return SCM(playerid, COLOR_RED, "[Внимание] {00FF00}Пароль должен быть составлен из пароля от 6-ти до 32-ух цифр и букв латинского регистра!");
                }
                regex_delete(rg_passwordcheck);
            }
            else
            {
                SCM(playerid, COLOR_RED, "Используйте /q для выхода из игры!");
                SPD(playerid, -1, 0, " ", " ", " ", "");
                return Kick(playerid);
            }
        }
        case DLG_REGEMAIL:
        {
            if(!strlen(inputtext))
             {
                    SPD(playerid, DLG_REGEMAIL, DIALOG_STYLE_INPUT, "{FFA500} Регистрация! • {FFFFFF}Ввод EMAIL",
                    "{FFFFFF}Введите свой настоящий Email адрес!\n\
                    При утере аккаунта вы сможете восстановить свой аккаунт через свою почту!\n\
                    \t\tЗатем нажмите кнопку | Далее | !",
                "Далее", "Выход");
                return SCM(playerid, COLOR_RED, "[Внимание!] {00FF00}Введите ваш Email ниже и нажмите кнопку | Далее | !");
             }
             new regex:rg_emailcheck = regex_new("^[a-zA-Z0-9._-]{1,43}@[a-zA-Z]{1,12}.[a-zA-Z]{1,8}$");
             if(regex_check(inputtext, rg_emailcheck))
             {
                 strmid(player_info[playerid][EMAIL], inputtext, 0, strlen(inputtext), 64);
                 SPD(playerid, DLG_REGREF, DIALOG_STYLE_INPUT, "{FFA500} Регистрация! • {FFFFFF}Реферал",
                 "{FFFFFF} Если у вас есть NickName пригласившего вас на сервер\n\
                 То введите его в поле ниже в формате : Nick_Name",
                 "Далее", "Пропустить");
             }
             else
            {
                  SPD(playerid, DLG_REGEMAIL, DIALOG_STYLE_INPUT, "{FFA500} Регистрация! • {FFFFFF}Ввод EMAIL",
                    "{FFFFFF}Введите свой настоящий Email адрес!\n\
                    При утере аккаунта вы сможете восстановить свой аккаунт через свою почту!\n\
                    \t\tЗатем нажмите кнопку | Далее | !",
                "Далее", "Выход");
                return SCM(playerid, COLOR_RED, "[Внимание!] {00FF00}Введите правильно ваш Email адрес");
            }
            regex_delete(rg_emailcheck);
        }
        case DLG_REGREF:
        {
            if(response)
            {
                new regex:rg_refcheck = regex_new("^[a-zA-Z0-9]{4,24}$");
                if(regex_check(inputtext, rg_refcheck))
                {
                    static const fmt_query[] = "SELECT * FROM `users` WHERE `name` = '%s'";
                    new query[sizeof(fmt_query)+(-2+MAX_PLAYER_NAME)];
                    format(query, sizeof(query), fmt_query,    inputtext);
                    mysql_tquery(dbHandle, query, "CheckReferal", "is", playerid, inputtext);
                }
                else
                {
                    SPD(playerid, DLG_REGREF, DIALOG_STYLE_INPUT, "{FFA500} Регистрация! • {FFFFFF}Реферал",
                         "{FFFFFF} Если у вас есть NickName пригласившего вас на сервер\n\
                         То введите его в поле ниже в формате : Nick_Name",
                     "Далее", "Пропустить");
                    return SCM(playerid, COLOR_RED, "[Внимание] {00FF00}Корректно введите ник игрока пргласившего вас!");
                }
                regex_delete(rg_refcheck);
            }
            else//пропустить
            {
            }
        }
    }
    return 1;
}

forward CheckReferal(playerid, referal[]);
public CheckReferal(playerid, referal[])
{
    new rows;
    cache_get_row_count(rows);
    if(rows)
    {
        new refid;
        cache_get_value_name_int(0, "id", refid);
        player_info[playerid][REF] = refid;
        SCM(playerid, COLOR_WHITE, "dfdfd");
    }
    else
    {
        SPD(playerid, DLG_REGREF, DIALOG_STYLE_INPUT, "{FFA500} Регистрация! • {FFFFFF}Реферал",
            "{FFFFFF} Если у вас есть NickName пригласившего вас на сервер\n\
              То введите его в поле ниже в формате : Nick_Name",
         "Далее", "Пропустить");
          return SCM(playerid, COLOR_RED, "[Внимание] {00FF00}Аккаунта с таким ником не существует!");
    }
    return 1;
}
 
Сверху Снизу