• 0
SashaCrazzy

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

Question

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

Спойлер

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

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;
}

 

 

Edited by _bogdan_

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

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

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

Share this post


Link to post

0 answers to this question

There have been no answers to this question yet

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Roman_venum
      By Roman_venum
      Ошибки в консоле после подключения базы
       
    • Hero_Black228
      By Hero_Black228
      Здравствуйте, хотел бы задать вопрос. Я имею на руках мод Tape RP, и во время проверки автосалона, я покупал авто и оно после покупки появилось в ЛВ, когда автосалон был в ЛС. Так же и с лодками, покупаю и лодка появляется в автосалоне ЛС. Как мне это исправить?