Nur beim login hab ich nicht wirklich ahnung wie ich das vorhandene passwort vergleichen soll
Mach es so:
C
forward OnAccountCheckPW(playerid, name[], text[]);
public OnAccountCheckPW(playerid, name[], text[]){
new rows, fields;
cache_get_data(rows, fields, mysql);
if(!rows) return Kick(playerid);
new PW[BCRYPT_HASH_LENGTH];
cache_get_field_content(0, "passwort", PW, mysql);
bcrypt_check(text, PW, "OnPasswordChecked", "d", playerid);
return 1;
}
forward OnPasswordChecked(playerid);
public OnPasswordChecked(playerid)
{
new bool:match = bcrypt_is_equal();
if(match) LoadAccount(playerid);
else {
if(GetPVarInt(playerid,"failpass")==2) {
SendClientMessage(playerid,ROT,"Du hast zu oft ein falsches Passwort angegeben.");
KickEx(playerid);
} else {
SetPVarInt(playerid,"failpass",GetPVarInt(playerid,"failpass")+1);
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","{FFD700}Falsches Passwort\n\nDu kannst dich nun mit deinen Passwort einloggen.","Login","Abbrechen");
}
}
return 1;
}
Alles anzeigen
