Account wird nicht erkannt

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
  • Hallo Breadfish!


    Ich wollte grad mein Register - Login System weitermachen und nun muss ich feststellen, dass der Spieler einfach nicht erkannt wird , ich kann jedesmal ein anderes Passwort eingeben und das Passwort wird dann in /Accounts geändert!


    Script:


    stock Register(playerid,key[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_Create(Spielerdatei);
    dini_Set(Spielerdatei,"Passwort",key);
    dini_IntSet(Spielerdatei,"Level",1);
    SendClientMessage(playerid,ROT,"Du hast die erfolgreich auf dem Server registriert und bist nun ein Teil des Servers!");
    return 1;
    }


    stock Login(playerid,key[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
    {
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    SendClientMessage(playerid,ORANGE,"Du hast die erfolgreich auf dem Server registriert und bist nun ein Teil des Servers!");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,Rot,"Das war das falsche Passwort!");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Loginformular","Der Server hat deinen Account %s gefunden! \nGib bitte dein Passwort unten in die Box ein!","Betreten","Abbrechen");
    return 1;
    }
    }


    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    return 1;
    }


    stock SpielerSpeichern(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    return 1;
    }

  • jap da wird auch alles gespeichert


    Level und passwort bis jetzt

  • Wie rufst du denn Login() auf ?



    //...
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);


    printf("key = '%s' dini_Get('%s','Passwort') = '%s'",key,Spielerdatei, dini_Get(Spielerdatei,"Passwort") ); // Wir debuggen mal .


    if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
    //...

    Was wird dir dort ausgegeben? Denn wenn alle Passwörter funktionieren,dann ist entweder key oder der String,der von dini_Get zurückgegeben wird , leer.

  • ich weiß in der txt datei speichert er es ja richtig da steht das passwort auch richtig, allerdings, wenn ich connecte wird der acc nicht erkannt und kann neues passwort eingeben, dass speichert er wieder und immer so weiter

  • stock Register(playerid,key[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_Create(Spielerdatei);
    dini_Set(Spielerdatei,"Passwort",key);
    dini_IntSet(Spielerdatei,"Level",1);
    SendClientMessage(playerid,ROT,"Du hast die erfolgreich auf dem Server registriert und bist nun ein Teil des Servers!");
    SpielerSpeichern(playerid); // <- Das hier musste rein.
    return 1;
    }


    Sollte so eigentlich klappen :)

    Selfmade Reallife Script..


    |||||||||||||||||||||||||||||||||||||||||||||||||||||| 80%/100%

    10.352 Zeilen