Remarque : Pour faire une sauvegarde des
conversations, vous devez ajouter ces lignes dans le fichier user.ini :
[Conversations] SchemaChangesAllowed=true
Ce tutoriel traite des objectifs. Les objectifs sont des combinaisons de conversations et de scripts déclencheurs (Trigger Scripts). On va commencer avec quelque chose de simple, c-à-d voler un verre. D'abord on a besoin de mettre un "Conversation Package", c'est un ensemble de conversations qu'on peut utiliser dans le niveau. On peut mettre plus d'un "package" à une map.
1. A partir du menu View,
choisissez Level Properties. Déroulez la dernière
arborescence tout en bas et choisissez LevelInfo > Conversation
Package. Si votre mission a deux maps appelée MyMap1.gmp et MyMap2.gmp,
il est bon d'appeler votre pack de conversations MyMap.
2. Nous avons à présent besoin de créer une
conversation pour cet objectif, ouvrez le Conversation
Browser (View > Conversations). Déroulez le + de PlayerGarrett,
faites un clic droit et choisissez Add Conversation.
Donnez un nom à cette conversation, quelque chose de simple comme MyMapObjectives.
Mettez une coche dans Remain in First Person.
3. Cliquez sur le bouton Add
Map et tapez le nom du "Conversation Package" (étape 1) dans le champ
au sommet et cliquez sur Add Map. Sélectionnez
la nouvelle map et cliquez sur Ok, elle apparaît
dans la liste Usage.
4. Cliquez sur OK
et sélectionnez votre conversation qui apparaît maintenant dans la section
PlayerGarrett . Dans la section côté droit, faites
un clic droit puis Add > Goal.
5. Tapez un nom pour l'objectif, par ex. objStealGoblet.
Notez-le quelque part, vous en aurez besoin ensuite.
6. Assurez-vous que Initial
State soit paramétré sur Pending et que
l'autre liste soit sur Objective.
7. Tapez une petite phrase d'objectif, le
joueur la verra quand la mission débutera. Tapez par ex. "Volez le verre"
8. Cliquez sur OK
et faites un clic droit Add > End to the same conversation.
9. Cliquez sur File > Save,
File > Compile and File > Export Mission Objectives. Si votre objectif
n'est qu'une boîte à cocher vide, essayez de faire File
> Generate Schemas.
10. Fermez le Conversation Browser.
11. Ajoutez un verre ou une coupe (Goblet)
de votre choix dans la map. On les trouve dans l'Actor Class Browser, WorldObj
> InventoryObject > Loot.
12. Ouvrez les propriétés du verre et allez
dans Scripts > TriggerScripts dans l'arborescence
en bas. Déroulez le + qui apparaît et cliquez Add.
Puis cliquez sur le bouton "…". Cela ouvre le
Trigger Script Browser.
13. Créer un nouveau script et donnez-lui
un nom.
14. Cliquez sur le bouton Condition
puis Frob > When I am frobbed by player.
15. Cliquez sur le bouton Action
puis Goals > Set goal [String] to [Enum:eGoalState]
et cliquez OK.
16. Cliquez sur [String]
et entrez le nom de votre objectif, objStealGoblet.
17. Puis cliquez sur [Enum:eGoalState]
et mettez kGS_Success, cliquez OK.
18. Nous devons à présent initialiser la conversation
lorsque vous commencez la map. Trouvez le PlayerStart
pour votre map et ajoutez un nouveau trigger script.
19. Choisissez la condition Player
> When player starts map, arriving from a different map.
20. Choisissez l'action Conversations
> Queue conversation [string] to play et cliquez OK.
21. Cliquez sur [String]
et entrez le nom de la conversation de l'objectif, dans ce cas : MyMapObjectives.
22. Cliquez OK jusqu'à
ce que vous retourniez à l'éditeur. Sauvegardez votre map et essayez-la.
Lorsque vous vous saisissez de la coupe, vous devriez voir "Objectif atteint"
!
Tutoriels sur T3ed
t3ed.tutoriel.free.fr