Fehler im Loginsystem

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
  • Das Registrierungssystem funktioniert ohne Probleme, nur das Loginsystem funktioniert nicht.


    Wenn ich registriert bin und ich den Server betrete werde ich ohne, dass die Daten geladen werden einfach gespawnt, obwohl die Spielerdatei besteht.


    public OnPlayerConnect(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    format(Spielerdatei, sizeof(Spielerdatei), "/Accounts/%s.ini", name);


    if(!dini_Exists(Spielerdatei))
    {
    SpawnPlayer(playerid);
    }
    else
    {
    ShowPlayerDialog(playerid ,DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{00BFFF}Login", "{FFFFFF}Willkommen zurück auf {FF8000}[LPR] Las Payasadas Reallife{FFFFFF}.\n\nBitte gib deinen Code ein, um dich einzuloggen","Login","Beenden");
    }
    return 1;
    }


    case DIALOG_LOGIN:
    {
    if(!response)
    {
    SendClientMessage(playerid, Rot, "Du hast die Verbindung zum Server unterbrochen.");
    Kick(playerid);
    }
    else
    {
    new pwlaenge = strlen(inputtext);
    if(pwlaenge > 0)
    {
    new code[16];
    format(code, sizeof(code), "%s", dini_Get(Spielerdatei, "Password"));
    if(strcmp(inputtext, code) == 0)
    {
    SpielerLaden(playerid);
    }
    else
    {
    SendClientMessage(playerid, Rot, "Deine Eingabe war ungültig. Bitte versuche es erneut.");
    ShowPlayerDialog(playerid ,DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{00BFFF}Login", "{FFFFFF}Willkommen zurück auf {FF8000}[LPR] Las Payasadas Reallife{FFFFFF}.\n\nBitte gib deinen Code ein, um dich einzuloggen","Login","Beenden");
    }
    }
    else
    {
    SendClientMessage(playerid, Rot, "Deine Eingabe war ungültig. Bitte versuche es erneut.");
    ShowPlayerDialog(playerid ,DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{00BFFF}Login", "{FFFFFF}Willkommen zurück auf {FF8000}[LPR] Las Payasadas Reallife{FFFFFF}.\n\nBitte gib deinen Code ein, um dich einzuloggen","Login","Beenden");
    }
    }
    }
    Bei "Spielerladen(playerid);" werden logischerweise die Daten des Accounts geladen.

  • Dreh das mal um.


    if(!dini_Exists(Spielerdatei))
    {
    SpawnPlayer(playerid);
    }
    else
    {
    ShowPlayerDialog(playerid ,DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{00BFFF}Login", "{FFFFFF}Willkommen zurück auf {FF8000}[LPR] Las Payasadas Reallife{FFFFFF}.\n\nBitte gib deinen Code ein, um dich einzuloggen","Login","Beenden");
    }


  • Funktioniert auch nicht. Habe das wenn sie existiert, dass dann der Dialog kommt und sonst wird der Spieler gespawnt.

  • Was ich aber nicht verstehe, wieso lässt du ihn Spawnen,
    wenn er doch garkein Account hat ?


    Habe bei OnPlayerSpawn auch eine Abfrage. Wenn die Datei nicht existiert, dann wird er automatisch registriert. Weil davor hat das ganze nicht funktioniert, als ich es da hatte und so wie es jetzt ist finde ich es gut. Bis auf, dass das Loginsystem nicht funktioniert.


    Edit:


    Es liegt daran, dass die OnPlayerRequestClass vor dem OnPlayerConnect ausgeführt wird und ich gemacht habe, dass die Skinauswahl übersprungen wird.


    Wie mache ich, dass das OnPlayerConnect vor dem OnPlayerRequestClass ausgeführt wird? Oder wie mache ich, dass OnPlayerConnect überhaupt ausgeführt wird?

    2 Mal editiert, zuletzt von Artus ()

  • Wie mache ich, dass das OnPlayerConnect vor dem OnPlayerRequestClass ausgeführt wird? Oder wie mache ich, dass OnPlayerConnect überhaupt ausgeführt wird?

    OnPlayerConnect wird immer ausgeführt, sobald ein Spieler auf den Server kommt. >>> Es wird ausgeführt, da verstehe ich deine Frage nicht so... ^^

  • Zitat von »K3V1N«
    Was ich aber nicht verstehe, wieso lässt du ihn Spawnen,
    wenn er doch garkein Account hat ?



    Habe bei OnPlayerSpawn auch eine Abfrage. Wenn die Datei nicht existiert, dann wird er automatisch registriert. Weil davor hat das ganze nicht funktioniert, als ich es da hatte und so wie es jetzt ist finde ich es gut. Bis auf, dass das Loginsystem nicht funktioniert.


    Konntest du mir sagen wie ich das hin bekomme ?
    Habe das Problem auch das wen ich das Passwort falsch eingebe der User schon spawnt und das Passwort fenster dan kommt.
    Der user sollte aber nicht spawnen erst wen er das passwort beim Login korrekt eingeben hat