Problem mit Login System

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
  • Gute Nacht, Breadfish.
    Da ich vorhin einen kleinen Fehler in meinem Script bemerkt habe, und echt 0 Ahnung habe, wie ich den evtl. entfernen könnte, brauche ich eure Hilfe.
    Also, wenn ich z.B einen Account habe, und ich einfach beim Login Fenster Escape oder auf "Abbrechen" drücke, kann ich direkt zur Skin Auswahl usw. gehen. Hier mal die Sachen die unter OnDialogResponse stehen!



    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"Accounts/%s.txt",pname);
    if(response)
    {
    switch(dialogid)
    {
    case DIALOG_LOGIN:
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Einloggen","Bitte gebe dein Passwort ein um dich einzuloggen!","Login","Abbrechen");
    return SendClientMessage(playerid,COLOR_WHITE,"Kein Passwort eingegeben!");
    }
    if(strcmp(inputtext,dini_Get(accFormat,"Passwort")) == 0)
    {
    Spieler[playerid][Admin] = dini_Int(accFormat,"Admin");
    Spieler[playerid][Banned] = dini_Int(accFormat,"Banned");
    GivePlayerMoney(playerid,dini_Int(accFormat,"Geld"));
    SetPlayerScore(playerid,dini_Int(accFormat,"Kills"));
    Spieler[playerid][eingeloggt] = 1;
    SendClientMessage(playerid,COLOR_WHITE,"Erfolgreich eingeloggt!");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Einloggen","Bitte gebe dein Passwort ein um dich einzuloggen!","Login","Abbrechen");
    GameTextForPlayer(playerid,"~r~Falsches Passwort~w~!!",3000,1);
    }
    }
    case DIALOG_REG:
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte gebe dein gewünschtest Passwort ein \num dich zu registrieren!","Registrieren","Abbrechen");
    return SendClientMessage(playerid,COLOR_WHITE,"Das Passwort ist zu kurz!");
    }
    dini_Create(accFormat);
    dini_Set(accFormat,"Passwort",inputtext);
    Spieler[playerid][eingeloggt] = 1;
    SendClientMessage(playerid,COLOR_WHITE,"Account erfolgreich in der Datenbank erstellt!");
    SendClientMessage(playerid,COLOR_DARKGREEN,"Du wurdest vom System eingeloggt!");
    // Register Einstellungen //
    GivePlayerMoney(playerid,1000);
    SetPlayerScore(playerid,0);
    dini_IntSet(accFormat,"Admin",0);
    dini_IntSet(accFormat,"Premium",0);
    dini_IntSet(accFormat,"Banned",0);
    dini_IntSet(accFormat,"KIlls",0);
    }
    }
    }


    Wäre echt nett für eine Hilfe, vielen Dank schonmal im Vorraus.


    //Edit


    Habe gesehen, dass es beim Registrieren auch so ist.
    Brauche dringend Hilfe, wollte die nächste Woche schon online gehen. :rolleyes:


    Liebe Grüße, euer 'Pawno.

  • Nun sei mal nicht so bequem und denk selber nach! Das kann jeder. Wenn du dir immer helfen lässt wirst du es nie können.
    Aber hier:


    if(response)
    {
    switch(dialogid)
    {
    case DIALOG_LOGIN:
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Einloggen","Bitte gebe dein Passwort ein um dich einzuloggen!","Login","Abbrechen");
    return SendClientMessage(playerid,COLOR_WHITE,"Kein Passwort eingegeben!");
    }
    if(strcmp(inputtext,dini_Get(accFormat,"Passwort")) == 0)
    {
    Spieler[playerid][Admin] = dini_Int(accFormat,"Admin");
    Spieler[playerid][Banned] = dini_Int(accFormat,"Banned");
    GivePlayerMoney(playerid,dini_Int(accFormat,"Geld"));
    SetPlayerScore(playerid,dini_Int(accFormat,"Kills"));
    Spieler[playerid][eingeloggt] = 1;
    SendClientMessage(playerid,COLOR_WHITE,"Erfolgreich eingeloggt!");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Einloggen","Bitte gebe dein Passwort ein um dich einzuloggen!","Login","Abbrechen");
    GameTextForPlayer(playerid,"~r~Falsches Passwort~w~!!",3000,1);
    }
    }
    case DIALOG_REG:
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte gebe dein gewünschtest Passwort ein \num dich zu registrieren!","Registrieren","Abbrechen");
    return SendClientMessage(playerid,COLOR_WHITE,"Das Passwort ist zu kurz!");
    }
    dini_Create(accFormat);
    dini_Set(accFormat,"Passwort",inputtext);
    Spieler[playerid][eingeloggt] = 1;
    SendClientMessage(playerid,COLOR_WHITE,"Account erfolgreich in der Datenbank erstellt!");
    SendClientMessage(playerid,COLOR_DARKGREEN,"Du wurdest vom System eingeloggt!");
    // Register Einstellungen //
    GivePlayerMoney(playerid,1000);
    SetPlayerScore(playerid,0);
    dini_IntSet(accFormat,"Admin",0);
    dini_IntSet(accFormat,"Premium",0);
    dini_IntSet(accFormat,"Banned",0);
    dini_IntSet(accFormat,"KIlls",0);
    }
    }
    }
    else if(!response)
    {
    SendClientMessage(playerid, 0xFFFFFF, "Bye :)");
    Kick(playerid);
    }



    //Edit: vielleicht Fehlt irgendwo ne { oder ne } aber sollte so funktionieren.