Sorus
Ученик
Вообщем, я сделал код попыток входа при авторизации, и получаеться когда ввожу пароль от аккаунта, то пишит что типа неверный пароль, а когда любой другой левый - то заходит.
}
case DLG_LOG:
{
if(response)
{
new checkpass[17];
SHA256_PassHash(inputtext, PlayerInfo[playerid][SALT], checkpass, 17);
if(!strcmp(PlayerInfo[playerid][PASSWORD], checkpass, false, 16) == 0)
{
static const fmt_query[] = "SELECT * FROM `accounts` WHERE `name` = '%s' AND `password` = '%s'";
new query[sizeof(fmt_query)+(-2+MAX_PLAYER_NAME)+(-2+16)+(-2+10)+(-2+16)];
format(query, sizeof(query), fmt_query, PlayerInfo[playerid][NAME], PlayerInfo[playerid][PASSWORD]);
mysql_tquery(dbHandle, query, "PlayerLogin", "i", playerid);
}
else
{
new string[87];
if(GetPVarInt(playerid, "WrongPassword") > 0)
{
format(string, sizeof(string), "{109ae8}[Ошибка] {FFFFFF}Вы ввели неверный пароль, осталось {109ae8}%d{FFFFFF} попытки."));
SCM(playerid, COLOR_WHITE, string);
}
if(GetPVarInt(playerid, "WrongPassword") == 0)
{
SCM(playerid, COLOR_WHITE, "{109ae8}[Ошибка] {FFFFFF}Вы исчерпали попытки входа и были отключены от сервера.");
Kick(playerid);
}
ShowLogin(playerid);
}
}
else
{
SCM(playerid, COLOR_RED, "Используйте команду \"/q\" - чтобы покинуть игру.");
SPD(playerid, -1, 0, " ", " ", " ", "");
return Kick(playerid);
}
}
}
return 1;
}
case DLG_LOG:
{
if(response)
{
new checkpass[17];
SHA256_PassHash(inputtext, PlayerInfo[playerid][SALT], checkpass, 17);
if(!strcmp(PlayerInfo[playerid][PASSWORD], checkpass, false, 16) == 0)
{
static const fmt_query[] = "SELECT * FROM `accounts` WHERE `name` = '%s' AND `password` = '%s'";
new query[sizeof(fmt_query)+(-2+MAX_PLAYER_NAME)+(-2+16)+(-2+10)+(-2+16)];
format(query, sizeof(query), fmt_query, PlayerInfo[playerid][NAME], PlayerInfo[playerid][PASSWORD]);
mysql_tquery(dbHandle, query, "PlayerLogin", "i", playerid);
}
else
{
new string[87];
if(GetPVarInt(playerid, "WrongPassword") > 0)
{
format(string, sizeof(string), "{109ae8}[Ошибка] {FFFFFF}Вы ввели неверный пароль, осталось {109ae8}%d{FFFFFF} попытки."));
SCM(playerid, COLOR_WHITE, string);
}
if(GetPVarInt(playerid, "WrongPassword") == 0)
{
SCM(playerid, COLOR_WHITE, "{109ae8}[Ошибка] {FFFFFF}Вы исчерпали попытки входа и были отключены от сервера.");
Kick(playerid);
}
ShowLogin(playerid);
}
}
else
{
SCM(playerid, COLOR_RED, "Используйте команду \"/q\" - чтобы покинуть игру.");
SPD(playerid, -1, 0, " ", " ", " ", "");
return Kick(playerid);
}
}
}
return 1;
}
