Login/Register=Passwort egal?

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
  • Also ich habe gerade ein Login/Register System gescriptet
    Es klappt auch alles mit dem registrieren und so weiter aber beim einloggen kann man einfach jedes Passwort eingeben es ist völlig egal udn das ist ein bisschen sch****


    hier mal der code und so


    Stocks:
    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);
    SendClientMessage(playerid,grün,"Erfolgreich registriert");
    dini_IntSet(Spielerdatei,"Level",0);
    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,grün,"Erfolgreich eingeloggt");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,blau,"Falsches Passowrt");
    ShowPlayerDialog(playerid,DIALOG_Login,DIALOG_STYLE_INPUT,"Login"," Dein Account wurde gefunden, bitte gib dein Passwort ein.","Login","Abbrechen");
    return 1;
    }

    }


    OnDialogResponse:
    //Register
    if(dialogid==DIALOG_Register)
    {
    if(response==0)
    {
    SendClientMessage(playerid,rot,"Du hast den Vorgang abgebrochen");
    Kick(playerid);
    return 1;
    }
    if(response==1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,blau,"Das Passwort war icht lang genug");
    ShowPlayerDialog(playerid,DIALOG_Register,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte dein gewünschtes Passwort ein","Registrieren","Abbrechen");
    return 1;
    }
    else
    {
    Register(playerid,inputtext);
    return 1;
    }


    }
    }

    //Für Login
    if(dialogid==DIALOG_Login)
    {
    if(response==0)
    {
    SendClientMessage(playerid,rot,"Du hast den Vorgang abgebrochen");
    Kick(playerid);
    }
    if(response==1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,blau,"Das Passwort war nicht lang genug");
    ShowPlayerDialog(playerid,DIALOG_Login,DIALOG_STYLE_INPUT,"Login"," Dein Account wurde gefunden, bitte gib dein Passwort ein.","Login","Abbrechen");
    return 1;
    }
    else
    {
    Login(playerid,inputtext);
    return 1;
    }
    }
    }


    OnPlayerConnect
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    if(dini_Exists(Spielerdatei))
    {
    ShowPlayerDialog(playerid,DIALOG_Login,DIALOG_STYLE_INPUT,"Login"," Dein Account wurde gefunden, bitte gib dein Passwort ein.","Login","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_Register,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte dein gewünschtes Passwort ein","Registrieren","Abbrechen");
    }
    return 1;
    }


    Ich hab keine Ahnung woran es liegt
    Ich habe nachgeschaut alle Dialoge sind anders definiert
    udn auch in die txt.wird das beim registrieren festgelegte Passwort gespeichert

  • Ich habs so , und es funktioniert :O


    stock Login(playerid,key[])
    {
    new Spieler[64];
    format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
    if(!strcmp(key,dini_Get(Spieler,"Passwort"),false))
    {
    SendClientMessage(playerid,Gruen,"Willkommen auf >Servername<");
    SpielerLaden(playerid);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,Rot,"Das Passwort ist falsch !");
    ShowPlayerDialog(playerid,Dialog_Login,DIALOG_STYLE_INPUT,"Login","Willkommen auf >Servername<\nBitte gib dein Passwort ein !","Login","Abbrechen");
    }
    return 1;
    }

  • naja ich hab erstmal ewig gebraucht um es auf mein Script umzuschreiben :D


    Aber es klappt leider nicht




    Vieleleicht lag es daran, dss ich es wieder auf mein Script umgeschrieben hab aber ging ja nicht anders^^


    /edit: Kann das keiner beheben oder mir sagen wie es geht

    2 Mal editiert, zuletzt von MrMonkey ()

  • Ja kann ich machen
    Aber mittlerweile hat sich das geklärt keine Ahnung warum
    Vorher hatte ich das nach dem tutorial von MrMonat gemacht aber ich hab mitbekommen, dass es ein Dialog Password gibt und hab beim Login und so einfach alles von DIALOG_STYLE_INPUT in DIALOG_STYLE_PASSWORD umgewandelt und jetzt geht es
    Ich zeigs euch mal^^


    public OnPlayerConnect(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    if(dini_Exists(Spielerdatei))
    {
    ShowPlayerDialog(playerid,DIALOG_Login,DIALOG_STYLE_PASSWORD,"Login"," Dein Account wurde gefunden, bitte gib dein Passwort ein.","Login","Abbrechen"); //aus Input wurde Password
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_Register,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte dein gewünschtes Passwort ein","Registrieren","Abbrechen");
    }


    return 1;
    }


    //Register
    if(dialogid==DIALOG_Register)
    {
    if(response==0)
    {
    SendClientMessage(playerid,rot,"Du hast den Vorgang abgebrochen");
    Kick(playerid);
    return 1;
    }
    if(response==1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,blau,"Das Passwort war icht lang genug");
    ShowPlayerDialog(playerid,DIALOG_Register,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte dein gewünschtes Passwort ein","Registrieren","Abbrechen");
    return 1;
    }
    else
    {
    Register(playerid,inputtext);
    return 1;
    }


    }
    }

    //Für Login
    if(dialogid==DIALOG_Login)
    {
    if(response==0)
    {
    SendClientMessage(playerid,rot,"Du hast den Vorgang abgebrochen");
    Kick(playerid);
    }
    if(response==1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,blau,"Das Passwort war nicht lang genug");
    ShowPlayerDialog(playerid,DIALOG_Login,DIALOG_STYLE_PASSWORD,"Login"," Dein Account wurde gefunden, bitte gib dein Passwort ein.","Login","Abbrechen"); // _INPUT zu _PASSWORD
    return 1;
    }
    else
    {
    Login(playerid,inputtext);
    return 1;
    }
    }
    }


    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);
    SendClientMessage(playerid,grün,"Erfolgreich registriert");
    dini_IntSet(Spielerdatei,"Level",0);
    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,grün,"Erfolgreich eingeloggt");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,blau,"Falsches Passowrt");
    ShowPlayerDialog(playerid,DIALOG_Login,DIALOG_STYLE_PASSWORD,"Login"," Dein Account wurde gefunden, bitte gib dein Passwort ein.","Login","Abbrechen"); //auch hier wieder _INPUT zu _PASSWORD
    return 1;
    }


    }


    Und hier nochmal die .txt Datei
    Passwort=*************
    Level=0


    Es hat sich also erledigt allerdings weis ich nicht ganz, warum es auf einmal funktioniert

  • naja ein Lehrer wäre ne ganz gute Idee aber bisher bin ich auch so wunderbar zurecht gekommen und aus den Tutorials hab ich auch bisschen was genommen bzw werde mir nochwas anschauen


    /edit: Naja egal jedenfalls ist mein problem gelöst

    Einmal editiert, zuletzt von MrMonkey ()