Non résolu Un système de Quêtes
-
Bonjour.
Je viens vers vous pour vous poser ma problématique concernant un système de quêtes.
Et donc quelques questions.Je me suis basé sur cet article: https://hackernoon.com/building-a-quest-system-cf7f1d3da132
Afin de réfléchir à la mécanique du système.Il parait évident que je devrais disposer d’une liste déjà écrites de quêtes, ou d’un moyen In-Game pour les écrirent.
Définir les objectifs, récompenses, etc.Seulement, je n’arrive pas totalement à voir comment je peux faire interagir mes quêtes, avec le joueur.
(J’ai deux formats de disponible pour les quêtes, JSON et NBT.)Voici un exemple:
{ "unlocalizedName": "quest.a_stranger_come.name", "syntaxes": [ { "#NPC_THIS": "§9§n§oJean-Pistache de la Gabardelière§r" }, { "#POS_NAME": "city.misthollow.name" } ], "story": "Oh, bonjour §7§n§l#PLAYER_NAME§r !\nVous m'avez l'air perdu, qu'êtes vous venu donc faire par ici ?\nOh, mais, j'en perds les bonnes manières, je me présente, #NPC_THIS pour vous servir.\nJe suis bûcheron pour la petite ville de §2§n#POS_NAME§r.\nM'enfin. Vous n'avez pas le temps pour discuter je présume.\nSi vous vous êtes égaré, allez donc parler à §9§n§o8c0a11df-741a-46f8-b2b9-3a19169ac0df§r, vous le trouverez sur la place principale de §2§n#POS_NAME§r\nPassez une excellente journée !", "goal": { "killGoal": [ { "uuid" : "", "count" : 10 } ], "talkToGoal": { "uuid": "", "position": "" }, "brinkBackGoal": [ { "count": 10, "itemStack": null } ] }, "rewards": { "copperNuggets": 0, "silverNuggets": 1, "goldenNuggets": 0, "items": [ { "itemStack" : "", "count" : 0 } ] } }
Dois-je copier l’intégralité de la quête dans une capability afin de pouvoir mettre à jour les informations ?
Car les fichiers de quêtes ne sont qu’une base et ne doivent, je suppose, pas être modifié ?(J’espère que vous comprenez ce que je veux dire >.<)
Voilà où je coince dans ma réflexion d’un tel système.
Si vous avez déjà travaillé sur un tel système, je suis preneur de toutes les informations possible.
Merci à vous. -
Bonsoir Ama,
En effet il vaut mieux que ces fichiers ne servent que de base, décrivant le comportement de la quête et les autres données.
Ensuite pour les quêtes en cours, il faut avoir un copie des données pertinente (genre l’état de l’avancement dans les goals, mais la récompense c’est inutile de dupliquer cette donnée, de même pour le nom de la quête).
-
Je vois, donc si je comprends bien, dans des capabilities, il suffira que je stocke l’avancement.
Ainsi qu’un ajout à une liste d’entités tués par exemple si la quête le demande (Allez tuer 12 moutons)Je vois un peu mieux la démarche.
Voilà qui ne va pas être facile que de faire ce système de progression…
Une fois de plus je ne vois pas bien comment faire…