Dialoge Nacheinander laufen lassen.

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
  • public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == langdialog)
    {
    if(response == 1)
    {
    SendLanguageText(playerid,0xFF0000AA,"Du hast als Sprache Deutsch gewählt!","You have chosen the language to english!");
    return SetPlayerLanguage(playerid, 1);
    }
    else if(response == 0)
    {
    return SetPlayerLanguage(playerid, 2);
    }
    }


    Also hier bei diesem Dialog beispielsweise, wo ist da die Abfrage?

  • public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == langdialog)
    {
    if(response == 1)
    {
    SendLanguageText(playerid,0xFF0000AA,"Du hast als Sprache Deutsch gewählt!","You have chosen the language to english!");
    return SetPlayerLanguage(playerid, 1);
    //ShowPlayerDialog ... blablabla <--- Da der nächste Dialog
    }
    else if(response == 0)
    {
    return SetPlayerLanguage(playerid, 2);
    //ShowPlayerDialog ... blablabla <--- Da der nächste Dialog
    }
    }

  • #include <ocmd>


    #define Gruen 0x99FF00FF


    #define DIALOG_A 1
    #define DIALOG_B 2


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == DIALOG_A)
    {
    if(response == 0)
    {
    SendClientMessage(playerid, Gruen, "Du hast 'Abbrechen' gedrückt!");
    Kick(playerid);
    return 1;
    }
    if(response == 1)
    {
    SendClientMessage(playerid, Gruen, "Du hast 'Weiter' gedrückt!");
    ShowPlayerDialog(playerid, DIALOG_B, DIALOG_STYLE_MESSAGE, "Test - Box", "Dein Test scheint zu funktionieren ...", "Fertig", "Abbrechen");
    return 1;
    }
    }
    if(dialogid == DIALOG_B)
    {
    if(response == 0)
    {
    SendClientMessage(playerid, Gruen, "Du hast 'Abbrechen' gedrückt!");
    Kick(playerid);
    return 1;
    }
    if(response == 1)
    {
    SendClientMessage(playerid, Gruen, "Dein Test hat funktioniert.");
    return 1;
    }
    }
    return 1;
    }


    ocmd:test(playerid)
    {
    ShowPlayerDialog(playerid, DIALOG_A, DIALOG_STYLE_MESSAGE, "Test - Box", "Drücke 'Weiter', um zur nächsten Box zu gelangen!", "Weiter", "Abbrechen");
    return 1;
    }


    Hier ein kleines Anwendungsbeispiel. :)


    MfG
    Eliot Ness