Ce tutorial est originellement basé sur le tutorial Créer
un Trappe Secrète, qui permet de créer une trappe au sol,
objet qui existe déjà dans le jeu.
Nous avons reçu de nombreuses demandes pour une version "murale" de la trappe, et les artistes de Bioware Tobyn Manthorpe and Jono Lee ont créé un nouveau placeable object qui peut être ajouté à vos modules. Ce tutorial utilise cette nouvelle porte pour créer une porte secrète.
Résumé
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 portes secrètes dans leur campagne. La porte 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 porte restera invisible jusqu'à ce qu'un
PC réussisse un test de compétence. Lorsque le PC réussit
son jet, la porte deviendra visible et utilisable. L'emplacement de la
porte est spécifié par l'utilisation d'un objet invisible.
De plus, une instance d'un Blueprint du placeable object Wall Door (Porte)
sera créée lors du déclenchement de l'objet invisible.
|
Importer la Porte secrète dans le Toolset.
2. Télécharger le nwn_plc_doorway.hak (151 KB) et enregistrez le dans le répertoire 'hak' situé là où vous avez installé Neverwinter Nights (l'emplacement par défaut est C: \NeverwinterNights \NWN \hak).
Note: Pour pouvoir jouer à un module utilisant ce Hak Pak, les joueurs devront eux aussi le télécharger et le placer dans leur répertoire 'hak'.
3. Ouvrez le Toolset et ouvrez ou créez un module.
4. Dans le meu 'Edit' sélectionnez 'Module Properties', puis, dans l'onglet 'Advanced', dans liste déroulante 'HAK File', sélectionnez 'nwn_plc_doorway'.
Note: C'est de cette façon que les Hak Paks sont ajoutés à votre module. Souvenez vous bien que si vous utilisez un Hak Pak pour votre module, les joueurs devront placer le même Hak Pak dans leur répertoire 'hak' pour pouvoir jouer à ce module.
|
Utiliser la Porte secrète dans votre module
L'utilisation de la porte 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 Wall 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 porte. Entrez comme valeur la distance à laquelle vous voulez que votre PC soit capable de trouver la porte. 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 porte. Entrez dans ce champ la valeur que vous souhaitez. Dans mon exemple, je vais faire une porte 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 Wall Door Trigger'. Ce n'est pas nécessaire au fonctionnement mais cela vous permet de le repérer plus facilement. La raison 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 Wall 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 porte 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 'detectwalldoor'
ou le script 'trapdoor' et choisissez 'Edit'. les deux
scripts sont très commentés et devrait être faciles
à comprendre. |
Commentaires de Robert B. à propos de la Porte
secrète:
"Ceci est une extension de la Trappe Secrète. Le principal changement dans cette version est l'utilisation d'un blueprint du placeable de porte ainsi que l'incroporation de quelques uns des retours que j'ai reçu sur les forums.
Il y a trop de personnes pour que je puisse les lister ici, mais j'aimerai remercier tous ceux qui ont posté dans le fil 'Trap Door'. Les commentaires positifs ont montré que l'effort en valait la peine, et les commentaires négatifs et les suggestions d'amélioration ont permis d'améliorer la porte secrète. Ces suggestions ont été incorporées dans cette version.
Les principales différences entre les scripts de la trappe et de la porte sont le nom du blueprint utilisé à la création lors de la détection, ainsi qu'une optimisation stoppant le test du heartbeat lorsque le dernier PC a avoir été testé est hors du rayon de détection.
La porte utilise le même script onUse que la trappe."
__________________