Bienvenue sur JeuxOnLine - MMO, MMORPG et MOBA !
Les sites de JeuxOnLine...
 

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Variable multi conversation ?

Par Kakoo le 15/9/2002 à 19:20:43 (#2162845)

Voila j ai un souci tout d abord une variable est elle gerée que dans une conversation ou dans tout le jeu ?
en fait je fait parler un pc a un npc qui lui dit de trouver npc1 , lors de la rencontre de npc1 je veux incrementer ma variable pour debloquer d autre dialogue avec npc , et la mon cerveau fumme :rasta:

Par Samu Feldryin le 16/9/2002 à 9:43:31 (#2165836)

Salut,

1 -Il suffit lors de la conversation avec NPC, que tu mettes un valeur dans une variable de l'objet PC ( setlocalInt(oPC, "Conversation",1) par exemple, dans l'action taken de la phrase de la conversation.

2 - Pour le NPC1, tu mets un test dans la zone 'Text appear', si la valeur de conversation = 1, cela declenche le text sinon rien.

3 -Tu fais la même chose dans la conversation avec NPC1 ( cf 1-) en mettant la valeur à 2 par exemple.

4- Dans la conversation avec NPC2, tu refais un test dans text appear pour débloquer la conversation.

Et ainsi de suite.

C'est comme ça que je procède.
Les variables affectées à un objet sont gérée dans tout le jeu, en tout cas en l'affectant au PC. Cela fonctionne aussi si tu l'affectes à un NPC et cela meme si le PC change de zone.(area)

J'espère que c'est clair ( sinon demande je te donnerais des précisions.....)

A+

Par Kakoo le 16/9/2002 à 10:05:32 (#2165928)

Merci je vais essayer

Compliquons la question

Par Le Hamster le 16/9/2002 à 10:25:59 (#2166001)

oups, j'ai édité deux fois la même chose :monstre:

Compliquons la question

Par Le Hamster le 16/9/2002 à 10:26:40 (#2166004)

J'essaie de réaliser un module non linéaire, d'où la question suivante :


Un npc : "Ken" (Tag Ken)
Un objet "livre qui parle du kekechoze" (Tag Livre)

L'histoire : Ken retient un monstre invicible prisonnier. Le seul moyen de tuer ce monstre est de posséder le kékechoze.

Conversation 1 : le pc n'a pas le livre et n'a jamais rencontré Ken.

Conversation 2 : le pc a le livre mais n'a jamais renconté Ken (le pc n'a donc pas conscience que Ken retient le monstre prisonnier)

Conversation 3 : le pc a le livre et a déjà rencontré Ken. (le pc peut faire la relation entre le livre et le monstre puisqu'il a déjà parlé à Ken)


Comment peut-on sélectionner l'une ou l'autre de ces conversations en fonction de la situation.

Bon, ben j'espère que je suis clair.

Merci d'avance

Par Samu Feldryin le 16/9/2002 à 12:41:02 (#2166590)

En fait tu fais trois branches de conversation declanché par la variable en fonction de sa valeur ( cf. mon post ci-dessus)
Exemple :
Soit la variable "Ken" qui détermine si le PC a rencontre ou non Ken
et la variable "livre" qui détermine si le PC a le livre ou non

Lorsque le PC rencontre Ken, la variable "ken" doit etre mise à 1.
Quand le PC trouve le livre, la variable "livre" doit etre mise à 1

Si ken =0 et livre = 0: conversation 1 - Apres avoir discuté avec le NPC, tu mets la variable Ken à 1

si ken = 0 et livre = 1 : conversation 2 ( Ken jamais rencontre et livre en possession du joueur)


si ken = 1 et livre = 1 : conversation 3 ( ken rencontré et livre en possession du PC)

Je ne connais pas les détails, et en fonction de la manière dont se déroule la quete, d'autre option peuvent être choisi et la maniere de gerer les variables dépent aussi de cela. Par exemple il y a une option que tu n'as pas décrite, c'est celle ou le joueur n'a pas le livre et a deja rencontré Ken ce qui donnerait :

Si ken=1 et livre =0 : Conversation 4.

En jouant avec les branchement ( link) dans l'outil de creation des conversation, tu peux facilement gerer tout les cas de figure, sans avoir a ecrire plusieur script de conversation.

Voila, j'espère que cela t'auras aidé.

A++

angoisse soudaine

Par Le Hamster le 16/9/2002 à 17:20:20 (#2168228)

Bon, je comprends le principe dans la théorie, j'ai plongé dans la pratique, ça donne rien mais c'est pas grave, j'ya arriverai. Cependant une question me traverse le ciboulot :

Je réalise un module destiné à être joué en multijoueurs. Cette histoire de variables est-elle valable perso par perso ou pour un groupe ?

Euh, je veux dire peut-on éviter que ce soit toujours le même joueur qui parle aux npc pour intégrer les variables ?

Bon, je sais pas si je suis très clair.


Bises à toutes et à tous

Par Samu Feldryin le 16/9/2002 à 17:43:04 (#2168384)

Bonne question, personnellement j'ai affecté toutes les variables au PC ( Via GetPC.......), donc chacun des participants aura sa propre progression et un jeu de variable qui lui est propre, en ce qui concerne les discutions.

Par contre, ces mêmes variables déclenche également des evenements extérieurs aux conversations, donc si deux joueurs sont sur la meme quêtes ca risque d'être une peu le bordel. :D
Je n'ai pas encore testé mon module On-line avec des joueurs dedans, donc je ne peux pas dire....


Pour eviter que ce soit toujours le meme joueur qui parle aux NPC, il faudrait je pense :
1 - soit affecter les variables à un object Placeable (ou au NPC lui meme ?) et dans ce cas tous les joueurs ont accés aux conversations dès qu'un joueurs a discutée avec le NPC. ( Pas testé)
2 - Soit au groupe et là, je ne sais pas si c'est possible, je n'ai pas vu de commande spécifique aux party pour ce genre de probleme.

Personnellement je préfere la solution d'affecté la variable au PC qui parle (speaker) car cvela permet à chaque joueur de voir la debut de la conversation, plutot que de commencer là où le PJ précédent s'est arreté, comme cela doit se passer si on affecte la variable à un placeable( Solution 1)

Voila voila, si quelqu'un d'autre peut apporter ses lumieres....

Par Kakoo le 16/9/2002 à 21:52:30 (#2170245)

Je teste seulement mais ça marche d'enfer la maj de la variable dans 'action taken' merci Samu , en fait mon pb venait de la non maj de ma variable trop merci merci :merci: :merci: :merci:

JOL Archives 1.0.1
@ JOL / JeuxOnLine