Fichier xml pour gérer les dialogues

Bonsoir !

Je suis en train de me pencher sur les écritures de fichiers.
Je pense avoir pigé comme utiliser un fichier simple, pour une sauvegarde simple des variables du jeu.

J’ai un peu plus de mal à comprendre le fonctionnement des fichiers xml au sein de GD …
J’aimerai gérer mes dialogues dans un fichier xml extérieur.
Je trouve ça plus pratique pour gérer des traductions, ou simplement faire des corrections avec un simple bloc notes.

Voici ma DTD, validée par Internet explorer (la référence, n’est-ce pas … :sunglasses: )

[code]<!DOCTYPE dialogs[

<!ATTLIST box 
 nid CDATA #REQUIRED
 title CDATA #IMPLIED
 face CDATA #IMPLIED
 deco CDATA #IMPLIED
 color CDATA "#000000"
 size CDATA  "20">

 <!ELEMENT texte (#PCDATA)>

]>

bla bla bla bli bli blo Bula bula bula buli buli bolo

[/code]

Ma question est donc comment récupérer les lignes de dialogue d’une traduction dans GD ?
Avec le groupe “dialogs/translation/lang=FR/box/nid=1/text” ?

Un petit exemple d’utilisation de fichier xml serait sympa. :stuck_out_tongue:

Merci d’avance.
Et bonnes fêtes à tous les Gdeurs.

Game Develop ne gère pas l’ensemble des possibilités du XML, mais un sous ensemble relativement réduit.

Les DTD ne sont pas gérés, et les valeurs accessibles doivent être dans des attributs nommés texte ou value. Par exemple, si on met dans Game Develop : Root/Langs/FR/IntroText, il faut que le fichier XML ait cette forme :

<Root> <Langs> <FR text="Chaque balise peut posséder un texte ou une valeur, ou même les deux" value="42"> <IntroText texte="MonJoliTexte" value="42" /> </FR> </Langs> </Root>

Il s’agit donc de choses très basique, mais suffisante pour enregistrer normalement tout ce qu’on souhaite.

Donc, ça voudrait dire que si j’ai 100 dialogues, je dois créer 100 balises différentes ?

J’aurais donc :

[code]






[/code]

Oui, et au fait:
Je crois que si l’on fait:
ecrire “Text” dans “Data” de “fichier”
Puis
Ecrire 1 dans “Data” de “fichier”
GD écrase le texte pour écrire la valeur :wink:

Oui, mais de toute façon c’était sensiblement pareil dans ton précédent fichier XML si jamais tu avait 100 dialogues non ?

Disons que je passais par un attribut “nid” pour différencier le numéro de dialogue.
J’espérais pouvoir faire un /root/langs:langue=FR/box:nid=3 pour obtenir le contenu du dialogue no 3 en langue FR.

Là, c’est un peu comme si les balises INPUT n’étaient plus identifiées par leur name, mais par INPUT1 INPUT2 INPUT3 etc.
Pas très standard xml tout ça. :stuck_out_tongue:

Bah, pas grave.
J’y survivrais. :wink:

En fait, c’est “standard”, c’est juste que Game Develop n’est à même que de ne comprendre que les trucs les plus simples : Balises et valeurs.