• 0
SashaCrazzy

[закрыто] Не работает авторизация в админа

Вопросы

Пробовал по уроку с интернета создать систему авторизации в админа. Написал код, написал в базу данных захешированый пароль но при входе на сервере пишет что пароль не правильный. В павно никаких ошибок не выдает.

Спойлер

//--Àâòîðèçàöèÿ àäìèíà--

DialogCreate:AdminLoginText(playerid)
{
    new string[100 + MAX_PLAYER_NAME];
    format(string, sizeof string, Player[playerid][P_NAME]);
    Dialog_Open(playerid, "AdminLogin", DIALOG_STYLE_PASSWORD, "Àâòîðèçàöèÿ êàê àäìèí""{FFFFFF}\
        Ââåäèòå ñâîé àäìèí ïàðîëü:\
    ""Äàëåå""Âûõîä");
    return 1;
}

DialogResponse:AdminLogin(playerid, response, listitem, inputtext[])
{
    if(!response) return 0;
    new string[150];
    SHA256_PassHash(inputtext, "nwr-admin", string, 64);
    mysql_format(connect, string, sizeof string, "\
        SELECT 1 FROM `users` WHERE `id`='%d' AND `adm_pass`='%s'\
    ", Player[playerid][P_ID], string);
    new Cache:cache = mysql_query(connect, string);
    if(cache_get_row_count(connect) <= 0) {
        new count = GetPVarInt(playerid, "AdmPasswordCount");
        count++;
        if(count >= 3) {
            SendClientMessage(playerid, 0xFF0000FF"Âû ïîòðàòèëè âñå ïîïûòêè íà ââîä ïàðîëÿ!");
            return KickEx(playerid);
        }
        format(string, sizeof string, "Ïàðîëü ââåäåí íå ïðàâèëüíî. Ïîòðà÷åíî %d èç 3 ïîïûòîê!"3 - count);
        SendClientMessage(playerid, 0xFF0000FF, string);
        SetPVarInt(playerid, "AdmPasswordCount", count);
        Dialog_Show(playerid, "AdminLoginText");
        return cache_delete(cache);
    }
    cache_delete(cache);
    PlayerAdminLogin{playerid} = 1;
    format(string, sizeof string, "Âû íà÷àëè äåæóðñòâî êàê àäìèíèñòðàòîð %d óðîâíÿ", Player[playerid][P_ADM_LVL]);
    SendClientMessage(playerid, 0xFF0000FF, string);
    format(string, sizeof string, "Àäìèíèñòðàòîð %s %d óðîâíÿ âûøåë íà äåæóðñòâî", Player[playerid][P_NAME], Player[playerid][P_ADM_LVL]);
    SendAdminMessage(0xFF0000FF, string);
    return 1;
}

 

 

Отредактировано пользователем _bogdan_

Заметка от _bogdan_ , создано

3.2. Код больше 10 строк необходимо брать в теги "Код" и "Спойлер". Как это сделать рассказано в разделе "FAQ".

Устное предупреждение.

Поделиться сообщением


Ссылка на сообщение

0 ответов на этот вопрос

Ответы на этот вопрос пока отсутствуют

Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Sten Developer
      От Sten Developer
      Объясню всю ситуацию, пишу систему смерти игрока но она не работает. Решил по приколу написать туда обычный вывод текста SCM(playerid, COLOR_RED, "Вы умерли");
      Но однако после смерти текст не выводиться. Не работает абсолютно все. Кто знает как решить эту проблему?
       
    • Fpfe
      От Fpfe
      Я не могу понять в чем ошибка помогите пожалуйста
      C:\Users\Deze{s\Desktop\arzdd\gamemodes\arizonarp.pwn(50864) : error 037: invalid string (possibly non-terminated string)
      Pawn compiler 3.10.8              Copyright (c) 1997-2006, ITB CompuPhase

      1 Error.
       
      Уже почитал Что в этой строке мне просто нужно было 2 запятые поставить,Кто первый ответит тому положительный оставлю