Différences entre les versions de « GECK : 10 - Dialogues et quêtes »
(Page créée avec « Dès leur création, les personnages non joueurs ont des dialogues génériques (avec le joueur : bienvenue -greting- et au revoir -goodbye), ainsi que des dialogues de déte... ») |
m (10- Dialogues et quêtes: déplacé vers GECK : 10 - Dialogues et quêtes) |
||
(7 versions intermédiaires par 3 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
[[Catégorie:GECK : Tutoriaux|10 - Dialogues et quêtes]] | |||
[[Catégorie:GECK : Tutoriel pas à pas|10 - Dialogues et quêtes]] | |||
<div style="text-align: center; font-size: 1.2em; width: 100%; background: transparent; background-color: #eeeeee; border: 1px solid #888888;"> | |||
[[GECK : 9 - Créatures et Personnages| Page Précédente]] :: | |||
[[GECK : Tutoriel pas à pas| Page Principale]] :: | |||
[[GECK : 11 - Quête principale| Page Suivante]] | |||
</div> | |||
Dès leur création, les personnages non joueurs ont des dialogues génériques (avec le joueur : bienvenue -greting- et au revoir -goodbye), ainsi que des dialogues de détection du joueur, de combat, de conversations entre NPC. | Dès leur création, les personnages non joueurs ont des dialogues génériques (avec le joueur : bienvenue -greting- et au revoir -goodbye), ainsi que des dialogues de détection du joueur, de combat, de conversations entre NPC. | ||
Ligne 7 : | Ligne 16 : | ||
Ce sera le dialogue de "bienvenue" du Chef Stark, qui n'est pas très amical. | Ce sera le dialogue de "bienvenue" du Chef Stark, qui n'est pas très amical. | ||
Ligne 13 : | Ligne 23 : | ||
La phrase de bienvenue est celle qu'un NPC dit dès l'ouverture du dialogue, avant la liste de ses topics. Tous ces dialogues sont regroupés dans le topic GREETING, qu'il faudra ajouter à la liste des topics de votre quête. | La phrase de bienvenue est celle qu'un NPC dit dès l'ouverture du dialogue, avant la liste de ses topics. Tous ces dialogues sont regroupés dans le topic GREETING, qu'il faudra ajouter à la liste des topics de votre quête. | ||
Dans la fenêtre Object, allez dans Actor Data/Quest et retrouvez la quête MONDialoguePalePass qui a été créée avec les dialogues du marchand, dans le chapitre "Creatures et Personnages". Cliquez sur l'onglet Topics. Cliquez-droit dans la liste des topics à gauche, et cherchez GREETING dans la liste qui vient d'apparaître. Une fois le topic greeting | Dans la fenêtre Object, allez dans Actor Data/Quest et retrouvez la quête MONDialoguePalePass qui a été créée avec les dialogues du marchand, dans le chapitre "Creatures et Personnages". Cliquez sur l'onglet Topics. Cliquez-droit dans la liste des topics à gauche, et cherchez GREETING dans la liste qui vient d'apparaître. Une fois le topic greeting sélectionné, faites un clic droit dans la liste d'infos à droite de la fenêtre. | ||
Une fenêtre New response s'est ouverte : tapez le texte "Je ne sais pas ce que vous faites ici mais vous êtes à Pale Pass et c'est pas un village qui respire la joie. Faites pas de vagues et tout ira bien." dans le champ Response Text, et appuyez sur la touche entrée. Dans le menu Emotion Type, | Une fenêtre New response s'est ouverte : tapez le texte "Je ne sais pas ce que vous faites ici mais vous êtes à Pale Pass et c'est pas un village qui respire la joie. Faites pas de vagues et tout ira bien." dans le champ Response Text, et appuyez sur la touche entrée. Dans le menu Emotion Type, sélectionnez Disgust. Fermez la fenêtre de correction qui apparait avec Cancel. Cliquez à nouveau sur votre nouvelle info dans la liste des infos pour l'activer, puis Cochez Say Once. | ||
Il nous reste à ajouter comme condition que le NPC qui dise l'info soit Don Stark. Faites un clic-droit dans la liste vide de conditions, et | Il nous reste à ajouter comme condition que le NPC qui dise l'info soit Don Stark. Faites un clic-droit dans la liste vide de conditions, et sélectionnez new. Comme fonction, sélectionnez GetIsID, puis cliquez sur INVALID pour choisir MONPalePassChefDonStark, puis vérifiez que le signe Comparison soit ==, et que Value soit à 1. Ce qui nous donne comme condition : GetIsID MONPalePassCgefDonStark == 1. Validez avec OK. | ||
Ligne 29 : | Ligne 39 : | ||
Nous allons donner au joueur la possibilité de poser la question "Qui êtes vous ?" au Chef Don Stark. En réponse, celui-ci dira au joueur comment il s'appelle : "Je suis Don Stark. Comme qui dirait, le chef ici." | Nous allons donner au joueur la possibilité de poser la question "Qui êtes vous ?" au Chef Don Stark. En réponse, celui-ci dira au joueur comment il s'appelle : "Je suis Don Stark. Comme qui dirait, le chef ici." | ||
[[Image:GECKWiki_Quete05.jpg|thumb|left|Ouvrez la quête MONDialogPalePass.]]Ouvrons la quête des dialogues de Pale Pass : MONDialogPalePass. Elle se trouve dans la fenêtre Object, dans Actor Data/Quest. Double-cliquez dessus pour l'ouvrir.Si vous ne l'avez pas encore créée, faites un clic droit dans la liste des quêtes et | [[Image:GECKWiki_Quete05.jpg|thumb|left|Ouvrez la quête MONDialogPalePass.]]Ouvrons la quête des dialogues de Pale Pass : MONDialogPalePass. Elle se trouve dans la fenêtre Object, dans Actor Data/Quest. Double-cliquez dessus pour l'ouvrir.Si vous ne l'avez pas encore créée, faites un clic droit dans la liste des quêtes et sélectionnez New. Rentrez l'ID de la quête "MONDialogPalePass", le nom de la quête "Pale Pass", cochez Start game Enabled, et Allow repeated topics. Validez avec OK. Rouvrez la quête en double cliquant dessus. | ||
- Cliquez sur l'onglet Topics. Il doit déjà contenir le topic MONTopicPalePassMagasin si vous avez fait le dialogue du vendeur. Cliquez droit dans la liste "Editor ID" des topics à gauche de la fenêtre et | - Cliquez sur l'onglet Topics. Il doit déjà contenir le topic MONTopicPalePassMagasin si vous avez fait le dialogue du vendeur. Cliquez droit dans la liste "Editor ID" des topics à gauche de la fenêtre et sélectionnez New. Dans la liste de tous les topics du jeu qui s'ouvre, faites à nouveau un clic droit, sélectionnez New, et rentrez l'ID de votre nouveau topic : MONTopicStarkPresent. Validez. | ||
- Cliquez sur votre topic MONTopicStarkPresentation dans la liste EditorID des topics de la quête, cela l'active. Dans topic Text, entrez le texte par défaut du topic que le joueur dira ingame : "Qui êtes-vous ?". Lorsque vous validez, une fenêtre Check spelling s'ouvre pour vérifier l'orthographe. Cliquez sur Cancel pour la fermer. | - Cliquez sur votre topic MONTopicStarkPresentation dans la liste EditorID des topics de la quête, cela l'active. Dans topic Text, entrez le texte par défaut du topic que le joueur dira ingame : "Qui êtes-vous ?". Lorsque vous validez, une fenêtre Check spelling s'ouvre pour vérifier l'orthographe. Cliquez sur Cancel pour la fermer. | ||
Ligne 38 : | Ligne 48 : | ||
'''Activer le nouveau topic dans liste des topics''' | '''Activer le nouveau topic dans liste des topics''' | ||
Maintenant que le topic est dans la liste des topics de la quête, il faut l'ajouter à la liste des topics de Don Stark. Pour ce faire, toujours dans la quête MONDialoguePalePass01, cliquez sur le topic GREETING. Ensuite | Maintenant que le topic est dans la liste des topics de la quête, il faut l'ajouter à la liste des topics de Don Stark. Pour ce faire, toujours dans la quête MONDialoguePalePass01, cliquez sur le topic GREETING. Ensuite sélectionnez la première ligne "Je ne sais ce que vous..." dite par Don Stark, et faites un clic droit dans le cadre AddTopic à droite de la fenêtre et sélectionnez New. Dans la fenêtre qui ouvre, sélectionnez le topic "MONTopicStarkPresentation" (vous pouvez cocher Current quest Only pour le retrouver plus vite). | ||
Ligne 53 : | Ligne 63 : | ||
[[Image:GECKWiki_Quete06.jpg|thumb|left|Ouvrez la quête MONDialogPalePass.]]Une info est un enchaînement Question du joueur/Réponse du NPC. La question du joueur est celle par défaut du topic, ou la question spécifique dans le champ "Prompt". | [[Image:GECKWiki_Quete06.jpg|thumb|left|Ouvrez la quête MONDialogPalePass.]]Une info est un enchaînement Question du joueur/Réponse du NPC. La question du joueur est celle par défaut du topic, ou la question spécifique dans le champ "Prompt". | ||
- Cliquez dans la liste des topics sur le topic dans lequel vous voulez ajouter une info pour l'activer. Ensuite faites un clic-droit dans la liste des infos à droite, et | - Cliquez dans la liste des topics sur le topic dans lequel vous voulez ajouter une info pour l'activer. Ensuite faites un clic-droit dans la liste des infos à droite, et sélectionnez New. Une fenêtre de réponse "New Response" apparait. Mettez le texte que répondra Don Stark à la question du joueur (Qui êtes vous ?) : "Je suis Don Stark. Comme qui dirait, le chef, ici.". Appuyez sur la touche Entrée pour valider la phrase, et fermez la fenêtre pop up "Check Spelling" grâce au buton Cancel. Mettez Emotion Type à Neutral. Validez l'info avec OK. | ||
- Maintenant que votre info est créée, il faut déterminer à quelles conditions. La condition pour qu'un NPC dise cette info est que ce NPC soit Don Stark. Cliquez sur l'info dans la liste pour l'activer, puis cliquez-droit dans la liste Conditions : | - Maintenant que votre info est créée, il faut déterminer à quelles conditions. La condition pour qu'un NPC dise cette info est que ce NPC soit Don Stark. Cliquez sur l'info dans la liste pour l'activer, puis cliquez-droit dans la liste Conditions : Sélectionnez New. Dans la fenêtre Condition Item qui vient d'apparaître, cliquez sur le menu contextuel Condition Function (la fonction qui s'applique à la condition) et sélectionnez GetIsID. Cliquez ensuite sur INVALID en dessous de Function Parameters, et cherchez MONPalePassChefStark dans la liste. | ||
Donc la condition pour que l'info soit dite est en code : GetIsID MONPalePassChefDonStark == 1 | Donc la condition pour que l'info soit dite est en code : GetIsID MONPalePassChefDonStark == 1 | ||
Ligne 66 : | Ligne 76 : | ||
'''Créer une autre info de ce topic pour le reste des gardes" | '''Créer une autre info de ce topic pour le reste des gardes" | ||
Seul le chef Stark aura cette question dans ses topics. Si nous voulons aussi pouvoir interroger les gardes, qui sont deux, nous pouvons soit faire deux autres infos destinées à chacun des deux gardes ( GetIsID MONPalePassGarde01 == 1 pour la première info, et GetIsID MONPalePassGarde02 == 1 pour la deuxième info, avec les textes | Seul le chef Stark aura cette question dans ses topics. Si nous voulons aussi pouvoir interroger les gardes, qui sont deux, nous pouvons soit faire deux autres infos destinées à chacun des deux gardes ( GetIsID MONPalePassGarde01 == 1 pour la première info, et GetIsID MONPalePassGarde02 == 1 pour la deuxième info, avec les textes adaptés). | ||
Mais puisque les gardes font partie d'une faction, celle des gardes de Pale Pass, nous pouvons faire une seule info avec pour condition GetIsFaction MONFactionPalePassGardes == 1. | Mais puisque les gardes font partie d'une faction, celle des gardes de Pale Pass, nous pouvons faire une seule info avec pour condition GetIsFaction MONFactionPalePassGardes == 1. | ||
- Ouvrez la fenêtre de quête MONDialogPalePass, cliquez sur l'onglet Topics, puis cliquez sur le topic MONTopicStarkPresentation pour l'activer. Ensuite, faites un clic-droit dans la liste des infos, sous celle de stark, et | - Ouvrez la fenêtre de quête MONDialogPalePass, cliquez sur l'onglet Topics, puis cliquez sur le topic MONTopicStarkPresentation pour l'activer. Ensuite, faites un clic-droit dans la liste des infos, sous celle de stark, et sélectionnez new. La fenêtre de Réponse apparait : mettez-y une phrase du style "Je suis garde de Pale Pass.". Validez avec OK, fermez la fenêtre de correction avec Cancel, puis selectionnez Anger pour Emotion Type, et mettez l'emotion Value à 50. Validez vos changements avec OK. | ||
- Cliquez sur votre info "Je suis garde de Pale Pass.", et dans le cadre "info details" cliquez dans le champ "Prompt" : mettez une variation de la question par défaut du topic : "Que faites-vous ici ?". | - Cliquez sur votre info "Je suis garde de Pale Pass.", et dans le cadre "info details" cliquez dans le champ "Prompt" : mettez une variation de la question par défaut du topic : "Que faites-vous ici ?". | ||
Ligne 83 : | Ligne 93 : | ||
Inversement, si vous mettez l'info avec condition d'être Garde de Pale Pass en premier, et celle de stark en second, Stark ne dira pas son info, car faisant partie de la faction des gardes, il dira la première info valable pour lui. | Inversement, si vous mettez l'info avec condition d'être Garde de Pale Pass en premier, et celle de stark en second, Stark ne dira pas son info, car faisant partie de la faction des gardes, il dira la première info valable pour lui. | ||
Prêtez bien attention à l'ordre des infos, en fonction des conditions. En règle générale, les infos aux conditions les plus restrictives sont en premier, et les plus générales en dernier. | |||
== Créer un dialogue avec choix multiples == | |||
Ligne 97 : | Ligne 107 : | ||
- Créons un nouveau topic, correspondant au premier choix : MONTopicPalePass02Choix. Comme info, rentrez la réponse aggressive de Stark "Ecoutez bien ce que j'ai à vous dire : traînez pas dans le coin. Si vous faites la moindre connerie, vous finirez farci de plomb. Capice ?", avec une Emotion Type "Anger" et une valeur de 100. Comme question du joueur, dans le champ "Prompt", mettez "Mais c'est la zone dans votre patelin ! Il y a pas un endroit où se payer du bon temps ?". Cochez la case Goodbye (le NPC mettra fin au dialogue), et mettez comme condition GetIsID MONPalePassChefDonStark == 1. | - Créons un nouveau topic, correspondant au premier choix : MONTopicPalePass02Choix. Comme info, rentrez la réponse aggressive de Stark "Ecoutez bien ce que j'ai à vous dire : traînez pas dans le coin. Si vous faites la moindre connerie, vous finirez farci de plomb. Capice ?", avec une Emotion Type "Anger" et une valeur de 100. Comme question du joueur, dans le champ "Prompt", mettez "Mais c'est la zone dans votre patelin ! Il y a pas un endroit où se payer du bon temps ?". Cochez la case Goodbye (le NPC mettra fin au dialogue), et mettez comme condition GetIsID MONPalePassChefDonStark == 1. | ||
- Créons le topic du deuxième choix dans la liste de gauche : MONTopicPalePass03Choix. Comme info, mettez la réponse de stark "Ca vaudrait mieux pour vous." avec une emotion Happy à 50, comme Prompt "Pas de panique ! Je ne fais que passer.", et avec toujours comme condition GetIsID MONPalePassChefDonStark == 1 (vous pouvez copier une condition avec un clic droit et Copy Condition, pour la coller avec Paste Condition dans un autre topic, si les conditions sont les mêmes, ça | - Créons le topic du deuxième choix dans la liste de gauche : MONTopicPalePass03Choix. Comme info, mettez la réponse de stark "Ca vaudrait mieux pour vous." avec une emotion Happy à 50, comme Prompt "Pas de panique ! Je ne fais que passer.", et avec toujours comme condition GetIsID MONPalePassChefDonStark == 1 (vous pouvez copier une condition avec un clic droit et Copy Condition, pour la coller avec Paste Condition dans un autre topic, si les conditions sont les mêmes, ça accélère les choses !). | ||
- Maintenant, ajoutons les deux topics de choix au premier : cliquez dans la liste des topics sur MONTopicPalePass01, et faites un clic droit dans le cadre Choice à droite, et sélectionnez New. Dans la fenêtre qui s'ouvre, sélectionnez MONTopicPalePass02Choix. Recommencer l'opération pou ajouter MONTopicPalePass02Choix dans le cadre Choice du topic MONTopicPalePass01. | |||
- Pour finir, comme beaucoup de choix, il ne sera donné qu'une fois. Cliquez sur le topic MONTopicPalePass01, et sur la première info, et cochez la case Say Once. Rajoutez en dessous de cette info, une info avec pour réponse "Rien qui puisse vous intéresser." et comme Prompt "Du nouveau à Pale Pass ?", avec toujours la condition GetIsID MONPalePassChefDonStark == 1. Une fois que le choix aura été fait, c'est cette info qui sera donnée au topic. | |||
== Faire une quête simple de style "FedEx" == | |||
Notre première quête sera très simple : Si nous demandons à avoir du travail à Stark, il nous parlera d'un Dinerstop au nord squatté par quelques punks à chiens. Un des habitants, Gordon, a voulu se débarrasser d'eux, mais il a du se faire descendre. Les punks détiennent le fusil de Sniper de Gordon, et c'est à vous de le récupérer. | |||
Pour préparer la quête, rien de mieux qu'une feuille de papier. Je me suis inspiré du Guide Stratégique Officiel du jeu pour préparer la quête, avec un tableau récapitulatif, et un organigramme décrivant la structure de quête : | |||
TABLEAU RECAPITULATIF : | |||
'''Personnages Principaux :''' Chef Don Stark (donneur de quête), Punk à Chiens Rodriguez (porte l'objet de quête), Faction des Gardes de Pale Pass (renseignements Gordon), herbert Chadwick (Renseignements Gordon). | |||
'''Lieux :''' Pale Pass (donneur de quête), Fat Joe's Dinerstop (lieu Objet de quête), Extérieur Pale Pass (Gardes), Maison Commune (Herbert Chadwick). | |||
'''Objets ou capacités utiles :''' Fusil de Sniper de Gordon (Objet de quête. optionnel : Stealth Boy, mines, chemin sûr de bouteilles. | |||
'''Ennemis possibles :''' 2 chiens, 3 punks à chiens (melée, fusil, fusil, grenades), Rodriguez (fusil à lunette), regroupés dans un camp. Optionnel :mines sur le chemin du camp | |||
'''Gains possibles :''' 400 caps, karma +. Optionnel : Fusil de sniper de Gordon, Karma - | |||
ORGANIGRAMME DE QUETE SIMPLE : | |||
[[Image:GeckWiki_Quete07.png]] | |||
'''Créer une nouvelle quête :" | |||
- Dans l'arborescence de la fenêtre Object, sous Actor Data/Quest, faites un clic droit et sélectionnez New. Rentrez l'ID de la première quête : MONQuestPalePass01. Puis comme Quest Name "D'une efficacité meurtière" (c'est tiré d'une phrase des gardes sur le Fusil de Sniper), priorité 50, Start Game Enabled coché, Allow Repeated conversation Topics coché. Validez avec OK. | |||
- Ouvrez à nouveau la quête, et allez dans l'onglet Quest Stages. Cet onglet décrit toutes les étapes de la quête ( attention, ce ne sont pas les entrées journal !). | |||
Faites un clic droit dans la liste des index et selectionnez New. Rentrez le nombre 10 et cliquez sur l'index 10. Dans la liste de log entry (celle du haut), faites clic-droit puis New. Dans le cadre Log Entry (en dessous), mettez la description "démarrage de quete Fusil de gordon". Appuyez sur entrée et fermez la fenêtre de correction avec Cancel. Mettez de la même manière un index 100 avec un log entry "Fusil Rendu Fin de quête". Cochez Complete Quest pour l'étape 100, mettez NONE à Next Quest. Validez avec OK. | |||
- Ouvrez l'onglet Quest Objectives de la quête MONQuestPalePass01. Il donne les entrées journal visibles par le joueur. Dans la liste Objective Index, faites un clic droit et selectionnez new. Cliquez sur l'index Objective 10 et dans le champ Display Text en dessous, rentrez le texte : "Je dois rapporter le Fusil de Gordon au Chef Don Stark. Il a été volé par une bande de Punks à Chiens, dans le Fat Joe's Dinerstop, au nord de Pale Pass.". Cliquez sur OK pour valider. | |||
[[Image:GeckWiki_Quete09.png|thumb|left|L'onglet Quest Objectives gère le journal ingame.]] | |||
'''Créez les dialogues de la quête :''' | |||
- Ouvrez la Quête MONQuestPalePass01, et cliquez sur l'onglet topics. Dans la liste des topics, faites un clic droit et New. Dans la liste qui vient d'apparaitre, faites encore un clic droit et New : rentrez l'ID du topic MONTopicTravailGordon01. | |||
- Cliquez sur votre nouveau topic, et faites un clic droit puis New dans la liste d'infos. Dans la fenêtre New Response, marquez : "Si tu y tiens... Il y a un camp de punks à chiens, au Fat joe's Dinerstop,au nord. Gordon a voulu les déloger, mais il a du se faire descendre.", mettez Sad comme Emotion Type et 100 en valeur. Validez avec OK. | |||
- Pour enchainer une suite dans la même info, cliquez droit dans la liste des Responses de cette info, selectionnez New, et rentrez la nouvelle Response "Si tu me rapportes le Fusil de Sniper de Gordon, ces chacals ne pourront plus nous tirer comme des lapins. Et t'auras une récompense.", avec comme emotion Happy à 50. | |||
- Dans le cadre Result End de l'info "Si tu y tiens..." mettez le script "SetStage MONQuestPalePass01 10". Cette réponse finie, on passera à l'étape de quête 10. | |||
- Il ne manque plus que les conditions : GetIsID MONPalePassChefDonStark == 1 | |||
Avant de poursuivre, il faut rajouter ce topic à la liste des topics visibles ingame : Ouvrez la quête MONDialogPalePass, et cliquez sur le topic GREETING en haut de la liste des topics. Cliquez sur la première info "Je ne sais pas ce que vous faites ici..." qui est le premier dialogue de stark, et dans son cadre Addtopic, faites un clic droit et New. Rajoutez le topic MONTopicTravailGordon, validez avec OK. Validez encore avec OK pour fermer la fenêtre de quête. | |||
'''Créez la récompense si on rapporte le fusil de Gordon''' | |||
Tout d'abord, si vous n'avez pas créé le Fusil de Gordon, faites-le : Allez dans la fenêtre Objects dans Item/Weapon et double cliquez sur WeapSniperRifle. Modifiez son ID en MONWeapSniperRifle. Modifiez son Name en Fusil de Sniper de Gordon.Augmentez son poids (Weight) à 12, ses dommages critiques à (crit dmg) 50, Value à 400 et Crit%Mult à 8. Cochez Quest Item dans le cadre Flags. | |||
Posez dans un premier temps le fusil de gordon à proximité du village (mais pas trop près de stark, des fois que...). Vous pourrez ainsi tester la réussite de la quête plus rapidement. | |||
Ouvrez la quête MONQuestPalePass01, et cliquez sur l'onglet Topics. | |||
Dans la liste des infos du topic MONTopicTravailGordon, cliquez droit sur la première info pour en ajouter une nouvelle. Rentrez la réponse "Tu es plus fort que la mort, hombre ! Je vois que tu as trouvé le Fusil de Gordon ! Donne-le moi. Voilà ta récompense." avec une Emotion Suprise de 100, et validez. | |||
Dans le champ prompt de cette info, mettez le texte : "Je crois que j'ai trouvé ce que vous cherchiez..." | |||
Dans les conditions, le NPC doit être Stark, le joueur doit avoir au moins un fusil de gordon, et le stage de la quête doit être supérieur à 10 : | |||
- Mettez comme première condition GetIsID MONPalePassChefDonStark == 1 | |||
- pour la deuxième condition, selectionnez GetItemCount comme fonction, cliquez sur Invalid et selectionnez MONWeapSniperRifle mettez >= comme signe et 1 comme valeur, mettez Run On sur Target : le joueur. | |||
- Pour la troisième condition, selectionnez GetStageDone comme fonction, puis cliquez sur Invalid et selectionnez la quête MONQuestPalePass et l'index 10. | |||
Si toutes ces conditions sont réunies, le joueur reçoit 400 caps, 200 points de karma, et la quête passe à l'étape 100. | |||
En Result End, mettez : | |||
player.additem caps001 400 | |||
RewardKarma 200 | |||
setStage MONQuestPalePass01 100 | |||
'''Faire un dialogue d'après-quête''' | |||
Nous pouvons mettre un dialogue avec Stark dans le cas où la quête est terminée : Rajoutez une info en tout en haut de la liste des infos de la quête, en cliquant droit sur la première ligne. Dans la fenêtre Response, marquez "Je n'ai plus rien à te demander.", avec une Emotion Type neutre à 50. Validez avec OK. Et comme prompt à cette info mettez : "Vous aurez encore du travail pour moi ?". | |||
Ensuite, mettez comme condition GetStageDone 100 == 1, et GetIsID MONPalePassChefDonStark == 1 | |||
'''Mettez à jour les Quest Stages''' | |||
[[Image:GeckWiki_Quete08.png|thumb|left|L'étape 100 dans l'onglet Quest Stages.]]Ouvrez la quête du fusil, et cliquez sur Quest Stages. Cliquez sur l'index 10. Dans le Result script à droite, rentrez : | |||
setObjectiveDisplayed MONQuestPalePass01 10 1 | |||
setstage MONQuestPalePass01 10 | |||
Cela signifie que lorsque la quête passe à l'index 10, on affiche les objectifs journal de l'index 10, et qu'on valide le passage du stage 10 dans les quest stages. | |||
A l'index 100, rentrez : | |||
setObjectiveCompleted MONQuestPalePass01 10 1 | |||
rewardKarma 200 | |||
completeAllObjectives MONQuestPalePass01 | |||
Cela signifie qu'on met en affichage journal que l'objectif 10 a été rempli, que le joueur a 200 points de karma, et que tous les objectifs de quête sont remplis (la quête est terminée). | |||
== Terrain de jeu de la quête == | |||
Maintenant que la quête est mise en place, essayez-là. Elle est très simple de structure, et très simple à jouer, pour peu qu'on aît un bon niveau. L'opposition est tout de même relevée, avec des ennemis de type différent : mélée, fusil simple, fusil à lunette, chiens qui détectent et peuvent avertir les punks : ils font partie de la même faction ! | |||
Nous pouvons corser encore un peu la quête en mettant une difficulté supplémentaire. Un champ de mine placé par les gardes rendra l'approche très hasardeuse ! Et un chemin sûr matérialisé par des boites de conserves permet de les éviter, si on a le sens de l'observation. Enfin, pour le punk à chien Rodriguez, qui est si redoutable avec le Fusil à Lunettes de Gordon, nous le ferons dormir tard dans la nuit : cela permettra au joueur sournois de l'approcher grâce à un StealthBoy, et de l'abattre rapidement pour lui voler l'objet de la quête. | |||
'''Champ de Mines''' | |||
[[Image:GECKWiki_Quete01.jpg|thumb|left|Placez les mines entre le village et le camp raider.]] | |||
Pour installer des mines chargées, ce n'est pas dans Weapon qu'il faut les prendre, mais dans Special Effects/Projectile : les MineFragProjectile. Placez-en entre le village et le camp raider, en laissant un chemin sur la droite. | |||
'''Le chemin sûr de bouteilles vides''' | |||
[[Image:GECKWiki_Quete02.jpg|thumb|left|Placez des bouteilles vides pour matérialiser le chemin sûr.]][[Image:GECKWiki_Quete03.jpg|thumb|left|Position des mines et bouteilles vides de Pale Pass du Fat Joe's Dinerstop.]] | |||
En même temps qu'ils ont posé les mines, les gardes de Pale Pass ont matérialisé un chemin sûr pour les éviter et progresser jusqu'au camp raider. | |||
- Mettez une plateforme rocheuse "RockCanyon18rad1046" (dans la section Static/Landscape de l'arborescence de la fenêtre Object) un peu après le village en direction du camp raider, sur la droite à flanc de colline. Faites ensuite grace à l'outil Landscape Editing une rampe pente douce pour monter dessus (élevez le terrain avec une brosse à 2 ou 3). Corrigez un peu le Navmesh à cet endroit là (la plateforme et la rampe) pour qu'il correspnde au nouveau dénivelé. | |||
- Ouvrez l'outil Object Palette Editing (menu World du GECK) et chargez la palette RandomClutter.opl. Cherchez l'objet Tincan, et faites un Ctrl-Alt-Clic Gauche au début de la rampe. Baissez manuellement et positionnez la boite de conserve en centrant sur elle avec la touche C. Posez ainsi des boites tout le long de la crête comme indiqué sur l'image. | |||
'''Rajouter un package Sleep à Rodriguez''' | |||
Rodriguez sera la plupart du temps en position idéale pour vous shooter, en haut de son perchoir. Cependant, il ira dormir de 2h du matin à 11h du matin, de même qu'une punkette. Cela fera deux ennemis en moins pour ceux qui savent qu'une bonne embuscade ne se tend pas en plein jour ! | |||
Ouvrez la fenêtre du NPC de base Rodriguez (MONRaiderRodiguez). Cliquez sur l'onglet Packages. Normalement, il a déjà un package DefaultStayAtEditorLocationWeaponDrawn : il est en haut du perchoir prêt à tirer à toute heure de la journée. Rajoutons un package Sleep : | |||
- Cliquez-droit sur la première ligne de l'AI Package List, et selectionnez New. Dans la fenêtre Package qui s'ouvre, rentrez l'ID du Package "MONPackRodriguezSleep" puis selectionnez comme Package Type (en haut à droite de la fenêtre) : Sleep. | |||
- Le premier onglet de la fenêtre est maintenant Sleep : rentrez l'endroit où Rodriguez devra trouver un lit : selectionnez Editor Location (pres du perchoir), et selectionnez un rayon de 512 unités. Dans l'onglet Flags, selectionnez Weapons Unequipped. Dans l'onglet Schedule, mettez Time à 2 et duration à 9. | |||
Rodriguez, à partir de 2h du matin, cherchera un lit de libre pour y dormir 9 h, son arme rangée. | |||
Validez avec OK et vérifiez que le package sleep est bien en premier dans la liste : il sera prioritaire tant que les conditions seront réunies. | |||
== Ajouter des Dialogues d'aide ou de background == | |||
Nous pouvons rajouter deux dialogues sur Gordon, pour être un peu éclairé sur son histoire. Un pour les gardes, et un pour un des habitants de la maison commune, Herbert Chadwick. | |||
Les gardes diront que Gordon était juste un habitant qui leur filait des coups de mains. Que c'était l'ami d'Herbert et que son fusil a une efficacité redoutable. Herbert dira que Gordon avait un penchant pour la bouteille qui le désolait. Il avait marqué un chemin sûr pour éviter les mines avec. | |||
Toujours dans le topic MONTopicTravailGordon, ajoutez une info en dessous de celles de stark. Mettez comme réponse "J'ai bien connu Gordon, il était courageux, mais il buvait trop. Il avait même marqué un chemin sûr avec des bouteilles pour passer les mines.", une Emotion Type Sad à 100, et validez. Comme Prompt mettez "Vous connaissiez Gordon ?". Comme conditions, mettez GetIsID MONPalePassVillageois04 == 1 et GetStageDone MONQuestPalePass01 10 == 1 et getstagedone MONQuestpalePass 100 == 0. | |||
Mettez comme Réponse "C'était un habitant d'ici, un bon ami d'Herbert. Son fusil de Sniper était d'une efficacité meurtrière." En Prompt, mettez "Je dois trouver le fusil de Gordon...". En conditions mettez GetInFaction MONFactionPalePassGardes == 1 et GetStageDone MONQuestPalePass01 10 == 1 et getstagedone MONQuestpalePass 100 == 0 | |||
- | <div style="text-align: center; font-size: 1.2em; width: 100%; background: transparent; background-color: #eeeeee; border: 1px solid #888888;"> | ||
[[GECK : 9 - Créatures et Personnages| Page Précédente]] :: | |||
[[GECK : Tutoriel pas à pas| Page Principale]] :: | |||
[[GECK : 11 - Quête principale| Page Suivante]] | |||
</div> |
Version actuelle datée du 8 juin 2010 à 18:37
Dès leur création, les personnages non joueurs ont des dialogues génériques (avec le joueur : bienvenue -greting- et au revoir -goodbye), ainsi que des dialogues de détection du joueur, de combat, de conversations entre NPC.
Pour rajouter des dialogues à ces personnages, nous partons du principe que 99% des moddeurs n'ont pas une équipe de doubleurs : les dialogues seront donc écrits, sans son. Heureusement, contrairement à Oblivion, un dialogue sans son s'affiche suffisamment longtemps pour qu'on puisse le lire. Sous Oblivion, il fallait associer un son "blanc" de quelques secondes à chaque phrase de dialogue, pour laisser le temps au joueur de lire !
Nous avons déjà abordé les dialogues et les quêtes pour permettre à notre vendeur Chi Woo de vendre les objets de son magasin. Nous avions créé une quête de dialogues pour PalePass que nous allons réutiliser pour de nouveaux dialogues.
Ce sera le dialogue de "bienvenue" du Chef Stark, qui n'est pas très amical.
Faire un dialogue de bienvenue : Greeting
La phrase de bienvenue est celle qu'un NPC dit dès l'ouverture du dialogue, avant la liste de ses topics. Tous ces dialogues sont regroupés dans le topic GREETING, qu'il faudra ajouter à la liste des topics de votre quête.
Dans la fenêtre Object, allez dans Actor Data/Quest et retrouvez la quête MONDialoguePalePass qui a été créée avec les dialogues du marchand, dans le chapitre "Creatures et Personnages". Cliquez sur l'onglet Topics. Cliquez-droit dans la liste des topics à gauche, et cherchez GREETING dans la liste qui vient d'apparaître. Une fois le topic greeting sélectionné, faites un clic droit dans la liste d'infos à droite de la fenêtre.
Une fenêtre New response s'est ouverte : tapez le texte "Je ne sais pas ce que vous faites ici mais vous êtes à Pale Pass et c'est pas un village qui respire la joie. Faites pas de vagues et tout ira bien." dans le champ Response Text, et appuyez sur la touche entrée. Dans le menu Emotion Type, sélectionnez Disgust. Fermez la fenêtre de correction qui apparait avec Cancel. Cliquez à nouveau sur votre nouvelle info dans la liste des infos pour l'activer, puis Cochez Say Once.
Il nous reste à ajouter comme condition que le NPC qui dise l'info soit Don Stark. Faites un clic-droit dans la liste vide de conditions, et sélectionnez new. Comme fonction, sélectionnez GetIsID, puis cliquez sur INVALID pour choisir MONPalePassChefDonStark, puis vérifiez que le signe Comparison soit ==, et que Value soit à 1. Ce qui nous donne comme condition : GetIsID MONPalePassCgefDonStark == 1. Validez avec OK.
Faire un dialogue Question/Réponse simple
Créer un topic
Nous allons donner au joueur la possibilité de poser la question "Qui êtes vous ?" au Chef Don Stark. En réponse, celui-ci dira au joueur comment il s'appelle : "Je suis Don Stark. Comme qui dirait, le chef ici."
Ouvrons la quête des dialogues de Pale Pass : MONDialogPalePass. Elle se trouve dans la fenêtre Object, dans Actor Data/Quest. Double-cliquez dessus pour l'ouvrir.Si vous ne l'avez pas encore créée, faites un clic droit dans la liste des quêtes et sélectionnez New. Rentrez l'ID de la quête "MONDialogPalePass", le nom de la quête "Pale Pass", cochez Start game Enabled, et Allow repeated topics. Validez avec OK. Rouvrez la quête en double cliquant dessus.
- Cliquez sur l'onglet Topics. Il doit déjà contenir le topic MONTopicPalePassMagasin si vous avez fait le dialogue du vendeur. Cliquez droit dans la liste "Editor ID" des topics à gauche de la fenêtre et sélectionnez New. Dans la liste de tous les topics du jeu qui s'ouvre, faites à nouveau un clic droit, sélectionnez New, et rentrez l'ID de votre nouveau topic : MONTopicStarkPresent. Validez.
- Cliquez sur votre topic MONTopicStarkPresentation dans la liste EditorID des topics de la quête, cela l'active. Dans topic Text, entrez le texte par défaut du topic que le joueur dira ingame : "Qui êtes-vous ?". Lorsque vous validez, une fenêtre Check spelling s'ouvre pour vérifier l'orthographe. Cliquez sur Cancel pour la fermer.
Activer le nouveau topic dans liste des topics
Maintenant que le topic est dans la liste des topics de la quête, il faut l'ajouter à la liste des topics de Don Stark. Pour ce faire, toujours dans la quête MONDialoguePalePass01, cliquez sur le topic GREETING. Ensuite sélectionnez la première ligne "Je ne sais ce que vous..." dite par Don Stark, et faites un clic droit dans le cadre AddTopic à droite de la fenêtre et sélectionnez New. Dans la fenêtre qui ouvre, sélectionnez le topic "MONTopicStarkPresentation" (vous pouvez cocher Current quest Only pour le retrouver plus vite).
Créer une info
Une info est un enchaînement Question du joueur/Réponse du NPC. La question du joueur est celle par défaut du topic, ou la question spécifique dans le champ "Prompt".
- Cliquez dans la liste des topics sur le topic dans lequel vous voulez ajouter une info pour l'activer. Ensuite faites un clic-droit dans la liste des infos à droite, et sélectionnez New. Une fenêtre de réponse "New Response" apparait. Mettez le texte que répondra Don Stark à la question du joueur (Qui êtes vous ?) : "Je suis Don Stark. Comme qui dirait, le chef, ici.". Appuyez sur la touche Entrée pour valider la phrase, et fermez la fenêtre pop up "Check Spelling" grâce au buton Cancel. Mettez Emotion Type à Neutral. Validez l'info avec OK.
- Maintenant que votre info est créée, il faut déterminer à quelles conditions. La condition pour qu'un NPC dise cette info est que ce NPC soit Don Stark. Cliquez sur l'info dans la liste pour l'activer, puis cliquez-droit dans la liste Conditions : Sélectionnez New. Dans la fenêtre Condition Item qui vient d'apparaître, cliquez sur le menu contextuel Condition Function (la fonction qui s'applique à la condition) et sélectionnez GetIsID. Cliquez ensuite sur INVALID en dessous de Function Parameters, et cherchez MONPalePassChefStark dans la liste. Donc la condition pour que l'info soit dite est en code : GetIsID MONPalePassChefDonStark == 1
Allez tester Ingame : Allez à l'entrée de Pale Pass parler au Chef Don Stark. Vérifiez que la question Qui êtes-vous apparait bien dans les topics, et que la réponse marche bien.
Créer une autre info de ce topic pour le reste des gardes"
Seul le chef Stark aura cette question dans ses topics. Si nous voulons aussi pouvoir interroger les gardes, qui sont deux, nous pouvons soit faire deux autres infos destinées à chacun des deux gardes ( GetIsID MONPalePassGarde01 == 1 pour la première info, et GetIsID MONPalePassGarde02 == 1 pour la deuxième info, avec les textes adaptés). Mais puisque les gardes font partie d'une faction, celle des gardes de Pale Pass, nous pouvons faire une seule info avec pour condition GetIsFaction MONFactionPalePassGardes == 1.
- Ouvrez la fenêtre de quête MONDialogPalePass, cliquez sur l'onglet Topics, puis cliquez sur le topic MONTopicStarkPresentation pour l'activer. Ensuite, faites un clic-droit dans la liste des infos, sous celle de stark, et sélectionnez new. La fenêtre de Réponse apparait : mettez-y une phrase du style "Je suis garde de Pale Pass.". Validez avec OK, fermez la fenêtre de correction avec Cancel, puis selectionnez Anger pour Emotion Type, et mettez l'emotion Value à 50. Validez vos changements avec OK.
- Cliquez sur votre info "Je suis garde de Pale Pass.", et dans le cadre "info details" cliquez dans le champ "Prompt" : mettez une variation de la question par défaut du topic : "Que faites-vous ici ?".
- Cliquez sur le bouton New juste en dessous du cadre Conditions, et remplissez la fenêtre Condition Item : "GetInFaction" comme fonction, "MONFactionPalePassGardes" à la place d'INVALID, puis == 1.
- Allez vérifier Ingame que Stark et les gardes se présentent avec la bonne phrase.
ATTENTION : si un même topic comporte plusieurs infos, le jeu dira la première, en partant du haut, dont les conditions sont valables. Dans notre exemple, si vous parlez à Stark, l'info dite sera celle de stark, et si vous interrogez un autre garde, ce ne sera pas la première qui doit être le NPC stark, mais la faction des Gardes.
Inversement, si vous mettez l'info avec condition d'être Garde de Pale Pass en premier, et celle de stark en second, Stark ne dira pas son info, car faisant partie de la faction des gardes, il dira la première info valable pour lui.
Prêtez bien attention à l'ordre des infos, en fonction des conditions. En règle générale, les infos aux conditions les plus restrictives sont en premier, et les plus générales en dernier.
Créer un dialogue avec choix multiples
Dans tout RPG, les dialogues donnent la possibilité de choisir entre plusieurs solutions. Une phrase du NPC peut donner deux réponses du joueur. Dans le GECK, chaque choix donné doit être enregistré dans un nouveau topic dédié (par exmple MONChoix01 et MONChoix02, et ces deux topics ajoutés dans le cadre Choice situé à droite de l'onglet topic. Chaque phrase de choix dite par le joueur donnera une réponse du NPC différente.
- Créons un nouveau topic ou le joueur demande "Qu'est ce qu'il y a savoir sur cet endroit ?" : cliquez-droit dans la liste des topics à gauche et créez un Topic "MONTopicPalePass01". Ajoutez-lui une info "Il n'y a pas grand chose à voir ici. Nous nous méfions des étrangers. Vous pouvez même faire demi-tour...", avec Disgust comme Emotion Type, et 100 comme Emotion Value. Comme question du joueur, au lieu du Topic Text par défaut, mettez dans le champ "Prompt" la phrase "Qu'estce qu'il y a à savoir sur cet endroit ?". Rajoutez-lui comme condition GetIsID MONPalePassChefDonStark == 1.
- Créons un nouveau topic, correspondant au premier choix : MONTopicPalePass02Choix. Comme info, rentrez la réponse aggressive de Stark "Ecoutez bien ce que j'ai à vous dire : traînez pas dans le coin. Si vous faites la moindre connerie, vous finirez farci de plomb. Capice ?", avec une Emotion Type "Anger" et une valeur de 100. Comme question du joueur, dans le champ "Prompt", mettez "Mais c'est la zone dans votre patelin ! Il y a pas un endroit où se payer du bon temps ?". Cochez la case Goodbye (le NPC mettra fin au dialogue), et mettez comme condition GetIsID MONPalePassChefDonStark == 1.
- Créons le topic du deuxième choix dans la liste de gauche : MONTopicPalePass03Choix. Comme info, mettez la réponse de stark "Ca vaudrait mieux pour vous." avec une emotion Happy à 50, comme Prompt "Pas de panique ! Je ne fais que passer.", et avec toujours comme condition GetIsID MONPalePassChefDonStark == 1 (vous pouvez copier une condition avec un clic droit et Copy Condition, pour la coller avec Paste Condition dans un autre topic, si les conditions sont les mêmes, ça accélère les choses !).
- Maintenant, ajoutons les deux topics de choix au premier : cliquez dans la liste des topics sur MONTopicPalePass01, et faites un clic droit dans le cadre Choice à droite, et sélectionnez New. Dans la fenêtre qui s'ouvre, sélectionnez MONTopicPalePass02Choix. Recommencer l'opération pou ajouter MONTopicPalePass02Choix dans le cadre Choice du topic MONTopicPalePass01.
- Pour finir, comme beaucoup de choix, il ne sera donné qu'une fois. Cliquez sur le topic MONTopicPalePass01, et sur la première info, et cochez la case Say Once. Rajoutez en dessous de cette info, une info avec pour réponse "Rien qui puisse vous intéresser." et comme Prompt "Du nouveau à Pale Pass ?", avec toujours la condition GetIsID MONPalePassChefDonStark == 1. Une fois que le choix aura été fait, c'est cette info qui sera donnée au topic.
Faire une quête simple de style "FedEx"
Notre première quête sera très simple : Si nous demandons à avoir du travail à Stark, il nous parlera d'un Dinerstop au nord squatté par quelques punks à chiens. Un des habitants, Gordon, a voulu se débarrasser d'eux, mais il a du se faire descendre. Les punks détiennent le fusil de Sniper de Gordon, et c'est à vous de le récupérer.
Pour préparer la quête, rien de mieux qu'une feuille de papier. Je me suis inspiré du Guide Stratégique Officiel du jeu pour préparer la quête, avec un tableau récapitulatif, et un organigramme décrivant la structure de quête :
TABLEAU RECAPITULATIF :
Personnages Principaux : Chef Don Stark (donneur de quête), Punk à Chiens Rodriguez (porte l'objet de quête), Faction des Gardes de Pale Pass (renseignements Gordon), herbert Chadwick (Renseignements Gordon).
Lieux : Pale Pass (donneur de quête), Fat Joe's Dinerstop (lieu Objet de quête), Extérieur Pale Pass (Gardes), Maison Commune (Herbert Chadwick).
Objets ou capacités utiles : Fusil de Sniper de Gordon (Objet de quête. optionnel : Stealth Boy, mines, chemin sûr de bouteilles.
Ennemis possibles : 2 chiens, 3 punks à chiens (melée, fusil, fusil, grenades), Rodriguez (fusil à lunette), regroupés dans un camp. Optionnel :mines sur le chemin du camp
Gains possibles : 400 caps, karma +. Optionnel : Fusil de sniper de Gordon, Karma -
ORGANIGRAMME DE QUETE SIMPLE :
Créer une nouvelle quête :"
- Dans l'arborescence de la fenêtre Object, sous Actor Data/Quest, faites un clic droit et sélectionnez New. Rentrez l'ID de la première quête : MONQuestPalePass01. Puis comme Quest Name "D'une efficacité meurtière" (c'est tiré d'une phrase des gardes sur le Fusil de Sniper), priorité 50, Start Game Enabled coché, Allow Repeated conversation Topics coché. Validez avec OK.
- Ouvrez à nouveau la quête, et allez dans l'onglet Quest Stages. Cet onglet décrit toutes les étapes de la quête ( attention, ce ne sont pas les entrées journal !).
Faites un clic droit dans la liste des index et selectionnez New. Rentrez le nombre 10 et cliquez sur l'index 10. Dans la liste de log entry (celle du haut), faites clic-droit puis New. Dans le cadre Log Entry (en dessous), mettez la description "démarrage de quete Fusil de gordon". Appuyez sur entrée et fermez la fenêtre de correction avec Cancel. Mettez de la même manière un index 100 avec un log entry "Fusil Rendu Fin de quête". Cochez Complete Quest pour l'étape 100, mettez NONE à Next Quest. Validez avec OK.
- Ouvrez l'onglet Quest Objectives de la quête MONQuestPalePass01. Il donne les entrées journal visibles par le joueur. Dans la liste Objective Index, faites un clic droit et selectionnez new. Cliquez sur l'index Objective 10 et dans le champ Display Text en dessous, rentrez le texte : "Je dois rapporter le Fusil de Gordon au Chef Don Stark. Il a été volé par une bande de Punks à Chiens, dans le Fat Joe's Dinerstop, au nord de Pale Pass.". Cliquez sur OK pour valider.
Créez les dialogues de la quête :
- Ouvrez la Quête MONQuestPalePass01, et cliquez sur l'onglet topics. Dans la liste des topics, faites un clic droit et New. Dans la liste qui vient d'apparaitre, faites encore un clic droit et New : rentrez l'ID du topic MONTopicTravailGordon01.
- Cliquez sur votre nouveau topic, et faites un clic droit puis New dans la liste d'infos. Dans la fenêtre New Response, marquez : "Si tu y tiens... Il y a un camp de punks à chiens, au Fat joe's Dinerstop,au nord. Gordon a voulu les déloger, mais il a du se faire descendre.", mettez Sad comme Emotion Type et 100 en valeur. Validez avec OK.
- Pour enchainer une suite dans la même info, cliquez droit dans la liste des Responses de cette info, selectionnez New, et rentrez la nouvelle Response "Si tu me rapportes le Fusil de Sniper de Gordon, ces chacals ne pourront plus nous tirer comme des lapins. Et t'auras une récompense.", avec comme emotion Happy à 50.
- Dans le cadre Result End de l'info "Si tu y tiens..." mettez le script "SetStage MONQuestPalePass01 10". Cette réponse finie, on passera à l'étape de quête 10.
- Il ne manque plus que les conditions : GetIsID MONPalePassChefDonStark == 1
Avant de poursuivre, il faut rajouter ce topic à la liste des topics visibles ingame : Ouvrez la quête MONDialogPalePass, et cliquez sur le topic GREETING en haut de la liste des topics. Cliquez sur la première info "Je ne sais pas ce que vous faites ici..." qui est le premier dialogue de stark, et dans son cadre Addtopic, faites un clic droit et New. Rajoutez le topic MONTopicTravailGordon, validez avec OK. Validez encore avec OK pour fermer la fenêtre de quête.
Créez la récompense si on rapporte le fusil de Gordon
Tout d'abord, si vous n'avez pas créé le Fusil de Gordon, faites-le : Allez dans la fenêtre Objects dans Item/Weapon et double cliquez sur WeapSniperRifle. Modifiez son ID en MONWeapSniperRifle. Modifiez son Name en Fusil de Sniper de Gordon.Augmentez son poids (Weight) à 12, ses dommages critiques à (crit dmg) 50, Value à 400 et Crit%Mult à 8. Cochez Quest Item dans le cadre Flags.
Posez dans un premier temps le fusil de gordon à proximité du village (mais pas trop près de stark, des fois que...). Vous pourrez ainsi tester la réussite de la quête plus rapidement.
Ouvrez la quête MONQuestPalePass01, et cliquez sur l'onglet Topics.
Dans la liste des infos du topic MONTopicTravailGordon, cliquez droit sur la première info pour en ajouter une nouvelle. Rentrez la réponse "Tu es plus fort que la mort, hombre ! Je vois que tu as trouvé le Fusil de Gordon ! Donne-le moi. Voilà ta récompense." avec une Emotion Suprise de 100, et validez.
Dans le champ prompt de cette info, mettez le texte : "Je crois que j'ai trouvé ce que vous cherchiez..."
Dans les conditions, le NPC doit être Stark, le joueur doit avoir au moins un fusil de gordon, et le stage de la quête doit être supérieur à 10 :
- Mettez comme première condition GetIsID MONPalePassChefDonStark == 1
- pour la deuxième condition, selectionnez GetItemCount comme fonction, cliquez sur Invalid et selectionnez MONWeapSniperRifle mettez >= comme signe et 1 comme valeur, mettez Run On sur Target : le joueur.
- Pour la troisième condition, selectionnez GetStageDone comme fonction, puis cliquez sur Invalid et selectionnez la quête MONQuestPalePass et l'index 10.
Si toutes ces conditions sont réunies, le joueur reçoit 400 caps, 200 points de karma, et la quête passe à l'étape 100. En Result End, mettez :
player.additem caps001 400
RewardKarma 200
setStage MONQuestPalePass01 100
Faire un dialogue d'après-quête
Nous pouvons mettre un dialogue avec Stark dans le cas où la quête est terminée : Rajoutez une info en tout en haut de la liste des infos de la quête, en cliquant droit sur la première ligne. Dans la fenêtre Response, marquez "Je n'ai plus rien à te demander.", avec une Emotion Type neutre à 50. Validez avec OK. Et comme prompt à cette info mettez : "Vous aurez encore du travail pour moi ?". Ensuite, mettez comme condition GetStageDone 100 == 1, et GetIsID MONPalePassChefDonStark == 1
Mettez à jour les Quest Stages
Ouvrez la quête du fusil, et cliquez sur Quest Stages. Cliquez sur l'index 10. Dans le Result script à droite, rentrez :
setObjectiveDisplayed MONQuestPalePass01 10 1
setstage MONQuestPalePass01 10
Cela signifie que lorsque la quête passe à l'index 10, on affiche les objectifs journal de l'index 10, et qu'on valide le passage du stage 10 dans les quest stages.
A l'index 100, rentrez :
setObjectiveCompleted MONQuestPalePass01 10 1
rewardKarma 200
completeAllObjectives MONQuestPalePass01
Cela signifie qu'on met en affichage journal que l'objectif 10 a été rempli, que le joueur a 200 points de karma, et que tous les objectifs de quête sont remplis (la quête est terminée).
Terrain de jeu de la quête
Maintenant que la quête est mise en place, essayez-là. Elle est très simple de structure, et très simple à jouer, pour peu qu'on aît un bon niveau. L'opposition est tout de même relevée, avec des ennemis de type différent : mélée, fusil simple, fusil à lunette, chiens qui détectent et peuvent avertir les punks : ils font partie de la même faction !
Nous pouvons corser encore un peu la quête en mettant une difficulté supplémentaire. Un champ de mine placé par les gardes rendra l'approche très hasardeuse ! Et un chemin sûr matérialisé par des boites de conserves permet de les éviter, si on a le sens de l'observation. Enfin, pour le punk à chien Rodriguez, qui est si redoutable avec le Fusil à Lunettes de Gordon, nous le ferons dormir tard dans la nuit : cela permettra au joueur sournois de l'approcher grâce à un StealthBoy, et de l'abattre rapidement pour lui voler l'objet de la quête.
Champ de Mines
Pour installer des mines chargées, ce n'est pas dans Weapon qu'il faut les prendre, mais dans Special Effects/Projectile : les MineFragProjectile. Placez-en entre le village et le camp raider, en laissant un chemin sur la droite.
Le chemin sûr de bouteilles vides
En même temps qu'ils ont posé les mines, les gardes de Pale Pass ont matérialisé un chemin sûr pour les éviter et progresser jusqu'au camp raider.
- Mettez une plateforme rocheuse "RockCanyon18rad1046" (dans la section Static/Landscape de l'arborescence de la fenêtre Object) un peu après le village en direction du camp raider, sur la droite à flanc de colline. Faites ensuite grace à l'outil Landscape Editing une rampe pente douce pour monter dessus (élevez le terrain avec une brosse à 2 ou 3). Corrigez un peu le Navmesh à cet endroit là (la plateforme et la rampe) pour qu'il correspnde au nouveau dénivelé.
- Ouvrez l'outil Object Palette Editing (menu World du GECK) et chargez la palette RandomClutter.opl. Cherchez l'objet Tincan, et faites un Ctrl-Alt-Clic Gauche au début de la rampe. Baissez manuellement et positionnez la boite de conserve en centrant sur elle avec la touche C. Posez ainsi des boites tout le long de la crête comme indiqué sur l'image.
Rajouter un package Sleep à Rodriguez
Rodriguez sera la plupart du temps en position idéale pour vous shooter, en haut de son perchoir. Cependant, il ira dormir de 2h du matin à 11h du matin, de même qu'une punkette. Cela fera deux ennemis en moins pour ceux qui savent qu'une bonne embuscade ne se tend pas en plein jour !
Ouvrez la fenêtre du NPC de base Rodriguez (MONRaiderRodiguez). Cliquez sur l'onglet Packages. Normalement, il a déjà un package DefaultStayAtEditorLocationWeaponDrawn : il est en haut du perchoir prêt à tirer à toute heure de la journée. Rajoutons un package Sleep :
- Cliquez-droit sur la première ligne de l'AI Package List, et selectionnez New. Dans la fenêtre Package qui s'ouvre, rentrez l'ID du Package "MONPackRodriguezSleep" puis selectionnez comme Package Type (en haut à droite de la fenêtre) : Sleep.
- Le premier onglet de la fenêtre est maintenant Sleep : rentrez l'endroit où Rodriguez devra trouver un lit : selectionnez Editor Location (pres du perchoir), et selectionnez un rayon de 512 unités. Dans l'onglet Flags, selectionnez Weapons Unequipped. Dans l'onglet Schedule, mettez Time à 2 et duration à 9.
Rodriguez, à partir de 2h du matin, cherchera un lit de libre pour y dormir 9 h, son arme rangée.
Validez avec OK et vérifiez que le package sleep est bien en premier dans la liste : il sera prioritaire tant que les conditions seront réunies.
Ajouter des Dialogues d'aide ou de background
Nous pouvons rajouter deux dialogues sur Gordon, pour être un peu éclairé sur son histoire. Un pour les gardes, et un pour un des habitants de la maison commune, Herbert Chadwick.
Les gardes diront que Gordon était juste un habitant qui leur filait des coups de mains. Que c'était l'ami d'Herbert et que son fusil a une efficacité redoutable. Herbert dira que Gordon avait un penchant pour la bouteille qui le désolait. Il avait marqué un chemin sûr pour éviter les mines avec.
Toujours dans le topic MONTopicTravailGordon, ajoutez une info en dessous de celles de stark. Mettez comme réponse "J'ai bien connu Gordon, il était courageux, mais il buvait trop. Il avait même marqué un chemin sûr avec des bouteilles pour passer les mines.", une Emotion Type Sad à 100, et validez. Comme Prompt mettez "Vous connaissiez Gordon ?". Comme conditions, mettez GetIsID MONPalePassVillageois04 == 1 et GetStageDone MONQuestPalePass01 10 == 1 et getstagedone MONQuestpalePass 100 == 0.
Mettez comme Réponse "C'était un habitant d'ici, un bon ami d'Herbert. Son fusil de Sniper était d'une efficacité meurtrière." En Prompt, mettez "Je dois trouver le fusil de Gordon...". En conditions mettez GetInFaction MONFactionPalePassGardes == 1 et GetStageDone MONQuestPalePass01 10 == 1 et getstagedone MONQuestpalePass 100 == 0