Hilfe beim 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
  • Guten Abend!


    Bei meinem Login und Registersystem ist es so, dass wenn man das falsche Passwort eingiegt der Dialog noch einmal kommt aber wann wird gleichzeitig weitergeleitet, sodass man spawnen auch kann.
    Wie kann ich es machen das auch der Andere Dialog nicht bei der Skinauswahl ist sondern da wo mann Connectet ?


    Ich hoffe ihr habt mich verstanden ;)


    Mfg


  • public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    new pname[MAX_PLAYERS],accFormat[128],
    stringlogin[128],stringregister[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(stringlogin,sizeof(stringlogin),"Benutzername: %s \n\nDieser Account exestiert bereits. \nBitte logge dich ein. \n\nBitte gib dein persönliches Passwort ein:",pname);
    format(stringregister,sizeof(stringregister),"Benutzername: %s \n\nDieser Account exestiert noch nicht. \nDu musst dich regestrieren.\n\nBitte gib ein Passwort ein:",pname);
    format(accFormat,sizeof accFormat,"Accounts/%s.txt",pname);
    if(response)
    {
    switch(dialogid)
    {
    case DIALOG_LOGIN:
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login - Fenster",stringlogin,"Login","Abbrechen");
    return SendClientMessage(playerid,rot,"[WARNUNG] Kein Passwort angegeben!");
    }
    if(strcmp(inputtext,dini_Get(accFormat,"Passwort")) == 0)
    {
    Spieler[playerid][pGeld] = dini_Int(accFormat,"Geld");
    Spieler[playerid][pScore] = dini_Int(accFormat,"Score");
    Spieler[playerid][pAdminlvl] = dini_Int(accFormat,"Adminlvl");
    Spieler[playerid][pViplvl] = dini_Int(accFormat,"lasty");
    ResetPlayerMoney(playerid);
    GivePlayerMoney(playerid, Spieler[playerid][pGeld]);
    SetPlayerScore(playerid, Spieler[playerid][pScore]);
    Spieler[playerid][eingeloggt] = 1;
    SendClientMessage(playerid,hellblau,"[SERVERINFO] Du wurdest erfolgreich eingeloggt.");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Registrieren","Abbrechen");
    SendClientMessage(playerid,rot,"[WARNUNG] Falsches Passwort!");
    }
    }
    case DIALOG_REGISTER:
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrations - Fenster",stringregister,"Registrieren","Abbrechen");
    return SendClientMessage(playerid,rot,"[WARNUNG] Dein Passwort ist zu kurz!");
    }
    dini_Create(accFormat);
    dini_Set(accFormat,"Passwort",inputtext);
    dini_IntSet(accFormat,"Geld",Spieler[playerid][pGeld]);
    dini_IntSet(accFormat,"Score",Spieler[playerid][pScore]);
    dini_IntSet(accFormat,"Adminlvl",Spieler[playerid][pAdminlvl]);
    dini_IntSet(accFormat,"Viplvl",Spieler[playerid][pViplvl]);
    Spieler[playerid][eingeloggt] = 1;
    SendClientMessage(playerid,hellblau,"[SERVERINFO] Dein Account wurde erfolgreich angelegt, und du wurdest automatisch eingeloggt!");
    }
    }
    }
    else
    {
    switch(dialogid)
    {
    case DIALOG_LOGIN:
    {
    SendClientMessage(playerid,violet,"[ADMININFO] Du wurdest gekickt! [Grund: Login Abbgebrochen]");
    Kick(playerid);
    return 1;
    }
    case DIALOG_REGISTER:
    {
    SendClientMessage(playerid,violet,"[ADMININFO] Du wurdest gekickt! [Grund: Registration Abbgebrochen]");
    Kick(playerid);
    return 1;
    }
    }
    }
    return 1;
    }


  • Mach aus
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrations - Fenster",stringregister,"Registrieren","Abbrechen");
    return SendClientMessage(playerid,rot,"[WARNUNG] Dein Passwort ist zu kurz!");
    einfach:
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrations - Fenster",stringregister,"Registrieren","Abbrechen");
    SendClientMessage(playerid,rot,"[WARNUNG] Dein Passwort ist zu kurz!");
    return 1;

  • Geht nicht, der Dialog wird immer noch bei der Skinauswahl angezeiht :/


    Wen du damit meinst das du unten die drei Button hast "<- -> Spawm" Die bekommt mann nicht! (Soweit wie ich weiß :)