Ich habe den folgenden Code, doch nur wenn ich ein falsches Passwort eingebe, loggt er immer ein. Wenn ich es auf
if(strcmp(string2, string3, false) == 1)
umschreibe, dann kann ich auch ein falsches Passwort eingeben und es loggt ein. Was ist falsch?
Und was ist der Command um zu ermitteln ob er den zweiten button gedrückt hat (in dem Fall "Abbrechen")?
if(dialogid == 2)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid, COLOR_YELLOW, "Du hast kein Passwort eingegeben, versuche es erneut.");
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Login", "Gebe nun dein Passwort ein, um dich einzuloggen:", "Login", "Abbrechen");
return 1;
}
else
{
new name[MAX_PLAYER_NAME];
new string[255];
new string2[255];
new string3[255];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "/Users/%s.ini", name);
format(string2, sizeof(string2), "%s", dini_Get(string, "Passwort"));
format(string3, sizeof(string3), "%s", inputtext);
if(strcmp(string2, string3, false) == 0)
{
SendClientMessage(playerid, COLOR_YELLOW, "Das eingegebene Passwort stimmt nicht überein. Versuche es erneut und achte auf Groß- und Kleinschreibung.");
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Login", "Gebe nun dein Passwort ein, um dich einzuloggen:", "Login", "Abbrechen");
return 1;
}
else
{
SendClientMessage(playerid, COLOR_YELLOW, "Du hast dich erfolgreich eingeloggt.");
PlayerPlaySound(playerid, 1188, 0, 0, 0);
return 1;
}
}
}
EDIT: Beschreibung geändert.
EDIT: EDIT hinzugefügt!