Abfrage vergleich Passwort

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Wie frage ich ab beim Login Dialog ob das richtige Passwort eingegeben wurde .


    Schickt mir bitte diesen Text verbessert zurück am besten noch hinschreiben was verändert wurde weil ich dann was dazu lerne.


    if(dialogid==DIALOG_LOGIN)
    {
    if(response==0)
    {
    SendClientMessage(playerid,Blau,"Du hast den Vorgang Abgebrochen.");
    Kick(playerid);
    return 1;
    }
    if(response==1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,Blau,"Das Passwort ist zu kurz.");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden.Gib bitte das Passwort ein.","Login","Abbrechen");
    return 1;
    }
    else
    {
    Login(playerid,inputtext);
    return 1;
    }
    }
    }

  • Pack es bei Login(playerid, inputtext) rein:


    (Beispiel ist auf Dini bezogen):
    public Login(playerid, pw[])
    {
    new name[MAX_PLAYER_NAME+1], pfad[128], string[128];
    GetPlayerName(playerid, name, sizeof(name));
    format(pfad, sizeof(pfad), "/accounts/%s.ini", name); // Hier wird der Pfad der Spielerdatei gespeichert

    if(!strcmp(pw, dini_Get(pfad, "Passwort"), false)) { // Hier wird überprüft, ob die Passwörter identisch sind
    loadPlayer(playerid); //Acount wird geladen
    SendClientMessage(playerid, ROT, "Account wurde erfolgreich geladen!");

    format(string, sizeof(string), "%s hat den Server betreten.", name); // Join-Message
    SendClientMessageToAll(WEISS, string);
    }
    else {
    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Dein Passwort war falsch.\nGib bitte dein Passwort ein, um dich zu einzuloggen!", "Weiter", ""); // Fehlermeldung
    }

    return 1;
    }


    Vielleicht noch ein wenig genauer:
    if(!strcmp(pw, dini_Get(pfad, "Passwort"), false))
    Mit strcmp (String Compare) werden beide Strings vergleicht. In diesem Beispiel handelt es sich eigentlich um eine doppelte Verneinung: Wenn(String Passwort-Eingabe ist nicht gleich String Passwort-Datei und das ganze falsch ist) tu laden

    Einmal editiert, zuletzt von 501.legion ()

  • Könntest du einfach hier die Abfrage einfügen weil hab deins eingefügt und 26 Errors kassiert =(


    if(dialogid==DIALOG_LOGIN)
    {
    if(response==0)
    {
    SendClientMessage(playerid,Blau,"Du hast den Vorgang Abgebrochen.");
    Kick(playerid);
    return 1;
    }
    if(response==1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,Blau,"Das Passwort ist zu kurz.");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden.Gib bitte das Passwort ein.","Login","Abbrechen");
    return 1;
    }
    else
    {
    Login(playerid,inputtext);
    return 1;
    }
    }
    }