Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 7 из 7
  1. #1
    Аватар для Mike World
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.01.2018
    Сообщений
    31
    Репутация:
    0 ±

    Что с регой не так?

    PHP код:
    if(!response)
                {
                    
    SendClientMessage(playerid, -1, !"{"c_no"}Вы были кикнуты с сервера. Причина: отмена регистрации!");
                    return 
    Kickk(playerid);
                }
                  else if(!
    strlen(inputtext))
                {
                    
    SendClientMessage(playerid, -1, !"{"c_red"}Проверьте правильность ввода пароля! Пароль должен состоять от 6 до 32 символов!");
                     return 
    connect_dialog(playeriddRegPass);
                }
                else if(
    strlen(inputtext) < || strlen(inputtext) > 32)
                {
                     
    SendClientMessage(playerid, -1, !"{"c_red"}Проверьте правильность ввода пароля! Пароль должен состоять от 6 до 32 символов!");
                     return 
    connect_dialog(playeriddRegPass);
                }
                for(new 
    strlen(inputtext)-1!= -1x--)
                {
                    switch(
    inputtext[x])
                    {
                        case 
    '0' .. '9''a' .. 'z''A' .. 'Z': continue; // если данные символы будут, то продолжаем регу
                        
    default:
                        {
                            
    SendClientMessage(playeridCOLOR_GREY, !"Пароль должен содержать только английские символы!");
                            return 
    connect_dialog(playeriddRegPass);
                        }
                    }
                }
                
    strmid(pData[playerid][pPass], inputtext0strlen(inputtext), 32);
                
    connect_dialog(playeriddRegMail); 
    В регистрации проверки не работают, они как бы в коде есть, но даже если поле пустым оставлю, все равно пропускает, хелп)
    I love box, thank you my coach ...

  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Во-первых, зачем тебе эта проверка
    PHP код:
     else if(!strlen(inputtext)) 
                { 
                    
    SendClientMessage(playerid, -1, !"{"c_red"}Проверьте правильность ввода пароля! Пароль должен состоять от 6 до 32 символов!"); 
                     return 
    connect_dialog(playeriddRegPass); 
                } 
    Если дальше у тебя есть условие
    PHP код:
    else if(strlen(inputtext) < 
    Во-вторых,
    PHP код:
    if(!response

        
    SendClientMessage(playerid, -1, !"{"c_no"}Вы были кикнуты с сервера. Причина: отмена регистрации!"); 
        return 
    Kickk(playerid); 

    new 
    len strlen(inputtext);
    if(
    len || len 32

         
    SendClientMessage(playerid, -1, !"{"c_red"}Проверьте правильность ввода пароля! Пароль должен состоять от 6 до 32 символов!"); 
         return 
    connect_dialog(playeriddRegPass); 

    for(new 
    len-1!= -1x--) 

        switch(
    inputtext[x]) 
        { 
            case 
    '0' .. '9''a' .. 'z''A' .. 'Z': continue; // если данные символы будут, то продолжаем регу 
            
    default: 
            { 
                
    SendClientMessage(playeridCOLOR_GREY, !"Пароль должен содержать только английские символы!"); 
                return 
    connect_dialog(playeriddRegPass); 
            } 
        } 

    printf("\n\n\n|%d|%s|"leninputtext);
    strmid(pData[playerid][pPass], inputtext0len32); 
    connect_dialog(playeriddRegMail); 
    И логи после ввода пароля сюда
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  3. #3
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Я бы проверял пустоту через isnull (макрос, который есть в MySQL от BlueG и во всех "именитых" командных процессорах)

    P.S: У тебя не сработает условие. Ибо, else if срабатывает, если не сработало выше стоящие условие.
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

  4. #4
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от $continue$ Посмотреть сообщение
    Я бы проверял пустоту через isnull (макрос, который есть в MySQL от BlueG и во всех "именитых" командных процессорах)
    Не очень логично, если есть ограничение не в 0 символов, а в 6.


    Цитата Сообщение от $continue$ Посмотреть сообщение
    P.S: У тебя не сработает условие. Ибо, else if срабатывает, если не сработало выше стоящие условие.
    Ну так а что там не срабатывает-то?
    PHP код:
    if(!response)// Не сработает, ибо игрок нажал на левую кнопку, следовательно, проверяется "else if" 
    Набор
    PHP код:
    stock SomeFunc()
    {
        if(...)
        {
           
        }
        else if(...)
        {
            
        }
        if(...)
        {
           
        }
        if(...)
        {
           
        }
        return 
    1;

    идентичен
    PHP код:
    stock SomeFunc()
    {
        if(...)
        {
            return 
    1;
        }
        if(...)
        {
            return 
    1;
        }
        if(...)
        {
            return 
    1;
        }
        if(...)
        {
            return 
    1;
        }

    В обоих случаях мы указываем, что сработать должно только одно значение. Просто в первом случае подразумевается, что после блока с условием будет ещё другой код перед return, а во втором так уже не получится сделать
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  5. #5
    Аватар для Mike World
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.01.2018
    Сообщений
    31
    Репутация:
    0 ±
    а как isnull юзать?)

    - - - Добавлено - - -

    логи чистые и warning выбивает:
    PHP код:
    warning 217loose indentation
    string
    : new len strlen(inputtext); 
    I love box, thank you my coach ...

  6. #6
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    И почему же? Смысл ограничивать в минимальном размере пароль? (максимальный понятно зачем, а минимальный - не вижу смысла).
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Не очень логично, если есть ограничение не в 0 символов, а в 6.

    С условиями: небольшой фейл, торопился ответить...
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

  7. #7
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от $continue$ Посмотреть сообщение
    И почему же? Смысл ограничивать в минимальном размере пароль? (максимальный понятно зачем, а минимальный - не вижу смысла).
    Для того же, для чего некоторые сервисы запрещают в качестве пароля ставить простые наборы символов, типа: "123", "11111" и т.п.
    Всё сугубо ради того, чтоб пользователь ставил более сложные пароли, которые было бы сложнее подобрать

    - - - Добавлено - - -

    Цитата Сообщение от Mike World Посмотреть сообщение
    а как isnull юзать?)

    - - - Добавлено - - -

    логи чистые и warning выбивает:
    PHP код:
    warning 217loose indentation
    string
    : new len strlen(inputtext); 
    Ну так выровняй код и варнинг пропадёт.

    Показывай как вызываешь диалог. Судя по всему, ты просто не тот ID указал при вызове, какой пытаешься отловить в OnDialogResponse
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •