Oyez, oyez !
Les résultats du vote sur les meilleurs RPG de tous les temps sont désormais dévoilés dans ce message !
Merci à toutes et à tous pour votre participation !
N'hésitez pas à aller commenter, ajouter des jeux auxquels vous n'auriez pas pensé...
Les résultats du vote sur les meilleurs RPG de tous les temps sont désormais dévoilés dans ce message !
Merci à toutes et à tous pour votre participation !
N'hésitez pas à aller commenter, ajouter des jeux auxquels vous n'auriez pas pensé...
DIALOGUE et .TRA
-
- Adepte de Grondemarteau
- Ogre mage
- Messages : 1328
- Enregistré le : dim. 21 mars 2010, 12:03
- Localisation : Paris
- Contact :
- Statut : Hors ligne
DIALOGUE et .TRA
.
Le fonctionnement de base est le suivant dans l'éditeur:
- un fichier mis à jour d'origine .DLG ou .D est sauvegardé en .D.
Je peux créer un .TRA lors de la sauvegarde du .D. Que faut il mettre dedans?
Je vois 3 solutions:
1- .D avec tout le texte dans le dialogue .TLK
> on a donc des références # dans le fichier sans .TRA associé.
2- .D avec support .TRA
> on a donc toutes les références @ dans le fichier .D. Les références # existantes ne sont pas utilisées.
3- Mixte, ce qui est en # reste en l'état et le reste en .TRA.
Qu'en pensez vous?
Cocrane
- un fichier mis à jour d'origine .DLG ou .D est sauvegardé en .D.
Je peux créer un .TRA lors de la sauvegarde du .D. Que faut il mettre dedans?
Je vois 3 solutions:
1- .D avec tout le texte dans le dialogue .TLK
> on a donc des références # dans le fichier sans .TRA associé.
2- .D avec support .TRA
> on a donc toutes les références @ dans le fichier .D. Les références # existantes ne sont pas utilisées.
3- Mixte, ce qui est en # reste en l'état et le reste en .TRA.
Qu'en pensez vous?
Cocrane
- Freddy_Gwendo
- Adepte de Grondemarteau
- Orbe ancien
- Messages : 5877
- Enregistré le : sam. 23 avr. 2011, 00:26
- Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
- Statut : Hors ligne
.
Oublie les modifications des fichiers .tlk : pour une meilleure compatibilité entre mods, le plus utile, c'est la création d'un fichier .d et d'un fichier .tra associé (sans les "#" puisqu'ils sont déjà contenus dans le fichier dialog.tlk).
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Moddeur qui s'arrache les cheveux...
... avec Menace sur le Royaume de Diamant Éternel.
- Freddy_Gwendo
- Adepte de Grondemarteau
- Orbe ancien
- Messages : 5877
- Enregistré le : sam. 23 avr. 2011, 00:26
- Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
- Statut : Hors ligne
.
Juste un dernier point que je ne t'ai vu évoquer nulle part et que je n'ai pas vu dans tes captures d'écrans : n'oublie pas la gestion du fichier dialogF.tlk pour les dialogues concernant la gente féminine.
Exemple :
@999999 = ~Tu n'es pas pressé, <CHARNAME>~ ~Tu n'es pas pressée, <CHARNAME>~
Comme mon mod propose plus d'options pour les persos féminins, j'y suis assez sensible...
Exemple :
@999999 = ~Tu n'es pas pressé, <CHARNAME>~ ~Tu n'es pas pressée, <CHARNAME>~
Comme mon mod propose plus d'options pour les persos féminins, j'y suis assez sensible...
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Moddeur qui s'arrache les cheveux...
... avec Menace sur le Royaume de Diamant Éternel.
- Freddy_Gwendo
- Adepte de Grondemarteau
- Orbe ancien
- Messages : 5877
- Enregistré le : sam. 23 avr. 2011, 00:26
- Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
- Statut : Hors ligne
.
Le fichier dialog.tlk contient les références aux dialogues, aux scripts, aux messages et aux panneaux du jeu. En règle générale, le fichier dialogF.tlk, valable pour les langues faisant la différence entre les genres, contient ces mêmes références, modifiées uniquement lorsqu'elles concernent un perso féminin.
Ex :
@999 = ~Je n'en ai rien à faire.~ --> identique dans dialog et dialogF.
@998 = ~<CHARNAME> est pressé.~ ~<CHARNAME> est pressée.~ --> premier string dans dialog, second dans dialogF.
Ces insertions sont générées automatiquement par la commande COMPILE de WeiDU : si WeiDU rencontre un string avec deux références (comme @998), il les scinde pour modifier automatiquement les deux fichiers .tlk.
Ex :
@999 = ~Je n'en ai rien à faire.~ --> identique dans dialog et dialogF.
@998 = ~<CHARNAME> est pressé.~ ~<CHARNAME> est pressée.~ --> premier string dans dialog, second dans dialogF.
Ces insertions sont générées automatiquement par la commande COMPILE de WeiDU : si WeiDU rencontre un string avec deux références (comme @998), il les scinde pour modifier automatiquement les deux fichiers .tlk.
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Moddeur qui s'arrache les cheveux...
... avec Menace sur le Royaume de Diamant Éternel.
- Freddy_Gwendo
- Adepte de Grondemarteau
- Orbe ancien
- Messages : 5877
- Enregistré le : sam. 23 avr. 2011, 00:26
- Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
- Statut : Hors ligne
.
Comme je te l'avais dit, je compte refaire tous mes dialogues. Donc je n'en ai pas beaucoup de dispos.
Voici tout de même l'avant-dernière version de la première rencontre avec le perso qui lance la quête. Elle sera modifiée car elle ne me convient pas et en plus, j'ai modifié tout le background de Gwendolyne pour éviter les poncifs (celui-ci date d'il y a plus de 6 ans et je le trouve trop nul).
Mais ce qui importe, ce sont les strings MALE/FEMALE : tu en trouveras dès le début de la rencontre.
Je passe par ce topic pour te répondre parce que je trouvais stupide de passer par un hébergeur de fichiers pour une vingtaine de Ko !
Dès que tu l'as téléchargé, préviens-moi pour que je supprime le lien, histoire d'alléger mon quota de pièces jointes...
Voici tout de même l'avant-dernière version de la première rencontre avec le perso qui lance la quête. Elle sera modifiée car elle ne me convient pas et en plus, j'ai modifié tout le background de Gwendolyne pour éviter les poncifs (celui-ci date d'il y a plus de 6 ans et je le trouve trop nul).
Mais ce qui importe, ce sont les strings MALE/FEMALE : tu en trouveras dès le début de la rencontre.
Je passe par ce topic pour te répondre parce que je trouvais stupide de passer par un hébergeur de fichiers pour une vingtaine de Ko !
Dès que tu l'as téléchargé, préviens-moi pour que je supprime le lien, histoire d'alléger mon quota de pièces jointes...
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Moddeur qui s'arrache les cheveux...
... avec Menace sur le Royaume de Diamant Éternel.
-
- Adepte de Grondemarteau
- Ogre mage
- Messages : 1328
- Enregistré le : dim. 21 mars 2010, 12:03
- Localisation : Paris
- Contact :
- Statut : Hors ligne
.
Freddy,
merci pour tes fichiers. Je confirme que c'est très intéressant de voir comment code les moddeurs par rapport aux fichiers du jeu.
Quelques remarques:
FICHIER .D
"
SAY @3900000 = @3900001
++ @3900002 DO ~DialogueSetGlobal("GWGwendyR1","GLOBAL",2)~ + Gwendolynette.Qui
+ ~Global("GWGwendyNO","GLOBAL",0)~ + @3900056 DO ~DialogueSetGlobal("GWGwendyOK","GLOBAL",1)~ + Gwendolynette.OK
...
IF ~~ + Gwendolynette.Histoire02
"
Je ne connais pas l'utilisation du "+" ou du "++".
"
IF ~~ DO ~DialogueSetGlobal("GWGwendyNO","GLOBAL",1) SetGlobalTimer("GWRefus1","GLOBAL",7200) PlaySound("EFF_HAND")
"
Ces lignes n'ont pas la structure "IF ... THEN ...".
"
CHAIN GWGwendy Gwendolynette.Nalia1304
@3900182
= @3900183
== NALIAJ @4890000
END
IF ~Global("GWGwendyOK","GLOBAL",1)~ EXTERN GWGwendy Gwendolynette.OK
IF ~Global("GWGwendyOK","GLOBAL",2) Global("GWAR1402","GLOBAL",0) PartyHasItem("SCALEB")~ EXTERN GWGwendy Gwendolynette.Thaxll1402
IF ~Global("GWGwendyOK","GLOBAL",2) Global("GWBELT10","GLOBAL",0) PartyHasItem("BELT10")~ EXTERN GWGwendy Gwendolynette.Belt10
IF ~Global("GWGwendyOK","GLOBAL",2) Global("GWRGMAGE","GLOBAL",0) OR(2) PartyHasItem("RING08") PartyHasItem("RING40")~ EXTERN GWGwendy Gwendolynette.RgMage
"
Je ne connais pas cette version de structure de CHAIN IF. La 'mienne' c'est:
CHAIN IF .... THEN
SAY ....
END
IF ... THEN REPLY
J'ai jeté un oeil sur la doc WEiDU:
- je vois que "==" équivaut à un "EXTERN".
-pas vu d'explication pour "+"
- le SAY du CHAIN peut être remplacé direct par le texte ~...~
Je suppose que Weidu interprète les "+", "++" et l'absence de "THEN". Pour le moment, ce n'es pas géré dans l'éditeur. Il faut que l'on détaille ces points.
FICHIER .TRA
Je ne gère pas les commentaires // ou /* ou ligne d'espace. Je vais mettre ce point en place.
Cocrane
merci pour tes fichiers. Je confirme que c'est très intéressant de voir comment code les moddeurs par rapport aux fichiers du jeu.
Quelques remarques:
FICHIER .D
"
SAY @3900000 = @3900001
++ @3900002 DO ~DialogueSetGlobal("GWGwendyR1","GLOBAL",2)~ + Gwendolynette.Qui
+ ~Global("GWGwendyNO","GLOBAL",0)~ + @3900056 DO ~DialogueSetGlobal("GWGwendyOK","GLOBAL",1)~ + Gwendolynette.OK
...
IF ~~ + Gwendolynette.Histoire02
"
Je ne connais pas l'utilisation du "+" ou du "++".
"
IF ~~ DO ~DialogueSetGlobal("GWGwendyNO","GLOBAL",1) SetGlobalTimer("GWRefus1","GLOBAL",7200) PlaySound("EFF_HAND")
"
Ces lignes n'ont pas la structure "IF ... THEN ...".
"
CHAIN GWGwendy Gwendolynette.Nalia1304
@3900182
= @3900183
== NALIAJ @4890000
END
IF ~Global("GWGwendyOK","GLOBAL",1)~ EXTERN GWGwendy Gwendolynette.OK
IF ~Global("GWGwendyOK","GLOBAL",2) Global("GWAR1402","GLOBAL",0) PartyHasItem("SCALEB")~ EXTERN GWGwendy Gwendolynette.Thaxll1402
IF ~Global("GWGwendyOK","GLOBAL",2) Global("GWBELT10","GLOBAL",0) PartyHasItem("BELT10")~ EXTERN GWGwendy Gwendolynette.Belt10
IF ~Global("GWGwendyOK","GLOBAL",2) Global("GWRGMAGE","GLOBAL",0) OR(2) PartyHasItem("RING08") PartyHasItem("RING40")~ EXTERN GWGwendy Gwendolynette.RgMage
"
Je ne connais pas cette version de structure de CHAIN IF. La 'mienne' c'est:
CHAIN IF .... THEN
SAY ....
END
IF ... THEN REPLY
J'ai jeté un oeil sur la doc WEiDU:
- je vois que "==" équivaut à un "EXTERN".
-pas vu d'explication pour "+"
- le SAY du CHAIN peut être remplacé direct par le texte ~...~
Je suppose que Weidu interprète les "+", "++" et l'absence de "THEN". Pour le moment, ce n'es pas géré dans l'éditeur. Il faut que l'on détaille ces points.
FICHIER .TRA
Je ne gère pas les commentaires // ou /* ou ligne d'espace. Je vais mettre ce point en place.
Cocrane
- Freddy_Gwendo
- Adepte de Grondemarteau
- Orbe ancien
- Messages : 5877
- Enregistré le : sam. 23 avr. 2011, 00:26
- Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
- Statut : Hors ligne
.
Lorsque je me suis remis à modder, j'ai découvert qu'il avait de nouvelles manières de coder les dialogues. Comme elles sont plus rapides, j'ai essayé de les adapter à mes anciens dialogues. D'ailleurs, je t'avais prévenu, ce dialogue était en voie de modification, donc pas encore terminé.
Donc :
équivaut à
donc
++ = IF ~~ THEN
+ Gwendolynette.Qui = GOTO Gwendolynette.Qui (ça marche aussi avec EXTERN Dialog2 Gwendolynette.Qui)
+ ~condition~ = IF ~condition~
Par ailleurs, tu as raison, c'est effectivement
J'ai dû me mélanger les pinceaux en remplaçant les IF THEN par les ++ et comme je n'ai pas encore testé ce fichier puisque j'attendais ton éditeur pour me replonger dans les dialogues...
Par ailleurs, le CHAIN que tu mentionnes est entre /* et */, donc ne sera pas compilé. C'est un des exemples de dysfonctionnements que je te mentionnais par MP. Le bon code est juste au dessus :
Beaucoup plus long à écrire, ce codage old school fonctionne parfaitement, lui !
Quant aux // et /*, ils sont très utiles en phase de développement sur les fichiers tra et d : positionnement de repères, d'indications, voire de trucs à vérifier ou à modifier tout en permettant de compiler tranquillement les fichiers. Comme dans l'exemple du CHAIN : je l'ai conservé pour être certain de le régler ultérieurement. Idem dans le fichier tra où tu as pu constater que j'ai laissé certains commentaires, notamment sur la création de fichiers sons pour certains strings (j'utilise pour l'instant des fichiers wav existants histoire de ponctuer les dialogues, mais ils devront être remplacés par d'autres voix).
Cependant, si on créé directement les fichiers d et tra à partir de ton éditeur, ne t'inquiète pas des // et consorts puisqu'ils seront rajoutés à postériori dans ces mêmes fichiers.
D'ailleurs, c'est un peu l'utilisation que je comptais en faire : définir rapidement la structure du dialogue dans ton édito, puis l'affiner si nécessaire dans les fichiers .d (rajouts de strings, modification des conditions, copier-coller d'actions déclenchées par une cinématique, etc...).
Donc :
Code : Tout sélectionner
IF ~Global("GWGwendyR1","GLOBAL",1)~ THEN BEGIN Gwendolynette.Hello
SAY @3900000 = @3900001
[color="#00FFFF"]++ [/color]@3900002 DO ~DialogueSetGlobal("GWGwendyR1","GLOBAL",2)~ [color="#00FFFF"]+[/color] Gwendolynette.Qui
++ @3900003 DO ~DialogueSetGlobal("GWGwendyR1","GLOBAL",2)~ + Gwendolynette.Quoi
++ @3900004 DO ~DialogueSetGlobal("GWGwendyR1","GLOBAL",2)~ + Gwendolynette.Insulte
END
IF ~~ THEN BEGIN Gwendolynette.LastChance
SAY @3900012
++ @3900007 + Gwendolynette.Bataille
[color="#00FFFF"]+ ~Class(Player1,PALADIN_ALL) ~ + @3900013 +[/color] Gwendolynette.Bye1_Paladin
+ ~!Class(Player1,PALADIN_ALL)~ + @3900013 + Gwendolynette.Bye1_NonPaladin
+ ~Global("GWGwendyHist","GLOBAL",0)~ + @3900002 + Gwendolynette.Qui
+ ~Global("GWGwendyQuoi","GLOBAL",0)~ + @3900003 + Gwendolynette.Quoi
END
Code : Tout sélectionner
IF ~Global("GWGwendyR1","GLOBAL",1)~ THEN BEGIN Gwendolynette.Hello
SAY @3900000 = @3900001
[color="#FFFF00"]IF ~~ THEN REPLY [/color]@3900002 DO ~DialogueSetGlobal("GWGwendyR1","GLOBAL",2)~ [color="#FFFF00"]GOTO[/color] Gwendolynette.Qui
IF ~~ THEN REPLY @3900003 DO ~DialogueSetGlobal("GWGwendyR1","GLOBAL",2)~ GOTO Gwendolynette.Quoi
IF ~~ THEN REPLY @3900004 DO ~DialogueSetGlobal("GWGwendyR1","GLOBAL",2)~ GOTO Gwendolynette.Insulte
END
IF ~~ THEN BEGIN Gwendolynette.LastChance
SAY @3900012
IF ~~ THEN REPLY @3900007 GOTO Gwendolynette.Bataille
[color="#FFFF00"]IF ~Class(Player1,PALADIN_ALL) ~ THEN REPLY [/color]@3900013 [color="#FFFF00"]GOTO[/color] Gwendolynette.Bye1_Paladin
IF ~!Class(Player1,PALADIN_ALL)~ THEN REPLY @3900013 GOTO Gwendolynette.Bye1_NonPaladin
IF ~Global("GWGwendyHist","GLOBAL",0)~ THEN REPLY @3900002 GOTO Gwendolynette.Qui
IF ~Global("GWGwendyQuoi","GLOBAL",0)~ THEN REPLY @3900003 GOTO Gwendolynette.Quoi
END
donc
++ = IF ~~ THEN
+ Gwendolynette.Qui = GOTO Gwendolynette.Qui (ça marche aussi avec EXTERN Dialog2 Gwendolynette.Qui)
+ ~condition~ = IF ~condition~
Par ailleurs, tu as raison, c'est effectivement
Code : Tout sélectionner
IF ~~ THEN DO ~DialogueSetGlobal("GWGwendyNO","GLOBAL",1) SetGlobalTimer("GWRefus1","GLOBAL",7200) PlaySound("EFF_HAND")
Wait(1) AddJournalEntry(@3500901,INFO) ForceSpell(Myself,DRYAD_TELEPORT)~ EXIT
Par ailleurs, le CHAIN que tu mentionnes est entre /* et */, donc ne sera pas compilé. C'est un des exemples de dysfonctionnements que je te mentionnais par MP. Le bon code est juste au dessus :
Code : Tout sélectionner
/* Arnisse : Torgal */
IF ~~ THEN BEGIN Gwendolynette.Torgal1304
SAY @3900180
IF ~OR(2) !InParty("NALIA") StateCheck("NALIA",CD_STATE_NOTVALID)~ THEN DO ~DialogueSetGlobal("GWAR1304","GLOBAL",2) GiveItemCreate("GWTorgal",Player1,1,1,1)
GiveItemCreate("GWTrollS",Player1,2,1,1) AddJournalEntry(@3900181,INFO)~ + Gwendolynette.OK
IF ~InParty("NALIA") !StateCheck("NALIA",CD_STATE_NOTVALID)~ THEN DO ~DialogueSetGlobal("GWAR1304","GLOBAL",2) GiveItemCreate("GWTorgal",Player1,1,1,1)
GiveItemCreate("GWTrollS",Player1,2,1,1) AddJournalEntry(@3900181,INFO)~ + Gwendolynette.Nalia1304
END
IF ~~ THEN BEGIN Gwendolynette.Nalia1304
SAY @3900182 = @3900183
IF ~~ EXTERN NALIAJ Torgal1304
END
Quant aux // et /*, ils sont très utiles en phase de développement sur les fichiers tra et d : positionnement de repères, d'indications, voire de trucs à vérifier ou à modifier tout en permettant de compiler tranquillement les fichiers. Comme dans l'exemple du CHAIN : je l'ai conservé pour être certain de le régler ultérieurement. Idem dans le fichier tra où tu as pu constater que j'ai laissé certains commentaires, notamment sur la création de fichiers sons pour certains strings (j'utilise pour l'instant des fichiers wav existants histoire de ponctuer les dialogues, mais ils devront être remplacés par d'autres voix).
Cependant, si on créé directement les fichiers d et tra à partir de ton éditeur, ne t'inquiète pas des // et consorts puisqu'ils seront rajoutés à postériori dans ces mêmes fichiers.
D'ailleurs, c'est un peu l'utilisation que je comptais en faire : définir rapidement la structure du dialogue dans ton édito, puis l'affiner si nécessaire dans les fichiers .d (rajouts de strings, modification des conditions, copier-coller d'actions déclenchées par une cinématique, etc...).
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Moddeur qui s'arrache les cheveux...
... avec Menace sur le Royaume de Diamant Éternel.
-
- Adepte de Grondemarteau
- Ogre mage
- Messages : 1328
- Enregistré le : dim. 21 mars 2010, 12:03
- Localisation : Paris
- Contact :
- Statut : Hors ligne
.
C'est vu pour les évolutions du code de WEIDU. J'en conclu que le '+' n'est pas à gérer.
Au sujet du fichier .TRA, je note que tu as quand même mis pas mal de commentaires. Commentaire qui me semble précieux pour aider à avoir des repères pendant la réalisation du mod.
Ce commentaire n'est pas saisissable dans l'éditeur pour le moment mais on peut réfléchir sur ce point:
- à l'écriture dans l'éditeur, une case à cocher 'Commentaire' peut permettre de signaler que c'est un commentaire qui est saisi.
=> à ajouter dans le fichier .TRA
- à la lecture du .TRA, la présence de '//' signalera que c'est un commentaire et non un indice à gérer.
Idée à creuser pour une V2.
Cocrane
Au sujet du fichier .TRA, je note que tu as quand même mis pas mal de commentaires. Commentaire qui me semble précieux pour aider à avoir des repères pendant la réalisation du mod.
Ce commentaire n'est pas saisissable dans l'éditeur pour le moment mais on peut réfléchir sur ce point:
- à l'écriture dans l'éditeur, une case à cocher 'Commentaire' peut permettre de signaler que c'est un commentaire qui est saisi.
=> à ajouter dans le fichier .TRA
- à la lecture du .TRA, la présence de '//' signalera que c'est un commentaire et non un indice à gérer.
Idée à creuser pour une V2.
Cocrane
- Freddy_Gwendo
- Adepte de Grondemarteau
- Orbe ancien
- Messages : 5877
- Enregistré le : sam. 23 avr. 2011, 00:26
- Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
- Statut : Hors ligne
.
C'est vrai que j'écris pas mal de commentaires. Mais c'est dû à la nature du mod : comme c'est une campagne assez longue, si je ne me repère pas dans tous mes fichiers, je vais vite être perdu !
Mais ce n'est pas le cas de tous les mods.
Par ailleurs m'est venue une interrogation : il serait bon de prévoir une fonction copier-coller dans ton édito (ou de gérer l'utilisation du Ctrl-C, V) pour pouvoir écrire rapidement par exemple les conditions ou les actions qui se répètent selon les réponses.
Mais ce n'est pas le cas de tous les mods.
Par ailleurs m'est venue une interrogation : il serait bon de prévoir une fonction copier-coller dans ton édito (ou de gérer l'utilisation du Ctrl-C, V) pour pouvoir écrire rapidement par exemple les conditions ou les actions qui se répètent selon les réponses.
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Moddeur qui s'arrache les cheveux...
... avec Menace sur le Royaume de Diamant Éternel.
-
- Adepte de Grondemarteau
- Ogre mage
- Messages : 1328
- Enregistré le : dim. 21 mars 2010, 12:03
- Localisation : Paris
- Contact :
- Statut : Hors ligne
.
Ok besoin à confirmer pour la gestion des commentaires
Concernant le copier coller de texte:
On n'édite pas du texte dans l'éditeur. On a une interface de saisie.
si jamais un block de discussion (if ... then ... End) est à créer et qu'un autre block est très ressemblant, on peut effectivement prévoir une copie de block comme choix à proposer.
Sinon on va dans le .D, on copie le block en le renommant. On charge le fichier dans l'éditeur.
Cocrane
Concernant le copier coller de texte:
On n'édite pas du texte dans l'éditeur. On a une interface de saisie.
si jamais un block de discussion (if ... then ... End) est à créer et qu'un autre block est très ressemblant, on peut effectivement prévoir une copie de block comme choix à proposer.
Sinon on va dans le .D, on copie le block en le renommant. On charge le fichier dans l'éditeur.
Cocrane
- Freddy_Gwendo
- Adepte de Grondemarteau
- Orbe ancien
- Messages : 5877
- Enregistré le : sam. 23 avr. 2011, 00:26
- Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
- Statut : Hors ligne
.
Au sujet des "++", je suis tombé par hasard sur ce sujet sur PPG.
C'est un vieux tuto sommaire "pour les nuls" sur la manière de rédiger rapidement un fichier .d.
C'est un vieux tuto sommaire "pour les nuls" sur la manière de rédiger rapidement un fichier .d.
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Moddeur qui s'arrache les cheveux...
... avec Menace sur le Royaume de Diamant Éternel.
-
- Adepte de Grondemarteau
- Ogre mage
- Messages : 1328
- Enregistré le : dim. 21 mars 2010, 12:03
- Localisation : Paris
- Contact :
- Statut : Hors ligne
.
Les travaux de ma salle d'eau me prennent bcp de temps...
J'avance néanmoins sur la gestion du sexe et j'ai deux questions:
1- le fichier dialogF.tlk sert aux textes SAY, REPLY, JOURNAL etc...?
2- Une valeur d'indice est valable correspond à la même phrase pour dialog.TLK (masculin) et dialogF.tlk (féminin).
Si oui, j'ai un pb, je n'obtiens pas le même texte (c'est facheux! )
Exemple avec QUAYLE
"SAY #36747 /* ~Merci de nous avoir aidés, mon bon monsieur. Kalah était un illusionniste de talent... qui s'abusait plus que nous le soupçonnions. Vous prendrez bien soin de ma petite Aerie, hein ?~ */
"
Si je le lis l'indice "36747" dans dialog.tlk, j'ai:
"
Merci de nous avoir aidés, mon bon monsieur. Kalah était un illusionniste de talent... qui s'abusait plus que nous le soupçonnions. Vous prendrez bien soin de ma petite Aerie, hein ?
"
Si je le lis l'indice "36747" dans dialogF.tlk, j'ai:
"
ur. Demandez à William Reirrac quels sont vos ordres.Je ne comprends pas bien pourquoi vous refusez un tel honneur. Nombreux sont ceux qui travaillent des années durant pour l'obteni
"
Idem pour un reply etc...
Si quelqu'un peut éclairer ma lanterne.
J'avance néanmoins sur la gestion du sexe et j'ai deux questions:
1- le fichier dialogF.tlk sert aux textes SAY, REPLY, JOURNAL etc...?
2- Une valeur d'indice est valable correspond à la même phrase pour dialog.TLK (masculin) et dialogF.tlk (féminin).
Si oui, j'ai un pb, je n'obtiens pas le même texte (c'est facheux! )
Exemple avec QUAYLE
"SAY #36747 /* ~Merci de nous avoir aidés, mon bon monsieur. Kalah était un illusionniste de talent... qui s'abusait plus que nous le soupçonnions. Vous prendrez bien soin de ma petite Aerie, hein ?~ */
"
Si je le lis l'indice "36747" dans dialog.tlk, j'ai:
"
Merci de nous avoir aidés, mon bon monsieur. Kalah était un illusionniste de talent... qui s'abusait plus que nous le soupçonnions. Vous prendrez bien soin de ma petite Aerie, hein ?
"
Si je le lis l'indice "36747" dans dialogF.tlk, j'ai:
"
ur. Demandez à William Reirrac quels sont vos ordres.Je ne comprends pas bien pourquoi vous refusez un tel honneur. Nombreux sont ceux qui travaillent des années durant pour l'obteni
"
Idem pour un reply etc...
Si quelqu'un peut éclairer ma lanterne.
- Isaya
- Adepte de Grondemarteau
- Planaire
- Messages : 6990
- Enregistré le : mar. 22 juil. 2003, 21:03
- Localisation : Plaisir
- Contact :
- Statut : Hors ligne
.
Le symbole "++" est plus que jamais d'actualité. L'âge du tutoriel est tout relatif, dans le monde du modding BG, c'est même un des plus récents, au contraire. Mais comme c'est surtout une façon d'écrire les choses de façon plus compacte, il n'est pas indispensable de s'en servir : tu peux toujours écrire "IF ~~ THEN" à la placeCocrane a écrit :Pour le moment, je ne vais pas bosser la gestion des "++" vu que si j'ai bien compris c'est lié une version ancienne de WEIDU
Il n'y a aucune différence de texte entre les versions masculines et féminines pour le texte 36747, la version masculine s'applique aux deux.Cocrane a écrit :2- Une valeur d'indice est valable correspond à la même phrase pour dialog.TLK (masculin) et dialogF.tlk (féminin).
Si oui, j'ai un pb, je n'obtiens pas le même texte (c'est facheux! )
Exemple avec QUAYLE
"SAY #36747 /* ~Merci de nous avoir aidés, mon bon monsieur. Kalah était un illusionniste de talent... qui s'abusait plus que nous le soupçonnions. Vous prendrez bien soin de ma petite Aerie, hein ?~ */
"
Si je le lis l'indice "36747" dans dialog.tlk, j'ai:
"
Merci de nous avoir aidés, mon bon monsieur. Kalah était un illusionniste de talent... qui s'abusait plus que nous le soupçonnions. Vous prendrez bien soin de ma petite Aerie, hein ?
"
Si je le lis l'indice "36747" dans dialogF.tlk, j'ai:
"
ur. Demandez à William Reirrac quels sont vos ordres.Je ne comprends pas bien pourquoi vous refusez un tel honneur. Nombreux sont ceux qui travaillent des années durant pour l'obteni
"
A mon avis tu fais sans doute une grosse erreur car on voit que tu pointes pour le texte féminin sur des phrases non terminées. Je soupçonne que tu accèdes dans le fichier dialogF.tlk en utilisant les mêmes offset que ceux que tu as lus dans le fichier dialog.tlk. Et c'est une une énorme erreur !!!
En effet, si les textes diffèrent entre masculin et féminin ("content" / "contente", par exemple), on voit bien qu'un texte féminin pourra être plus long que son pendant masculin (cas typique). D'ailleurs les deux fichiers eux-mêmes n'ont pas la même taille.
Il faut donc bien considérer que chaque fichier dialog.tlk / dialogF.tlk soit être manipulé avec ses propres offsets. Le nombre de textes est le même, donc la partie "Entries" des deux fait la même taille, mais le début d'un texte dans la partie "Strings" de chaque fichier est à un offset différent, qu'il faut déterminer à partir du bloc "Entries" qui lui correspond.
Bonne continuation pour ce projet et pour ta salle d'eau.
:!: Peu disponible
Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !
Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !
-
- Adepte de Grondemarteau
- Ogre mage
- Messages : 1328
- Enregistré le : dim. 21 mars 2010, 12:03
- Localisation : Paris
- Contact :
- Statut : Hors ligne
.
Ysaya tu as raison.
Au démarrage de l'éditeur, je charge quelques données du fichier Dialog.tlk. Données que j'utilise ensuite quand je lis le fichier. J'avais complètement oublié.
Utilisant la même fonction de lecture pour le fichier dialog.tlk et maintenant le fichier dialogF.tlk, je ne captais pas où étais le problème ... Maintenant c'est corrigé.
Merci à toi!
Pour la salle d'eau ça avance mais je rame vu que je suis un bricoleur du dimanche, j'y passe du coup plus de temps que prévu.
Peut être que les requins de Freddy auront envie d'y faire un tour!
Cocrane
Au démarrage de l'éditeur, je charge quelques données du fichier Dialog.tlk. Données que j'utilise ensuite quand je lis le fichier. J'avais complètement oublié.
Utilisant la même fonction de lecture pour le fichier dialog.tlk et maintenant le fichier dialogF.tlk, je ne captais pas où étais le problème ... Maintenant c'est corrigé.
Merci à toi!
Pour la salle d'eau ça avance mais je rame vu que je suis un bricoleur du dimanche, j'y passe du coup plus de temps que prévu.
Peut être que les requins de Freddy auront envie d'y faire un tour!
Cocrane
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités