Tutoriel en français Initiation à DromEd

Installation
1 - L'interface de DromEd
2 - Création de votre première pièce
3a - Les textures
3b - Les textures
4 - Modifier, déplacer et orienter un brush
5 - Quelques fonctions utiles
6a - Créer de nouveaux brushs - Placer des brushs solides
6b - Créer de nouveaux brushs - Placer des brushs solides
7a - Placer des sources de lumière et des objets
7b - Placer des sources de lumière et des objets
8a - Animer le niveau
8b - Animer les personnages, patrouille
9 - Inventaire de départ
10 - Propagation des sons
11a - Programmer des objectifs de missions
11b - Programmer des niveaux de difficulté - Variations sur les objectifs de base

Le sommaire détaillé


11b. Niveaux de difficulté - Variations sur les objectifs de base

(Frère David)

Dans cette leçon, vous allez apprendre à différencier les objectifs en fonction des trois niveaux de difficulté.

Nous verrons aussi toute une liste de commandes intéressantes, qui peuvent modifier les types d'objectifs de base. Ce qui vous permettra de les faire varier de plusieurs façons.

Pour continuer à suivre ce tutoriel, rechargez la mission créée dans la leçon précédente. A moins que vous en ayez ajouté d'autres, celle-ci ne comporte que deux objectifs : objectif n.0 = "voler le sceptre", et objectif n.1 = "tuer l'araignée". Mais ce sera suffisant pour cette leçon.

Créer des niveaux de difficulté

Lorsque vous créez une fan mission, vous devez commencer par programmer la totalité de vos objectifs, quel que soit le niveau de difficulté pour lequel ils sont prévus. C'est seulement ensuite que vous pourrez les programmer pour être visibles en mode normal, difficile, ou expert.

DromEd reconnaît trois niveaux de difficulté, et les code de la façon suivante :

0 = Normal
1 = Difficile
2 = Expert


Pour expliquer à DromEd quels objectifs sont valables à chacun des niveaux de difficulté, il y a deux commandes à connaître :

goal_min_diff : qui donnera le niveau de difficulté minimum auquel un objectif donné sera visible,
goal_max_diff : qui donnera le niveau de difficulté maximum auquel un objectif donné sera visible.

Comme les autres commandes de programmation pour les objectifs, ces deux commandes s'ajoutent à quest_create_mis.

Un petit exemple pour mieux comprendre…

Supposons que pour votre mission, l'objectif de butin soit de 1000 pour les modes normal et difficile, et de 1500 pour le mode expert.

La première chose à faire est de programmer les deux objectifs. Par exemple, objectif n.0 = "voler un butin de 1000", et objectif n.1 = "voler un butin de 1500"

Ensuite, il faut indiquer à DromEd que le premier objectif n'est valable que pour les modes normal et difficile. Pour cela, il suffit de lui fixer comme maximum le deuxième niveau de difficulté. On tape donc la ligne de commande :

quest_creat_mis goal_max_diff_0,1
(bien entendu en respectant les espaces)


L'objectif n.0 n'apparaîtra donc qu'en mode normal et en mode expert, et ne sera pas affiché parmi les objectifs de mission en mode expert.

Note : dans ce cas, il n'est pas nécessaire de programmer pour cet objectif un niveau de difficulté minimum, puisqu'il doit s'afficher dès le premier niveau de difficulté.

Il reste maintenant à indiquer à DromEd que le deuxième objectif doit apparaître en mode expert, et en mode expert seulement. Pour cela, il suffit de lui fixer comme minimum le troisième niveau de difficulté. On tape donc la ligne de commande :

quest_creat_mis goal_min_diff_1,2


L'objectif n.1 n'apparaîtra donc qu'à partir du mode expert, et ne sera pas encore affiché parmi les objectifs, dans les modes normal et difficile.

Note : dans ce cas, il n'est bien sûr pas nécessaire de programmer un niveau de difficulté maximum, puisqu'il n'y en a pas au-dessus du mode expert.

Il vous suffira donc de combiner ces deux commandes simples pour que vos objectifs soit visibles ou pas, dans les différents modes de jeu.

Application pratique et vérification en mode jeu

Reprenez à présent votre dernière sauvegarde. Vous devez toujours avoir les deux objectifs "voler le sceptre" et "tuer l'araignée". Pour l'instant, ces deux objectifs sont valables, quel que soit le niveau de difficulté choisi.

Exercice pratique : Vous devez faire en sorte que l'objectif "tuer l'araignée" n'apparaisse que pour les modes difficile et expert, et que l'objectif "voler le sceptre" ne soit valable que pour les modes normal et difficile.

Réfléchissez d'abord aux lignes de programmation à taper dans le boîtier de commande. Puis vérifiez avec les solutions ci-après.

Solution : Pour que le premier objectif soit valable dans les modes normal et difficile, il faut lui fixer comme maximum le deuxième niveau de difficulté. Pour cela, vous devez taper :


quest_create_mis goal_max_diff_0, 1
(cette ligne de commande indique à DromEd que l'objectif 0 devra être appliqué aux niveaux de difficulté 0 et 1)

Pour que le deuxième objectif ne soit valable qu'à partir du mode de jeu difficile, il faut lui fixer comme minimum le deuxième niveau de difficulté. Pour cela, vous devez taper :


quest_create_mis goal_min_diff_1,1
(cette ligne de commande indique à DromEd que l'objectif 1 ne devra être appliqué qu'aux niveaux de difficulté 1 et 2)


Vérification en mode jeu
Pendant la réalisation de votre fan mission, vous pourrez avoir besoin de tester un niveau de difficulté particulier. Il vous faudra pour cela passer en mode jeu dans ce niveau de difficulté. Cependant, avec DromEd, vous ne pouvez pas ouvrir la fenêtre de sélection du niveau de difficulté qui apparaît normalement au début du jeu. Par contre, il est possible de taper la ligne de commande :


quest_create_mis difficulty, x
(où x sera le niveau de difficulté dans lequel vous souhaitez jouer (0,1 ou 2))

Utilisez cette commande pour jouer en mode normal. Tapez quest_create_mis difficulty, 0, puis Alt + G. Une fois en mode jeu, tapez O pour ouvrir la fenêtre des objectifs. Normalement, vous ne devriez plus voir qu'un seul carré blanc, correspondant à l'objectif "voler le sceptre".

Retournez dans l'éditeur pour pouvoir passer en mode difficile. Tapez quest_create_mis difficulty, 1, puis Alt + G, et O. Cette fois ci, en ouvrant la fenêtre des objectifs, vous devriez voir apparaître les deux carrés blancs.

Retournez dans l'éditeur et jouez cette fois en mode expert. Tapez quest_create_mis difficulty, 2, etc… Pour finir, dans la fenêtre des objectifs vous ne devriez plus voir qu'un seul carré blanc, correspondant au deuxième objectif, "tuer l'araignée".

Vous pouvez bien sûr vérifier que tout fonctionne bien en réalisant les objectifs de missions programmés. Vous verrez alors les petites coches vertes apparaître à chaque fois que les objectifs seront atteints. Mais rappelez-vous que si vous n'avez pas modifié le user.cfg, accomplir les objectifs vous fera sortir du jeu, sans possibilité de retourner sur l'éditeur.

Très important : Vous pouvez utiliser la commande quest_create_miss difficulty, x pour tester un niveau de difficulté en mode jeu, mais ne sauvegardez pas votre niveau après l'avoir utilisé ! Si vous le faites, votre mission sera figée sur ce niveau de difficulté, et les joueurs ne pourront pas jouer sur un autre mode, même s'il est préalablement sélectionné au début de la partie.

Mais si, par mégarde, vous aviez sélectionné un niveau de difficulté, puis sauvegardé votre mission, il y a moyen de faire machines arrière. Il suffit d'effacer le niveau de difficulté sélectionné en tapant quest_delete difficulty dans le boîtier de commande, puis de sauvegarder votre niveau. La mission fonctionnera à nouveau normalement.

Variations sur les objectifs de base

Pour terminer cette leçon, et ce tutoriel DromEd, voici une liste de commandes utiles qui vous permettront de modifier le fonctionnement des objectifs de base.

goal_final_n : Si la variable n existe, et n'est pas égale à 0, alors lorsque le joueur remplira les conditions normales pour atteindre l'objectif, celui-ci ne sera considéré comme atteint que s'il termine la mission. C'est à dire qu'il ne pourra être rempli qu'en dernier. (On peut l'utiliser par exemple pour les objectifs du type "Lorsque tous vos objectifs seront remplis, retournez à votre point de départ.")

goal_reverse_n : Si la variable n existe, et n'est pas égale à 0, la logique de cet objectif est inversée. Il sera marqué comme "échoué" (et mettra ainsi fin à la mission) si les conditions pour l'atteindre sont remplies, et il sera marqué comme "accompli" lorsque tous les autres objectifs le seront. (Ce qui vous permettra de fixer des objectifs du type "Ne tuez aucun serviteur", en inversant l'objectif "Tuer un serviteur".)

goal_irreversible_n : Normalement, un objectif tel que "prendre un objet" ou "se rendre en un lieu précis" peut être marqué à nouveau comme non accompli, même après avoir été complété (si l'objet est perdu, ou si le joueur quitte le lieu en question). Mais si la variable n existe, et n'est pas égale à 0, l'objectif ne peut plus être marqué comme non accompli une fois qu'il a été atteint. (On l'utilise fréquemment, notamment pour des objectifs du genre "Trouver un moyen d'entrer dans le manoir".)

Compléments sur l'objectif de type 2

Les objectifs du type 2 (tuer une créature) nécessitent la programmation d'une cible, reconnue par son numéro d'identification de brush.

Mais ils peuvent aussi avoir pour cible un numéro d'identification général de la hiérarchie des objets. Dans ce cas, n'importe quelle créature de ce type spécifique sera valable pour satisfaire l'objectif. Par exemple, l'objectif "Tuer un serviteur (n'importe lequel)" se programmerait de la façon suivante :


quest_create_mis goal_type_n, 2 (l'objectif n est du type 2)

quest_create_mis goal_target_n, -52
(toute créature du type -52 peut être comptée comme cible pour l'objectif n)

Mais bien entendu, vous n'oublierez pas que les serviteurs sont innocents et inoffensifs ! Et vous inverserez cet objectif à l'aide de la commande goal_reverse_n

Les objectifs du type 2 ne sont à priori valables que sur des créatures. Mais il peut être intéressant de savoir qu'en ajoutant le script "Jaccuse" à un objet, il pourra être détecté par un objectif de type 2. "Tuer une créature" devient alors "Casser un objet".

Complément sur l'objectif de type 3

Un objectif de type 3 (voler un certain montant de butin), n'a pas besoin d'une cible précise, car il s'agit de cumuler des trésors. Il faut par contre indiquer le montant de butin à atteindre. On utilise pour cela la commande : goal_loot_x, n où n est le montant à atteindre pour satisfaire l'objectif, et x le numéro de l'objectif.

Vous pouvez aussi inclure dans ce montant une partie obligatoire en gemmes, or, ou objets précieux. Les commandes sont les suivantes :

 

goal_gold_x, n, où n est le montant à atteindre en or, dans l'objectif de butin,
goal_gems_x, n, où n est le montant à atteindre en pierres précieuses,
goal_goods_x, n, où n est le montant en joyaux qui doit être atteint.

Complément sur l'objectif de type 4

Pour utiliser un objectif de type 4 (se rendre à un endroit précis), vous devez d'abord créer un brush_pièce. Sélectionnez ce brush et cliquez sur Create, au centre de l'interface DromEd. La boîte de dialogue Room hierarchy apparaît. Cliquez sur le bouton Add, et donnez à cette pièce un nom d'objet spécifique, comme EndPoint. Puis cliquez sur OK. Votre nouveau type de pièce apparaîtra dans la hiérarchie.

Sélectionnez ce type de pièce et cliquez sur Create. Si maintenant vous créez un brush_pièce, il sera du type EndPoint, et aura un numéro spécifique, tout comme les objets. C'est ce numéro que vous devrez utiliser comme cible pour votre objectif de type 4.

Une dernière commande bien utile

Si au cours de votre programmation des objectifs vous avez fait une erreur, et que vous souhaitez revenir en arrière, il est possible d'effacer une ligne de programmation que vous aviez tapée. Pour cela il suffit de taper "quest_delete" suivi de la commande que vous voulez effacer.

Si par exemple vous avez besoin d'effacer la ligne de programmation quest_create_mis goal_state_0, 0 , vous devrez taper quest_delete goal_state_0.

Vous avez juste besoin de taper le numéro de l'objectif. Vous n'aurez pas besoin de la virgule, ni de la deuxième variable, car vous ne cherchez pas à programmer quelque chose pour l'objectif, mais simplement à l'effacer.

 

Voir 11a. Programmer des objectifs de mission
Voir objectifs : en résumé
voir Objectifs : Créer un objectif facultatif

Trucs et astuces sur dromed -- la Bible de Dromed
dromed.tutoriel.free.fr