Help Befehl auf 2 Seite verlagern

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
  • Tag liebe Community, ich würde gerne meinen Dialog auf eine bzw mehere Seite verlegen sprich nach der ersten Seite soll Seite 2 3 4 etc folgen. Mit meinem Ansatz bin ich leider nicht ganz so erfolgreich, wie löse ich die Weiterleitung ein. Habe auch die Sufu benutz, bin nur leider zu keinem Ergebniss gekommen.


    Hier mein Ausschnitt: if(dialogid==DIALOG_HELP)
    {
    if(response)
    {
    if(listitem==0)
    {
    ShowPlayerDialog(playerid,DIALOG_HELP,DIALOG_STYLE_MSGBOX,"Adminbefehle","kick\nban\ntban\nmute\nmakeadmin\nmakeleader","Seite 2","Schließen");

    }
    }
    }
    if(dialogid==DIALOG_HELP2)
    {
    if(response==1)
    {
    ShowPlayerDialog(playerid,DIALOG_HELP,DIALOG_STYLE_MSGBOX,"Seite 2","kick\nban\ntban\nmute\nmakeadmin\nmakeleader","Seite 3","Schließen");
    }
    }


    Wäre nett, wenn ihr mir helfen könntet.


    Ich braäuchte keine komplette Lösung nur einen Tipp, was mein Fehler ist.


    Mit freundlichen Grüßen


    Styler_1

  • Du musst den Ersten Dialog den du mit dem Befehl zeigst (So wie du es hier jetzt machst) DIALOG_HELP nennen.
    Dann bei OnDIalogResponse abfragen ob DIALOG_HELP drann ist.Dort fragst du ja ab,ob die Adminbefehle (Lititem 0) gewählt wurden.
    Wenn dies der Fall ist,zeigst du ihm den DIALOG_HELP1 mit den Adminbefehlen.
    Dann fragst du in einer neuen IF-Abfrage ab (Mit der DIALOG_HELP1),ob er auf seite2 oder abbrechen klickt.
    Und dass wie im richtigem beispiel immer so weiter.



    //oben im Script die richtigen Defines.
    #define DIALOG_HELP 0 //Der DILAOG beim Befehl
    #define DIALOG_HELP1 1 //Der DIALOG beim Auswaählen von "Adminbefehle"
    #define DIALOG_HELP2 2 //Die zweite Seite vom DIALOG "Adminbefehle"


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid==DIALOG_HELP)
    {
    if(response)
    {
    if(listitem==0)
    {
    ShowPlayerDialog(playerid,DIALOG_HELP1,DIALOG_STYLE_MSGBOX,"Adminbefehle","kick\nban\ntban\nmute\nmakeadmin\nmakeleader","Seite 2","Schließen");

    }
    }
    }
    if(dialogid==DIALOG_HELP1)
    {
    if(response==1)
    {
    ShowPlayerDialog(playerid,DIALOG_HELP2,DIALOG_STYLE_MSGBOX,"Seite 2","kick\nban\ntban\nmute\nmakeadmin\nmakeleader","Seite 3","Schließen");
    }
    }
    }

  • - DIALOG_ID's erstellen (Beispiel: DIALOG_HELP1, DIALOG_HELP2 etc.)
    - Befehl erstellen und dort den Dialog DIALOG_HELP1 anzeigen lassen
    - unter OnDialogResponse dann wie folgt vorgehen:
    if(dialogid==DIALOG_HELP1)
    {
    if(response) //wenn auf den ersten Button gedrückt wird, wird DIALOG_HELP2 angezeigt
    {
    ShowPlayerDialog(playerid,DIALOG_HELP2,......)
    }
    else //wenn auf den zweiten Button gedrückt wird, wird DIALOG_HELP1 angezeigt
    {
    ShowPlayerDialog(playerid,DIALOG_HELP1,......)
    }
    }
    Das machst du für weitere Dialoge dann genau so.

  • Ich setze das genau so um, dennoch bekomm ich erstens ein bis 3 Warning und es funktioniert weiterhin nicht


    Muss ich hier auch noch was ändern? ocmd:help(playerid,params[])
    {
    ShowPlayerDialog(playerid,DIALOG_HELP,DIALOG_STYLE_LIST,"Info Menü","Adminbefehle\nFraktionsbefehle\nAllgemeine Befehle","Weiter","Schließen");
    return 1;
    }