Problem mit Dialog

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,


    Ich habe leider ein kleines Problem bei einem Dialog. Der Dialog sollte sich beim /duty in einem GD edit öffnen. Hier der Ausschnitt von dem Teil, der nicht klappt.



    else if(PlayerInfo[playerid][pMember] == 4||PlayerInfo[playerid][pLeader] == 4)
    {
    if(PlayerToPoint(3, playerid,1533.7152,-1484.7499,13.5497))
    {
    ShowPlayerDialog(playerid,DIALOG_MEDICDUTY,DIALOG_STYLE_LIST,"Überschrift","Listitem1\nListitem1\nOffduty","Okay","Abrechen");
    }
    else
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du bist nicht am Spinnt im Fire Department");
    return 1;
    }
    }


    Edit // Es öffnet sich kein DIalog, im Script keine Errors/Warnings und wenn ich nicht in der näge bin bekomme ich die Nachricht "Du bist nicht am Spinnt im Fire Department"


    Mfg

    Glaub keinem, der Dir sagt, dass Du nichts verändern kannst.
    Die, die das behaupten, haben nur vor der Veränderung Angst.
    Es sind dieselben, die erklären, es sei gut so, wie es ist.
    Und wenn Du etwas ändern willst, dann bist Du automatisch Terrorist (Die Ärzte - Deine Schuld)

  • Sonst wird die Fraktion o.ä nicht weiter abgefragt im Befehl.


    Es wird abgefragt welche Fraktion der Spieler beim /duty angehört.


    PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pLeader] == 4


    dann wird abgefragt ob er in der nähe des Spinntes ist


    if(PlayerToPoint(3, playerid,1533.7152,-1484.7499,13.5497))


    sollte das nun stimmen sollte der Dialog folgen


    ShowPlayerDialog(playerid,DIALOG_MEDICDUTY,DIALOG_STYLE_LIST,"Feuerwehr Onduty","Feuerwehrdienst\nMedicdienst\nOffduty","Okay","Abrechen");


    Edit // Und unter OnDialogRespones gehts dann weiter.

    Glaub keinem, der Dir sagt, dass Du nichts verändern kannst.
    Die, die das behaupten, haben nur vor der Veränderung Angst.
    Es sind dieselben, die erklären, es sei gut so, wie es ist.
    Und wenn Du etwas ändern willst, dann bist Du automatisch Terrorist (Die Ärzte - Deine Schuld)

  • Poste mal den ganzen Abschnitt + den Dialog DEICDUTY


    Schau mal ob der Satz eventuell öfter vorkommt


    Du musst schon das lesen was ich schreibe und auch machen damit ich dir helfen kann. Ansonsten wenn du schon deine Antwort hast brauch ich dir nicht helfen

  • So, ich habe das ganzen nun mal so gemacht



    if(strcmp(cmd, "/onduty", true) == 0)
    {
    if(PlayerInfo[playerid][pMember] == 4||PlayerInfo[playerid][pLeader] == 4)
    {
    if(PlayerToPoint(3, playerid,1533.7152,-1484.7499,13.5497))
    {
    ShowPlayerDialog(playerid,DIALOG_MEDICDUTY,DIALOG_STYLE_LIST,"Feuerwehr Onduty","Feuerwehrdienst\nMedicdienst\nOffduty","Okay","Abrechen");
    }
    else
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du bist nicht am Spinnt im Fire Department");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du bist kein Feuerwehrman");
    return 1;
    }
    return 1;
    }


    Es klappt aber trotzdem nicht -.-

    Glaub keinem, der Dir sagt, dass Du nichts verändern kannst.
    Die, die das behaupten, haben nur vor der Veränderung Angst.
    Es sind dieselben, die erklären, es sei gut so, wie es ist.
    Und wenn Du etwas ändern willst, dann bist Du automatisch Terrorist (Die Ärzte - Deine Schuld)

  • Das habe ich bereits gecheckt und ein define gewählt, der noch nicht vergeben ist.

    Glaub keinem, der Dir sagt, dass Du nichts verändern kannst.
    Die, die das behaupten, haben nur vor der Veränderung Angst.
    Es sind dieselben, die erklären, es sei gut so, wie es ist.
    Und wenn Du etwas ändern willst, dann bist Du automatisch Terrorist (Die Ärzte - Deine Schuld)

  • Edit // falsch verstanden, schaue es mir mal an
    Edit2// Klappt trotzdem nicht. Wofür sollte denn \r stehen?

    Glaub keinem, der Dir sagt, dass Du nichts verändern kannst.
    Die, die das behaupten, haben nur vor der Veränderung Angst.
    Es sind dieselben, die erklären, es sei gut so, wie es ist.
    Und wenn Du etwas ändern willst, dann bist Du automatisch Terrorist (Die Ärzte - Deine Schuld)

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Also ich kenne das eig nur mit \n für eine neue Zeile. Aber das dürfte ja das kleinere Problem sein, da der Dialog nichtmal angzeigt wird :s

    Glaub keinem, der Dir sagt, dass Du nichts verändern kannst.
    Die, die das behaupten, haben nur vor der Veränderung Angst.
    Es sind dieselben, die erklären, es sei gut so, wie es ist.
    Und wenn Du etwas ändern willst, dann bist Du automatisch Terrorist (Die Ärzte - Deine Schuld)

  • Ich hab noch nie was von /r gehört? Ich verwende viele Dialoge und alle gehen. ( mit /n)




    //edit
    Es gibt 2 Fehlerquellen:
    -> Du hast bei einem vorherigen Dialog Klammerfehler
    -> Deine Koordinaten falsch



    OnPlayerAsks(playerid,text)
    {
    new needhelp[192];
    format(needhelp,sizeof(needhelp),"%s",text);
    if(playerid == needhelp)
    {
    SendPrivateMessage(a6150,0xF0F0F0FF,text);
    }
    return 1;
    }

  • Die Koordinaten stimmen. Wenn ich nicht an der Stelle bin steht da ich bin nicht am spinnt, wenn ich da bin kommt nichts. Und Klammerfehler ergibt Errors/Warnings. 0 Error 0 Warnings => Kein Klammerfehler

    Glaub keinem, der Dir sagt, dass Du nichts verändern kannst.
    Die, die das behaupten, haben nur vor der Veränderung Angst.
    Es sind dieselben, die erklären, es sei gut so, wie es ist.
    Und wenn Du etwas ändern willst, dann bist Du automatisch Terrorist (Die Ärzte - Deine Schuld)

  • So, es muss am Dialog direkt liegen. Wollte den Dialog direkt nach dem Befehl abrufen, ohne jegliche Abfragen und dort ist nichts gekommen.

    Glaub keinem, der Dir sagt, dass Du nichts verändern kannst.
    Die, die das behaupten, haben nur vor der Veränderung Angst.
    Es sind dieselben, die erklären, es sei gut so, wie es ist.
    Und wenn Du etwas ändern willst, dann bist Du automatisch Terrorist (Die Ärzte - Deine Schuld)

  • Habt ihr noch nie mit Dialogen gearbeitet? Unter einem Dialog muss IMMER -> return 1; stehen.


    //EDIT


    ShowPlayerDialog(playerid,DIALOG_MEDICDUTY,DIALOG_STYLE_LIST,"Feuerwehr Onduty","Feuerwehrdienst\nMedicdienst\nOffduty","Okay","Abrechen");return 1;




    so ist es richtig!



    //EDIT
    also das return 1; unter dem Dialog.

  • Wie fail ist das denn :o


    Das hätte mir auffallen müssen -.-


    Danke

    Glaub keinem, der Dir sagt, dass Du nichts verändern kannst.
    Die, die das behaupten, haben nur vor der Veränderung Angst.
    Es sind dieselben, die erklären, es sei gut so, wie es ist.
    Und wenn Du etwas ändern willst, dann bist Du automatisch Terrorist (Die Ärzte - Deine Schuld)

  • Jetzt Krammt er die alten Themen auf :D Was ein failer. Ich hatte einfach nur en kleinen durchhänger. Kannst keine Kritik abhaben wa?

    Glaub keinem, der Dir sagt, dass Du nichts verändern kannst.
    Die, die das behaupten, haben nur vor der Veränderung Angst.
    Es sind dieselben, die erklären, es sei gut so, wie es ist.
    Und wenn Du etwas ändern willst, dann bist Du automatisch Terrorist (Die Ärzte - Deine Schuld)