Arcanum-fr Index du forum Arcanum-fr
Le forum de la communauté Arcanum
 
 FAQFAQ   RechercherRechercher   Liste des membresListe des membres   Groupes d’utilisateursGroupes d’utilisateurs   InscriptionInscription 
 ProfilProfil   Se connecter afin de vérifier vos messages privésSe connecter afin de vérifier vos messages privés   ConnexionConnexion 

Dialogues : changer la 1ère page selon la situation

 
Publier un nouveau sujet   Répondre au sujet    Arcanum-fr Index du forum -> Developpeurs
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
Louis91
Aware


Inscrit le: Mer 20 Fev 2002
Messages: 937
Localisation: Chez moi dans l'Essonne

MessagePublié le: Mar Juin 21, 2005 8:06 pm    Titre du sujet: Dialogues : changer la 1ère page selon la situation Répondre en citant

Un problème se dresse sur mon chemin dans la poursuite de mon mod.
J'aimerais savoir comment on fait pour changer la première page du dialogue avec un PNJ, selon la situation dans laquelle on est.
Je sais comment on rajoute des phrases pour le PJ selon la situation (en fonction des rumeurs, quêtes,etc), mais je voudrais pouvoir faire la même chose concernant le PNJ, ça doit être possible ?

Prenons un exemple, on parle à un bonhomme une première fois, ça commence par "Bonjour, qui êtes-vous ?" . Lors du dialogue, le joueur se présente, une quête lui est donnée, etc. J'aimerais alors que quand on retourne parler au PNJ, son dialogue ne soit plus "Bonjour, qui êtes-vous ?" , car ce serait un peu incohérent. J'aimerais par exemple le remplacer par "Re-bonjour @pcname@ avez vous parlé à Machin ?"; et ainsi de suite, en fonctions des rumeurs, quêtes, réputations, etc qui sont énumérées au fil du mod.

Mais ce ne serait pas juste histoire de changer La phrase du PNJ, mais comme créer une toute nouvelle page de dialogue, une nouvelle phrase du PNJ, accompagnée de nouvelles répliques possibles pour le PJ (histoire qu'on ne puisse pas lui redemander son nom alors qu'on lui a déjà parlé).

J'aimerais donc savoir comment on peut réussir à faire ça. Est-ce qu'il faut agir sur la première page de dialogue en mettant des alternatives selon la situation, ou créer une nouvelle page de dialogue réglée selon les critères ?

Avant j'avais trouvé un système D pour pas me casser la tête, je gardais la phrase originale du PNJ et je me contentais de rajouter de nouvelles répliques selon les situations, mais en y repensant, ça fait pas tellement réaliste dans certains cas.

Donc voilà, merci d'avance à ceux qui se pencheront sur le problème.
Revenir en haut
Voir le profil de l’utilisateur Envoyer un message privé [ Invisible ] MSN Messenger
Eoliad, Mage d'Haholith



Inscrit le: Mar 8 Fev 2005
Messages: 620
Localisation: Avignon

MessagePublié le: Mar Juin 21, 2005 8:56 pm    Titre du sujet: Répondre en citant

Voilà la solution :

1- Dans la parenthèse avant le renvoi à la ligne tu mets {lf1 0} pour la première rencontre donc : "Bonjour, qui êtes-vous ?" ou qqchose comme ça. Les "lf" sont en fait les locals flags, des sortes de tests pour le dialogue du personnage et ce dialogue seulement. Pour appliquer la condition dans tout le jeu on place "gf" les globals flags"(on peut utiliser jusqu'à 10 locals flags [1 à 10] par dialogue et 7 globals flags par module

2- Tu mets lf1 1 dans la dernière parenthèse de la ligne de dialogue. Ceci va placer les local flag 0 sur la position 1 (la phrase a été dite). La parenthèse où tu as mis le local flag 0 sur la position 0 (1er paragraphe) va tester à chaque fois si le local flag est sur 0 auquel cas l'option de dialogue s'affiche, sinon, l'option n'apparait pas. Le positionement du local flag sur 1 va donc faire disparaitre l'option "Bonjour, qui êtes-vous ?" du dialogue. En d'autres termes lorsque le perso va parler au npc il aura comme option "Bonjour, qui êtes-vous ?" puisque le local flag sera sur la position 0. Le fait de cliquer sur cette option mettra le local flag sur 1, ce qui rendra l'option indisponible par la suite puisque la parenthèse condition ne sera plus remplie.

3-Il faut prévoir une ligne avec "lf1 1" en condition si il n'y a que "Bonjour, qui êtes-vous ?" en option au début, sinon le dialogue buggue (pas d'otion de dialogue)

4- Attention aux erreurs de renvoi de ligne : une différente pour les conditions 0 et 1

5- Voici un exemple de dialogue avec les locals flags (extrait de mon module auquel tu m'as donné envie de continuer, merci)

{1}{Bonjour !}{Bonjour, cela me fait plaisir de vous voir !}{}{}{}{}
{2}{Qui êtes-vous ?}{}{5}{lf1 0}{10}{lf1 1}
{3}{Vous qui ?}{}{-4}{lf1 0}{10}{lf1 1}
{4}{Bonjour Jesrad}{}{5}{lf1 1}{30}{}
{5}{B'jour Jarre}{}{-4}{lf1 1}{30}{}

Le "qui êtes-vous" ne sera dit qu'une fois (local flag 1 passe de 0 (désactivé) à 1 (activé)
Puis lorsqu'on reparle au npc, on ne peut dire que "Bonjour Jesrad", ligne ayant pour condition "lf1 1"

J'espère que c'est à peu près clair, envoye-moi un mp en cas de problème...
_________________
"Noli me tangere"
Revenir en haut
Voir le profil de l’utilisateur Envoyer un message privé [ Invisible ]
Louis91
Aware


Inscrit le: Mer 20 Fev 2002
Messages: 937
Localisation: Chez moi dans l'Essonne

MessagePublié le: Mar Juin 21, 2005 9:26 pm    Titre du sujet: Répondre en citant

Arf je crois que tu as mal compris ma question ou alors je me suis mal exprimé :/

Là je pense que tu me parles surtout des options possibles parmi les répliques du PJ à choisir non ? Genre si on parle à quelqu'un une deuxième fois, on ne lui dira plus "Bonjour qui êtes vous" mais "bonjour Machin". C'est ça que tu m'as expliqué non ?
Sinon j'ai vraiment des problèmes de compréhension

Si c'est ça, je sais déjà le faire. Moi je voulais non pas modifier les dialogues du PJ mais bel et bien ceux du PNJ pour que la première phrase qui s'affiche au dessus de leur tête dès qu'on leur parle, change selon la situation dans laquelle on est (rumeurs, quêtes, réputations, etc).
Après on peut effectivement jouer avec les "si rumeurs n°tant est dite, ajouter telle réplique possible pour le PJ, retirer telle réplique pour le PJ", etc. Tout ce qui concerne le PJ je le sais déjà, mais par contre j'en sais beaucoup moins à propos des conditions de dialogues des PNJ, pour faire simple.
Revenir en haut
Voir le profil de l’utilisateur Envoyer un message privé [ Invisible ] MSN Messenger
triblonto
Chasseur de ténèbres
Chasseur de ténèbres


Inscrit le: Mar 8 Jan 2002
Messages: 1030
Localisation: Bordeaux

MessagePublié le: Mer Juin 22, 2005 1:00 am    Titre du sujet: Répondre en citant

Désolé. Pas compris.
_________________
http://arcanumlab.free.fr
Aides à la création de modules
Revenir en haut
Voir le profil de l’utilisateur Envoyer un message privé [ Invisible ] Visiter le site Internet du rédacteur
Eoliad, Mage d'Haholith



Inscrit le: Mar 8 Fev 2005
Messages: 620
Localisation: Avignon

MessagePublié le: Mer Juin 22, 2005 11:28 am    Titre du sujet: Répondre en citant

Ah, en fait essaye les lf pour le npc mais je crois que ça marche pas








20 minutes à taper les lf pour rien
_________________
"Noli me tangere"
Revenir en haut
Voir le profil de l’utilisateur Envoyer un message privé [ Invisible ]
Louis91
Aware


Inscrit le: Mer 20 Fev 2002
Messages: 937
Localisation: Chez moi dans l'Essonne

MessagePublié le: Mer Juin 22, 2005 2:39 pm    Titre du sujet: Répondre en citant

Arf, Eoliad.

Pour Triblonto je vais quand même reformuler le problème, on ne sait jamais peut être que tu connais la solution, parce que dans le jeu Arcanum, il sont arrivés à le faire pourtant.

Je vais donc essayer de faire le plus compréhensible possible.

J'aimerais pouvoir obtenir ceci:
1er dialogue avec le NPC
NPC : Bonjour qui êtes vous ?
PC : - Je suis @pcname@
- Ca ne vous regarde pas
- Je dois partir [etc]
[...]
NPC : j'aimerais que vous alliez parler à untel
PC : - d'accord => Quête enclenchée

2e dialogue avec le NPC après enclenchement de la quête
NPC : Bonjour @pcname@ avez-vous parlé à untel ?
PC : - oui
- non [... suite du dialogue]


J'aimerais modifier ce que dit le NPC au Début du dialogue, selon l'état d'une quête ou d'une rumeur.

Car pour le moment j'ai ça et je suis obligé de m'en contenter :
1er dialogue avec le NPC
NPC : Bonjour qui êtes vous ?
PC : - Je suis @pcname@
- Ca ne vous regarde pas
- Je dois partir [etc]
[...]
NPC : j'aimerais que vous alliez parler à untel
PC : - d'accord => Quête enclenchée

2e dialogue avec le NPC après enclenchement de la quête
NPC : Bonjour qui êtes vous ?
PC : - Oui je suis allé parlé à untel
- Non je n'y suis pas allé. [...]


Vous constatez donc que dans le 2e cas, la phrase d'accueil du NPC reste identique à lorsque la quête n'était pas enclenchée, et dans ce cas, on peut quand même dire que c'est franchement pas réaliste vous trouvez pas ? Car ça donne l'impression qu'on ne lui a pas parlé avant; alors qu'il vient de nous donner une quête quand même.

Et c'est ça précisément que je veux modifier ! la première phrase que prononce le NPC quand on clique dessus, selon l'état d'une quête ou d'une rumeur !

Avez-vous compris ? :D
Revenir en haut
Voir le profil de l’utilisateur Envoyer un message privé [ Invisible ] MSN Messenger
Louis91
Aware


Inscrit le: Mer 20 Fev 2002
Messages: 937
Localisation: Chez moi dans l'Essonne

MessagePublié le: Mer Juin 22, 2005 9:15 pm    Titre du sujet: Répondre en citant

Bon ben en fait ne vous cassez plus la tête, Roloune a trouvé la solution.
Merci
Revenir en haut
Voir le profil de l’utilisateur Envoyer un message privé [ Invisible ] MSN Messenger
triblonto
Chasseur de ténèbres
Chasseur de ténèbres


Inscrit le: Mar 8 Jan 2002
Messages: 1030
Localisation: Bordeaux

MessagePublié le: Jeu Juin 23, 2005 1:21 pm    Titre du sujet: Répondre en citant

Au lieu de jouer avec les local flag, utilise la ligne de commande
if quest is in state x then dialog 1 else dialog 30.

Tu peux aussi activer un local flag quand la quête est enclenchée et utiliser alors la ligne de script
if local flag 1 is set then dialog 30 else dialog 1
_________________
http://arcanumlab.free.fr
Aides à la création de modules
Revenir en haut
Voir le profil de l’utilisateur Envoyer un message privé [ Invisible ] Visiter le site Internet du rédacteur
Louis91
Aware


Inscrit le: Mer 20 Fev 2002
Messages: 937
Localisation: Chez moi dans l'Essonne

MessagePublié le: Jeu Juin 23, 2005 7:47 pm    Titre du sujet: Répondre en citant

Merci pour la p'tite solution alternative Triblonto, c'est vrai que c'est aussi pratique.
J'utilisais la 2e que tu donnes, pour le moment.
Revenir en haut
Voir le profil de l’utilisateur Envoyer un message privé [ Invisible ] MSN Messenger
Afficher les messages depuis:   
Publier un nouveau sujet   Répondre au sujet    Arcanum-fr Index du forum -> Developpeurs Heures au format GMT + 1 heure
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas publier de nouveaux messages dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2002 phpBB Group
Translated by phpBB.fr © 2007, 2008 phpBB.fr