Créer une trappe secrète .
de Robert Babiak
traduit par Kemay


Résumé

Assurez vous de jeter un oeil au tutorial Créer une Porte Secrète qui utilise un nouveau type de porte!


Avant la Détection
 

Aucun donjon n'est vraiment complet sans ces malicieuses portes secrètes qui mènent à des richesses inconnues... ou à une mort atroce. Robert Babiak, programmeur chez Bioware, a créé un système qui permettra aux DMs retors d'inclure des trappes secrètes dans leur campagne.

La trappe restera cachée est invisible jusqu'à ce quelle soit découverte par un PC qui possède la compétence Search.


Après la Détection
 
En résumé, une trappe restera invisible jusqu'à ce qu'un PC réussisse un test de compétence. Lorsque le PC réussit son jet, la trappe deviendra visible et utilisable. L'emplacement de la trappe est spécifié par l'utilisation d'un objet invisible. De plus, une instance d'un Blueprint du placeable object Trap Door (Trappe) sera créée lors du déclenchement de l'objet invisible.
 


Importer la Trappe secrete dans le Toolset.

1. Télécharger la Hidden_Door.erf - version 1.3 (13 KB)
(Les Mises à jour sont listées à la fin de ce tutorial)
2. Enregistrez la à un emplacement que vous pourrez retrouver.
3. Ouvrez le Toolset.
4. Dans le menu 'File' sélectionnez l'option 'Import'.
5. Naviguez jusqu'à l'emplacement où la "Hidden_Door.erf" est enregistrée.
6. Sélectionnez 'OK' et lisez les commentaires si vous le souhaitez.
7. Cherchez dans la palette 'Custom Placeable' les deux nouveaux blueprints. Vous les trouverez dans la catégorie 'Miscellaneous Interior' sous les noms 'Hidden Trap Door' et 'Hidden Trap Door Trigger'.

 


Utiliser la Trappe secrete dans votre module

L'utilisation de la trappe secrète est basée sur 3 éléments:

8. Ouvrez votre module dans le Toolset.

9. Dans la palette de placeables, sélectionnez 'custom' et localisez le 'Hidden Trap Door Trigger'.

10. Sélectionnez le, et peignez en une instance dans votre module.

 

11. Faites un clique droit sur le trigger et sélectionnez 'Properties'.

12. Dans le champ 'Tag', entrez un tag pour cette porte secrète. Nommé la de façon claire, dans cet exemple, je vais l'appeler 'Sous-sol'.

13. Ensuite, sélectionnez le champ 'Reflex Save' qui est utilisé pour contrôler la distance à laquelle le PC peut essayer de repérer cette trappe. Entrez comme valeur la distance à laquelle vous voulez que votre PC soit capable de trouver la trappe. Dans mon exemple, je vais la mettre à 15 mètres. La taille d'un tile est de 10 mètres donc 15 mètres représentera 1 tile et demi.

 

 

14. Sélectionnez maintenant le champ 'Will Save', qui est utilisé pour contrôler le DC pour trouver cette trappe. Entrez dans ce champ la valeur que vous souhaitez. Dans mon exemple, je vais faire une trappe moyennement difficile à trouver et mettre le DC à 20. Un porte facile à trouver aurait un DC de 15 et une porte très dure à trouver un DC de 30. Un test de compétence "non entrainée" est basé sur un d20, donc tout DC au-delà de 20 sera TRES difficile à trouver. Il est à noter que les scripts de la trappe sont écrits de façon à ce que le test soit effectué à chaque 'heartbeat' du trigger (approximativement toutes les 2 secondes) donc un joueur restant dans les alentours a des chances de la trouver s'il y passe suffisamment de temps.

15. Cliquez sur 'OK' pour fermer le menu des porpriétés.

16. Dans la palette de Waypoints, sélectionnez 'Generic Waypoint' et placez en un à l'endroit ou se trouve le 'Hidden Trap Door Trigger'. Ce n'est pas nécessaire au fonctionnement mais cela vous permet de le repérer plus facilement. La raiso de ceci est que le trigger est fait à partir d'un objet invisible qui donc ne sera pas visible dans le toolset à moins qu'il ne soit sélectionné.

17. Maintenant placez un waypoint à l'emplacement où vous voulez que votre trappe secrète mène.

18. Faites un clique droit sur ce Waypoint et sélectionnez 'Properties'.

19. Dans le champ 'Tag', tapez DST_ suivi du tag de votre Hidden Trap Door Trigger que vous avez entré à l'étape 13. Dans mon exemple je mets DST_BASEMENT.

 

Note: Les Tags sont sensibles à la casse (font la différence entre les majuscules et les minuscules).

20. Cliquez sur 'OK' pour fermer cette boîte de dialogue.

21. Sauvegardez votre module et lancez une partie avec votre module.

22. Prenez votre sympathique voleur et placez vous près de la trappe secrète. Lorsqu'elle sera détectée, elle apparaîtra et vous pourrez l'ouvrir. Elle agira maintenant comme une porte normale.


Voir le code

 
Si vous souhaitez regarder les 2 scripts utilisés pour créer la fonctionnalité Porte Secrète, vous les trouverez dans la liste de Scripts, dans la partie listant le contenu du modules (à gauche de l'écran). Faites un clique droit sur le script 'detectsecret' ou le script 'trapdoor' et choisissez 'Edit'. les deux scripts sont très commentés et devrait être faciles à comprendre.


Mises à Jour des Scripts - Nouveau das la version 1.3


Commentaires de Robert B. à propos de la Trappe secrète:

"Le développement de cette paire de placeables n'était pas très difficile. J'ai commencé avec un trigger standard qui créait un object. Cette approche fonctionnait, mais j'ai eu deux difficultés. La première était que la trappe apparaissait à l'endroit où le premier point du trigger avait été placé, et la seconde difficulté était que vous deviez entrer dans le trigger pour détecter la porte. Ceci empêchait la découverte fortuite de la trappe secrète car le test de compétence n'était effectué qu'à l'entrée dans le trigger, puis jamais restesté à nouveau.

L'idée suivante était d'utiliser un object invisible pour sur le onHeartBeat si un PC était assez proche de l'object, et si oui faire le test de compétence pour voir si le PC trouvait la porte.

Après avoir créé la trappe, j'ai joué un peu avec le code déplaçant vers un waypoint. Au début je prévoyais de faire un script particulier pour chaque trappe secrète qui déplacerait le PC vers un waypoint, mais j'ai finalement décidé que cela pouvait être fait avec un script générique."


__________________
Kemay
Cinq personnes sur quatre ont des problèmes avec les fractions.