Habe Fehler beim Anzeigen vom Passwort.
if (strcmp("/c", cmdtext, true, 10) == 0)
{
new code = SpielerDaten[playerid][pPasswort];
new codestring[64];
format(codestring, sizeof(codestring), "{FFFFFF}Dein Code für den Login lautet: %s", code);
ShowPlayerDialog(playerid, DIALOG_CODE, DIALOG_STYLE_MSGBOX, "{00BFFF}Dein Login-Code", codestring, "Okay", "");
return 1;
}
Hier wird entweder nur die Länge des Passwortes ausgegeben oder nur ein einziges komisches Zeichen, welches sich je nach Passwort ändert.
Wie kann ich machen, dass da nur das klare Passwort angezeigt wird?
if (strcmp("/cc", cmdtext, true, 10) == 0)
{
ShowPlayerDialog(playerid, DIALOG_CODE_CHANGE, DIALOG_STYLE_INPUT, "{00BFFF}Login-Code ändern", "{FFFFFF}Bitte lege nun deinen neuen Code für den Login fest.", "Ändern", "Abbrechen");
return 1;
}
Hier gibt der Spieler dann einfach sein neues Passwort/Code fest, welches er für den Login haben möchte.
case DIALOG_CODE_CHANGE:
{
if(response == 1)
{
SpielerDaten[playerid][pPasswort] = strlen(inputtext);
SpielerSpeichern(playerid);
SendClientMessage(playerid, Gruen, "Du hast deinen Login-Code erfolgreich geändert.");
}
}
Hier wird halt das eingegebene Passwort in "pPasswort" gespeichert. Danach wird der komplette Account gespeichert, wobei das Passwort dann auch in die Datei geschrieben wird. Leider wird nur die Länge des Passwortes und nicht das Passwort selber in die Spielerdatei geschrieben. Wie kann ich das beheben? Ist es richtig mit "strlen(inputtext" ?