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

    Статус
    Оффлайн
    Регистрация
    01.06.2014
    Адрес
    Rostov-on-Don
    Сообщений
    119
    Репутация:
    14 ±

    Неверно присваивается значение переменной

    Такая проблема.При подключение к серверу,переменной присваивается ник игрока:
    PHP код:
    GetPlayerName(playeridacInfo[playerid][acName],MAX_PLAYER_NAME); 
    Далее происходит регистрация аккаунта.
    Проблема в том,что в acInfo[playerid][acName] записывается часть ника,а дальше хэш пароля.

    PHP код:
    SHA256_PassHash(inputtextsaltacInfo[playerid][acPassword], MAX_PASSWORD_LEN); 
    Как они вообще пересекаются?!

    Ник в бд:
    PHP код:
    Luke_B73ADB44DF4B777F1643 
    Пароль в бд:
    PHP код:
    73ADB44DF4B777F16437D876A23CED55FB593282D25D5D9F0D409795B9F572 
    В коде больше не где не происходит какое-нибудь присвоение acInfo[playerid][acName]

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

    Провел тест,глупый,но зато работает
    PHP код:
    new str[25];
    format(str,25,"%s",acInfo[playerid][acName]);
    SendClientMessage(playerid, -1str);//Нормально выводит ник
    SHA256_PassHash(inputtextsaltacInfo[playerid][acPassword], MAX_PASSWORD_LEN);
    format(str,25,"%s",acInfo[playerid][acName]);
    SendClientMessage(playerid, -1str);//Выводится часть ника + часть хэша пароля. КАК?! 

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

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Регу в студию

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

    Статус
    Оффлайн
    Регистрация
    01.06.2014
    Адрес
    Rostov-on-Don
    Сообщений
    119
    Репутация:
    14 ±
    Я нашел в чем причина,прошу вас объяснить мне с какого перепуга SHA256_PassHash лезет в переменные другие

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

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Ну не хочешь показывать регистрацию, могу только предположить:
    PHP код:
    new str[25];
    format(strsizeof(str),"%s",acInfo[playerid][acName]);
    SendClientMessage(playerid, -1str);//Нормально выводит ник
    SHA256_PassHash(inputtextsaltacInfo[playerid][acPassword], MAX_PASSWORD_LEN);
    str[0] = EOS// EOS == "\0"
    format(strsizeof(str), "%s",acInfo[playerid][acName]);
    SendClientMessage(playerid, -1str);//Выводится часть ника + часть хэша пароля. КАК?! 
    Хотя - это может и для тестов, но зачем юзать форматирование строки?
    Как то так - пишу от спешки (Надо отойти от компьютера)
    PHP код:
    new str[25];
    strins(stracInfo[playerid][acName], 0);
    SendClientMessage(playerid, -1str);//Нормально выводит ник
    SHA256_PassHash(inputtextsaltacInfo[playerid][acPassword], MAX_PASSWORD_LEN);
    SendClientMessage(playerid, -1str);//Выводится часть ника + часть хэша пароля. КАК?! 

  5. #5
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2590 ±
    Цитата Сообщение от #ball Посмотреть сообщение
    Я нашел в чем причина,прошу вас объяснить мне с какого перепуга SHA256_PassHash лезет в переменные другие
    Думаете, тут кто-то знает, как вы объявили массив acInfo (а самое главное, используемый в нём enum)?
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  6. Пользователь сказал cпасибо:
    $continue$ (28.08.2015)
 

 

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

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

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

Ваши права

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