Dialogfeld hinter Dialogfeld

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
  • Wie mache ich das:
    Wenn sich jemand im Registrierungsvorgang befindet, heißt noch nie auf meinem Server war, soll derjenige das Land eingeben (Dialogfeld) und wenn er/sie auf weiter klickt soll sich das nächste Dialogfeld öffnen. Bis die Registrierung vorbei ist.
    Ich habe schon ein funktionierendes Registrier/Login System, welches ich mit PVar's gemacht habe (MrMonat)


    Soo mein Problem liegt darin die Dialoge NACHEINANDER abzufragen. Also das das nächste Dialogfeld erst nach dem 'klick' auf weiter erscheint. ;(


    Bitte helft mir. Ich hab mir echt schon Gedanken gemacht und auch gegooglet und so, nur alle haben tut's wie man ein register-System macht, aber nicht sowas . . .


    Liebe Grüße Nina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    LG Ninalein93
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


  • Dieses ist doch aber nur für Listen.
    Ich möchte es aber so haben, dass man etwas eingibt, auf 'Weiter' klickt und dann das nächste Dialogfeld
    erscheint und nicht alle auf einmal wo man dann was aufwählen soll.

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    LG Ninalein93
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


    Einmal editiert, zuletzt von Ninalein93 ()

  • also so sieht das bei mir so aus (OnDialogResponse):


    if(dialogid == LAND)
    {
    if(response == 0)
    {
    SendClientMessage(playerid,ROT,"Du hast den Registrierungsvorgang abgebrochen!");
    Kick(playerid);
    return 1;
    }
    if(response == 1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,ROT,"Bitte gib dein Herkunftsland ein.");
    ShowPlayerDialog(playerid,LAND,DIALOG_STYLE_INPUT,"Registrierung 1/5", "Wo kommst Du her? (Land)","Weiter","Abbrechen");
    return 1;
    }
    Land(playerid,inputtext);
    return 1;
    }
    }


    wenn ich das so mache:


    if(dialogid == LAND)
    {
    if(response == 0)
    {
    SendClientMessage(playerid,ROT,"Du hast den Registrierungsvorgang abgebrochen!");
    Kick(playerid);
    return 1;
    }
    if(response == 1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,ROT,"Bitte gib dein Herkunftsland ein.");
    ShowPlayerDialog(playerid,LAND,DIALOG_STYLE_INPUT,"Registrierung 1/5", "Wo kommst Du her? (Land)","Weiter","Abbrechen");
    -->ShowPlayerDialog(playerid,REGISTRIEREN,DIALOG_STYLE_INPUT,"Registrierung 5/5","Bitte wähle ein Passwort, um dir einen Account zu erstellen","Registrieren","Abbrechen"); <--
    return 1;
    }


    Land(playerid,inputtext);
    return 1;
    }
    }


    oder so:


    if(dialogid == LAND)
    {
    if(response == 0)
    {
    SendClientMessage(playerid,ROT,"Du hast den Registrierungsvorgang abgebrochen!");
    Kick(playerid);
    return 1;
    }
    if(response == 1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,ROT,"Bitte gib dein Herkunftsland ein.");
    ShowPlayerDialog(playerid,LAND,DIALOG_STYLE_INPUT,"Registrierung 1/5", "Wo kommst Du her? (Land)","Weiter","Abbrechen");

    return 1;
    }


    Land(playerid,inputtext);
    -->ShowPlayerDialog(playerid,REGISTRIEREN,DIALOG_STYLE_INPUT,"Registrierung 5/5","Bitte wähle ein Passwort, um dir einen Account zu erstellen","Registrieren","Abbrechen"); <--
    return 1;
    }
    }


    zeigt er mir zwar das erste dialogfeld an aber nicht das zweite ...
    wo also soll ich das zweite feld( ShowPlayerDialog() ) eintragen ???

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    LG Ninalein93
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


  • Ich schreib einfach mal ein Beispiel, das kannst du bestimmt auf dein Teil übertragen:
    if(dialogid==DIALOG_1)
    {
    if(response)
    {
    ShowPlayerDialog(playerid,DIALOG_2,DIALOG_STYLE_INPUT,"Zweiter Dialog", "Dies ist der zweite Dialog","Weiter","Abbrechen");
    }
    }
    else if(dialogid==DIALOG_2)
    {
    if(response)
    {
    ShowPlayerDialog(playerid,DIALOG_3,DIALOG_STYLE_INPUT,"Dritter Dialog", "Dies ist der dritte Dialog","Weiter","Abbrechen");
    }
    }
    else if(dialogid==DIALOG_3)
    {
    if(response)
    {
    ShowPlayerDialog(playerid,DIALOG_4,DIALOG_STYLE_INPUT,"Vierter Dialog", "Dies ist der vierte Dialog","Weiter","Abbrechen");
    }
    }



    Das ShowPlayerDialog für den nächsten Dialog rufst einfach unter dem Teil von OnDialogResponse des vorigen Dialoges auf.