Jump to content
  • 0

NPC de quêtes


XFallSeane

Question

Bonjour, 

 

Donc, là c'est une question assez sérieuse, pour mon pnj de quête j'ai mis un évent avec  ceci dedans :

 

Options => Que veut tu faire ?

   Option #1 : Magasin

           => Ouvrir magasin x

   Option #2 :  Banque

           => Ouvrir banque

   Option #3 :  Quêtes

Si joueur est inférieur ou égal au niveau 5

           => Option#3.1 : Nv.1 à 5

Si joueur lvl  est inférieur au niveau 2

                   Option #3.1.1 => Nv1 : Nom de quêtes

                                         => Si lvl 1 la quête  démarre

Si joueur lvl  est plus grand ou égal à 5

           => Option#3.2 : Nv.5 à 10

                   Option => Nv5 : Nom de quêtes

                                        => Si lvl 5 la quête  démarre.

 

Est-ce comme ça qu'il faut procéder ? Avons nous la possibilité d'afficher par exemple une autre option (quête remplacante)quand la première quête de l'option 1 est terminer, ou supprimer cette option ?

Si quête 1 terminer, remplacer option 3.1.1 par x ou supprimer option option 3.1.1 ?

J'avoue que niveau quête ça va être dur à mettre en place si il faut faire un évent pareil à chaque fois non ?

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 1

Bah pour un même PNJ, conditionnelle imbriqué , tu positionnes la quete que le joueur aura en dernier comme première condition et tu déroules de cette manière (exemple pour 3 quetes)

 

Si (quete 3 faite) alors 

      -"plus de quetes a proposer"

Sinon 

        Si (quete 2 faite) alors

                -Proposer quete 3

       Sinon 

               Si (quete 1 faite)

                        -Proposer quete 2

                Sinon 

                         -Proposer quete 1 

                Fin si

         Fin si

Fin si

 

 

Pour ton algorithme je comprends mal l'indentation , le troisième Si c'est le Sinon du premier Si ? ( D'ailleurs dans ton algorithme si le joueur est level 5 les conditions se recoupent)

Ensuite je pense que utiliser les choix pour que le joueur navigue ça alourdit le code et ça fait "perdre" du temps au joueur pour un truc pas forcément utile. Plutot que de le laisser cliquer sur un truc qui lui sera interdit (genre t'auras toujours un joueur qui sera lvl 15, et qui, si il voit "lvl 5 a 10", va quand même essayer de cliquer), bah laisse l'algorithme ne pas lui montrer, ça supprime des étapes et les choses se font plus rapidement et de manière invisible. 

 

Je pense que la manière la plus propre de faire, c'est des suites comme j'ai montré plus haut qui vont être totalement invisibles pour le joueur, lui il a juste un npc au début qui demande "Tu veux une quete?" "Oui/Non" et après l'algo traque où il est rendu dans l'arbre et ressort la bonne quete, sans qu'il ait eu à cliquer sur différents choix, car au final si le joueur parle à ton NPC c'est qu'il veut bien une quête et c'est désagréable d'avoir à tout le temps dire à l'algorithme où on veut aller.

 

La suite de conditionnelle que j'ai donné est bien évidemment incomplète, il  faudrait  pallier l'arbre si c'est ton désir, en vérifiant avant chaque "Proposer Quete" un level requis pour ajouter des conditions autres que le fait d'avoir fini la quete précédente si tu veux freiner la progression.

En revanche, dans cet algorithme tu es obligé d'avoir fait toutes les quetes de l'arbre si tu veux atteindre la dernière, mais ça me parait logique si c'est le même  PNJ non?

 

Enfin après je pense que tu as la logique du truc, mais je voulais juste souligner que proposer des choix à chaque fois ,alors que l'algorithme pourrait vérifier de lui même directement sans intéractions HM, c'est une méthode qui va alourdir le code (qui est déjà assez lourd si ta suite de quête est longue). Et en plus ça te force à faire une IHM différente (un nouveau bloc Choix en gros) à chaque fois que tu veux modifier un truc. Car pour répondre à ta question, non il n'est pas possible de modifier directement un bloc choix selon une condition, tu dois d'abord mettre la condition et mettre un bloc choix différent dans les deux branches.

Donc c'est une solution hyper lourde à long terme :)

 

 

 

Link to comment
Share on other sites

  • 0

je ne peux pas vérifier pour l'instant, cependant avec le système copier/ coller sur intersect sa peu etre plus rapide, tu auras juste a remodifier l'event pour mettre différentes quète (j'ai pas encore essayer de copier / coller les event)

Link to comment
Share on other sites

  • 0

Le truc cool avec Intersect c'est que quand tu utilises "Start Quest" (proposer quete), il te crée directement une conditionnelle au cas où ça marche pas, c'est à dire si le joueur refuse ou si il possède déja la quete!

Donc t'as juste a mettre un message intermédiaire(du genre  "Alors ça avance ?") si le joueur reparle au pnj avant d'avoir fini la quete, car ce qu'il se passera c'est que l'algorithme va essayer de lui redonner la quete, va échouer et va donner le message !
Et en plus si le joueur a abandonné l'algorithme va pouvoir lui refiler la quete! 

 

Et après pour vérifier si la quete est terminé, c'est dans le "Conditionnal Branch" , il est très complet, et tu as une option "Quest Completed" .

Tu peux meme faire en sorte que la quete ne se valide pas automatiquement en créant une tache finale géré par un event, donc la seule manière de la résoudre est de retourner voir le pnj qui si tu as la quete en cours et que tu es à la dernière étape, va te valider la quete (et si tu veux optimiser à fond, tu fais un Go To, sur le début de l'algorithme et bim il te refait une traque dans l'arbre et te propose la quete suivante si possible! ;) ) 

Link to comment
Share on other sites

  • 0

Merci pour toute vos réponse, ça devrait le faire maintenant.

 

Pour les quêtes j'avais l'intention de faire une quête tutoriel, (qui ne peut pas se faire actuellement) genre :

 

Objectif 1 :

Apprendre x compétence

 

Objectif 2 :

Equiper x équipements

 

Objectif 3 : 

Tuer x monstre

 

Je n'ai rien trouver pour vérifier l'apprentissage ou qu'un objet est équiper

Link to comment
Share on other sites

  • 0

Hmm pour le sort si, tu donnes un parchemin d'apprentissage du sort "Flammèche", ensuite ton pnj fait une branche conditionnelle "Know Spell Flammèche" et si c'est le cas, le joueur à bien appris. Et tu lui valides sa task

 

Ensuite pour les items, tu peux faire un endroit avec des mannequins qui portent des armures ou un coffre (si t'as pas les mannequins dans tes tiles) et le joueur doit chercher les items dans le coffre, et ton NPC a une branche conditionnelle "Has item Armure de débutant", donc le joueur doit aller chercher lui même son armure pour continuer la quete, et ensuite quand il revient tu lui explique comment l'équiper . Et tu lui valide sa task

 

Et après le truc des monstres c'est assez facile t'as une option intégré dans les tasks

Link to comment
Share on other sites

  • 0

J'ai déjà essayer un série d'évent avec les sorts mais ça ne fonctionnais jamais, je vais réessayer, je viens de réussir la construction de deux quêtes avec event par pnj selon la quête ^^ !

 

ça serait plus simple si on pouvais assigner une page à tel quete x) !

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...