[[ags|{{:contents.gif}}]] [[scripting|{{:up.gif}}]] [[datetime|{{:back.gif}}]] [[dialogoptionsrenderinginfo|{{:forward.gif}}]] ---- =====Fonctions et propriétés des dialogues (Dialog)===== ====DisplayOptions==== int Dialog.DisplayOptions(optional DialogOptionSayStyle) Présente les options de ce dialogue à l'utilisateur et attend qu'il en sélectionne une. Le numéro de l'option sélectionné est retourné.\\ \\ ** NOTE : ** Cette commande ne lance aucun script de dialogue, elle affiche simplement les options et attend que le joueur en choisisse une. Pour exécuter le dialogue normalement, utilisez plutôt la commande [[Dialog#Start|Dialog.Start]].\\ \\ Cette commande est utile si vous voulez implémenter votre propre système de dialogues, mais désirez tout de même utiliser les écrans standard de sélection d'options.\\ \\ Le paramètre optionnel // DialogOptionSayStyle // détermine si l'option choisie est automatiquement prononcée par le personnage joueur. Vaut // eSayUseOptionSetting // par défaut, ce qui correpond aux réglages de l'option "Say" de l'éditeur de dialogues. D'autre part, vous pouvez utiliser // eSayAlways //, ce qui fera prononcer l'option indépendamment des réglages de l'éditeur ; ou // eSayNever //, ce qui ne prononcera pas l'option.\\ \\ Si l'analyseur de texte est activé pour ce dialogue et que le joueur entre quelque chose plutôt que de sélectionner une option, la valeur spéciale DIALOG_PARSER_SELECTED sera retournée et AGS appellera automatiquement [[Parser#ParseText|Parser.ParseText]] avec le texte entré par le joueur. Ainsi, vous pouvez appeler [[Parser#Said|Parser.Said]] pour traiter le texte.\\ \\ Exemple : int resultat = dVieilHomme.DisplayOptions(); if (resultat == DIALOG_PARSER_SELECTED) { Display("Quelque chose a été entré dans l'analyseur de texte !"); } else { Display("C'est l'option numéro %d qui a été choisie.", resultat); } affichera les options du dialogue // dOldMan // et affichera un message selon ce que le joueur a sélectionné.\\ \\ // Compatibilité : // Supporté par ** AGS 3.0.2 ** et les versions plus récentes.\\ \\ // Voir aussi : // [[Dialog#Start|Dialog.Start]], [[Parser#ParseText|Parser.ParseText]]\\ \\ ---- ====GetOptionState==== // (Anciennement global function GetDialogOption, désormais obsolète) // \\ \\ Dialog.GetOptionState(int option) Retourne si une option d'une conversation est disponible pour le joueur ou non.\\ \\ OPTION correspond au numéro de l'option dans le dialogue, de 1 à la plus haut valeur de l'option pour ce sujet.\\ \\ La valeur retournée peut avoir les valeurs suivantes : eOptionOff L'option est désactivée - le joueur ne la verra pas eOptionOn L'option est activée - le joueur peut la voir et l'utiliser eOptionOffForever L'option est désactivée en permanence - aucune commande ne peut la réactiver. Ce sont les mêmes valeurs que celles passées à Dialog.SetOptionState.\\ \\ Exemple : if (dJoeEnerve.GetOptionState(2) != eOptionOn) Display("C'est désactivé !"); affichera un message si l'option 2 du dialogue dJoeEnerve n'est pas actuellement accessible.\\ \\ // Voir aussi : // [[Dialog#HasOptionBeenChosen|Dialog.HasOptionBeenChosen]], [[Dialog#SetOptionState|Dialog.SetOptionState]] ---- ====HasOptionBeenChosen==== bool Dialog.HasOptionBeenChosen(int option) Informe si le joueur a déjà choisi l'option spécifiée dans ce dialogue. C'est particulièrement utile lorsque vous dessinez vos propres options de dialogue personnalisées, puisque cela vous permet d'afficher différemment les options déjà explorées. OPTION correspond au numéro d'option dans le dialogue, de 1 jusqu'à la plus haute valeur d'option pour ce sujet. Exemple : if (dJoeExcited.HasOptionBeenChosen(2)) Display("The player has chosen option 2 in dialog dJoeExcited!"); affichera un message si le joueur a déjà utilisé l'option 2 du dialogue précédemment. //Compatibility:// Supporté par **AGS 3.1.1** et les versions plus récentes. //Voir aussi :// [[Dialog#GetOptionState|Dialog.GetOptionState]] ---- ====GetOptionText==== String Dialog.GetOptionText(int option) Retourne le texte de l'option de dialogue spécifiée.\\ \\ OPTION est le numéro de l'option dans le dialogue, de 1 à la plus haute valeur sur ce sujet.\\ \\ Exemple : String texteOption = dJoeDupont.GetOptionText(3); Display("L'option 3 du dialogue dJoeDupont est %s!", texteOption); affichera le texte de la troisième option du dialogue dJoeDupont.\\ \\ // Compatibilité : // Supporté par ** AGS 3.0.2 ** et les versions plus récentes.\\ \\ // Voir aussi : // [[Dialog#OptionCount|Dialog.OptionCount]], [[Dialog#GetOptionState|Dialog.GetOptionState]]\\ \\ ---- ====ID==== readonly int Dialog.ID; Retourne le numéro ID du dialogue tel qu'affiché dans l'éditeur.\\ \\ Cela peut être utile si vous utilisez des anciens scripts qui utilisent les numéro ID des dialogues.\\ \\ Exemple : Display("dPecheur est le dialogue numéro %d !", dPecheur.ID); affichera le numéro ID du dialogue dFisherman.\\ \\ // Compatibilité : // Supporté par ** AGS 3.1.0 ** et les versions plus récentes.\\ \\ ---- ====OptionCount==== readonly int Dialog.OptionCount; Retourne le nombre d'option que contient ce dialogue.\\ \\ Ceci peut être utile dans un module de script si vous devez itérer sur l'ensemble des choix possibles dans le dialogue.\\ \\ Exemple : Display("dPecheur a %d options !", dPecheur.OptionCount); affichera le nombre d'options dans le dialogue dFisherman.\\ \\ // Compatibilité : // Supporté par ** AGS 3.0.2 ** et les versions plus récentes.\\ \\ // Voir aussi : // [[Dialog#GetOptionText|Dialog.GetOptionText]], [[Dialog#GetOptionState|Dialog.GetOptionState]]\\ \\ ---- ====SetOptionState==== // (Anciennement fonction globale SetDialogOption, désormais obsolète) // \\ \\ Dialog.SetOptionState(int option, DialogOptionState) Active/Désactive une option dans une conversation. Ceci vous permet d'ajouter des options supplémentaires à une conversation une fois que le joueur a accompli certaines choses.\\ \\ OPTION est le numéro de l'option dans le sujet, de 1 à la plus haute valeur d'option pour ce sujet.\\ \\ DialogOptionState indique ce qui doit arriver à cette option. Elle peut prendre les valeurs suivantes : eOptionOff L'option est désactivée - le joueur ne la verra pas eOptionOn L'option est activée - le joueur peut la voir et l'utiliser eOptionOffForever L'option est désactivée en permanence - aucune commande ne peut la réactiver. Elles sont équivalentes aux commandes de dialogue option-off, option-on et option-off-forever.\\ \\ Exemple : if (GetGlobalInt(10)==1) dialog[4].SetOptionState(2, eOptionOn); activera l'option 2 du sujet numéro 4 si la variable entière globale 10 vaut 1.\\ \\ // Voir aussi : // [[Dialog#GetOptionState|Dialog.GetOptionState]], [[Dialog#Start|Dialog.Start]], [[Dialog#StopDialog|StopDialog]]\\ \\ ---- ====ShowTextParser==== readonly bool Dialog.ShowTextParser; Retourne si le dialogue propose une zone de saisie permettant au joueur d'entrer du texte. Cette propriété est définie dans l'éditeur de dialogues (//Dialog Editor//). Exemple: if (dFisherman.ShowTextParser) { Display("dFisherman possède une zone de saisie !"); } affichera un message si dFisherman propose cette option. //Compatibilité :// Supporté par **AGS 3.2.1** et les versions plus récentes. ---- ====Start==== // (Anciennement global function RunDialog, désormais obsolète) // \\ \\ Dialog.Start() Lance une conversation à partir du sujet spécifié.\\ \\ NOTE : La conversation ne démarrera pas immédiatement ; plutôt, elle sera exécutée lorsque la fonction de script courante sera achevée.\\ \\ Si vous utilisez cette commande depuis une fonction dialog_request, elle aura pour effet de lancer ce nouveau sujet une fois que le script sera terminé.\\ \\ Exemple : dMarchand.Start(); lancera le sujet de conversation nommé dMarchand.\\ \\ // Voir aussi : // [[Dialog#DisplayOptions|Dialog.DisplayOptions]], [[Dialog#SetOptionState|Dialog.SetOptionState]]\\ \\ ---- ====StopDialog==== StopDialog () Cette commande ne peut être utilisée que depuis une fonction dialog_request. Elle dit à AGS que lorsque dialog_request est terminée, l'intégralité de la conversation devrait s'arrêter plutôt que continuer à exécuter le script du dialogue.\\ \\ Vous pouvez utiliser cette fonction à la fin d'une conversation selon que le joueur a accompli ou possède ou non certaines choses.\\ \\ Exemple : function dialog_request (int dr) { if (dr==1) { cEgo.AddInventory(iAffiche); StopDialog(); } } donnera l'objet d'inventaire iAffiche au joueur puis terminera la conversation.\\ \\ // Voir aussi : // [[Dialog#SetOptionState|Dialog.SetOptionState]] {{tag>français}}