Dialog Problem

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
  • Hey....
    ich habe versucht mir ein Navi im dialog zu machen..
    aber iwie kommen die checkpoints und der gametext nicht hier der Code
    vllt kann mir ja einer helfen :D
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(!strcmp(cmdtext, "/navi", true))
    {
    ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Navigations System", "Bahnhof\nBSN\nLSPD\nArbeitsamt\nStadthalle\nFahrschule", "OK", "Abbrechen");
    return 1;
    }
    return 0;
    }
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    // We SHOULD use switch(dialogid) with cases, but we're only going to use one dialog in this tutorial.
    if(dialogid == 1 && response) // If the dialogid is 1 (our dialog) and they pressed 'Purchase'
    {
    // We'll use the switch/cases now because we're going to process a few results, not just one. Remember, the first item in the list has id 0.
    switch(listitem)
    {
    case 0:
    {
    GameTextForPlayer(playerid,"Das Navigations System beschreibt dir den weg zum BHF!",3000,3);//der text, wen man auf das erste klickt
    SetPlayerCheckpoint(playerid,1770.2982,-1854.9825,13.4141,5); //koordienaten ändern
    }
    case 1:
    {
    GameTextForPlayer(playerid,"Das Navigations System beschreibt dir den weg zum BSN!",3000,3);
    SetPlayerCheckpoint(playerid,1201.3550,-930.4697,42.9364,5); //koordienaten ändern
    }
    case 2:
    {
    GameTextForPlayer(playerid,"Das Navigations System beschreibt dir den weg zum LSPD!",3000,3);
    SetPlayerCheckpoint(playerid,1536.3223,-1675.4866,13.3828,5); //koordienaten ändern
    }
    case 3:
    {
    GameTextForPlayer(playerid,"Das Navigations System beschreibt dir den weg zum JobCenter!",3000,3);
    SetPlayerCheckpoint(playerid,1471.0726,-1265.4956,14.5625,5); //koordienaten ändern
    }
    case 4:
    {
    GameTextForPlayer(playerid,"Das Navigations System beschreibt dir den weg zur Stadthalle!",3000,3);
    SetPlayerCheckpoint(playerid,1479.7780,-1742.9395,13.5469,5); //koordienaten ändern
    }
    case 5:
    {
    GameTextForPlayer(playerid,"Die Fahrschule gibt es noch nicht",3000,3);
    //SetPlayerCheckpoint(playerid,-2522.6191,1214.9878,37.4283,5);//koordienaten ändern
    }
    }
    }
    return 1;
    ?(
    //Edit Habs jetzt so probiert wie in einem Tutorial:
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == 1)
    {
    if(response)
    {
    if(listitem == 0)
    {
    GameTextForPlayer(playerid,"Das Navigations System beschreibt dir den weg zum BHF!",3000,3);//der text, wen man auf das erste klickt
    SetPlayerCheckpoint(playerid,1770.2982,-1854.9825,13.4141,5); //koordienaten ändern
    }
    if(listitem == 1)
    {
    GameTextForPlayer(playerid,"Das Navigations System beschreibt dir den weg zum BSN!",3000,3);
    SetPlayerCheckpoint(playerid,1201.3550,-930.4697,42.9364,5); //koordienaten ändern
    }
    if(listitem == 2)
    {
    GameTextForPlayer(playerid,"Das Navigations System beschreibt dir den weg zum LSPD!",3000,3);
    SetPlayerCheckpoint(playerid,1536.3223,-1675.4866,13.3828,5); //koordienaten ändern
    }
    if(listitem == 3)
    {
    GameTextForPlayer(playerid,"Das Navigations System beschreibt dir den weg zum JobCenter!",3000,3);
    SetPlayerCheckpoint(playerid,1471.0726,-1265.4956,14.5625,5); //koordienaten ändern
    }
    if(listitem == 4)
    {
    GameTextForPlayer(playerid,"Das Navigations System beschreibt dir den weg zur Stadthalle!",3000,3);
    SetPlayerCheckpoint(playerid,1479.7780,-1742.9395,13.5469,5); //koordienaten ändern
    }
    if(listitem == 5)
    {
    GameTextForPlayer(playerid,"Die Fahrschule gibt es noch nicht",3000,3);
    //SetPlayerCheckpoint(playerid,-2522.6191,1214.9878,37.4283,5);//koordienaten ändern
    }
    }
    }
    return 1;
    }
    geht immer noch nicht -.-

  • Habs gemacht checkpoints ud gametexts werden immer noch nicht angezeigt X(

  • Ignorier die Antwort von Hardcore..
    Schau am besten nach, ob du bereits ein Dialog mit der Nummer 1 gemacht hast! Wenn du dir nicht sicher bist nimm bei ShowPlayerDialog zB die Nummer 123 und dann bei der Abfrage fragst du dann
    if(dialogid == 123)
    ab.
    Tipp: Nütz die switch/case Variante, welche viel besser ist beim indizieren

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Ich finde Case etc schlimm. Jedem das seine, ich verwende listitem.


    Also du definierst dein Dialog mit :


    #define DIALOG 0


    So, versuchs anstatt mit Case mal so.



    if(dialogid == DIALOG)
    {
    if(lisitem == 0)
    {
    //Was Passiert wen der das erste angeklickt hat
    }
    if(lisitem == 1)
    {
    //... und immer so weiter.

  • @ Xivo er hat doch schon deine Methode auch getestet ^^ Es ist nur ein DialogID Konflikt höchstwahrscheinlich

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!