Max_Ivanov
Дебютант
Проблема заключается в том, что регистрация работает, авторизация не работает.Ошибок в Log нету.
PHP:
case DLG_LOGIN:
{
if(response){
new checkpass[65];
SHA256_PassHash(inputtext,player_info[playerid][SALT],checkpass,65);
if(!strcmp(player_info[playerid][PASSWORD],checkpass)){
static const f_query[] = "SELECT * FROM `accounts` WHERE `login` = '%s' AND `password` = '%s'";
new query[sizeof(f_query)+(-2+MAX_PLAYER_NAME)+(-2+64)+(-2+10)+(-2+64)+(-2+8)+(-2+1)+(-2+1)+(-2+2)+(-2+3)+(-2+12)+(-2+15)];
format(query, sizeof(query), f_query, player_info[playerid][NAME], player_info[playerid][PASSWORD]);
mysql_tquery(mysql_connect_ID, query, "LoadPlayerAccount", "i", playerid);
SetPVarInt(playerid, "auth", 1);
SpawnPlayer(playerid);
}else{
new string[87];
SetPVarInt(playerid, "ErrorPassword", GetPVarInt(playerid, "ErrorPassword")-1);
if(GetPVarInt(playerid, "ErrorPassword") > 0)
{
format(string, sizeof(string), "[Ошибка] {FFFFFF}Вы ввели неверный пароль от аккаунта. У вас осталось %d попыток входа.", GetPVarInt(playerid, "ErrorPassword"));
SCM(playerid, COLOR_RED, string);
ShowLogin(playerid);
}
if(GetPVarInt(playerid, "ErrorPassword") == 0)
{
SCM(playerid, COLOR_RED, "[Ошибка] {FFFFFF}Вы исчерпали лимит попыток входа и были отключены от сервера.");
SPD(playerid, -1, 0, " ", " ", " ", " ");
return Kick(playerid);
}
}
}else{
SCM(playerid,COLOR_RED,"Используйте \"/q\" чтобы выйти");
SPD(playerid,-1,0," "," "," ","");
Kick(playerid);
}
PHP:
forward LoadPlayerAccount(playerid);
public LoadPlayerAccount(playerid){
static
rows;
cache_get_row_count(rows);
if(rows){
cache_get_value_name_int(0, "id", player_info[playerid][ID]);
cache_get_value_name_int(0, "sex", player_info[playerid][REGSEX]);
cache_get_value_name_int(0, "skin", player_info[playerid][SKIN]);
cache_get_value_name_int(0, "money", player_info[playerid][MONEY]);
cache_get_value_name(0, "regdata", player_info[playerid][REGDATA], 13);
cache_get_value_name(0, "regip", player_info[playerid][REGIP], 16);
if(player_info[playerid][SKIN] != 0)
{
SetPlayerSkin(playerid, player_info[playerid][SKIN]);
}
}
return 1;
}
