Utilisation détaillée

Subsystem

ADS Quest Subsystem est le point d'entrée principal. Il centralise la gestion des quêtes au runtime : états, suivi, progression des objectifs, récompenses et verrous.

Accéder au Subsystem

Dans un Blueprint, utilisez Get ADS Quest Subsystem.

Fonction Get ADS Quest Subsystem

Fonctions

FonctionDescription
SetCurrentDTDéfinit une DataTable à utiliser. Par défaut, le Subsystem utilise DT_Quests : si cette table convient, il est inutile d'appeler cette fonction.
GetCurrentDTRetourne la DataTable active.
ResetCurrentDTToDefaultRestaure DT_Quests.
DoesQuestExistVérifie qu'une quête existe.
GetAllQuestRowsRetourne les identifiants des quêtes.
GetQuestRetourne les données d'une quête.
GetStateRetourne l'état runtime d'une quête.
SetStateModifie l'état d'une quête.
IsObtainableIndique si une quête peut être obtenue.
IsQuestReadyToCompleteIndique si tous les objectifs sont atteints.
GetQuestsToCompleteRetourne les quêtes à valider manuellement.
ResolveCompletionConflictRésout un conflit de terminaison.
TrackAjoute une quête au suivi.
UntrackRetire une quête du suivi.
ClearTrackedVide le suivi.
GetTrackedRetourne les quêtes suivies.
GetActiveObjectiveInTrackRetourne les objectifs actifs pour l'interface.
LockVerrouille des quêtes.
UnlockDéverrouille des quêtes.
IsLockedIndique si une quête est verrouillée.
GetLockedQuestsRetourne les quêtes verrouillées.
GetCurrentObjectiveViewsRetourne les objectifs actifs des quêtes en cours.
GetTrackedObjectiveViewsRetourne les objectifs actifs des quêtes suivies.
NotifyObjectiveReachedSignale manuellement un objectif atteint.
GetRewardsRetourne les récompenses définies.
GetAvailableRewardsRetourne les récompenses disponibles.
IsRewardReadyIndique si les récompenses sont prêtes.
ClearRewardReadyRetire les récompenses prêtes.
GetStateRegistryRetourne les états à sauvegarder.
SetStateRegistryRestaure les états sauvegardés.
ClearStateRegistryEfface les états sauvegardés.
GetReachedObjectiveStepsRegistryRetourne les paliers atteints.
SetReachedObjectiveStepsRegistryRestaure les paliers atteints.
ClearReachedObjectiveStepsRegistryEfface les paliers atteints.
GetReachedObjectiveElementsRegistryRetourne les objectifs atteints.
SetReachedObjectiveElementsRegistryRestaure les objectifs atteints.
ClearReachedObjectiveElementsRegistryEfface les objectifs atteints.
GetRewardReadyRegistryRetourne les récompenses prêtes.
SetRewardReadyRegistryRestaure les récompenses prêtes.
ClearRewardReadyRegistryEfface les récompenses prêtes.
GetRewardGrantCountRegistryRetourne les compteurs de récompenses.
SetRewardGrantCountRegistryRestaure les compteurs de récompenses.
ClearRewardGrantCountRegistryEfface les compteurs de récompenses.

Dispatchers

DispatcherAppelé lorsque
OnStateChangedL'état d'une quête change.
OnTrackedUne quête est ajoutée au suivi.
OnUntrackedUne quête est retirée du suivi.
OnTrackedClearLe suivi est vidé.
OnObjectiveUpdatedLa progression d'un objectif est mise à jour.
OnObjectiveStepReachedUn palier est atteint.
OnAllObjectivesReachedTous les paliers sont atteints.
OnQuestsCompletedUne ou plusieurs quêtes sont terminées.
OnLockedDes quêtes sont verrouillées.
OnUnlockedDes quêtes sont déverrouillées.
OnCompletionConflictUn conflit de terminaison doit être résolu.

Actor Component

Ajoutez ADS Quest Participant Component sur l'actor qui donne une quête ou représente un objectif. Un même actor peut remplir les deux rôles.

Paramètres

Paramètres du ADS Quest Participant Component

ParamètreDescription
TargetIDsIdentifiants logiques auxquels l'owner correspond en tant qu'objectif de quête.
TargetTypeType d'objectif de quête représenté par l'owner.
QuestsToGiveQuêtes que l'owner peut proposer.

Fonctions

FonctionDescription
GetQuestsToGiveRetourne les quêtes réellement disponibles.
GetInObjectiveQuestsRetourne les quêtes dont l'owner est l'objectif actif.
DoesMatchObjectiveVérifie si l'owner correspond à un objectif.
UpdateMarkerRéévalue l'indicateur.
GetMarkerWidgetComponentRetourne le composant de widget.
GetMarkerWidgetRetourne le widget de marqueur.

Les paramètres de marqueur règlent son décalage, son espace, sa taille, son orientation et sa distance maximale de visibilité.

Logique

Créez un Blueprint enfant de ADS Quest Logic Base lorsque le système doit interroger ou modifier des données propres à votre projet.

Fonction ou événementDescription
GetObjectiveProgressRetourne la progression réelle d'un objectif.
ConsumeObjectiveRequirementsConsomme les ressources requises à la fin d'une quête.
OnStateChangedRéagit à un changement d'état.
OnObjectiveUpdatedRéagit à une mise à jour de progression.
OnObjectiveStepReachedRéagit lorsqu'un palier est atteint.
OnAllObjectivesReachedRéagit lorsque tous les paliers sont atteints.
OnQuestsCompletedRéagit à la terminaison de quêtes.
OnTrackedRéagit à l'ajout au suivi.
OnUntrackedRéagit au retrait du suivi.
OnLockedRéagit au verrouillage.
OnUnlockedRéagit au déverrouillage.
OnCompletionConflictRéagit à un conflit de terminaison.

Définition des quêtes

Data Table

La DataTable utilise la structure S_Quest. Chaque ligne représente une quête et son RowName est son identifiant technique. Elle contient notamment le texte affiché, le type, la catégorie, les conditions de déblocage, les paliers d'objectifs, les récompenses et les automatisations.

Édition directe de la DataTable

Manager

Le Quest Manager est l'outil recommandé pour créer, consulter et modifier les quêtes. Dans Unreal Engine, ouvrez le menu Window, puis ADS Framework > Open ADS Quest Manager. Vous pouvez aussi faire un clic droit dans le Content Browser, puis choisir Open ADS Quest Manager dans la section ADS Framework ; la capture ci-dessous illustre cette méthode.

Ouverture du ADS Quest Manager

Le manager permet de choisir la DataTable à éditer, de créer ou dupliquer une quête, de filtrer les quêtes et de configurer les informations générales, les paliers d'objectifs, les récompenses et les automatisations.

ADS Quest Manager