Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 10 из 12
  1. #1
    Аватар для Dima_Tushin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.04.2013
    Адрес
    Россия
    Сообщений
    154
    Репутация:
    1 ±

    Ошибка с паролем

    Добрый день делаю сервер и столкнулся с проблемой с вводом пароля вводишь любой пароль от любово аккаунта и ты ввошел даже если пароль не правильный все ровно войдешь. Помогите пжл

    Код:

    public OnPlayerConnect(playerid)

    PHP код:
        format(mysql_logssizeof(mysql_logs), "SELECT `pName` FROM `akk` WHERE `pName` = '%s'"PlayerInfo[playerid][pName]);
        
    mysql_function_query(MYSQLmysql_logstrue"OnPlayerRegistr""i"playerid); 
    PHP код:
    public OnPlayerRegistr(playeridinputtext[])
    {
        new 
    rd;
        new 
    reg[190+MAX_PLAYER_NAME-2];
        
    cache_get_data(rd);
        
    TogglePlayerControllable(playeridfalse);
        
    SendClientMessage(playeridCOLOR_YELLOW"Добро пожаловать на Role Play сервер");
        if(
    r)
        {
            
    format(regsizeof(reg), "{C5C5C5}_____________________________________\n\nДобро пожаловать на RolePlay сервер\n\nВаш аккаунт зарегистрирован\n\nЛогин: {00FF08}%s{C5C5C5}\nВведите пароль:\n\n_____________________________________"PlayerInfo[playerid][pName]);
            
    ShowPlayerDialog(playerid1DIALOG_STYLE_PASSWORD"Авторизация"reg"Готово""Отмена");
        }
        else
        {
            
    format(regsizeof(reg), "{C5C5C5}_____________________________________\n\nДобро пожаловать на RolePlay сервер\n\nРегистрация нового персонажа\n\nЛогин: {FF0000}%s{C5C5C5}\nВведите пароль:\n\n_____________________________________"PlayerInfo[playerid][pName]);
            
    ShowPlayerDialog(playerid2DIALOG_STYLE_INPUT"Регистрация"reg"Далее""Отмена");
        }
        return 
    1;

    Dialogи

    PHP код:
        case 1://Авторизация
            
    {
                if(
    response)
                {
                    if(!
    strlen(inputtext))
                    {
                        new 
    reg[190+MAX_PLAYER_NAME-2];
                        
    format(regsizeof(reg), "{C5C5C5}_____________________________________\n\nДобро пожаловать на RolePlay сервер\n\nВаш аккаунт зарегистрирован\n\nЛогин: {00FF08}%s{C5C5C5}\nВведите пароль:\n\n_____________________________________"PlayerInfo[playerid][pName]);
                        
    ShowPlayerDialog(playerid1DIALOG_STYLE_PASSWORD"Авторизация"reg"Готово""Отмена");
                        return 
    1;
                    }
                    if(
    strlen(inputtext) < || strlen(inputtext) > 16) return ShowPlayerDialog(playerid1DIALOG_STYLE_MSGBOX"Ошибка""Введеный вами пароль слишком коротк\nПароль должен состоять от 6 до 16 символов.\nА так же должен состоять из букв и цифр""Повторить""");
                    for(new 
    strlen(inputtext)-1!= -1i--)
                    {
                        switch(
    inputtext[i])
                        {
                        case 
    '0'..'9''а'..'я''a'..'z''А'..'Я''A'..'Z': continue;
                        default: return 
    ShowPlayerDialog(playerid1DIALOG_STYLE_MSGBOX"Ошибка""Введеный вами пароль содержит русские буквы или не допустимые символы.\nПереключите расскладку на клавиатуре и введите еще раз пароль.""Повтор""");
                        }
                    }
                    if(!
    strcmp(PlayerInfo[playerid][pPassword], inputtext))
                    {
                        
    format(mysql_logssizeof(mysql_logs), "SELECT * FROM `akk` WHERE `pName` = '%s'"PlayerInfo[playerid][pName]);
                        
    mysql_function_query(MYSQLmysql_logsfalse"OnPlayerLogin""i"playerid);
                    }
                    else
                    {
                        switch(
    GetPVarInt(playerid"ERRORPASS"))
                        {
                        case 
    0ShowPlayerDialog(playerid1DIALOG_STYLE_MSGBOX"Ошибка""Вы ввели не правильный пароль.\nОсталось попыток 3""Повтор""Отмена");
                        case 
    1ShowPlayerDialog(playerid1DIALOG_STYLE_MSGBOX"Ошибка""Вы ввели не правильный пароль.\nОсталось попыток 2""Повтор""Отмена");
                        case 
    2ShowPlayerDialog(playerid1DIALOG_STYLE_MSGBOX"Ошибка""Вы ввели не правильный пароль.\nОсталось попыток 1""Повтор""Отмена");
                        case 
    3:
                            {
                                
    ShowPlayerDialog(playerid1DIALOG_STYLE_MSGBOX"Ошибка""Вы ввели не правильный пароль.\nВы были кикнуты с сервера""Закрыть""");
                                return 
    1;
                            }
                        }
                        
    SetPVarInt(playerid"ERRORPASS"GetPVarInt(playerid"ERRORPASS") +1);
                    }
                    return 
    1;
                }
                else
                {
                    
    SendClientMessage(playeridCOLOR_LIGHTRED"Для выхода из игры используйте /q(uit)");
                    
    SetTimerEx("Kicks"1000false"d"playerid);
                    return 
    1;
                }
            } 
    PHP код:
    forward OnPlayerLogin(playerid);
    public 
    OnPlayerLogin(playerid)
    {
        
    cache_get_field_content(0"pPassword"maximum), strmid(PlayerInfo[playerid][pPassword], maximum0strlen(maximum), 20);
        
    cache_get_field_content(0"pLevel"maximum), PlayerInfo[playerid][pLevel] = strval(maximum);
        
    cache_get_field_content(0"pJob"maximum), PlayerInfo[playerid][pJob] = strval(maximum);
        
    cache_get_field_content(0"pSkin"maximum), PlayerInfo[playerid][pSkin] = strval(maximum);
        
    SpawnPlayer(playerid);
        return 
    1;

    Помогите пжл

  2. #2
    Аватар для Desulaid
    лесоруб продакшен

    Статус
    Оффлайн
    Регистрация
    15.03.2015
    Адрес
    Slobodskoy
    Сообщений
    667
    Репутация:
    236 ±
    Перед авторизацией стоит загружать пароль и только потом сравнивать. А то выходит так, что ты хочешь загрузить пароль после авторизации игрока.

  3. Пользователь сказал cпасибо:
    Dima_Tushin (12.08.2016)
  4. #3
    Аватар для Skull
    Пользователь

    Статус
    Оффлайн
    Регистрация
    18.07.2016
    Сообщений
    17
    Репутация:
    3 ±
    PHP код:
    public OnPlayerRegistr(playeridinputtext[]) 

        new 
    rd
        new 
    reg[190+MAX_PLAYER_NAME-2]; 
        
    cache_get_data(rd); 
        
    TogglePlayerControllable(playeridfalse); 
        
    SendClientMessage(playeridCOLOR_YELLOW"Добро пожаловать на Role Play сервер"); 
        if(
    r
        { 
            
    format(regsizeof(reg), "{C5C5C5}_____________________________________\n\nДобро пожаловать на RolePlay сервер\n\nВаш аккаунт зарегистрирован\n\nЛогин: {00FF08}%s{C5C5C5}\nВведите пароль:\n\n_____________________________________"PlayerInfo[playerid][pName]); 
            
    ShowPlayerDialog(playerid1DIALOG_STYLE_PASSWORD"Авторизация"reg"Готово""Отмена"); 
            
    cache_get_field_content(0"pPassword"maximum), strmid(PlayerInfo[playerid][pPassword], maximum0strlen(maximum), 20); 
        } 
        else 
        { 
            
    format(regsizeof(reg), "{C5C5C5}_____________________________________\n\nДобро пожаловать на RolePlay сервер\n\nРегистрация нового персонажа\n\nЛогин: {FF0000}%s{C5C5C5}\nВведите пароль:\n\n_____________________________________"PlayerInfo[playerid][pName]); 
            
    ShowPlayerDialog(playerid2DIALOG_STYLE_INPUT"Регистрация"reg"Далее""Отмена"); 
        } 
        return 
    1

    PHP код:
    forward OnPlayerLogin(playerid); 
    public 
    OnPlayerLogin(playerid

        
    cache_get_field_content(0"pLevel"maximum), PlayerInfo[playerid][pLevel] = strval(maximum); 
        
    cache_get_field_content(0"pJob"maximum), PlayerInfo[playerid][pJob] = strval(maximum); 
        
    cache_get_field_content(0"pSkin"maximum), PlayerInfo[playerid][pSkin] = strval(maximum); 
        
    SpawnPlayer(playerid); 
        return 
    1


  5. Пользователь сказал cпасибо:
    Dima_Tushin (12.08.2016)
  6. #4
    Аватар для Dima_Tushin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.04.2013
    Адрес
    Россия
    Сообщений
    154
    Репутация:
    1 ±
    Сейчас попробую.

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

    Статус
    Оффлайн
    Регистрация
    21.04.2013
    Адрес
    Россия
    Сообщений
    154
    Репутация:
    1 ±
    Ошибка выходит.

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

    Статус
    Оффлайн
    Регистрация
    18.07.2016
    Сообщений
    17
    Репутация:
    3 ±
    Какая ошибка?

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

    Если ругается на maximum, что она не объявлена, так объяви её.

  9. #7
    Аватар для Dima_Tushin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.04.2013
    Адрес
    Россия
    Сообщений
    154
    Репутация:
    1 ±
    Да причем тут maximum на MysqL ругается

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

    мне кажется можно и по другому сделать!

  10. #8
    Аватар для TheMallard
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.12.2015
    Адрес
    San Fierro
    Сообщений
    217
    Репутация:
    39 ±
    Вывод компилятора в студию!

  11. #9
    Аватар для Skull
    Пользователь

    Статус
    Оффлайн
    Регистрация
    18.07.2016
    Сообщений
    17
    Репутация:
    3 ±
    Экстрасенсов тут нет, поэтому может уже скинешь код ошибки.

  12. #10
    Аватар для Dima_Tushin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.04.2013
    Адрес
    Россия
    Сообщений
    154
    Репутация:
    1 ±
    Авторизация
    MYSQL_LOG:

    PHP код:
    [14:33:29] [WARNINGCMySQLResult::GetRowDataByName field not found ("pPassword"

 

 
Страница 1 из 2 1 2 ПоследняяПоследняя

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

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

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

Ваши права

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