Creation Kit : Objectifs
Retour vers Tutoriels |
Tutoriel traduit du wiki officiel: Original
Résumé
Ce tutoriel va vous montrer comment créer des objectifs et des marqueurs de quête pour que le joueur puisse suivre plus facilement ce qu'il doit faire. Nous verrons aussi comment régler certains problèmes qui pourraient gêner le joueur.
Vous allez apprendre:
- Comment créer des alias et objectifs.
- Comment activer/désactiver des objectifs.
- Comment compléter et terminer une quête.
- Comment insérer des étapes supplémentaires.
Objectifs
Quand un joueur accepte une quête dans Skyrim, il peut voir cette quête dans le menu, voir les différents objectifs et savoir où aller pour les accomplir.
La première étape dans la création d'objectifs est de définir des cibles, ce qui veut dire que l'on va devoir pénétrer dans le monde des Alias.
Alias
Un alias sert à définir un rôle que doit jouer un acteur ou un lieu au sein d'une quête.
Chaque alias pointe vers une référence spécifique ou un lieu du jeu. Pour notre recherche, par exemple, ces rôles sont les suivants :
- Bendu
- Le voleur
- L'amulette.
Chacun d'eux doit se définir d'une manière légèrement différente.
Ouvrez votre quête et cette fois cliquez sur l'onglet "Quest Aliases". Pour l'instant il n'y a rien. Faîtes un clic droit sur le tableau et sélectionnez "Alias New reference" pour ouvrir une grande fenêtre, intimidante. Heureusement nous allons pour l'instant ignorer la majeur partie de celle-ci (Cette fonctionnalité sera davantage expliquée plus loin dans le tutoriel consacré aux alias).
Indiquer "Blendu" dans le champ du nom de l'alias , situé dans la partie supérieure,puis cochez la case "Unique Actor" et sélectionnez "GSQBenduOlo" dans le menu déroulant juste à côté de ladite case.
Lorsque vous aurez terminé la fenêtre devrait ressembler à ceci :
Cliquez sur OK pour fermer la fenêtre. Faîtes un clic droit et sélectionner "Alias", "New Reference", "New" pour ouvrir une nouvelle fenêtre et créer un nouvel alias. Mettez "Thief" pour le nom de ce nouvel alias. Parce que notre voleur n'est pas un acteur unique (il a été créé à partir d'un modèle), il faut ici que vous indiquiez le nom de de la référence spécifique ( celle qui apparait quand on clic deux fois sur l'objet acteur dans la fenêtre de rendu, que vous prendrez donc le soin de nommer). Cliquez sur le bouton " Specific Reference", et cliquez sur le Grand " Select Forced Reference" à sa droite.
Nous avons maintenant deux façon de choisir la référence:
1) Sélectionner "ReachwindEyrie01" dans la cellule déroulante, puis "GSQThief" à partir de la liste déroulante.
2) Si vous avez Reachwind Eyrie chargé et visible dans votre fenêtre de rendu, vous pouvez cliquer sur "Select Reference in Render Window" pour activer le pointeur de votre souris sur une cible. Double cliquez sur le grand M vert pour le sélectionner. (Bref on choisi l'option "Select Reference in Render Window" pour pouvoir directement le sélectionner à la souris dans la fenêtre de rendu).
Cliquez enfin sur OK dans cette fenêtre, puis dans la fenêtre alias pour achever la création de notre second alias.
A noté qu'on aurait pu utiliser la même méthode pour sélectionner Bendu, acteur unique, mais pour la gestion de la mémoire il est préférable lorsque c'est possible, d'utiliser l'objet de base, lorsque c'est un actor unique, que de pointer vers une référence spécifique .
Maintenant vient le temps de faire notre troisième alias (l'amulette), mais celui-ci est délicat. Seuls les acteurs peuvent être uniques, donc le type Acteur unique ne fonctionnera pas. Et nous ne pouvons pas pointer vers elle comme une référence spécifique, car il n'existe que dans l'inventaire de notre voleur. Donc, ce que nous allons faire c'est de faire en sorte que l'alias crée lui-même sa propre référence.
Créer un nouvel alias comme précédemment. Donnez-lui le nom "Amulet" et cliquez sur le bouton "Create Reference to Object". De gauche à droite, puis, nous voulons:
- Sélectionnez "GSQAmulet" dans le premier menu déroulant.
- Ignorer le menu Niveau / Difficulté (puisque nous ne faisons pas un acteur, il n'y a aucune notion de difficulté pour l'objet).
- Cliquez sur le bouton "Create In"
- Sélectionnez dans la liste déroulante finale "Thief ".
Comme vous pouvez l'imaginer, cela va créer une nouvelle référence de l'amulette dans l'inventaire du voleur quand la quête commence (au début du jeu). À l'heure actuelle cela donnerait le voleur deux copies de l'amulette, donc ouvrez GSQThief (dans la liste des acteurs) et enlevez l'amulette de son inventaire.
Création des objectifs
Maintenant passer à l'onglet Quest Objectives dans votre fenêtre de quête. C'est là que nous allons effectivement mettre en place les objectifs tels que le joueur les verra.
Chaque objectif a un index (un nombre que nous allons utiliser pour faire référence à celui-ci), le texte qui sera affiché sur le lecteur, et une liste de cibles qui recevront flèches qui leur sont imposées sur la carte du joueur dans le jeu et l'interface.
Pour faire un nouvel objectif, faites un clic droit dans le tableau en haut de la fenêtre et sélectionnez "New" dans le menu. Dans la section "Objective Data" ci-dessous, changer la valeur d'index à "10" et indiquez dans le texte qui sera affiché en "Tuez le voleur."
Enfin, dans le tableau ci-dessous dans les champs "Index" et "Display text", faites un clic droit et sélectionnez "New" pour créer une nouvelle cible de quête. Cela crée une grande et effrayante "NO TARGET" jusqu'à ce que vous sélectionnez quelque chose dans les " Target Alias" déroulants ci-dessous. Dans cette liste, vous verrez tous les alias que nous avons défini précédemment. Choisissez "Thief", et nous pouvons aller de l'avant. (Le "NO TARGET" restera jusqu'à ce que nous cliquions sur autre chose.)
Maintenant, faites un autre objectif:
- Index: 20
- Afficher le texte: récupérer amulette Bendu OLO.
- Alias cibles: Amulet
Et un de plus:
- Index: 30
- Afficher du texte: amulette Retour Bendu OLO.
- Alias cibles: Bendu
Votre fenêtre devrait ressembler à quelque chose comme ça quand nous aurons fini.
Maintenant nous avons nos objectifs réalisés, il suffit de dire au jeu quand les montrer.
Définition des objectifs
Souvenez vous de tous ces SetObjectiveDisplayed() que je vous ai dit d'ignorer? C'est là où ils entrent en jeu. Ce qui va suivre ne fonctionne pas pour d'obscure raisons, ceux là sont plus sûr. Ils feront ce qu'ils sont censé faire. Je suggère de faire les deux pour être sur d'obtenir le résultat escompté.
Retour à l'onglet "Quest Stages". Nous allons ajouter un peu de logique ici dans les progrès de quête.
Cliquez sur l'étape 10 dans la liste de gauche. Afin d'ajouter une logique de script ou une entrée de journal à une étape de quête, il doit y avoir au moins un " "quest stage item", alors faites un clic droit dans le tableau qui dit "Log Entry" en haut et sélectionnez" New ".
Les entrées du journal (Log entry) sont les morceaux de texte qui apparaissent dans le journal du joueur. Seule l'entrée de journal la plus récente sera visible, de sorte que vous pouvez l'utiliser pour mettre à jour l'histoire de la quête quand cela change. Dans le "Log Entry", mettez ce qui suit:
J'ai rencontré Bendu Olo, qui avait une précieuse amulette volée. Il a offert le double de sa valeur en tant que récompense, car il a un attachement sentimental à elle.
Cliquez sur le champ de texte sur la droite (dans l'onglet Papyrus fragment). Cela fera apparaître la fenêtre de vérification orthographique, se plaignant que «Bendu" et "Olo" ne sont pas les mots appropriés. Ignorer les «erreurs» et nous allons ajouter la logique de script.
Dans la fenêtre de script Papyrus (à côté de celle du Log Entry), mettez: SetObjectiveDisplayed(10) . Appuyez sur le bouton "Compiler". Comme vous pouvez le deviner, cela met à jour l'objectif actuel de la quête à 10, et donne au joueur les objectifs de quêtes appropriées. Parce que c'est le premier objectif affiché pour cette quête, il indiquera également au joueur la route à suivre.
Maintenant, sélectionnez l'étape 20 de la liste sur la gauche, et créer un nouveau stade pour cela. Rappelez-vous, l'étape 20 est après que nous ayons tué le voleur, mais avant que nous ayons obtenu l'amulette. Nous avons deux choses à faire ici - indiquer au lecteur que l'objectif précédent (de tuer le voleur) a été accompli, et définir leur prochain objectif.
Nous le faisons avec deux lignes de script:
SetObjectiveCompleted (10)
SetObjectiveDisplayed (20)
Nous pouvons laisser l'entrée de journal ici en blanc, parce que l'histoire globale de la quête n'a pas changé.
Faites la même chose pour la scène 30, sauf que cette c'est que c'est l' objectif 20 qui devrait être terminé et c'est l'objectif 30 qui doit être affiché.
Enfin, à l'étape 40, nous avons juste besoin de remplir l'objectif 30. Vous devriez également vérifier la "Complete Quest" dans la case en dessous du champ de texte Log Entry, de sorte que le "COMPLETED" sera affichée lorsque l'étape 40 est réglé. (Cela permettra également de déplacer la quête pour la partie inactive du journal du joueur, en le gardant un peu rangé.)
La dernière partie du journal doit résumer ce qui s'est passé dans la quête, car c'est maintenant du passé. Par exemple:
J'ai rencontré Bendu Olo et ai été généreusement récompensé pour avoir récupéré son amulette volée.
Creation Kit : Tutoriels | ||
Précédé par | Objectifs | Suivi par |
Scripter | Finitions |