J'ai constaté en lisant régulièrement les forums de second life que pas mal de gens
éprouvent des diifcultés avec la fonction llDialog qui gère les dialogues. A y regarder
de près cela ne semble pourtant pas si compliqué même si la notion de sous dialogue
n'est aps intuitive au niveau du code. Par contre ça se corse un peu lorsqu'on veut
gérer des droits différents selon l'avatar qui utilise le dialogue. Il existe des
codes incluant une note qui comporte les éléments de dialogue. Mais ces solutions
me semblent lourdes et inesthétiques.
Je me suis dit qu'un utilitaire qui coderait tout ça pour nous serait le bienvenu.
Je me suis donc atelé à la tâche en essayant de rendre cet utilitaire suffisamment
ouvert pour gérer le maximum de situations. Je suis parti sur une struture d'arbre
pour représentés la hiérarchie des dialogues. En ce qui concerne les droits j'ai
introduit les notions d'owner et de groupes. Après quelques jours de codage plus
ou moins laborieux il en est sorti un programme simple à utiliser qui génère un
code relativement propre. Voici une image du programme :
La structure arborescente de la zone de gauche correspond aux dialogues,
ce qui permet d'avoir une approche visuelle pratique. Je n'ai pas limité le nombre
de noeuds. Des boutons de la barre permettent d'ajouter
une racine, un enfant ou de supprimer un élément. Pour l'édition de chaque élément
les deux pavés supérieurs de droite regroupent les données : nom et droits. En ce
qui concerne les droits on retrouve dans l'arborescence la petite icône représentative.
On peut combiner ces droits comme on le désire en respectant la hiérarchie. En effet d'une racine en owner ne peut pas découler un enfant group ou all. Enfin deux paramètres
peuvent être réglés : le canal de communication dont la valeur aléatoire se génère
à chaque démarrage et le délai de disparition de l'écoute en cas de
non utilisation du dialogue.
Il est possible d'enregistrer un dialogue au format "dlg" sur le disque. Vous
avez pour cela les trois boutons classiques : ouvrir, enregistrer et enregistrer
sous. Un onglet "Code " permet de voir le code généré et un bouton (le septième)
transfère ce code dans le presse papier. Voici à quoi ressemble le code généré :
Il ne vous reste plus ensuite qu'à copier ce code dans votre éditeur préféré :-)
Cette première version ne doit pas être exempte de bugs. Si vous en trouvez un merci
de me le signaler pour mise a jour du source.
Mise à jours...
- 21/09/2007
Passage des variables en local
Vérification de la redondance des noms
Copyright 2007 |