Sergey_Malfoy
Умник
Приветствую. При написании системы авторизации столкнулся с проблемой, что без разницы, правильный пароль был введён или нет, всё равно игрок успешно авторизуется. Если не сложно, тыкните меня, буду благодарен. Вообще мне по душе обычные переменные, хотелось бы ими как-то заменить pVar`ы..
PHP:
if(!strcmp(PlayerInfo[playerid][pPassword], inputtext))
{
new query_string[49+MAX_PLAYER_NAME];
format(query_string, sizeof(query_string), "SELECT * FROM `accounts` WHERE `pName` = '%s'", PlayerInfo[playerid][pName]);
mysql_tquery(dbHandle, query_string, "UploadPlayerAccount","i", playerid);
}
else
{
string[0] = EOS;
switch(GetPVarInt(playerid, "WrongPassword"))
{
case 0:
{
format(string, 324, "{FFFFFF}Приветствуем {FE2C55}%s{FFFFFF} на сервере!\nВаш ник уже зарегистрирован.\nПожалуйста, введите в поле ниже ваш {25F4EE}текущий пароль{FFFFFF}.\n\n{FF0000}[Ошибка]{FFFFFF} Введён неверный пароль!\nОсталось попыток: {FE2C55}2{FFFFFF}.", Name[playerid]);
SPD(playerid, 6, DIALOG_STYLE_PASSWORD, "Авторизация • Ввод пароля", string,"Вход","Выход");
}
case 1:
{
format(string, 324, "{FFFFFF}Приветствуем {FE2C55}%s{FFFFFF} на сервере!\nВаш ник уже зарегистрирован.\nПожалуйста, введите в поле ниже ваш {25F4EE}текущий пароль{FFFFFF}.\n\n{FF0000}[Ошибка]{FFFFFF} Введён неверный пароль!\nОсталось попыток: {FE2C55}1{FFFFFF}.", Name[playerid]);
SPD(playerid, 6, DIALOG_STYLE_PASSWORD, "Авторизация • Ввод пароля", string,"Вход","Выход");
}
case 2:
{
format(string, 324, "{FFFFFF}Приветствуем {FE2C55}%s{FFFFFF} на сервере!\nВаш ник уже зарегистрирован.\nПожалуйста, введите в поле ниже ваш {25F4EE}текущий пароль{FFFFFF}.\n\n{FF0000}[Ошибка]{FFFFFF} Введён неверный пароль!\nОсталась {FE2C55}ПОСЛЕДНЯЯ ПОПЫТКА{FFFFFF}.", Name[playerid]);
SPD(playerid, 6, DIALOG_STYLE_PASSWORD, "Авторизация • Ввод пароля", string,"Вход","Выход");
}
default:
{
SPD(playerid, 0000, DIALOG_STYLE_MSGBOX, "{FFFFFF}Авторизация • Ввод пароля", "{FFFFFF}Вы были кикнуты с сервера.\n{FE2C55}Причина: Превышен лимит попыток на ввод пароля.\n{FFFFFF}Для выхода с сервера введите '{FE2C55}/q{FFFFFF}' в чат.", "Выход", "");
SetTimerEx("KickedPlayerRegistration", 2000, 0, "i", playerid);
}
}
SetPVarInt(playerid, "WrongPassword", GetPVarInt(playerid, "WrongPassword")+1);
}
return 1;
