Page 1 sur 1

[TUTORIEL] [CARTES] CHAPITRE 4 : Les Travel Tiggers d'un fichier are

Posté : lun. 08 oct. 2012, 09:57
par Armand
Créer une map pour bg2 (Chapitre 4)


[justify]Donc le travail reprend, y’a encore beaucoup de boulot sur ce projet de tutorial alors c’est pas le moment de chômer ! On va attaquer une grosse partie maintenant : on va bosser sur ce que DLTCEP appelle les « régions ». En gros il existe trois types de régions qui servent grosso-modo à faire 3 types de choses distinctes (mais comme bien souvent avec WeiDU on va s’apercevoir qu’il y a maintes exceptions) :[/justify]

  • Les Travel triggers (qui comme leurs noms l’indiquent permettent de voyager)
  • Les Info Triggers (qui vont permettre d’afficher l’équivalent de display string à la demande du joueur)
  • Les Trap Trigger (même chose ici c’est transparent ce sont les pièges)

[JUSTIFIER]De même que pour les ambients, ces différentes actions peuvent être réalisées sous IE tileset map editor mais comme précédemment je vous le déconseille vivement. Déjà ça évite pas mal de crise de nerfs (j’en sais quelque chose) et ensuite ça vous fera gagner un temps considérable. Donc c’est tout bénef quoi ! Alors on démarre avec la première partie les travel triggers ! Tadam !!! Bon oui j’y vais…[/JUSTIFIER]


Les Travel Triggers



[JUSTIFIER]Donc ces magnifiques petites choses vont nous permettre de relier vos zones entre elles. Cela peut être des zones uniquement crée par vous (ce qui est le plus fréquent) mais vous pouvez avoir également des zones existantes. Dans un cas comme dans l’autre le tout est de rester cohérent : si vous entrez dans une tente évitez les formes carré, ça parait logique …
Sur ce trêve de blabla et commençons à rentrer dans le vif du sujet :[/JUSTIFIER]


Image
Image



Voila le vif ! Par default nous allons prendre le cas d’un area construit de toute pièce où il n’existe pas encore de « région ». Tout est grisé, rien n’est opérationnel vous cliquez donc sur « add region » et vous obtenez cet écran ci-dessus. Vous venez de créer votre première région bravo ! Mais pour l’instant il ne serre à rien… Il va donc falloir lui faire prendre forme. Bon ! Si nous commencions par lui donner un nom ?


Image
Image



Voila c’est chose faite. Maintenant observons un peu la manœuvre :

  • J’ai sélectionné l’intégralité de la région name (y compris le « 1. » c’est important) et je l’ai remplace par un nom à moi.
  • Pour le nom voila la codification que je vous suggère (Préfixe+ « type de région »+numéro)
  • Enfin j’ai sélectionné le type de région dans le menu déroulant, ici travel car c’est une région qui va permettre de voyager entre les zones.

Je précise que c’est important de mettre des noms à vous avec préfixe car plus tard pour relier les travel triggers entre eux ou bien encore plus tard lorsque vous toucherez à des manips plus complexe sous NI vous remercierez le ciel de pouvoir dissocier vos régions perso. Une fois le nom attribué il va falloir définir sa taille et sa forme dans le jeu :




Image
Image



Regardons ici un peu ce qui se passe :


- « Edit polygon » va me permettre donc de tracer un polygone qui va déterminer la taille de mon travel trigger. C'est-à-dire l’espace dans lequel je pourrais cliquer pour voyager, ça permet en fait de simuler dans l’esprit du joueur l’ouverture, la porte, etc…
- Ensuite sur la fenêtre avec les deux marqueurs rouge, j’ai cliqué sur « preview » qui me permet d’afficher ma map dans la petite fenêtre à droite et sur insert qui va me permettre de tracer mon travel trigger à l’aide d’une suite de point que je vais poser.


Allez c’est parti pour le traçage !




Image
Image



Ici je me suis baladé dans mon image de droite de tout à l’heure (via les menu déroulants en bas et à droite) pour me poser pile poil devant ce bâtiment. J’ai donc posé les deux premiers points de mon travel trigger qui forment ainsi une droite. Vous pouvez également voir que les deux points ont été enregistré dans la petite fenêtre à gauche. Bon c’est pas tout ça mais on va pas s’arrêter en si bon chemin :




Image
Image

Voila une fois que vous avez fini d’appliquer vos points, vous pouvez cliquez sur « back », pour passez à l’étape suivante. Étape que voici :


Image
Image





Il va falloir déterminer vers quelle zone vous voulez transiter. Pour cela il suffit de renseigner la case correspondante, j’ai nommé la case destination (c’est original n’est ce pas ?). Là, il y a deux possibilités soit votre mod est installé et dans ce cas vous allez chercher votre area grâce à la fonction browse(voir la fenêtre « pick area »), soit vous inscrivez tout simplement la référence de votre area à la main. Autre menu utile le dénommé mais non moins célèbre « cursor index », il vous suffit de changer le numéro pour obtenir l’icône qui vous convient. C’est l’icône qui s’affichera lorsque vous positionnerez votre curseur sur votre travel trigger in game (escalier,porte, sort̷) .
Notez également les deux cases à cocher qui sont assez utiles :


Party required : Oblige le joueur à rassembler son groupe avant de pouvoir voyager.
NPC can’t pass : interdit à tous les personnages qui ne sont pas dans l’équipe de traverser.


Bon c’est pas tout ça mais c’est pas fini, il nous reste à voir une dernière chose : l’entrance. L’entrance est un point qui va vous permettre de déterminer où votre personnage va atterrir dans l’area de destination. Ici même chose le tout est de rester logique : si votre personnage traverse une porte, il est plus que probable qu’il atterrisse de l’autre coté de la porte et non pas au milieu de la map ! Mais ne commencez à vous précipitez sur le menu déroulant d’entrance, allez plutôt par là :


Image
Image



Eh oui ! Comme vous pouvez le voir j’ai basculé dans l’area de destination. Ça parait logique en somme, si je dois déterminer le point ou le personnage atterri il est évident que je dois déterminer ce point dans l’area en question. Comment ça ? Mais si c’est évident !


Toujours le même procédé j’ajoute un entrance avec la commande add entrance et je le renomme à ma manière. Maintenant nous allons appliquer le point en question :


Image
Image





Un petit coup de set entrance et nous y voila. Rien de très compliqué ici j’applique mon point, la petite main griffu apparaît, je clique sur set et boum c’est implanté.



Image
Image

Petite précision dans ce petit screen vous pouvez choisir le facing du personnage lorsqu’il apparaît dans l’area. C'est-à-dire dans quelle direction le personnage est tourné lorsqu’il apparaît.
Mais vous allez me dire : à quoi servent les écritures toutes bizarres (0x26, 0x28, 0x2a) ? Et bien la réponse est simple : j’en sais foutrement rien. IESDP offre bien un semblant d’explication mais dans le contexte j’ai vraiment du mal à voir le rapport. Si vous voulez tout de même vous triturer la cervelle dessus, je vous invite à consulter ce lien : http://iesdp.gibberlings3.net/file_form ... are_v1.htm .


Bien, vous êtes prêt pour le dernier screen (enfin !) ? Le voila :




Image
Image



Nous revoilà dans notre area d’origine où je vais pouvoir aller chercher mon entrance dans le menu déroulant. Nous avons donc un travel trigger opérationnel nous permettant de passer d’une zone à une autre. A vous de faire les autres, c’est long fastidieux et même parfois gonflant mais une fois que c’est terminé, c’est tout simplement jouissif de pouvoir se balader entre nos areas croyez moi !




Sinon on se retrouve comme d’habitude au prochain chapitre pour le prochain type de zone : les info triggers (en construction).

EDIT : Un screen de ce tuto est mort, il sera restauré prochainement.

Posté : mar. 16 oct. 2012, 14:45
par Wolghaï
Je l'avais déjà dit, mais encore merci pour tous tes tutos Armand !!
Concernant celui ci, j'ai quelques interrogations.

* La technique employée ici pour créée la travel-trigger est certainement la bonne pour aller d'une map de ton mod vers une autre ajoutée aussi par ton mod. Par contre, pour se balader d'ici vers une map préexistante, ne sommes-nous pas "obligés" (pour le bien des futurs utilisateurs) d'utiliser Weidu ?

* est-il possible/conseillé d'utiliser un script pour ajouter des triggers, de la façon que tu conseilles d'employer pour placer ses créatures sur sa nouvelle map ?
IF
global(...visitedmap 0...)
THEN
#RESP 100
Wait
createcreature(...)
setglobal(visitedmap 1)
END
* En traçant ma bounding box avec DLTCEP, je vois que je peux enregistrer le polygone comme fichier .ply
Est-il possible d'utiliser un tel fichier pour intégrer une nouvelle bounding box à une map, autrement que par DLTCEP (par exemple avec mon fichier tp2/Weidu, ou à l'aide d'un script comme suggéré à la remarque précédente) ?

Posté : mar. 16 oct. 2012, 16:32
par Armand
Je l'avais déjà dit, mais encore merci pour tous tes tutos Armand !!
Merci ça fait toujours chaud au coeur. Et surtout ça peut m'inciter à en faire d'autres alors n'hésitez pas à me lécher les bottes ! :crazy_pilot: Non plus sérieusement je suis ravi que ça soit utile à de nouveaux modders potentiels.
* La technique employée ici pour créée la travel-trigger est certainement la bonne pour aller d'une map de ton mod vers une autre ajoutée aussi par ton mod. Par contre, pour se balader d'ici vers une map préexistante, ne sommes-nous pas "obligés" (pour le bien des futurs utilisateurs) d'utiliser Weidu ?
Tout dépend ce que tu entend par le "bien des futur utilisateurs" en théorie rien t’empêche de basculer d'une map nouvelle vers une map originale et vice versa. Pour ce faire il te suffit d'indiquer un area de destination avec l'entrance correspondant de l'area de destination. Je l'ai d'ailleurs fais pour mon mod ou tu es renvoyé vers ton lieu d'origine de manière "magique". Après si ce que tu veux faire est réutiliser une map existante mais sans les personnages et items qu'on peux y trouver effectivement ça sera beaucoup plus rapide par tp2.

est-il possible/conseillé d'utiliser un script pour ajouter des triggers, de la façon que tu conseilles d'employer pour placer ses créatures sur sa nouvelle map ?
Non pas par script, par script tu pourras juste activer/désactiver un trigger. Un peu à la manière des différents lieux sur la worldmap qui apparaissent : tous les lieux sont déjà implantés sur la map sauf qu'il sont caché au joueur jusqu'à qu'un évènement justifie leurs présences. Tu as la possibilité d'intégrer des triggers via tp2 par contre et c'est d 'ailleurs devenu beaucoup plus simple et beaucoup plus léger depuis l'apparition de macros intégrées à weidu. Après c'est pas le plus commode sur une nouvelle map, car tu va devoir le faire via dltcep noter les valeurs qui t’intéressent puis patcher dans un second temps. L'implantation de trigger via tp2 est donc comme tu peux t'en douter surtout très utile pour les area existants.
En traçant ma bounding box avec DLTCEP, je vois que je peux enregistrer le polygone comme fichier .ply
Est-il possible d'utiliser un tel fichier pour intégrer une nouvelle bounding box à une map, autrement que par DLTCEP (par exemple avec mon fichier tp2/Weidu, ou à l'aide d'un script comme suggéré à la remarque précédente) ?
Je sais que ietme permet partiellement cela : on peut copier une "region" pour placer ailleurs sur la map. Tu peux d'ailleurs le faire en théorie si tu recherche ce genre d'effet tu as une fonction sur ton clic droit "add as travel region" puis "clone object". Mais par tp2 (puisque par script ça ne sera pas possible comme je te l'ai dit) ça me semble plus compliqué vu que tu indiqueras des valeurs x/y (ou abscisse ou ordonnée pour les matheux), formant des points, points formant des lignes, lignes qui forment le polygone. Du coup ces valeurs sont en quelque sorte unique sur chaque map que tu fera selon moi.

Après je peux me tromper mais en dehors d'ietme ce que tu me dis ne me semble pas envisageable. Quand au fichier . ply, c'est intéressant en effet de voir ce qu'on peut faire avec mais personnellement je ne saurais pas t'aiguiller sur le sujet n'aillant jamais testé. Je me renseignerai sur le sujet cependant ça m’intéresse. Après peut être quelqu'un ayant eu l'occasion de toucher à ces fichiers saura t'aiguiller davantage.

Posté : mar. 16 oct. 2012, 22:37
par Wolghaï
Tout dépend ce que tu entend par le "bien des futur utilisateurs"
Je voulais dire : "un mod weidu", lequel à l'installation modifiera la map existante à partir de son "état courant" (cad: peut-être déjà modifiée par d'autres mods).
Il me semble que les modifications effectuées selon ton tuto sont faîtes "en dur" sur la map. Donc si un joueur installe ton mod, sa map préexistante devra-t-être remplacée par celle où tu auras appliqué le "edit polygon", etc ... n'est ce pas ?
Or, si on remplace une map déjà moddée, il risquerait d'y avoir problème...
Après, je conçois qu'en faisant selon ton tuto, ça sera pratique en local, pendant la réalisation.

Après si ce que tu veux faire est réutiliser une map existante mais sans les personnages et items qu'on peux y trouver effectivement ça sera beaucoup plus rapide par tp2.
Je ne crois pas que ça pose problème de conserver PNJ, items,..., sur une map qu'on veut modifier. ^^
J'ai trouvé un bout de code à ce sujet. Est ce qu'il utilise déjà ces fameuses macros intégrées à weidu ? sinon, ces macros ressemblent à quoi ?
► Afficher le texte
Sinon concernant le fichier .ply, je me posais juste la question sans réel besoin. mais si quelqu'un sait, tant mieux !

Posté : mer. 17 oct. 2012, 14:10
par Armand
Je voulais dire : "un mod weidu", lequel à l'installation modifiera la map existante à partir de son "état courant" (cad: peut-être déjà modifiée par d'autres mods).
Il me semble que les modifications effectuées selon ton tuto sont faîtes "en dur" sur la map. Donc si un joueur installe ton mod, sa map préexistante devra-t-être remplacée par celle où tu auras appliqué le "edit polygon", etc ... n'est ce pas ?
Oui tout à fait c'est complètement en dur de toute manière le pacth se fera par tp2. Ce que j'indique dans ce tuto c'est vraiment lorsque tu veux implanter une zone à toi dans le jeu. Concernant le patch vu que j'étais motivé j'ai commencé à créer un nouveau tuto (j'en suis à une bonne moitiée la) qui indiquera en détail la manip avec des liens autours sur les macros et un ou deux post utiles de par le web. Ça sera disponible ce soir si j'ai le temps ou demain sinon le temps que je finisse monde réel oblige.
Je ne crois pas que ça pose problème de conserver PNJ, items,..., sur une map qu'on veut modifier. ^^
Le code que tu montre c'est vraiment l'ancienne méthode les macros permettent de synthétiser tout ça en quelque lignes. Ca a vraiment été une maj très sympa de weidu ! Donc tout ça dans le prochain tuto !!

Posté : jeu. 18 oct. 2012, 09:55
par Armand
Petit retard au final, j’étoffe un peu le Tutorial tant que j'y suis. Enfin on ne va pas s'en plaindre y'aura plus de matière du coup. Il sera posté dans la journée dans tous les cas.

Posté : mer. 23 mars 2016, 22:37
par Freddy_Gwendo
Pour les ceusses qui se désolaient, j'ai actualisé les liens des images. ^^

Bonne lecture. ;)