Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > Faire parler les NPC entre eux
Faire parler les NPC entre eux
Par irec le 29/11/2002 à 21:52:29 (#2675564)
Par eMRaistlin le 30/11/2002 à 0:33:04 (#2676482)
Il s'agit du tag du parleur. Tu fais donc des repliques de dialogue entre Tag1 et Tag2, tout simplement ^^
Par coolstar le 30/11/2002 à 9:18:26 (#2677654)
EDIT
------------------
Je viens de jeter un oeil pour le ca où... et j'ai eu la confirmation que par le biais de l'Editeur de dialogues le Joueur est obligé de cliquer chaque fois que c'est son tour pour les écouter... donc le Dial n'est pas Dynamique ! ce qui me fait dire qu'il vaut mieux préconiser le Dial par Script si l'on veut une Conversation Dynamique (sans le joueur!)... ;)
------------------
Par irec le 30/11/2002 à 10:28:25 (#2677826)
Par Cassin le 30/11/2002 à 12:00:03 (#2678358)
Perso je serais plus pour le dialogue classique, au moins ça attire l'attention du joueur (évidemment s'il veut vraiment pas lire, il peut toujours sortir). Parce qu'avec les ActionSpeakString, les phrases s'affichent au-dessus des PNJ, mais le joueur peut très bien passer à coté sans faire attention...
Par coolstar le 30/11/2002 à 13:11:28 (#2678958)
Par coolstar le 30/11/2002 à 22:41:12 (#2682143)
Je suis plutôt pour la conversation dynamique entre les NPCs (ça fait plus vivant et moins Bouquin/LDVEH*)... mais j'adhère tout de même à la remarque judicieuse de Cassin quant au risque de louper ainsi une conversation... ;)
Bon.... suite à nos commentaires réciproques, j'ai de fait envisagé une alternative et j'ai finalement opté pour une solution qui m'apparaît tout à fait satisfaisante... et en plus ça marche! aussi je me suis-je proposé de vous la présenter... :D
Donc, la scène sera abordée par le biais d'un Trigger qui déclenchera un Dial, ou plutôt un genre de Monologue, de sorte que le Joueur ne puisse louper l'événement... Déclencheur générique : OnEnter : conversation_surprise/* conversation_surprise.nss */
S'en suit donc le Déclenchement du Dialogue "conversation_surprise" qui laissera ainsi au Joueur le choix de suivre ou non leur conversation (dynamique ou interactive) :
// Le Joueur surprend une conversation entre deux individus suspects.
void main()
{
object oPc = GetEnteringObject();
object oObjectToConverseWith = oPc;
string sDialogResRef = "conversation_surprise";
// Déclenchement du Dialogue à choix multiples "conversation_surprise".
ActionStartConversation(oObjectToConverseWith, sDialogResRef);
}
GetEnteringObject. (Vous surprenez une conversation discrète entre deux individus suspects...)
1. (Vous les ignorez.) Fin de conversation
2. (Vous écoutez la conversation.) Action conséquente : conversation_interactive/* conversation_interactive.nss */
3. (Vous écoutez la conversation.) Action conséquente : conversation_dynamique
// Le Joueur décide de se joindre à la conversation.
void main()
{
object oPc = GetObjectByTag ("npc_bavard_roi"); // Celui qui porte le Dial déclenché par défaut en OnConversation.
object oObjectToConverseWith = oPc;
string sDialogResRef = "conversation_interactive";
// Déclenchement du Dialogue interactif "conversation_interactive".
ActionStartConversation(oObjectToConverseWith, sDialogResRef);
}/* conversation_dynamique.nss */
^^
// Le Joueur décide d'écouter discrètement les deux individus suspects...
void main()
{
object oNpc1 = GetObjectByTag("individu_suspect1");
object oNpc2 = GetObjectByTag("individu_suspect2");
ClearAllActions();
// Mise en route des "Répliques" des deux individus suspects.
DelayCommand(3.0, AssignCommand(oNpc1, ActionSpeakString ("Salut !")));
DelayCommand(6.0, AssignCommand(oNpc2, ActionSpeakString ("Ca va ?")));
DelayCommand(9.0, AssignCommand(oNpc1, ActionSpeakString ("Ouai merci ! Et toi ?")));
DelayCommand(12.0, AssignCommand(oNpc2, ActionSpeakString ("Bof ! Plutôt moyen aujourd'hui.")));
DelayCommand(15.0, AssignCommand(oNpc1, ActionSpeakString ("Ha, demain ça ira mieux ! T'as ce qu'il me faut ?")));
DelayCommand(18.0, AssignCommand(oNpc2, ActionSpeakString ("Ouai, j'ai bien lavé tes chaussettes. Mais chut !")));
}
Voilà, voilà... Et l'on peut même envisager aussi de rajouter des tests d'Ecoute et/ou de Discrétion
pour rendre le truc un peu plus corsé et un peu plus stimulant... :ange:
---------------
*LDVEH : Livre Dont Vous Etes le Héros...
---------------
JOL Archives 1.0.1
@ JOL / JeuxOnLine