Hallo,
mir ist aufgefallen das immer wenn ich mich einlogge das das Passwort und die DNA auf 0 gesettet wird bzw. auf garnichts.
Hier der Code wo eig. alles gesettet wird...
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new query[256], key[50];
if(dialogid == DIALOG_REGISTER)
{
if(!response)
{
return Kick(playerid);
}
if(strlen(inputtext) < 4)return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Registration", "Willkommen auf German Police Life,\n\n es wurde kein Account mit dem Namen in unserer Datenbank gefunden.\n Bitte Registrieren Sie sich.\n Merken Sie sich das Passwort und geben Sie es an keinen Dritten weiter.\n Das German Police Life Team wird Sie nicht nach ihrem Passwort fragen!", "Registration", "Abbrechen");
format(key, 50, "%s", inputtext);
new pickstr[] = "ABCDEFGH0123456789";
new endstr[11], rand;
for(new i=0; i<sizeof(endstr); i++)
{
rand = random(strlen(pickstr));
format(endstr, sizeof(endstr), "%s%c", endstr, pickstr[rand]);
strdel(pickstr, rand, rand+1);
}
mysql_format(mysqlHandle, query, sizeof(query), "INSERT INTO accounts (`Name`, `Passwort`, `DNA`) VALUES ('%e','%e','%e')", NamePlayer(playerid), key, endstr);
mysql_tquery(mysqlHandle, query);
SendClientMessage(playerid, -1, "Dein Account wurde erstellt.");
format(SpielerInfo[playerid][pPasswort], 32, inputtext);
format(SpielerInfo[playerid][pDNA], 32, endstr);
SpawnPlayer(playerid);
printf("Account erstellt %s",NamePlayer(playerid));
}
if(dialogid == DIALOG_LOGIN)
{
if(!response)
{
return Kick(playerid);
}
format(key, 50, "%s", inputtext);
mysql_escape_string(NamePlayer(playerid), NamePlayer(playerid)), mysql_escape_string(key, key);
format(query, sizeof(query), "SELECT * FROM accounts WHERE Name='%s' AND Passwort='%s'", NamePlayer(playerid), key);
mysql_tquery(mysqlHandle, query, "OnPasswordResponse", "i", playerid);
printf("Eingeloggt %s",NamePlayer(playerid));
}
return 1;
}
Hier die Publics:
public OnPasswordResponse(playerid)
{
new num_fields, num_rows;
cache_get_data(num_rows, num_fields);
if(num_rows == 0)
{
//Passwort falsch..
SendClientMessage(playerid, -1, "Das Passwort ist inkorrekt.");
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Falsches Passwort", "Willkommen auf German Police Life,\n\n das Passwort was Sie eingegeben haben ist falsch.\nBitte gebe das Richtige Passwort ein:", "Anmelden", "Abbrechen");
}
else
{
//Passwort richtig..
new query[56], pID;
SendClientMessage(playerid, -1, "Erfolgreich eingeloggt.");
SpielerInfo[playerid][pEingeloggt] = true;
format(query, sizeof(query), "SELECT Banned FORM accounts WHERE Name='%s'", NamePlayer(pID));
mysql_tquery(mysqlHandle, query, "CheckBanned", "d", NamePlayer(pID));
LoadAccount(playerid);
SpawnPlayer(playerid);
}
return 1;
}
public UserCheck(playerid)
{
new num_rows, num_fields;
cache_get_data(num_rows, num_fields, mysqlHandle);
if(num_rows == 0)
{
//Register..
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Registration", "Willkommen auf German Police Life,\n\n es wurde kein Account mit dem Namen in unserer Datenbank gefunden.\n Bitte Registrieren Sie sich.\n Merken Sie sich das Passwort und geben Sie es an keinen Dritten weiter.\n Das German Police Life Team wird Sie nicht nach ihrem Passwort fragen!", "Registrieren", "Abbrechen");
}
else
{
//Login..
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Hallo User,\n\nWillkommen zurück.\nBitte Log dich ein.", "Anmelden", "Abbrechen");
}
return 1;
}