La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 24/04/2024 13:46:38


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
case
Novice
Inscrit le: 24 Jan 2010
Messages: 12
Répondre en citant
Posté le : 30/01/2010 03:46:52 Sujet du message : astuce: quêtes non linéaires

j'entends par la une quête on il n'est pas nécessaire de parler aux pnjs dans un certain ordre

c'est un peu compliqué a expliquer alors j'espère que je vais y arriver Smile

voila je débute dans la création de modules ,et j'ai voulu commence avec une quête simple ou il faut aller voir 2 pnj et revenir parler a celui qui a donner la quête
mais je ne voulais pas forcer a aller les voir dans un ordre précis et je voulais que le journal de quêtes affiche les informations au fur et a mesure que je les avais

voila comment j'ai procédé.

mes 2 npc sont jirka, thibault le donneur de quete est iliana

j'ai donc donné a chacun d'eux une valeur ces valeurs ne sont pas prises au pif elles correspondent a un seul bit actif sur un nombre de 32 bit

jirka =8 (bin : 00000000000000000000000000001000)
thibault =16(bin : 00000000000000000000000000010000)


au départ l'entrée du journal a un ID de 1

donc ensuite pour chacun d'eux je teste l'avancement du journal avec le script "gc_journal_entry" ce qui me donne des indications sur qui a deja parle etc...
ce qui donne ceci

dialogue de jirka

condition : si gc_journal_entry = 1 ( aucun npc n'a parlé ) on m'a pris mon épée >> quete id -->9
condition : si gc_journal_entry = 17 ( thibault a parlé ) on m'a pris mon épée >> quete id -->25

dialogue de thibault

condition : si gc_journal_entry = 1 ( aucun npc n'a parlé ) on m'a pris mon bouclier >> quete id -->17
condition : si gc_journal_entry = 9 ( jirka a parlé ) on m'a pris mon bouclier >> quete id -->25

dialogue de iliana
condition : si gc_journal_entry = 9 (parle a jirka) vous devriez aller parler a thibault
condition : si gc_journal_entry = 17 (parle a thibault ) vous devriez aller parler a jirka
condition : si gc_journal_entry = 25 (les 2 on parlé) Bravo, voici 200 po >> quete id -->50

journal de quete

ID 1 : iliana vous a demandé d'interroger thibault et jirka afin de savoir quel objets on leur a derrobé
ID 9 : iliana vous a demandé d'interroger thibault et jirka afin de savoir quel objets on leur a derrobé, vous avez decouvert qu'on a derrobé l'epee de jirka
ID 16: iliana vous a demandé d'interroger thibault et jirka afin de savoir quel objets on leur a derrobé, vous avez decouvert qu'on a derrobé le bouclier de thibault
ID 25: iliana vous a demandé d'interroger thibault et jirka afin de savoir quel objets on leur a derrobé, vous avez decouvert qu'on a derrobé le bouclier de thibault et l'épée de jirka, retournez voir iliana
ID 50: vous avez decouvert quels objets on été derobés a thibault et jirka, iliana voua recompensé pour cela (fin de quete coché)


il est important de ranger le journal de quête avec les ID du plus petit au plus grand


a noter que mon dialogue de base est beaucoup plus compliqué , j'interroge 3 npc et j'ai plusieur départs possible et plusieurs récompenses possibles suvant le départ...
il est possible d'ajouter plus de pnj il suffis de multiplier par 2 la valeur attribué au précèdent 8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072 ...2147483648
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Claudius33
Grand Sage du Conseil
Inscrit le: 25 Avr 2008
Messages: 547
Répondre en citant
Posté le : 30/01/2010 11:40:40 Sujet du message :

Intéressant mais à plusieurs personnages ça va devenir vite compliqué. De plus il te faudra prévoir aussi le cas où le joueur reviens voir thibault ou jirka après lui avoir déjà parlé.

Personnellement j'utilise plutôt des variables locales attachées aux personnages.

Si tu regardes pour l'enquête dans 16 Cygni (module CY_Canas_Eryn) où l'on doit interroger plusieurs personnages :
Le donneur de quête (nornvedli) possède une variable locale "Inquiry" et les personnages à interviewer une variable locale "Spoken"

Prenons une conversation d'un des personnages à interviewer merenon par exemple, la conversation est "cv_merenon" :
si gc_journal_entry = 50 (enquête en en cours) et gc_local_int("Spoken", 0, "merenon")
... dans la conversation
... ga_local_int("Spoken", 1, "merenon" (ne parlera sur le sujet qu'une fois)
... ga_local_int("Inquiry", +1, "nornvedli") (un personnage de plus a parlé)
... en fin de conversation
...... si gc_local_int("Inquiry", 6, "norvedli") -> tout le monde a été interrogé passe le journal à 60.
...... sinon se contente de terminer la conversation.

Ça guide moins le joueur, mais ça c'est une question d'appréciation.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
case
Novice
Inscrit le: 24 Jan 2010
Messages: 12
Répondre en citant
Posté le : 30/01/2010 19:47:14 Sujet du message :


Claudius33 a écrit :
Intéressant mais à plusieurs personnages ça va devenir vite compliqué. De plus il te faudra prévoir aussi le cas où le joueur reviens voir thibault ou jirka après lui avoir déjà parlé.
c'est deja géré, car on teste au début ou en est le journal de quête pour la quête en cours, or si on a deja parlé a jirka ou a thibaud le journal de quête est passé a une autre étape et le dialogue ne se déclenche donc pas.

je ne connais pas encore le système de variables de nwn2 peut on en mettre plusieurs sur un seul personnage ? j'ai cherché un peu mais c'est un peu confus pour moi de ce coté la.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Claudius33
Grand Sage du Conseil
Inscrit le: 25 Avr 2008
Messages: 547
Répondre en citant
Posté le : 30/01/2010 21:35:07 Sujet du message :

Oui, on peut en mettre plusieurs sur un personnage. c'est dans la propriété variables juste sous la liste des scripts. On peut aussi en attacher à un décor.

S'assurer sauf effet voulu que le porteur de variable est dans une zone sûre ou mis immortel dans une zone à risque. Pour un décor le mettre en intrigue.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Montrer les messages depuis :
Page 1 sur 1 ¤


Vous ne pouvez pas poster de nouveaux sujets 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


Sauter vers:
FAQ | Rechercher | Liste des Membres | Groupes d'utilisateurs | S'enregistrer | Profil | Se connecter pour vérifier ses messages privés | Connexion
Powered by phpBB 2.* [m] © 2001, 2002 phpBB Group
Theme rewritten in beautiful XHTML code by Baldurien.
Thème "La Bibliothèque de Neverwinter" crée par Kruger
Traduction par : phpBB-fr.com
Page generated in 19.486ms