Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > Simuler une discussion entre PNJ
Simuler une discussion entre PNJ
Par Metamec le 24/7/2002 à 11:29:51 (#1852836)
En gros l'idée c'est de faire dire à un perso qqchose et que l'autre donne une réponse appropriée et ce de façon automatique (PNJs pas vraiment destinées à être possédés... c juste pour planter un décor).
Comme je sais qu'il y a des pros du scripts ici :D Merci de votre attention ;)
Par Azrael07 le 24/7/2002 à 11:39:31 (#1852893)
Tu veux une réelle conversation, type conversation editor,
ou simplement des trucs au dessus de la tete des types ?
dans le premier cas je vois pas comment il faut faire, dans le deuxième cas, il vas faloir mettre un script dans le OnPerseive d'un des deux NPC avec des
ActionSpeakString
ActionWait
AssignCommand(ol'autre type, ActionSpeakString)
Tu peu facilement faire un dialogue avec ca :) :) :)
Par Cassin le 24/7/2002 à 11:59:17 (#1852996)
Enfin, je dis ça, j'ai pas encore testé le dialogue à plus de 2 interlocuteurs, mais je pense que ça doit marcher...
Par Metamec le 24/7/2002 à 13:13:55 (#1853434)
c'était effectivement un dialogue entre 2 PNJs dont les répliques s'afficheraient au dessus de leur tête comme s'ils entretenaient un dialogue... la difficulté consiste à prévoir les intervalles de discussion pour qu'il y ait le sentiment de questions/réponses et ensuite de générer des questions réponses au hasard parmi une liste...
Mais bon je vais déjà essayer de fair eun truc propre avec tes conseils Azrael ;)
Par Azrael07 le 24/7/2002 à 14:03:49 (#1853735)
Par tonton le grognon le 24/7/2002 à 16:18:26 (#1854540)
http://www.korinth.com/nwn/scripts/npcs/multi_converse.htm
Par Gargantuel le 24/7/2002 à 16:35:42 (#1854653)
AssignCommand(oNPC1, SpeakString("Salut, Comment ca va ?"));
Toutes les 3 secondes une phrase est dite.
AssignCommand(oNPC2, DelayCommand(3.0 , SpeakString("Je vais bien et toi ?")));
AssignCommand(oNPC1, DelayCommand(6.0 , SpeakString("Bah ca roule ... sale temps, hein ?")));
AssignCommand(oNPC2, DelayCommand(9.0 , SpeakString("Ouais, vivement que ca se réchauffe")));
Je peux pas tester car je suis au boulot mais c'est comme cela que je gere mes séquences d'action en général. Ca marche très bien.
Par Ryval le 24/7/2002 à 17:32:44 (#1854973)
Par Einkil le 24/7/2002 à 18:14:35 (#1855210)
Par Metamec le 24/7/2002 à 22:43:52 (#1856478)
C'est beau une communauté aussi soudée, j'en verserais presque une larme... bon j'en rajoute mais en tous cas votre aide m'est vraiment précieuse.
En revanche je suis moi-même incapable de répondre aux deux questions subsidiaires qui ont été posées dans ce post, désolé...
Par Azrael07 le 25/7/2002 à 17:07:09 (#1857891)
C pas compliqué tu reprend le truc de gargantuel (qui est bien mieux que le mien plus haut), mais au lieu de mettre la fct SpeakString tu met ActionPlayAnimation. Voici la syntaxe
ActionSpeakString(ANIMATION_*,fSpeed, fDurationSeconds)
ANIMATION_* c ton animation, tu va dans la liste des constantes, tu liste par "ANIMATION_" et tu as toutes les animations dispo, après, c de l'anglais.
fSpeed je suppose que c la vitesse a laquelle tes NPC vont faire l'animation, le mieux c de laisser la valeur par default(donc tu met rien)
fDurationSeconds c le temp de l'animation en secondes y'a aussi une valeur par default si tu met rien, mais étrangement elle est sur 0 ... peut être que je me plante... :(
Le mieux c de faire des essaits de toutes facon
Au niveaux des accents de Ryval ... Bah t'utilise le notpad ca va plus vite à charger - lol-
Non serieusement je conaissait meme pas ce truc si qlq sait qlc ca m'interesse aussi...
Quand à se que dit Metamec, c vrai que c vraiment un bon forum, actif :)
Meme à 4h du mat ca m'arrive de pas me retrouver tout seul
Et puis, n'hesiter pas à poser des questions, moi sa me fait tjrs plaisir d'y répondre (qd je peux :mdr: )
Par Einkil le 25/7/2002 à 17:51:18 (#1858150)
JOL Archives 1.0.1
@ JOL / JeuxOnLine