[Schwierig]Register/Login system fehler

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 Leute


    Ich hab Videos geguckt wo MrMonat gezeigt hat wie man ein Register/Login System macht aber wenn man sich einloggt kann man jedes Passwort nehmen man hat z.b Hallo123 als Passwort aber man kann bye123 als Passwort auch nehmen alles was man eingibt funktioniert. Hier unten steht alles was ich beim Register/Login System gemacht hab.


    #define DIALOG_REGISTER 0
    #define DIALOG_LOGIN 1


    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.Gib bitte das Passwort ein.","Login","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Gib bitte das gewünschte Passwort ein","Register","Abbrechen");
    SendClientMessage(playerid,Green,"Willkommen auf dem Server dies ist ein Reallife Server[ Made by CaptainHeroLP ]");
    SetPVarInt(playerid,"Neuling",1);
    }
    new connectmessage[128];
    format(connectmessage,128,"%s hat den Server betreten",SpielerName(playerid));
    SendClientMessageToAll(Grau,connectmessage);
    return 1;


    if(GetPVarInt(playerid,"loggedin")==1)
    {
    SpielerSpeichern(playerid);
    }
    new disconnectmessage[128];
    format(disconnectmessage,128,"%s hat den Server verlassen",SpielerName(playerid));
    SendClientMessageToAll(Grau,disconnectmessage);


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    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;
    }
    }
    }
    if(dialogid==DIALOG_REGISTER)
    {
    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_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Gib bitte das gewünschte Passwort ein","Register","Abbrechen");
    return 1;
    }
    else
    {
    Register(playerid,inputtext);
    return 1;
    }
    }
    }


    stock SpielerName(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    return name;
    }


    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,Green,"Erfolgreich Registriert.");
    SetPlayerScore(playerid,0);
    SetPVarInt(playerid,"loggedin",1);
    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))
    {
    LoadAccount(playerid);
    SendClientMessage(playerid,Green,"Erfolgreich eingeloggt.");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,Rot,"Falsches Passwort.");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden.Gib bitte das Passwort ein.","Login","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"));
    SetPlayerWantedLevel(playerid,dini_Int(Spielerdatei,"Wanteds"));
    SetPlayerSkin(playerid,dini_Int(Spielerdatei,"Skin"));
    SetPlayerSkin(playerid,dini_Int(Spielerdatei,"Waffe"));
    SetPlayerFightingStyle(playerid,dini_Int(Spielerdatei,"Fightstyle"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
    SetPVarInt(playerid,"Gebannt",dini_Int(Spielerdatei,"Gebannt"));
    SetPVarInt(playerid,"Paytime",dini_Int(Spielerdatei,"Paytime"));
    SetPVarInt(playerid,"Wanteds",dini_Int(Spielerdatei,"Wanteds"));
    SetPVarInt(playerid,"Mafia",dini_Int(Spielerdatei,"Mafia"));
    SetPVarInt(playerid,"save",dini_Int(Spielerdatei,"save"));
    SetPVarInt(playerid,"fahrschein",dini_Int(Spielerdatei,"fahrschein"));
    SetPVarInt(playerid,"perso",dini_Int(Spielerdatei,"perso"));
    SetPVarInt(playerid,"acceptmedic",dini_Int(Spielerdatei,"acceptmedic"));
    SetPVarInt(playerid,"drogen",dini_Int(Spielerdatei,"drogen"));
    SetPVarInt(playerid,"Schlüssel",dini_Int(Spielerdatei,"Schlüssel"));
    SetPVarInt(playerid,"pdduty",dini_Int(Spielerdatei,"pdduty"));
    SetPVarInt(playerid,"grooveduty",dini_Int(Spielerdatei,"groove"));
    SetPVarInt(playerid,"medicduty",dini_Int(Spielerdatei,"medicduty"));
    SetPVarInt(playerid,"Versicherung",dini_Int(Spielerdatei,"Versicherung"));
    SetPVarInt(playerid,"Premium",dini_Int(Spielerdatei,"Premium"));
    SetPVarInt(playerid,"Neuling",dini_Int(Spielerdatei,"Neuling"));
    SetPVarInt(playerid,"Radio",dini_Int(Spielerdatei,"Radio"));
    SetPVarInt(playerid,"Werkzeugkasten",dini_Int(Spielerdatei,"Werkzeugkasten"));
    SetPVarInt(playerid,"buskarte",dini_Int(Spielerdatei,"buskarte"));
    SetPVarInt(playerid,"Verwarnungen",dini_Int(Spielerdatei,"Verwarnungen"));
    SetPVarInt(playerid,"Pakete",dini_Int(Spielerdatei,"Pakete"));
    SetPVarInt(playerid,"Kicks",dini_Int(Spielerdatei,"Kicks"));
    SetPVarInt(playerid,"Tod",dini_Int(Spielerdatei,"Tod"));
    SetPVarInt(playerid,"loggedin",1);
    //SpielerInfo[playerid][Adminlevel]=dini_Int(Spielerdatei,"Adminlevel");
    //SpielerInfo[playerid][Fraktion]=dini_Int(Spielerdatei,"Fraktion");
    if(GetPVarInt(playerid,"Gebannt")== 1)
    {
    SendClientMessage(playerid,Rot,"Sorry du bist Gebannt.");
    Kick(playerid);
    }
    return 1;
    }


    stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    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));
    dini_IntSet(Spielerdatei,"Wanteds",GetPlayerWantedLevel(playerid));
    dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));
    dini_IntSet(Spielerdatei,"Waffe",GetPlayerWeapon(playerid));
    dini_IntSet(Spielerdatei,"Fightstyle",GetPlayerFightingStyle(playerid));
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    dini_IntSet(Spielerdatei,"Gebannt",GetPVarInt(playerid,"Gebannt"));
    dini_IntSet(Spielerdatei,"Paytime",GetPVarInt(playerid,"Paytime"));
    dini_IntSet(Spielerdatei,"Mafia",GetPVarInt(playerid,"Mafia"));
    dini_IntSet(Spielerdatei,"save",GetPVarInt(playerid,"save"));
    dini_IntSet(Spielerdatei,"fahrschein",GetPVarInt(playerid,"fahrschein"));
    dini_IntSet(Spielerdatei,"perso",GetPVarInt(playerid,"perso"));
    dini_IntSet(Spielerdatei,"drogen",GetPVarInt(playerid,"drogen"));
    dini_IntSet(Spielerdatei,"Schlüssel",GetPVarInt(playerid,"Schlüssel"));
    dini_IntSet(Spielerdatei,"Versicherung",GetPVarInt(playerid,"Versicherung"));
    dini_IntSet(Spielerdatei,"Fightstyle",GetPVarInt(playerid,"Fightstyle"));
    dini_IntSet(Spielerdatei,"Premium",GetPVarInt(playerid,"Premium"));
    dini_IntSet(Spielerdatei,"Neuling",GetPVarInt(playerid,"Neuling"));
    dini_IntSet(Spielerdatei,"Radio",GetPVarInt(playerid,"Radio"));
    dini_IntSet(Spielerdatei,"Werkzeugkasten",GetPVarInt(playerid,"Werkzeugkasten"));
    dini_IntSet(Spielerdatei,"buskarte",GetPVarInt(playerid,"buskarte"));
    dini_IntSet(Spielerdatei,"Verwarnungen",GetPVarInt(playerid,"Verwarnungen"));
    dini_IntSet(Spielerdatei,"Pakete",GetPVarInt(playerid,"Pakete"));
    dini_IntSet(Spielerdatei,"Kicks",GetPVarInt(playerid,"Kicks"));
    dini_IntSet(Spielerdatei,"Tod",GetPVarInt(playerid,"Tod"));
    }
    }


    Kann mir bitte einer Helfen?

  • Beim Login-Dialog hast du auch vergessen, mit strcmp den eingebenen String und den aus der Spielerdatei zu vergleichen.
    Kein Wunder also, das jedes PW akzeptiert wird.


    MFG

    Main: CPU: Intel Core i5-4440 @ 3,10 GHz | CPU-Cooling: Matterhorn -PURE- | RAM: 16GB Crucial Ballistix Sport DDR3-1600 DIMM CL9-9-9-24 |
    Motherboard: ASRock B85M Pro4 | GPU: Sapphire Radeon R9 390X Nitro 8GB GDDR5 |

    SSD: Samsung SSD 840 Evo 500GB | Power Supply: 550 Watt Corsair CS Series Modular 80+ Gold | Case: beQuiet! Silent Base 800


    As I walk through the valley of the shadow of death
    I take a look at my life and realize there's nothin' left.