Différences entre les versions de « Creation Kit : Objectifs »

De Wiwiki
Aller à la navigation Aller à la recherche
(Page créée avec « 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 notr... »)
 
Ligne 1 : Ligne 1 :
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, et l'amulette. Chacun d'eux doit se définir d'une manière légèrement différente
[[Catégorie:Creation Kit : Tutoriels|Objectifs]]
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)
[[Catégorie:Creation Kit : Tutoriels de quêtes|Objectifs]]
[[Catégorie:Creation Kit : Quêtes|Objectifs]]
 
{{Lien retour | page=[[Creation Kit : Tutoriels | Tutoriels]]}}
 
Tutoriel traduit du wiki officiel: [http://www.creationkit.com/Bethesda_Tutorial_Quest_Objectives 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.  
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 :
Lorsque vous aurez terminé la fenêtre devrait ressembler à ceci :
[[Image:FilledFirstAliasWindow.png|600px]]
   
   
  Si vous ne trouvez pas "GSQBenduOlo" dans la liste,  allez sélectionner  cet actor pour vérifier ses propriété d'objet et assurez vous que la case "Unique" a bien été cochée. La liste des acteurs uniques montrera les seuls acteurs avec la case "Unique" cochée.  
  Si vous ne trouvez pas "GSQBenduOlo" dans la liste,  allez sélectionner  cet "actor" pour vérifier ses propriétés d'objet et assurez-vous que la case "Unique" a bien été cochée. La liste des acteurs uniques montrera les seuls acteurs avec la case "Unique" cochée.  
  Sur certains ordinateurs, la fenêtre de "Référence Alias" est si grande que vous ne serez pas en mesure d'atteindre le fond de cellei-ci et de cliquer sur le bouton "OK". Pour contourner ce problème, vous pouvez cliquer à nouveau dans la zone de texte "Nom Alias" quand vous avez achevé de faire toute l'édition et appuyez sur la touche ENTRER de votre clavier. Cela permettra d'économiser le travail effectué dans la fenêtre.  
 
Cliquez sur OK pour fermer la fenêtre. Faîtes un clic droit et sélectionner "Alias", New Référence, New pour ouvrir une nouvelle fenêtre pour 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:
  Sur certains ordinateurs, la fenêtre de "Référence Alias" est si grande que vous ne serez pas en mesure d'atteindre le fond de celle-ci et de cliquer sur le bouton "OK". Pour contourner ce problème, vous pouvez cliquer à nouveau dans la zone de texte "Nom Alias" quand vous avez achevé de faire toute l'édition et appuyez sur la touche ENTRER de votre clavier. Cela permettra d'économiser le travail effectué dans la fenêtre.  
 
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.
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).
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 fenetre, puis dans la fenêtre alias pour achever la création de notre second alias.
Cliquez enfin sur OK dans cette fenetre, puis dans la fenêtre alias pour achever la création de notre second alias.
  A notre 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 .
 
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.  
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édement. Donnez-lui le nom "Amulet" et cliquez sur le bouton "Create Reference to Object". De gauche à droite, puis, nous voulons:  
Créer un nouvel alias comme précédement. 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).  
* Sélectionnez "GSQAmulet" dans le premier menu déroulant.  
· Cliquez sur le bouton "Create In"
* Ignorer le menu Niveau / Difficulté (puisque nous ne faisons pas un acteur, il n'y a aucune notion de difficulté pour l'objet).  
· Sélectionnez dans la liste déroulante finale "Thief ".  
* Cliquez sur le bouton "Create In"
* Sélectionnez dans la liste déroulante finale "Thief ".  
   
   
[[Image:Amuletalias.png]]
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.  
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  
 
 
=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.  
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.  
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."  
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."  
En général, nous essayons de faire correspondre le numéro d'index d'objectif avec celui des étapes où vous souhaitez voir cet objectif. Pour les quêtes les plus complexes, les choses peuvent devenir très compliquées, mais c'est également vrai pour les quêtes simples, comme nous le verrons, cela rend les choses beaucoup plus facile à suivre.  
 
::{|style="border-collapse: separate; border-spacing: 0; border-width: 1px; border-style: solid; border-color: #000; padding: 0"
|-
|style="border-style: solid; border-width: 0"|[[Image:CKProtip.jpg|48px]]
|style="border-style: solid; border-width: 0"|En général, nous essayons de faire correspondre le numéro d'index d'objectif avec celui des étapes où vous souhaitez voir cet objectif. Pour les quêtes les plus complexes, les choses peuvent devenir très compliquées, mais c'est également vrai pour les quêtes simples, comme nous le verrons, cela rend les choses beaucoup plus facile à suivre.|}
 
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.)  
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:  
Maintenant, faites un autre objectif:  
· Index: 20  
* Index: 20  
· Afficher le texte: récupérer amulette Bendu OLO.  
* Afficher le texte: récupérer amulette Bendu OLO.  
· Alias cibles: Amulet  
* Alias cibles: Amulet  
 
Et un de plus:  
Et un de plus:  
· Index: 30  
* Index: 30  
· Afficher du texte: amulette Retour Bendu OLO.  
* Afficher du texte: amulette Retour Bendu OLO.  
· Alias cibles: Bendu  
* Alias cibles: Bendu  
 
Votre fenêtre devrait ressembler à quelque chose comme ça quand nous aurons fini.  
Votre fenêtre devrait ressembler à quelque chose comme ça quand nous aurons fini.  
   
   
[[Image:ObjectiveWindowFilled.png|600px]]
Maintenant nous avons nos objectifs réalisés, il suffit de dire au jeu quand les montrer.  
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() 's queje 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é.
 
=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.  
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 ".  
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:  
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.  
 
''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.  
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.
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.
   
   
Vous pourriez vous demander pourquoi l'étape supplémentaire de la création du "point étape" est nécessaire - en plus de quêtes complexes, vous pouvez avoir des éléments à plusieurs étages, tout ou partie des conditions qui utilisent pour contrôler si oui ou non ils se produisent (par exemple, pour permettre à la variante entrées de journal en fonction d'un choix du joueur avait fait plus tôt dans la quête). Dans ce cas, notre quête est assez simple à besoin d'un seul élément de la scène à chaque étape.  
::{|style="border-collapse: separate; border-spacing: 0; border-width: 1px; border-style: solid; border-color: #000; padding: 0"
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)
|style="border-style: solid; border-width: 0"|[[Image:CKProtip.jpg|48px]]
SetObjectiveDisplayed (20)  
|style="border-style: solid; border-width: 0"|Vous pourriez vous demander pourquoi l'étape supplémentaire de la création du "point étape" est nécessaire - en plus de quêtes complexes, vous pouvez avoir des éléments à plusieurs étages, tout ou partie des conditions qui utilisent pour contrôler si oui ou non ils se produisent (par exemple, pour permettre à la variante entrées de journal en fonction d'un choix du joueur avait fait plus tôt dans la quête). Dans ce cas, notre quête est assez simple à besoin d'un seul élément de la scène à chaque étape.|}
Notez que "Completed" et "Displayed" sont deux drapeaux différents - vous pouvez remplir un objectif que le joueur n'a jamais vu.  
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)  
 
::{|style="border-collapse: separate; border-spacing: 0; border-width: 1px; border-style: solid; border-color: #000; padding: 0"
|-
|style="border-style: solid; border-width: 0"|[[Image:CKProtip.jpg|48px]]
|style="border-style: solid; border-width: 0"|Notez que "Completed" et "Displayed" sont deux drapeaux différents - vous pouvez remplir un objectif que le joueur n'a jamais vu. |}
 
Nous pouvons laisser l'entrée de journal ici en blanc, parce que l'histoire globale de la quête n'a pas changé.  
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é.  
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é.)  
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:  
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.  
 
L'essayer
''J'ai rencontré Bendu Olo et ai été généreusement récompensé pour avoir récupéré son amulette volée.''
 
 
{{Navigation|tag=Creation Kit|parent=Tutoriels|actuel=Objectifs|précédent=Scripter|suivant=Finitions }}

Version du 2 août 2013 à 11:29



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 :

FilledFirstAliasWindow.png

	Si vous ne trouvez pas "GSQBenduOlo" dans la liste,  allez sélectionner  cet "actor" pour vérifier ses propriétés d'objet et assurez-vous que la case "Unique" a bien été cochée. La liste des acteurs uniques montrera les seuls acteurs avec la case "Unique" cochée. 
	Sur certains ordinateurs, la fenêtre de "Référence Alias" est si grande que vous ne serez pas en mesure d'atteindre le fond de celle-ci et de cliquer sur le bouton "OK". Pour contourner ce problème, vous pouvez cliquer à nouveau dans la zone de texte "Nom Alias" quand vous avez achevé de faire toute l'édition et appuyez sur la touche ENTRER de votre clavier. Cela permettra d'économiser le travail effectué dans la fenêtre. 

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 fenetre, 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édement. 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 ".

Fichier:Amuletalias.png

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."

CKProtip.jpg En général, nous essayons de faire correspondre le numéro d'index d'objectif avec celui des étapes où vous souhaitez voir cet objectif. Pour les quêtes les plus complexes, les choses peuvent devenir très compliquées, mais c'est également vrai pour les quêtes simples, comme nous le verrons, cela rend les choses beaucoup plus facile à suivre.|}

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.

ObjectiveWindowFilled.png

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.

CKProtip.jpg Vous pourriez vous demander pourquoi l'étape supplémentaire de la création du "point étape" est nécessaire - en plus de quêtes complexes, vous pouvez avoir des éléments à plusieurs étages, tout ou partie des conditions qui utilisent pour contrôler si oui ou non ils se produisent (par exemple, pour permettre à la variante entrées de journal en fonction d'un choix du joueur avait fait plus tôt dans la quête). Dans ce cas, notre quête est assez simple à besoin d'un seul élément de la scène à chaque étape.|}

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)

CKProtip.jpg Notez que "Completed" et "Displayed" sont deux drapeaux différents - vous pouvez remplir un objectif que le joueur n'a jamais vu. |}

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.