Už jsem dlouho Pawn nedělal, ale tak snad to mám bez chyby.
Sorry, že ten kód nemám v tagu, ale nějak to zlobí o.O
#define ID_DIALOGU 001 //Definice ID dialogu(není povinností ho definovat, ale já to udělal, aby jsi mohl ID dialogu lehce změnit, kdyby to kolidovalo s jiným dialogem.) public OnPlayerCommandText(playerid, cmdtext[]) //Callback, který se zavolá pokud hráč napíše do chatu příkaz { if (strcmp("/help", cmdtext, true, 10) == 0) //Pokud zadaný příkaz v chatu je roven /help { ShowPlayerDialog(playerid,ID_DIALOGU,DIALOG_STYLE_LIST,"HELP","GPS\nPravidla\nAdmin Team","Vybrat","Zrušit"); //Zobrazí dialog pro hráče, který vyvolal callback a zavolá se callback OnDialogResponse. } return 0; //ukončí callback } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == ID_DIALOGU) //pokud je ID dialogu rovno naší definici, čili 001, tak se provede následující... { if(response) //pokud hráč odpoví na dialog { switch(listitem)// switch je něco jako "if/else systém", prostě zkracuje, aby jsi nemusel psát if(...){}else{} etc., abych to laicky popsal. Takže to zjistí ID listitem závisle položce které jsi vybral. Jde to od shora, první položka v dialogu má listitem 0, druhá 1.(Pomůcka: Pořádí položky v menu - 1, čili 2. položka (2-1) bude mít ID 1) { ShowPlayerDialog(playerid,ID_DIALOGU+1, DIALOG_STYLE_MSGBOX, "GPS", "Klikl jsi na GPS", "Ok", "");//Zobrazí dialog se zprávou(ID_DIALOGU+1 znamená, že přičte k naší definici jedničku, to zajistí vždy originální ID, čili 001 + 1 = 002 a podobně i u ostatních) ShowPlayerDialog(playerid,ID_DIALOGU+2, DIALOG_STYLE_MSGBOX, "Pravidla", "Klikl jsi na Pravidla", "Ok", ""); ShowPlayerDialog(playerid,ID_DIALOGU+3, DIALOG_STYLE_MSGBOX, "Admin Team", "Klikl jsi na Admin Team", "Ok", ""); } } } return 1; }
A tím "prepojením" nevím co myslíš.