Principe de fonctionnement

Les quêtes sont définies dans une DataTable utilisant la structure du plugin. Chaque ligne correspond à une quête et contient sa configuration : objectifs, conditions de déblocage, récompenses et automatisations. Au cours du jeu, le sous-système de quêtes lit cette DataTable et conserve l'état de chaque quête. Des fonctions Blueprint permettent de consulter cet état et de le modifier : une quête peut ainsi être mise en cours, terminée, abandonnée, échouée ou remise à l'état non obtenue selon la logique de votre projet.

Le composant ADS Quest Participant Component est à placer sur l'owner qui participe à une quête. Pour un donneur de quête, vous renseignez dans QuestsToGive les quêtes que son owner peut proposer. Pour un objectif de quête, vous renseignez son TargetType et ses TargetIDs afin d'indiquer quel type d'objectif représente son owner et à quels objectifs il correspond. Un même actor peut être à la fois donneur et objectif. Le composant interroge alors le sous-système : il affiche un indicateur de donneur lorsqu'une de ses quêtes peut être obtenue, ou un indicateur d'objectif lorsqu'il correspond à l'objectif actif d'une quête en cours.

Pendant la partie, le système envoie automatiquement des dispatchers pour que vos Blueprints puissent réagir sans surveiller manuellement les données :

Ces dispatchers servent par exemple à actualiser un journal de quêtes, une interface de suivi, un dialogue ou les marqueurs affichés dans le monde.