Admin Admin
Messages : 5 Date d'inscription : 06/06/2016
| Sujet: Test dialog Mer 8 Juin - 14:49 | |
| Salut, EasyDialog c'est quoi?EasyDialog est une include disponible [url=http://forum.sa-mp.com/showthread.php?t=475838[url=%C3%A0 cette adresse]à cette adresse[/url] qui permet de faire des dialogues plus facilement, c'est à dire ne plus définir les ID de dialogue en haut (#define DIALOG 1), ses variables se crée automatiquement. Il permet aussi d'évité de passer par la callback OnDialogResponse donc de pouvoir trier vos dialogues. (dialogue véhicules / maison etc). Comment s'en servirTout d'abord installer l'include ensuite mettez #include <easydialog> en haut de votre scripte. Ensuite au lieux de utiliser "ShowPlayerDialog" vous allez utilisé " Dialog_Show(playerid, dialog, style, caption[], info[], button1[], button2[]);" Ensuite au lieu de vous rendre dans OnDialogResponse, vous allez crée: [php] Dialog:DIALOG(playerid, response, listitem, inputtext[]) { return 1; } [/php]Exemple dialogue normal[php] #define DIALOG_CONNEXION 1
public OnPlayerConnect(playerid) { ShowPlayerDialog(playerid, DIALOG_CONNEXION, DIALOG_STYLE_LIST, "Accent", "Belge\nFrançais\nAméricain", "Ok", "Quitté"); return 1; }
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == DIALOG_CONNEXION) { switch(listitem) { case 0: SendClientMessage(playerid,-1,"Vous avez pris l'accent belge"); case 1: SendClientMessage(playerid,-1,"Vous avez pris l'accent français"); case 2: SendClientMessage(playerid,-1,"Vous avez pris l'accent américain"); } return 1: } return 1; } [/php]Exemple de dialogue avec easydialog[php]
public OnPlayerConnect(playerid) { Dialog_Show(playerid, DIALOG_CONNEXION, DIALOG_STYLE_LIST, "Accent", "Belge\nFrançais\nAméricain", "Ok", "Quitté"); return 1; }
Dialog:DIALOG_CONNEXION(playerid, response, listitem, inputtext[]) { if(response) { switch(listitem) { case 0: SendClientMessage(playerid,-1,"Vous avez pris l'accent belge"); case 1: SendClientMessage(playerid,-1,"Vous avez pris l'accent français"); case 2: SendClientMessage(playerid,-1,"Vous avez pris l'accent américain"); } return 1: } return 1; } [/php]Vue comme ça on ne vois pas tellement de différence mais croyez moi, pouvoir mettre ses dialogues n'importe où, ne pas à avoir à définir chaque ID de dialogue est un bonheur | |
|