Aller au contenu


Le Filtre Des Dialogues Par Pnj (petite Info)


  • Veuillez vous connecter pour répondre
5 réponses à ce sujet

#1 elendell

elendell

    Mécano Dell'Arte


Posté 29 mai 2009 - 16:45

Bonjour,

Je ne doute pas que ceux qui travaillent souvent sur les dialogues s'en soient déjà aperçus mais pour ma part, je viens de le découvrir et je ne trouve cette précision nulle part :

Filtrer les dialogues pour un PNJ dans le Tescs pour ne voir que ceux qui le concernent ne permet pas de voir tous ceux qui lui sont spécifiquement attribués. La "Speaker Condition" "Cell" peut suivant le cas empêcher de faire apparaitre un dialogue parmi ceux qui concernent le PNJ en question ! :banderilles:

Pour qu'un dialogue soit visible avec ce filtre, il faut soit qu'il n'y ait pas de condition de cellule, soit qu'une référence du PNJ se trouve placée dans la cellule qui est en condition mais qu'il n'y ait pas d'autre référence du PNJ dans une autre cellule, soit encore que l'on place le PNJ dans la cellule avant de construire le dialogue et qu'on le supprime de la cellule ensuite. Dans ce dernier cas, le Tescs conserve la référence comme si le PNJ était toujours dans la cellule et le dialogue sera visible avec le filtre du PNJ mais seulement, tant qu'on ne place pas de nouveau une référence du PNJ ailleurs. Note : Je l'ai constaté avec les "greetings" et n'ai pas vérifié si c'est pareil pour les "topics"

Donc, si vous avez un PNJ qui va se déplacer, soit en suivant le PJ, soit par scripts et que vous faites des "greetings" différents, conditionnés par la cellule où il se trouvera quand le PJ s'adressera à lui (ou "ForceGreeting"), seul le "greeting" qui a comme condition la cellule où vous le placez dans le Tescs sera visible avec le filtre.

Si vous placez dans le Tescs des références du PNJ dans plusieurs cellules (avec des disable/enable dans son script), là aussi, un seul "greeting" apparaitra avec le filtre. Il semble que cela soit le "greeting" qui a comme condition la première cellule dans leur ordre alphabétique. Ce fut en tout cas ainsi lors de mes tests.

Je présume que cela n'a pas d'incidence dans le jeu et que tous les "greetings" seront quand même déclenchés mais il faut s'en souvenir quand on "mode" ou qu'on fait des recherches dans un module. Si vous vous replongez dans les dialogues d'un PNJ plusieurs semaines après les avoir construits (par exemple pour rajouter quelque chose), vous ne devez pas vous fier uniquement au filtre pour vérifier quels dialogues lui sont déjà attribués mais vérifier également dans tous les dialogues du "mod" (sans filtrer), si vous pensez qu'au moins un dialogue est susceptible d'avoir une condition de cellule...

#2 Finraïl

Finraïl

    Modèle de wiwilandais nanotechnologique


Posté 29 mai 2009 - 18:53

Je ne savais pas, merci pour l'info. :banderilles:

Not Quite Dead, le 22.06.2006 à 19:42, dit :

[...]un changement avatarien, même infime, est PAS BIEN et nuisible [...]
Les lisez-moi c'est bon, mangez-en !! Image IPB

Fervent Partisan de l'Immuabilité Avatarienne.

Morrowind Renaissance


#3 abg

abg

    L'ABG pour les civilisés


Posté 29 mai 2009 - 19:20

Voir le messageelendell, le 29.05.2009 à 17:44, dit :

Donc, si vous avez un PNJ qui va se déplacer, soit en suivant le PJ, soit par scripts et que vous faites des "greetings" différents, conditionnés par la cellule où il se trouvera quand le PJ s'adressera à lui (ou "ForceGreeting"), seul le "greeting" qui a comme condition la cellule où vous le placez dans le Tescs sera visible avec le filtre.

Tous les PNJs sont susceptibles de se déplacer : sorts de Commandement d'Humanoïde, mods à la "Romance" ou "Dracandros Voice" ou "Pursuit Enhanced"... Ce ne sont pas les raisons qui manquent. Utiliser une condition de Cell pour filtrer les dialogues est effectivement à réserver aux cas où cela fait sens (Le PNJ ne dira ceci que s'il est à l'endroit approprié). Dans la plupart des cas, il vaut mieux envisager d'autres conditions de filtrage en effet...
Antoninus Bibulus Glaber
Coaching de PNJs chez Morrowind Renaissance

#4 Orann

Orann

    Nérévarine de Pertevue


Posté 29 mai 2009 - 22:35

J'utilise très fréquemment ces filtres combinés aux critères de cells et j'avais déjà remarqué ce que tu décris Elendell (mais avec moins de précisions ce qui est toujours ta qualité).

Afin de voir tous les greetings et topics possible, il faut, d'après mon expérience "empirique" sans avoir pousser des tests très loin, il faut cliquer sur l'ID du npc directement dans la liste des npcs  pour ouvrir les propriétés (et non pas sur le npc en lui-même placé dans une cell) et ensuite afficher les dialogues (avec le filtre). Et là on voit tout, même si la référence du npc n'est pas placée dans la cell du critère du dialogue.
Palme d'honneur 2010 pour le mod Archipel de Pertevue

Entamez votre voyage vers l'Archipel de Pertevue ! Test communautaire en cours.

#5 elendell

elendell

    Mécano Dell'Arte


Posté 30 mai 2009 - 00:19

Voir le messageOrann, le 29.05.2009 à 23:34, dit :

Afin de voir tous les greetings et topics possible, il faut, d'après mon expérience "empirique" sans avoir pousser des tests très loin, il faut cliquer sur l'ID du npc directement dans la liste des npcs  pour ouvrir les propriétés (et non pas sur le npc en lui-même placé dans une cell) et ensuite afficher les dialogues (avec le filtre). Et là on voit tout, même si la référence du npc n'est pas placée dans la cell du critère du dialogue.
Heu... Je viens d'essayer mais chez moi, ça ne marche pas.  :sorcerer:

Généralement, j'ouvre la fenêtre des dialogues sans passer par la fiche du PNJ (ni placé, ni en liste NPC) et j'avais constaté le problème de cette manière. Le script d'un PNJ faisait un "ForceGreeting" quand celui-ci était censé être dans une autre cellule que celle d'origine. Hors, il n'y avait plus de "Greeting" visible qui pouvait être accessible, au regard des autres conditions de ce moment de la quête. J'ai donc cru qu'il manquait un dialogue dans le "mod".
Seulement, j'ai ensuite cherché en utilisant la fonction "Find Text" ce qui changeait un index de journal. Changement d'index qui n'était pas fait par le script et qui pourtant était en condition pour la suite du script. Et la réponse était que ce changement d'index était fait par un "greeting". J'ai donc cherché ce "greeting" et me suis aperçu  du problème que j'ai signalé.

Mais je viens aussi d'essayer comme tu le proposes, c'est à dire :

1) Ouvrir d'abord la fiche du PNJ à partir de l'onglet NPC
2) Cliquer sur le bouton "Dialogue" de la fiche ouverte (Le filtre est automatiquement actif et ciblé sur ce PNJ)
3) Cliquer sur l'onglet "Greeting" et sur "Greeting 1" pour voir tous les "Greetings 1" de ce PNJ

Malheureusement, les "Greetings 1" qui ont une autre cellule en condition que celle où est placé le PNJ dans le Tescs ne sont toujours pas visibles.
Peux-tu vérifier en faisant exactement cette manipulation ?

PS : Le problème n'est pas un "bug" spécifique au "mod" qui me l'a fait relever. Je l'ai d'abord pensé mais j'ai vérifié en créant les mêmes conditions dans un nouveau "mod". Et je l'ai fait avec et sans extension au cas où cela aurait pu changer quelque chose.

#6 Orann

Orann

    Nérévarine de Pertevue


Posté 30 mai 2009 - 11:30

Oups, excuse moi mais ce n'était que folie d'un vieux moddeur... Image IPB
J'avais dû passer trop de temps sur le pc aujourd'hui et mon esprit divaguait... Je viens de tester et tu as raison sur toute la ligne, que ce soit pour les greetings ou les topics... J'ai trop divagué hier :sorcerer:
Palme d'honneur 2010 pour le mod Archipel de Pertevue

Entamez votre voyage vers l'Archipel de Pertevue ! Test communautaire en cours.




0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)