Popular Post Lax. 28 Odesláno: 29. Prosinec, 2010 Popular Post Share Odesláno: 29. Prosinec, 2010 Dialógy a všetko o nich Obtiažnosť: ObsahŠtýly dialógov: DIALOG_STYLE_LIST DIALOG_STYLE_MSGBOX DIALOG_STYLE_INPUT DIALOG_STYLE_PASSWORD Ostatné: Použite Farba v dialógu Jedno tlačidlo v dialógu Preskakovanie na prvú položku Práca s inputtextom Ako na formát v dialógu ŠTÝLY DIALÓGOVDIALOG_STYLE_LIST Ukážka:http://wiki.sa-mp.co..._style_list.pngPríklad: ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Nadpis","Položka 1\nPoložka 2\nPoložka 3","Tlačidlo 1","Tlačidlo 2"); Vysvetlenie:1 = ID DialóguDIALOG_STYLE_LIST = Štýl dialóguNadpis = Text ktorý sa zobrazí horePoložka 1, Položka 2, Položka 3 = Riadok 1, Riadok 2, Riadok 3 v dialógu.Tlačidlo 1 = "Button 1" (Ľavé tlačidlo)Tlačidlo 2 = "Button 2" (Pravá tlačidlo)\n = Začať nový riadok DIALOG_STYLE_MSGBOX Ukážka:http://wiki.sa-mp.co...tyle_msgbox.pngPríklad: ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Nadpis","Riadok 1\nRiadok 2\nRiadok 3","Tlačidlo 1","Tlačidlo 2"); Vysvetlenie:1 = ID DialóguDIALOG_STYLE_MSGBOX = Štýl dialóguNadpis = Text ktorý sa zobrazí horeRiadok 1, Riadok 2, Riadok 3, ... = Text na riadku 1, 2, 3 ,...Tlačidlo 1 = "Button 1" (Ľavé tlačidlo)Tlačidlo 2 = "Button 2" (Pravá tlačidlo)\n = Začať nový riadok DIALOG_STYLE_INPUT Ukážka:http://wiki.sa-mp.co...style_input.pngPríklad: ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Nadpis","Zadajte svoje heslo:","Tlačidlo 1","Tlačidlo 2"); Vysvetlenie:1 = ID DialóguDIALOG_STYLE_INPUT = Štýl dialóguNadpis = Text ktorý sa zobrazí hore"Zadajte svoje heslo:" = Text ktorý sa zobrazí v dialóguTlačidlo 1 = "Button 1" (Ľavé tlačidlo)Tlačidlo 2 = "Button 2" (Pravá tlačidlo)\n = Začať nový riadok DIALOG_STYLE_PASSWORD Ukážka:http://wiki.sa-mp.co...le_password.pngPríklad: ShowPlayerDialog(playerid,1,DIALOG_STYLE_PASSWORD,"Nadpis","Zadajte svoje heslo:","Tlačidlo 1","Tlačidlo 2"); Vysvetlenie:1 = ID DialóguDIALOG_STYLE_PASSWORD = Štýl dialóguNadpis = Text ktorý sa zobrazí hore"Zadajte svoje heslo:" = Text ktorý sa zobrazí v dialóguTlačidlo 1 = "Button 1" (Ľavé tlačidlo)Tlačidlo 2 = "Button 2" (Pravá tlačidlo)\n = Začať nový riadokPoznámka:- Tento štýl dialógu bol pridaný vo verzii 0.3d __________________________________________________________________ POUŽITÍ: DIALOG_STYLE_LIST: if(dialogid == 1) //ID Dialógu { if(response == 1) //Tlačidlo 1 (Ľavé tlačidlo) { if(listitem == 0) //Prvá položka v dialógu { SendClientMessage(playerid,0xFFFFFFFF,"Stlačil si na riadok č.1"); } else if(listitem == 1) //Druhá položka v dialógu { SendClientMessage(playerid,0xFFFFFFFF,"Stlačil si na riadok č.2"); } else if(listitem == 2) //Tretia položka v dialógu { SendClientMessage(playerid,0xFFFFFFFF,"Stlačil si na riadok č.3"); } } } DIALOG_STYLE_MSGBOX: if(dialogid == 1) //ID Dialógu { if(response == 1) // Tlačidlo 1 (Ľavé tlačidlo) { SendClientMessage(playerid,0xFFFFFFFF,"Stlačil si na ľavé tlačidlo (Prvé)."); } else if(response == 0) //Tlačidlo 2 (Pravé tlačidlo) { SendClientMessage(playerid,0xFFFFFFFF,"Stlačil si na pravé tlačidlo (Druhé)."); } } DIALOG_STYLE_INPUT: if(dialogid == 1) //ID Dialógu { if(response == 1) //Tlačidlo 1 (Ľavé tlačidlo) { new str[128]; format(str,128,"%s",inputtext); SendClientMessage(playerid,0xFFFFFFFF,str); } else if(response == 0) //Tlačidlo 2 (Pravé tlačidlo) { //Funkcia ktorá sa vykoná ak stlačí na druhé (Pravé) tlačidlo. } } DIALOG_STYLE_PASSWORD:- tu to je podobne ako pri DIALOG_STYLE_INPUT Farba v dialógu Hex Farba do {}Príklad:{FF0000} ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{0033FF}Modrý nadpis","{FF0000}Červeno {009900}zeleny {FFFFFF}text","Tlačidlo 1","Tlačidlo 2"); Jedno tlačidlo v dialógu Príklad: ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Nadpis","Text","Tlačidlo 1",""); - druhé tlačidlo necháme prázdne. Preskakovanie na prvú položku - niekedy v DIALOG_STYLE_LIST vám môže preskočiť na prvú položku v dialógu. (Ak ste stlačili napríklad na 4 riadok (položku), preskočí na prvý riadok)- Stáva sa zvyčajne len ak sa vám má zobraziť dialóg na pickupe.- môže aj pri DIALOG_STYLE_INPUT new bool:ShowedPlayerDialog[MAX_PLAYERS_EX]; stock ShowPlayerDialogEx(playerid, id, style, lis[], mess[], button1[], button2[]) { if(ShowedPlayerDialog[playerid] == true) return false; ShowPlayerDialog(playerid, id, style, lis, mess, button1, button2); ShowedPlayerDialog[playerid] = true; return true; } a do OnDialogResponse: ShowedPlayerDialog[playerid]=false; Použitie: ShowPlayerDialogEx(playerid,1,DIALOG_STYLE_LIST,"Nadpis","Riadok 1\nRiadok 2\n...","Tlačidlo 1","Tlačidlo 2"); - a už by vám to nemalo blbnúť. (Stačí použiť ShowPlayerDialogEx) Práca s inputtextom if(dialogid == 1) // ID dialógu { if(response == 1) //tlačidlo 1 (Ľavé) { if(!response) return SendClientMessage(playerid,0xFFFFFFFF,"Nezadal si text"); // ak nezadá text napíše správu hráčovi new str[128]; format(str,128,"Napísal si: %s",inputtext); //Formát SendClientMessage(playerid,0xFFFFFFFF,str); //Zobrazí správu hráčovi. } } Ako na formát v dialógu new str[128]; format(str,128,"Peniaze :$ %d\nSkin: %d\nNick: %s",GetPlayerMoney(playerid),GetPlayerSkin(playerid),PlayerName(playerid)); //Formát ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Info",str,"Pokračovať",""); //Zobrazí dialóg __________________________________________________________________To je asi tak všetko.. Návod označen jako platný Ten to návod byl označen jako platný.Návod může být kdykoli označen jako nevhodný či neplatný 11 Link to comment Share on other sites More sharing options...
XxM4st3rxX 3 Odesláno: 29. Prosinec, 2010 Share Odesláno: 29. Prosinec, 2010 joo good tut, konecne viem vo co go 10/10 Link to comment Share on other sites More sharing options...
Konvicka 0 Odesláno: 29. Prosinec, 2010 Share Odesláno: 29. Prosinec, 2010 Nechtělo by se mě s tím srát =)) Oceňuji tvoji snahu ... Ale dávám jen 9,5 ...Málo barevný to je =D... Jinak pro začínající pawnery to jde... Link to comment Share on other sites More sharing options...
Lax. 28 Odesláno: 29. Prosinec, 2010 Author Share Odesláno: 29. Prosinec, 2010 Pridal som ešte jednu vec ,ktorú som tu nenašiel Link to comment Share on other sites More sharing options...
Guest Odesláno: 29. Prosinec, 2010 Share Odesláno: 29. Prosinec, 2010 ešte poradím, keď nechceš stále dávať ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Caption","Info","Tlačítko 1","Tlačítko 2"); ShowedPlayerDialog[playerid]=true; tak tu je pomoc hore dajte ako v návode new bool:ShowedPlayerDialog[MAX_PLAYERS]; a potom niekam dajte stock stock ShowPlayerDialogEx(playerid,id,style,lis[],mess[],button1[],button2[]){ if(ShowedPlayerDialog[playerid] == true) return 0; ShowPlayerDialogEx(playerid,id,style,lis[],mess[],button1[],button2[]); ShowedPlayerDialog[playerid]=true; } a potom hore medzi define #define ShowPlayerDialog ShowPlayerDialogEx A ešte do ondialogresponse ShowedPlayerDialog[playerid]=false; použitie ? ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Rules","NO CHEAT","Tlačítko 1","Tlačítko 2"); MAFIAN mohol by si to dať hore... Link to comment Share on other sites More sharing options...
Lax. 28 Odesláno: 29. Prosinec, 2010 Author Share Odesláno: 29. Prosinec, 2010 Ok, prepísal som to.. Máš pravdu , že lepšie je takto ako ku každemu tamto písať Link to comment Share on other sites More sharing options...
Guest [BJ]boban88 Odesláno: 29. Prosinec, 2010 Share Odesláno: 29. Prosinec, 2010 velmy pekny TUT o dialogoch chvalim 10/10 OT: a z QWER-a si nerob nič ten paštikár furt musí mat pripomienky z jeho super definiciami Link to comment Share on other sites More sharing options...
mxco 55 Odesláno: 29. Prosinec, 2010 Share Odesláno: 29. Prosinec, 2010 Mám tu něco. Když je tedy 1. Tlačítko, vyčetl jsem z tutu response == 1 ,dobře. A co to druhé tlačítko ? Zapoměl jsi zmínit, že 2. tlačítko je response == 0 V jedné registraci jsem viděl na druhém tlačítku response == 2, samozřejmě to nefungovalo. Kdyby jsem se mýlil, vysvětlete mi to. Link to comment Share on other sites More sharing options...
Guest Frodo Odesláno: 30. Prosinec, 2010 Share Odesláno: 30. Prosinec, 2010 mxco - ano v registraci je to špatně a když dáš druhý tlačítko tak tě to nevyhodí. Pěkný TuT i s obrázky ale zapoměl si napsat jak se pracuje s inputtextem v OnDialogResponse. Link to comment Share on other sites More sharing options...
Danny 37 Odesláno: 30. Prosinec, 2010 Share Odesláno: 30. Prosinec, 2010 už tomu chápem Link to comment Share on other sites More sharing options...
sdsd 0 Odesláno: 30. Prosinec, 2010 Share Odesláno: 30. Prosinec, 2010 Bezesporu pěkný TUT, ale myslím, že by stálo za doplnění, jak udělat dialog pouze s jednou možností... viz: Nebudu psát z jakého serveru screen je, myslím, že to stejně každý pozná sám Předem díky za odpověď. Link to comment Share on other sites More sharing options...
Guest Frodo Odesláno: 30. Prosinec, 2010 Share Odesláno: 30. Prosinec, 2010 ShowPlayerDialog(playerid, ID, STYL, "NADPIS", "TEXT", "Tlacitko1", ""); kdyz das druhy tlacitko jako "" tak se nezobrazi. Link to comment Share on other sites More sharing options...
Lax. 28 Odesláno: 30. Prosinec, 2010 Author Share Odesláno: 30. Prosinec, 2010 a ak chceš aj farbu tak farbu dáš do {farba} Link to comment Share on other sites More sharing options...
mxco 55 Odesláno: 30. Prosinec, 2010 Share Odesláno: 30. Prosinec, 2010 ShowPlayerDialog(playerid, ID, STYL, "NADPIS", "TEXT", "Tlacitko1", "");kdyz das druhy tlacitko jako "" tak se nezobrazi. Tohle už mi funguje ale jen v 0.3c. V 0.3b mě to vytvořilo i to druhé tlačítko ale bylo prázdné. Link to comment Share on other sites More sharing options...
Guest Frodo Odesláno: 30. Prosinec, 2010 Share Odesláno: 30. Prosinec, 2010 QWER opraveno - stock ShowPlayerDialogEx(playerid, id, style, lis[], mess[], button1[], button2[]) { ShowPlayerDialogEx(playerid, id, style, lis, mess, button1, button2); ShowedPlayerDialog[playerid] = true; return 1; } Link to comment Share on other sites More sharing options...
Guest Odesláno: 30. Prosinec, 2010 Share Odesláno: 30. Prosinec, 2010 stock ShowPlayerDialogEx(playerid, id, style, lis[], mess[], button1[], button2[]) { if(ShowedPlayerDialog[playerid] == true) return 0; ShowPlayerDialog(playerid, id, style, lis, mess, button1, button2); ShowedPlayerDialog[playerid] = true; return 1; } Link to comment Share on other sites More sharing options...
C3RN3J 0 Odesláno: 31. Prosinec, 2010 Share Odesláno: 31. Prosinec, 2010 pls jde to udelat at se to otevre pres prikaz ??? Link to comment Share on other sites More sharing options...
Guest Master Odesláno: 31. Prosinec, 2010 Share Odesláno: 31. Prosinec, 2010 omg cernej PRIKAZ ShowPlayerDialog(playerid,3,DIALOG_STYLE_LIST,"aaa","aaa\naaa\naaať\naaaať\naaa\naa\naaa","aaa","aaa"); return 1; } Link to comment Share on other sites More sharing options...
_NosiK_ 0 Odesláno: 31. Prosinec, 2010 Share Odesláno: 31. Prosinec, 2010 co tak ukázat i barvy na 0.3c? Link to comment Share on other sites More sharing options...
C3RN3J 0 Odesláno: 31. Prosinec, 2010 Share Odesláno: 31. Prosinec, 2010 public OnPlayerCommandText(playerid, cmdtext[]) { if(strcmp(cmdtext,"/zkouska",true) == 0) { ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Caption","Info","Tlačítko 1","Tlačítko 2"); return 1; } return 0; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) if(dialogid == 1) { if(response == 1) { if(listitem == 0) { SendClientMessage(playerid,COLOR_GREEN,"ahoj.zkouska"); ShowedPlayerDialog[playerid]=false; } } } stock ShowPlayerDialogEx(playerid,id,style,lis[],mess[],button1[],button2[]){ ShowedPlayerDialog[playerid]=true; return 1; } pls nehaze mi to error ale neukaze mi to tu tabulku pise kdyz dam /zkouska tak ze prikaz neexistuje Link to comment Share on other sites More sharing options...
SweS 0 Odesláno: 31. Prosinec, 2010 Share Odesláno: 31. Prosinec, 2010 aky je ten error? Link to comment Share on other sites More sharing options...
_NosiK_ 0 Odesláno: 31. Prosinec, 2010 Share Odesláno: 31. Prosinec, 2010 aky je ten error? chápeš? : pls nehaze mi to error ale neukaze mi to tu tabulku pise kdyz dam /zkouska tak ze prikaz neexistuje Link to comment Share on other sites More sharing options...
C3RN3J 0 Odesláno: 31. Prosinec, 2010 Share Odesláno: 31. Prosinec, 2010 pls uz mi to de , ale kdyz napisu prikaz na otevreni tabulky kliknu na 1 nebo 2 vec v tabulce a dam ok tak mi to hodi v dialogu tabulku k prihlaseni co s tim at to nepreskakuje ?? Link to comment Share on other sites More sharing options...
CZskypr 0 Odesláno: 2. Leden, 2011 Share Odesláno: 2. Leden, 2011 10/10 moc pekne sice gialogu rozumim ale nekdo kdo se ho uci se to hodi NICE... -- pon 03. led 2011 5:16:39 -- hele ti C3RN3J tu ej moje skype skypr55 napiš mi ja ti ukazu a opravim... Link to comment Share on other sites More sharing options...
Guest pupek Odesláno: 5. Leden, 2011 Share Odesláno: 5. Leden, 2011 Hore ako new:Kód: new bool:ShowedPlayerDialog[MAX_PLAYERS]; Aby nepreskakovalo menu na prvu položku v dialogu stock Kód: stock ShowPlayerDialogEx(playerid, id, style, lis[], mess[], button1[], button2[]) { ShowPlayerDialogEx(playerid, id, style, lis, mess, button1, button2); ShowedPlayerDialog[playerid] = true; return 1; } Definícia Kód: #define ShowPlayerDialog ShowPlayerDialogEx a ešte do OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) Kód: ShowedPlayerDialog[playerid]=false; Použitie: ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Caption","Info","Tlačítko 1","Tlačítko 2"); Ahoj, mám problem s tímhle. vše jsem udělal aby se to neopakovalo ale teď se mi dialogy vůbec nezobrazují.. možná jsem pokazil toto: a ešte do OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) Kód: ShowedPlayerDialog[playerid]=false; Dal sem to do toho publiku uplně zvlášť nad return je to tak dobře?? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now