27.10.2016, 19:52
Okay so here is the problem. When i enter server it requies password for registering. When i reconnect it is asking for password again. It won't create account..
here is dialogregister and OnPlayerRegister
here is dialogregister and OnPlayerRegister
PHP Code:
case DIALOG_REGISTER:
{
if(!response)
{
return Kick(playerid);
}
if(strlen(inputtext) <= 5)
{
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Register", "Your password needs to be longer that 5 characters", "Register", "Exit");
return 1;
}
for(new i = 0; i < 16; i++)
{
PlayerInfo[playerid][Salt][i] = random(94) + 33;
SHA256_PassHash(inputtext, PlayerInfo[playerid][Salt], PlayerInfo[playerid][Password], 65);
new query[221];
mysql_format(g_SQL, query, sizeof(query), "INSERT INTO `players` (`username`, `password, `salt`), VALUES ('%e', '%s', '%e')", PlayerInfo[playerid][Name], PlayerInfo[playerid][Password], PlayerInfo[playerid][Salt]);
mysql_tquery(g_SQL, query, "OnPlayerRegister", "d", playerid);
}
}
default: return 0;
forward OnPlayerRegister(playerid);
public OnPlayerRegister(playerid)
{
PlayerInfo[playerid][ID] = cache_insert_id();
ShowPlayerDialog(playerid, DIALOG_UNUSED, DIALOG_STYLE_MSGBOX, "Registration", "Account succesfully registered!\nYou have been automaticly logged in", "Ok", "");
PlayerInfo[playerid][IsLoggedIn] = true;
PlayerInfo[playerid][X_Pos] = DEFAULT_POS_X;
PlayerInfo[playerid][Y_Pos] = DEFAULT_POS_Y;
PlayerInfo[playerid][Z_Pos] = DEFAULT_POS_Z;
PlayerInfo[playerid][A_Pos] = DEFAULT_POS_A;
SetSpawnInfo(playerid, NO_TEAM, 0, PlayerInfo[playerid][X_Pos], PlayerInfo[playerid][Y_Pos], PlayerInfo[playerid][Z_Pos], PlayerInfo[playerid][A_Pos], 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
return 1;
}