Problema intalnita: In primul rand salutari SA:MP Romania.Problema este ca am pus sa se cripteze parola la inregistrare iar la login imi zice parola incorecta.Este prima oara cand incerc sa fac asa ceva(am incercat sa rezolv singur...).Folosesc HASH simplu(asa cred ca se spune).
Linii / script-uri:
public OnPlayerRegister(playerid, password[])
{
if(IsPlayerConnected(playerid))
{
new playername3[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername3, sizeof(playername3));
new Str[200];
new qstr[256];
new MyHash[256];
SHA256_PassHash(password, "78sdjs86d2h", MyHash, sizeof(MyHash));
format(qstr,100,"SELECT * FROM users WHERE `name`='%s' AND `password`='%s'",playername2,MyHash);
strmid(PlayerInfo[playerid][pKey], password, 0, strlen(password), 255);
PlayerInfo[playerid][pCash] = GetPlayerCash(playerid);
PlayerInfo[playerid][pCarLic] = 1;
PlayerInfo[playerid][pCarLicT] = 10;
GetPlayerHealthEx(playerid,PlayerInfo[playerid][pHealth]);
Ia la login:
public OnPlayerLogin(playerid,password[])
{
new playername2[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername2, sizeof(playername2));
GameTextForPlayer(playerid, "~w~Se incarca...~n~~y~Se verifica parola", 700, 3);
new playerip[16];
/* GetPlayerIp(playerid,playerip,sizeof(playerip));
if(NumIp(playerip, playerid) >= 3 && !IsBotOnIP(playerip))
{
SendClientMessage(playerid, COLOR_LIGHTRED, "There are already 2 players connected with same IP.");
Kick(playerid);
return 1;
}
*/
new qstr[256];
new MyHash[256];
SHA256_PassHash(password, "78sdjs86d2h", MyHash, sizeof(MyHash));
format(qstr,100,"SELECT * FROM users WHERE `name`='%s' AND `password`='%s'",playername2,MyHash);
new Cache: pass = mysql_query(SQL,qstr);
Daca ma poate ajuta cineva va rog frumos?Stiu ca e simplu...dar nu-mi dau seama ce am gresit...(in baza se salveaza parola criptat).
Folosesc gamemode bigzone(scuze daca fac reclama).
Multumesc anticipat.