Dialoge erstellen (Info Dialog & Listen 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
  • INFO DIALOG
    [hide][ SCRIPTING ] [SA-MP 0.3] Einen Info Dialog Erstellen[/hide]


    LISTEN DIALOG
    Als erstes definieren wir den dialog. "#define DIALOGNAME ID"
    Ich nehme als beispiel ListDialog:
    #define ListDialog 1.
    Die ID's dürfen nicht öfters benutzt werden, sonst kann es zu bugs führen. z.B.:
    #define WeaponDialog 1
    #define ShopDialog 1
    so will man im shop einen handy kaufen und man kauft einen handy + eine waffe o0


    Danach setzt man das rein wo der dialog sich öffnen soll:
    ShowPlayerDialog(playerid, dialogid, style, caption[], listitems, button1[], button2[]);



    z.B.:
    ShowPlayerDialog(playerid, ListDialog, DIALOG_STYLE_LIST, "Titel", "Item0\nItem1\nLast Item", "OK", "ABBRUCH");


    So und unter "public OnDialogResponse" machen wir das hier:
    if(dialogid == ListDialog)//wenn ListDialog geöffnet ist
    {
    if(response == 0)//Wenn das rechte (abbruch) button angeklickt wird
    {
    return 1;//Schließt das dialog ohne irgendwas zu machen.
    }
    if(response == 1)//Wenn das linke (OK) button angeklickt wird
    {
    //nichts rein machen
    }
    if(listitem == 0)//Was passiert wenn das erste listen item(Item0) ausgewæhlt wird
    {
    SendClientMessage(playerid,COLOR_X,"Du hast auf Item 0 geklickt. Was jetzt ??");
    return 1;
    }
    if(listitem == 1)//Was passiert wenn das erste listen item(Item1) ausgewæhlt wird
    {
    SendClientMessage(playerid,COLOR_X,"Du hast auf Item 1 geklickt.");
    return 1;
    }
    if(listitem == 2)//Was passiert wenn das erste listen item(Last Item) ausgewæhlt wird
    {
    SendClientMessage(playerid,COLOR_X,"Du hast auf Last Item geklickt. ");
    return 1;
    }
    }


    So und jetzt haben wir einen listen dialog erstellt^^ viel spaß

  • Anhang:
    1) Listitem in ShowPlayerDialog wird bei den style typen MSGBOX und INPUT also normaler Text benutzt der über den beiden Buttons steht.
    2) Man muss die Dialog ID nicht definieren man kanns aber, wenn man es nicht tut schreibt ma die ID einfach in ShowPlayerDialog in Dialogid rein.


    Sonst ganz gut :thumbup:


    MFG Raicoon

  • danke, sieht gut aus


    Der Beitrag ist zu kurz. Der Beitrag muss mindestens 15 Zeichen lang sein und 6 Wörter enthalten.

  • Kann mir jemand helfen:


    C:\Dokumente und Einstellungen\Kais\Desktop\Spiele\Windows Server\Server\gamemodes\msg.pwn(19881) : warning 217: loose indentation
    C:\Dokumente und Einstellungen\Kais\Desktop\Spiele\Windows Server\Server\gamemodes\msg.pwn(19890) : warning 217: loose indentation
    C:\Dokumente und Einstellungen\Kais\Desktop\Spiele\Windows Server\Server\gamemodes\msg.pwn(19926) : warning 217: loose indentation
    C:\Dokumente und Einstellungen\Kais\Desktop\Spiele\Windows Server\Server\gamemodes\msg.pwn(30247) : warning 217: loose indentation
    C:\Dokumente und Einstellungen\Kais\Desktop\Spiele\Windows Server\Server\gamemodes\msg.pwn(30291) : warning 217: loose indentation
    C:\Dokumente und Einstellungen\Kais\Desktop\Spiele\Windows Server\Server\gamemodes\msg.pwn(30320) : warning 217: loose indentation
    C:\Dokumente und Einstellungen\Kais\Desktop\Spiele\Windows Server\Server\gamemodes\msg.pwn(42753) : warning 217: loose indentation
    C:\Dokumente und Einstellungen\Kais\Desktop\Spiele\Windows Server\Server\gamemodes\msg.pwn(42778) : warning 217: loose indentation
    C:\Dokumente und Einstellungen\Kais\Desktop\Spiele\Windows Server\Server\gamemodes\msg.pwn(42788) : warning 217: loose indentation
    C:\Dokumente und Einstellungen\Kais\Desktop\Spiele\Windows Server\Server\gamemodes\msg.pwn(43413) : error 010: invalid function or declaration
    C:\Dokumente und Einstellungen\Kais\Desktop\Spiele\Windows Server\Server\gamemodes\msg.pwn(43415) : error 010: invalid function or declaration
    C:\Dokumente und Einstellungen\Kais\Desktop\Spiele\Windows Server\Server\gamemodes\msg.pwn(43418) : error 054: unmatched closing brace ("}")
    C:\Dokumente und Einstellungen\Kais\Desktop\Spiele\Windows Server\Server\gamemodes\msg.pwn(43419) : error 010: invalid function or declaration
    C:\Dokumente und Einstellungen\Kais\Desktop\Spiele\Windows Server\Server\gamemodes\msg.pwn(43422) : error 054: unmatched closing brace ("}")
    C:\Dokumente und Einstellungen\Kais\Desktop\Spiele\Windows Server\Server\gamemodes\msg.pwn(43423) : error 010: invalid function or declaration
    C:\Dokumente und Einstellungen\Kais\Desktop\Spiele\Windows Server\Server\gamemodes\msg.pwn(43428) : error 010: invalid function or declaration
    C:\Dokumente und Einstellungen\Kais\Desktop\Spiele\Windows Server\Server\gamemodes\msg.pwn(43430) : error 010: invalid function or declaration
    C:\Dokumente und Einstellungen\Kais\Desktop\Spiele\Windows Server\Server\gamemodes\msg.pwn(43435) : error 010: invalid function or declaration
    C:\Dokumente und Einstellungen\Kais\Desktop\Spiele\Windows Server\Server\gamemodes\msg.pwn(43437) : error 010: invalid function or declaration
    C:\Dokumente und Einstellungen\Kais\Desktop\Spiele\Windows Server\Server\gamemodes\msg.pwn(43440) : error 021: symbol already defined: "M_GivePlayerMoney"
    C:\Dokumente und Einstellungen\Kais\Desktop\Spiele\Windows Server\Server\gamemodes\msg.pwn(43442) : error 010: invalid function or declaration
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    12 Errors.


    Zeile 43418:
    if(response == 0)//Wenn das linke (OK) button angeklickt wird
    {
    //nichts rein machen
    }


    Zeile 43422:


    if(response == 1)//Wenn das linke (OK) button angeklickt wird
    {
    //nichts rein machen
    }


    Angeblich währe die } falsch


    Zeile 43440:
    if(listitem == 2)//Was passiert wenn das erste listen item(Last Item) ausgewæhlt wird
    {
    SendClientMessage(playerid,0xCD0000FF,"Du hast 50.000$ erhalten. Viel Spaß! ");
    GivePlayerMoney(playerid, 50000);
    startboni = 1;
    return 1;
    }