====== InputQuery ======
===== Syntaxe =====
La syntaxe est la suivante :
InputQuery('Question à poser','réponse 1','réponse 2')
===== Explications =====
Cette fonction permet de poser une question aux joueurs et de proposer un choix de réponses prédéfinies.
Cette fonction s'utilise avec l'aide des commandes [[.:OnResultQuery]] et [[.:QueryEnd]] afin de former des réponses cohérentes
Le InputQuery définit la question à poser ainsi que les diverses réponses.
Le [[.:OnResultQuery]] définit que les commandes qui le suivent seront exécutées si la réponse donnée par le joueur correspond.
Le [[.:QueryEnd]] indique la fin de la question et que les actions suivantes s'exécuteront quoiqu'il en soit.
Veillez à bien reprendre strictement la même syntaxe entre les questions du InputQuery et les réponses du OnResultQuery car sinon l'éditeur ne trouvera pas la bonne réponse parmi la liste.
{{commandes:inputquery.png|----}}
===== Exemple =====
InputQuery('Voulez vous avoir des informations?','oui','non','combien ça coute?')
OnResultQuery('oui')
// Les actions suivantes seront exécutées si la réponse est oui
Message('Eh bien vous êtes dans la section InputQuery de l'ediwiki!')
OnResultQuery('non')
// Les actions suivantes seront exécutées si la réponse est non
Message('Vous êtes sûr de ne pas en vouloir? Comme vous voudrez...')
// Ici attention d'orthographier ce texte de manière identique a l'InputQuery
OnResultQuery('combien ça coute?')
Message('Mais c'est gratuit!')
QueryEnd
// Le message suivant s'affichera dans tout les cas
Message('Merci de votre attention')
===== Particularités =====
==== Multiples InputQuery ====
Il est possible d'ajouter un InputQuery dans un [[commandes:onresultquery|OnResultQuery]]. Pour ce faire, la démarche est assez simple, il suffit juste de n'indiquer qu'un seul [[commandes:queryend|QueryEnd]] tout à la fin du code.
InputQuery('Bonjour, que désirez-vous ?','A boire.','A manger.','Rien.')
OnResultQuery('A boire.')
InputQuery('D'accord, que voulez-vous boire ?','De l'eau.','Du café.')
OnResultQuery('De l'eau.')
Message('Voilà votre eau.)
OnResultQuery('Du café.')
Message('Voilà votre café.)
OnResultQuery('A manger.')
InputQuery('D'accord, que voulez-vous manger ?','Du pain.','Une pomme.')
OnResultQuery('Du pain.')
Message('Voilà votre pain.)
OnResultQuery('Une pomme')
Message('Voilà votre pomme.)
OnResultQuery('Rien.')
QueryEnd
Attention toutefois, si vous avez plusieurs questions de suite contenant les mêmes réponses (Ex: Oui/Non), faites en sorte d'avoir au moins un détail qui diffère pour vous assurer du bon fonctionnement (Ex : Oui/Oui. ou Oui/Bien sûr).
==== Utilisation de Condition ====
Si vous avez besoin d'inclure une condition dans un OnResultQuery, c'est possible. Toutefois, pour le bon fonctionnement, il faudra vous assurer de passer par une condition toujours valide avant d'enchaîner sur un autre OnResultQuery ou sur le QueryEnd. Cela peut se faire notamment via un "Condition('1=1')" placé avant le OnResultQuery ou le QueryEnd qui suit.
Variable[13]=%rand(2)%
InputQuery('Bonjour, que désirez-vous ?','A boire.')
OnResultQuery('A boire.')
Condition('Variable[13]=1')
Message('Tenez à boire')
Condition('Variable[13]=2')
Message('Nous sommes à sec !')
QueryEnd
Variable[13]=0
Doit s'écrire :
Variable[13]=%rand(2)%
InputQuery('Bonjour, que désirez-vous ?','A boire.')
OnResultQuery('A boire.')
Condition('Variable[13]=1')
Message('Tenez à boire')
Condition('Variable[13]=2')
Message('Nous sommes à sec !')
Condition('1=1')
QueryEnd
Variable[13]=0