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
  • Moin zusammen,
    folgendes Problem:
    wenn ich ein Account anlege, funktioniert das Registrieren wunderbar.
    Das einzigste was jetzt passiert,
    wenn ich mich einlogge wieder mit dem gleichen Account, kann ich auch nur mein ausgewähltes passwort eingeben aber ich werde wieder
    zu meiner Auswahl vom Geschlecht geschickt?!
    Wo hab ich meinen Fehler ?


    Hier das mit der Auswahl von Frau | Mann:


    public SetPlayerSpawn(playerid)
    {
    if(IsPlayerConnected(playerid)) {
    if(SpielerInfo[playerid][pTut] == 0) {
    gOoc[playerid] = 1; gNews[playerid] = 1; gFam[playerid] = 1;
    TogglePlayerControllable(playerid, 0);
    ShowUserDialog(playerid,DIALOG_REGSTEP_1,DIALOG_STYLE_MSGBOX,"Geschlecht","Bist ein Mann oder eine Frau?","Mann","Frau");
    SetPlayerPos(playerid,1770.6027,-1779.4812,13.5500);
    SetPlayerFacingAngle(playerid, 126.00);
    SetPlayerInterior(playerid,0);
    SpielerInfo[playerid][pInt] = 0;
    SetPlayerCameraPos(playerid, -1833.3828,17.7951,1061.3993);
    SetPlayerCameraLookAt(playerid,-1834.5859,21.0157,1062.1665);
    }


    Hier normal, das er doch gespawnt werden soll oder nicht ? <.<
    SpielerInfo[playerid][pOnline] = 1;
    gPlayerLogged[playerid] = 1;
    SaveMysqlPlayer(playerid);
    SpawnPlayer(playerid);
    SetPlayerWeapons(playerid);
    DateProp(playerid);
    TextDrawShowForPlayer(playerid, myhelp);
    TextDrawShowForPlayer(playerid, mystats);
    TextDrawShowForPlayer(playerid, Date);

  • soweit ich das sehe bekommt dein Spieler immer die Nachricht. Wiesolegst du nicht ne variable für das geschlecht an und selektierst das ganze einfach^^.
    Also Falls Spieler Geschlecht vorhanden zeige die nachricht nicht ansosnt doch :P
    Oder deine Tut variable wird nicht richtig gesetzt. Funktioniert nach dem registrieren das tutorial ? wird das beim einloggen immer ausgeführt oder nicht?

  • Überprüfe die Validierung der dialogid deines Login-Dialogs unter OnDialogResponse(), da sollte kein Geschlecht auftreten. Geh auf Nummer sicher, dass du die richtigen IDs verwendest.

  • das liegt an pTut was ja beim beenden des tutorials auf 1 gesetzt und ja auch bei dir abgefragt wird.
    du kannst ja mal in die account ini schauen ob der wert auf 1ist und beim laden auch kein fehler auftritt daher mal zwischen printen mit printf

  • das liegt an pTut was ja beim beenden des tutorials auf 1 gesetzt und ja auch bei dir abgefragt wird.
    du kannst ja mal in die account ini schauen ob der wert auf 1ist und beim laden auch kein fehler auftritt daher mal zwischen printen mit printf


    Dann müsste es ja so theoretisch passen?
    Ist das Ende vom Tut:
    else if(TutTime[playerid] == 8)
    {
    TutTime[playerid] = 0;
    if(tutkicked[playerid] != 1)
    {
    ShowUserDialog(playerid, DIALOG_STARTBONUS,DIALOG_STYLE_LIST, "Startbonus", "Level 2\n10.000€ Startgeld\nAuto & Motoradschein", "Auswählen","Nichts");
    }
    TogglePlayerControllable(playerid, 0);
    TutTime[playerid] = 0; SpielerInfo[playerid][pTut] = 2;
    gOoc[playerid] = 0; gNews[playerid] = 0; gFam[playerid] = 0;
    SetCameraBehindPlayer(playerid);


    //edit
    Code eingefügt

  • Setz doch einfach eine globale Variable oben im Script mit z.B:
    new IstSpielerNeu[MAX_PLAYERS];
    Dann setzt du diese Variable auf 1, in deinem Register Dialog, wenn er dann spawnt, fragst du ab, ob die Variable auf 1 (true) steht und falls dies der Fall ist, einfach das Tutorial beginnen.

  • Setz doch einfach eine globale Variable oben im Script mit z.B:
    new IstSpielerNeu[MAX_PLAYERS];
    Dann setzt du diese Variable auf 1, in deinem Register Dialog, wenn er dann spawnt, fragst du ab, ob die Variable auf 1 (true) steht und falls dies der Fall ist, einfach das Tutorial beginnen.




    Wozu da es mehrere pTut sequenzen gibt setz pTut am ende einfach auf -1.
    Ist die beste und einfachste Lösung.


    LG RFT

    RFT

  • Wozu da es mehrere pTut sequenzen gibt setz pTut am ende einfach auf -1.
    Ist die beste und einfachste Lösung.


    LG RFT


    Ich habe es bis jetzt immer so gemacht. Dann im jeweiligen Public einen neuen Timer gestartet, der dann den nächsten Tutorial Ablauf ausgibt und immer so weiter. Und im letzten Public habe ich die Variable dann einfach wieder auf 0 gesetzt. Hat bis jetzt immer Prima funktioniert.

  • ich meinte eig. diese variable :
    SpielerInfo[playerid][pTut]
    wo setzt du sie? Ich sehe dort geht die auf 2, was dann? Damit dein Code oben ausgeführt werden kann muss diese aber auf 0 gesetzt werden ?
    Wo setzt du also deine variable SpielerInfo[playerid][pTut] auf 0 post ma code wenn du hast ^^

  • ich meinte eig. diese variable :
    SpielerInfo[playerid][pTut]
    wo setzt du sie? Ich sehe dort geht die auf 2, was dann? Damit dein Code oben ausgeführt werden kann muss diese aber auf 0 gesetzt werden ?
    Wo setzt du also deine variable SpielerInfo[playerid][pTut] auf 0 post ma code wenn du hast ^^


    er muss es nichtmal bewusst auf 0 setzen es kann auch sein das dies entweder nicht gespeichert wird oder ausgelesen wird