====== Introductions aux .def ====== Le format .def utilise pour commencer et terminer les tags suivants: [general] allow_combat: 0 allow_rain: 1 map_name: `Ile du Trépont sous la neige` [/general] ===== Liste des tags ===== Voici maintenant la liste entière des options que vous pouvez mettre dans les différents tags. Il est aussi inclus les attributs de zone. En règle générale, 1 veut dire Oui, 0 veut dire Non (comme normalement), sauf mention contraire. [general] map_name: #Si vous voulez simplement les attributs de défaut, vous n'avez pas à l'écrire ici. need_p2p: min_level: max_level: min_combat: max_combat: allow_rain: rain_start_chance: rain_stop_chance: rain_thunder_chance: death_loss_chance: allow_combat: allow_multicombat: allow_beam: allow_tport: allow_harvesting: allow_manufacturing: allow_summoning: allow_spellcasting: allow_potions: timed_heat: timed_cold: timed_poison: timed_corrosion: timed_damage: timed_radiation: walk_heat: walk_cold: walk_poison: walk_corrosion: timed_heal: timed_mana: timed_food: research_rate: [/general] Le point de téléportation est activé quand vous marchez dessus - Par exemple, marcher sur un portail. [teleport_point] teleport_src_x: teleport_src_y: teleport_dst_x: teleport_dst_y: teleport_map: type: [/teleport_point] La zone d'interdiction crée un carré où vous devez spécifier les coordonnées des coins : Axe Y | y2 _____ | | | | | | y1 |_____| | |___________ Axe X x1 x2 Le système de coordonnées ci-dessus est le même pour tous les autres définitions à base de zone, alors souvenez vous en. Où l'interdiction n'a plus cours, utilisez les [attributes] [interdiction_area] min_x: min_y: max_x: max_y: can_manufacture: [/interdiction_area] [text_area] min_x: min_y: max_x: max_y: call_small: text: [/text_area] Ceci servira à faire apparaitre un texte spécial quand le joueur cliquera sur l'objet avec l'icône d'œil : [object_name] object_id: object_name: [/object_name] Ceci s'utilise quand vous voulez donner un nom spécial à la zone - C'est le texte qui apparait quand vous cliquez sur la boussole : [location_info] min_x: min_y: max_x: max_y: text: [/location_info] La zone ciblée est utilisée pour spécifier une action spéciale qui va arriver quand vous cliquerez sur un objet. Vous pouvez seulement cliquer sur l'objet en question quand vous êtes dans la zone appropriée. [use_area] min_x: min_y: max_x: max_y: teleport_x: teleport_y: teleport_map: map_object_id: inv_object_id: send_sparks: too_far_text: wrong_object_text: use_text: open_book: [/use_area] [sound_area] min_x: min_y: max_x: max_y: min_minute: max_minute: min_hour: max_hour: positional: radius: frequency: chance: loops: sound_name: [/sound_area] Comme c'est une nouvelle addition, la syntaxe sera un peu différente pour les attributs. Les tags suivants sont disponibles: ( - ) need_p2p - Si c'est une zone où vous devez payer pour aller - Par défaut: non min_level - Le niveau minimal pour entrer dans la zone - Par défaut: 0 (aucun) max_level - Le niveau maximal pour entrer dans la zone - Par défaut: 0 (aucun) min_combat - Le niveau minimal en combat pour entrer dans la zone ((Attaque+Défense)/2) - Par défaut: 0 (aucun) max_combat - Le niveau maximal en combat pour entrer dans la zone ((Attaque+Défense)/2) - Par défaut: 0 (aucun) allow_rain - S'il va pleuvoir sur cette zone ou non - Par défaut: 1 rain_start_chance - La chance pour que la pluie commence - Entre 0 et 100 - Par défaut: 1 rain_stop_chance - La chance pour que la pluie arrête - Entre 0 et 100 - Par défaut: 5 rain_thunder_chance - La chance pour qu'il y ait des éclairs - Entre 0 et 100 - Par défaut: 20 death_loss_chance - La chance de perdre les objets quand vous mourrez (Calculée une fois par objet) - Entre 0 et 1000 - Par défaut: 500 allow_combat - Est-ce que c'est une zone PK? - Par défaut: 0 allow_multicombat - Permettre le combat à partenaires multiples? - Par défaut: 0 allow_beam - Niveau maximal autorisé à utiliser &casedepart à partir de cette zone - par défaut: 0 (Tous peuvent faire &casedepart) allow_tport - Est-ce que la téléportation est permise sur cette carte? - Par défaut: 1 allow_harvesting - Est-ce que la récolte est permise? - Par défaut: 1 allow_manufacturing - Est-ce que la fabrication est permise? -Par défaut: 1 allow_summoning - Est-ce que la nécromancie est permise - Par défaut: 1 allow_spellcasting - Peux-tu utiliser la magie dans cette zone? - Par défaut: 1 allow_potions - Peux-tu faire des potions dans cette zone? - Par défaut: 1 timed_heat - Dommage de chaleur par minute - Entre 0 et 100 - Par défaut: 0 timed_cold - Dommage de froid par minute - Entre 0 et 100 - Par défaut: 0 timed_poison - Dommage de poison par minute - Entre 0 et 100 - Par défaut: 0 timed_corrosion - Corrosion damage par minute - Entre 0 et 100 - Par défaut: 0 timed_damage - Dommage par minute - Entre 0 et 100 - Par défaut: 0 walk_heat - Dommage de chaleur par pas - Entre 0 et 100 - Par défaut: 0 walk_cold - Dommage de froid par minute - Entre 0 et 100 - Par défaut: 0 walk_poison - Dommage de poison par pas - Entre 0 et 100 - Par défaut: 0 walk_corrosion - Dommage de corrosion par pas - Entre 0 et 100 - Par défaut: 0 timed_heal - Point de vie récupéré par minute - Entre -5 et 5 - Par défaut: 1 timed_mana - Point de mana récupéré par minute - Entre -5 et 5 - Par défaut: 1 timed_food - Point nutritif utilisé par minute - Entre -5 et 5 - Par défaut: 1 research_rate - La vitesse de lecture (en %) - Entre 0 et 500 - Par défaut: 100 [attributes] [] min_x: min_y: max_x: max_y: value: La valeur de l'attribut (0: non ou 1: oui) text: Le texte qui apparaitra quand l'attribut sera activé [/] [/attributes] ==== Exemple ==== [attributes] [allow_multicombat] min_x: 22 min_y: 44 max_x: 33 max_y: 55 value: 1 text: Tu entres dans une zone de combat à partenaires multiples [/allow_multicombat] [allow_harvesting] min_x: 3 min_y: 4 max_x: 33 max_y: 44 value: 0 text: Quoi? Tu essais de prendre des fleurs sur les tombes? Pauvre irrespectueux! [/allow_harvesting] [rain_start_chance] min_x: 22 min_y: 4 max_x: 32 max_y: 14 value: 100 text: Il pleut, comme toujours... [/rain_start_chance] [/attributes] Un exemple plus parlant - Une écriture libre du fichier .def de "L'Ile du Trépont" : [general] allow_combat: 0 allow_rain: 1 map_name: `Trépont à Noël` [/general] bateau "banner2" [use_area] min_x: 12 min_y: 18 max_x: 29 max_y: 29 teleport_x: -1 teleport_y: -1 teleport_map: -1 map_object_id: 441 inv_object_id: -1 send_sparks: 0 too_far_text: `Tu es beaucoup trop loin` use_text: `Tu as ouvert un parchemin secret!` wrong_object_text: `Rien ne se passe` open_book: 2 Ci-dessus une utilisation de la nouvelle fonction qui permet au client d'ouvrir une fenêtre de livre sur clic. [/use_area] Texte de l'objet "sign-to docks" [use_area] min_x: 28 min_y: 57 max_x: 36 max_y: 69 teleport_x: -1 teleport_y: -1 teleport_map: -1 map_object_id: 525 inv_object_id: -1 send_sparks: 0 too_far_text: `TU ne peux pas lire le signe loin comme ÇA!` use_text: `Sud- Vers le port` wrong_object_text: `Rien ne se passe` [/use_area] [location_info] min_x: 11 min_y: 15 max_x: 36 max_y: 39 text: `- Le port` [/location_info] [location_info] min_x: 123 min_y: 96 max_x: 163 max_y: 163 text: `- Les bois` [/location_info] [location_info] min_x: 157 min_y: 33 max_x: 180 max_y: 67 text: `- Une plage sablonneuse` [/location_info] [location_info] min_x: 139 min_y: 70 max_x: 141 max_y: 84 text: `- Un pont au-dessus d'une belle eau` [/location_info] [text_area] min_x: 152 min_y: 114 max_x: 152 max_y: 116 text: `Déguerpis de mes os, toi stupide modèle 3D!` [/text_area] [text_area] min_x: 147 min_y: 127 max_x: 149 max_y: 130 text: `N'as-tu donc aucun respect pour les morts!?` [/text_area] Maison verrouillée "house3" [use_area] min_x: 81 min_y: 118 max_x: 81 max_y: 120 teleport_x: -1 teleport_y: -1 teleport_map: -1 map_object_id: 187 inv_object_id: -1 send_sparks: 0 too_far_text: `Tu es trop loin de la porte` use_text: `La porte est verrouillée` wrong_object_text: `Rien ne se passe` [/use_area] "Tavern" [use_area] min_x: 63 max_x: 68 min_y: 132 max_y: 135 teleport_x: 20 teleport_y: 12 teleport_map: 2 map_object_id: 71 inv_object_id: -1 send_sparks: 0 too_far_text: `Tu es trop loin de la porte` use_text: `Bienvenue à la taverne de Reca` wrong_object_text: `Rien ne se passe` [/use_area] "House5" [use_area] min_x: 89 min_y: 102 max_x: 91 max_y: 109 teleport_x: 53 teleport_y: 48 teleport_map: 2 map_object_id: 96 inv_object_id: -1 send_sparks: 0 too_far_text: `Tu es trop loin de la porte` use_text: `` wrong_object_text: `Rien ne se passe` [/use_area] "House4" [use_area] min_x: 94 min_y: 161 max_x: 103 max_y: 163 teleport_x: 57 teleport_y: 13 teleport_map: 2 map_object_id: 72 inv_object_id: -1 send_sparks: 0 too_far_text: `Tu es trop loin de la porte` use_text: `` wrong_object_text: `Rien ne se passe` [/use_area] "House2" [use_area] min_x: 72 min_y: 148 max_x: 76 max_y: 150 teleport_x: 17 teleport_y: 54 teleport_map: 2 map_object_id: 63 inv_object_id: -1 send_sparks: 0 too_far_text: `Tu es trop loin de la porte` use_text: `` wrong_object_text: `Rien ne se passe` [/use_area] "Portes de la tour blanche" [use_area] min_x: 117 min_y: 151 max_x: 123 max_y: 156 teleport_x: 19 teleport_y: 66 teleport_map: 32 map_object_id: 797 inv_object_id: -1 send_sparks: 0 too_far_text: `TU es trop loin de la porte` use_text: `` wrong_object_text: `Rien ne se passe` [/use_area] bateau nord->sud [teleport_point] teleport_src_x: 177 teleport_src_y: 141 teleport_dst_x: 78 teleport_dst_y: 57 type: 0 teleport_map: 0 [/teleport_point] bateau sud->nord [teleport_point] teleport_src_x: 80 teleport_src_y: 58 teleport_dst_x: 176 teleport_dst_y: 139 type: 0 teleport_map: 0 [/teleport_point] Pièce secrète (map6nf_cave) [teleport_point] teleport_src_x: 166 teleport_src_y: 73 teleport_dst_x: 62 teleport_dst_y: 38 type: 0 teleport_map: 17 [/teleport_point] "newbie cave" [use_area] min_x: 35 min_y: 67 max_x: 42 max_y: 74 teleport_x: 60 teleport_y: 138 teleport_map: 43 map_object_id: 1348 inv_object_id: -1 send_sparks: 0 too_far_text: `Va dans la grotte, ensuite clique sur la roche au-dessus de ta tête pour entrer dans la grotte` use_text: `` wrong_object_text: `Rien ne se passe` [/use_area] ===== D'autres exemples ===== Mettre un niveau d'attaque nécessaire pour entrer dans une carte (SVP, n'utilisez pas cette fonction sans demander à l'équipe en premier) [general] allow_combat: 1 allow_rain: 1 allow_multicombat: 1 allow_beam: 0 min_level: 30 map_name: `Marche de Kilaran` [/general] Une nouvelle arêne d'invocation qui réduit la mana nécessaire à l'invocation [attributes] [bonus_summoning_area] min_x: 90 min_y: 130 max_x: 100 max_y: 150 value: 1 [/bonus_summoning_area] [/attributes] Tout ce qui est dans [general] (excepté Map_name) a besoin d'une valeur de 1 ou après. [exemple = allow_rain: 0 veut dire qu'il n'y aura jamais de pluie sur la carte.] 1 veut dire ON ou oui, 0 veut dire OFF ou non] Et [général] est toujours en premier! [general] map_name: `Nom cool de la carte ici.` allow_multicombat: allow_harvesting: allow_rain: allow_combat: [/general] Si vous avez besoin d'une téléportation en marchant sur une case "Teleportation vers quelque carte" [teleport_point] teleport_src_x: teleport_src_y: teleport_dst_x: teleport_dst_y: type: 1 teleport_map: [/teleport_point] Src est la SouRCe, ce qui veut dire la case où le joueur doit marcher pour se faire téléporter. Dst est la DeSTination, l'endroit où le joueur apparaitra Ce qui suit est du [use_area], Tout objet 3D que as besoin de cliquer sur pour te téléporter ou changer de carte ou pour faire apparaitre un message utilisera ceci. "Signpost to map8" [use_area] min_x: min_y: max_x: max_y: teleport_x: teleport_y: teleport_map: map_object_id: inv_object_id: -1 send_sparks: 0 too_far_text: `Approche-toi.` use_text: `Si vous voulez qu'un message apparaisse, mettez-le ici.` wrong_object_text: `Rien ne se passe.` [/use_area] Avec un maximum et minimum de 4, vous créez une zone où le joueur doit être pour utiliser tout objet que vous avez listé. Assurez vous qu'AUCUNE des différentes zones que vous allez créer ne se croise. Ce qui suit est utilisé si vous voulez que le joueur voit un endroit ajouté lorsqu'il touchera le compas. Par exemple : Si le map_name: est `Typing` et que les joueurs cliquent sur la boussole, il apparaitra "Vous êtes dans Typing". Si vous avez une location_info qui dit `alot` et que les joueurs cliquent sur le compas, il apparaitra "Vous êtes dans Typing alot" [location_info] min_x: min_y: max_x: max_y: text: `L'endroit particulier va ici.` [/location_info] Vous avez sûrement déjà vu ces messages 'Attention! Cette carte est une carte PK!' Vous pouvez vous aussi avoir vos propres messages si vous les mettez dans votre fichier def [text_area] min_x: min_y: max_x: max_y: text: `Mettez votre message cool ici` [/text_area] Quand vous créez un [use_area] sur ta carte, soyez certains d'inscrire très clairement ce que c'est. Exemples: "Forgeron de la cité de Pierre-Blanche -> Extérieur" [use_area] min_x: min_y: max_x: max_y: teleport_x: teleport_y: teleport_map: map_object_id: inv_object_id: -1 send_sparks: 0 too_far_text: `Rend-toi plus près` use_text: `Si vous voulez qu'un message apparaisse, mettez-le ici.` wrong_object_text: `Rien ne se passe` [/use_area] "Cité de Pierre-Blanche-> Intérieur de la forge" [use_area] min_x: min_y: max_x: max_y: teleport_x: teleport_y: teleport_map: map_object_id: inv_object_id: -1 send_sparks: 0 too_far_text: `Rend-toi plus près` use_text: `Si vous voulez qu'un message apparaisse, mettez-le ici.` wrong_object_text: `Rien ne se passe` [/use_area] "Intérieur de la forge de la cité de Pierre-Blanche -> Arrière-salle de la forge" [use_area] min_x: min_y: max_x: max_y: teleport_x: teleport_y: teleport_map: map_object_id: inv_object_id: -1 send_sparks: 0 too_far_text: `Rend-toi plus près` use_text: `Si vous voulez qu'un message apparaisse, mettez-le ici.` wrong_object_text: `Rien ne se passe` [/use_area] ====== Comment obtenir les coordonnées dans l'éditeur de cartes ====== - Ouvrir l'éditeur de cartes. Déplacez-vous avec les flèches de ton clavier, pageup/down=zoom, home/end=rotation, m = Minicarte où vous pouvez cliquer pour vous déplacer. - Prenez les coordonnées en utilisant l'option de nivelage. Cliquez sur l'icone qui ressemble à des marches. Cliquez sur l'icone qui ressemble à une flèche avec une étoile derrière. Prenez n'importe lequel des carrés colorés. Cliquez sur p pour obtenir une grille (Ces carrés représentent les coordonnées). Déplacez votre souris (Quand elle a le petit carré de couleur) sur un des carrés de la grille. Les coordonnées x et y sont dans la boîte du coin inférieur gauche. (Astuce : Se mettre en mode vue de haut (Appuyer sur le o du clavier) pour être certain d'être sur la bonne case de la grille) Les coordonnées représentent un rectangle où x1,y1 sont les valeures MINIMALES et x2,y2 les MAXIMALES. ***S'il vous plait, souvenez vous que le (x,y) minimum DOIT toujours être le minimum, et que le (x,y) maximum doit être le maximum! S'ils ne le sont pas, le fichier .def ne fonctionnera pas! Exemple: Correct: "Porte de la tour blanche" [use_area] min_x: 117 min_y: 151 max_x: 123 max_y: 156 teleport_x: 19 teleport_y: 66 teleport_map: 32 map_object_id: 1023 inv_object_id: -1 send_sparks: 0 too_far_text: `Tu es trop loin de la porte` use_text: `` wrong_object_text: `Rien ne se passe.` [/use_area] Incorrect: "Porte de la tour blanche" [use_area] min_x: 123 min_y: 151 max_x: 117 max_y: 156 teleport_x: 19 teleport_y: 66 teleport_map: 32 map_object_id: 1023 inv_object_id: -1 send_sparks: 0 too_far_text: `Tu es trop loin de la porte` use_text: `` wrong_object_text: `Rien ne se passe.` [/use_area] ====== Informations importantes ====== - Vous ne pouvez pas mettre de commentaires dans les tags [attribute] ! Ça énerve, mais malheureusement le serveur ne partira pas si vous les (les commentaires) mettez là. Les commentaires sont les lignes de descriptions que vous mettez au-dessus des différents flags dans les tags attributes ([attributes]). Ne les mettez PAS là! Il faut que l'équipe les enlève à chaque fois. Par contre, il est correct de mettre des commentaires au-dessus des autres tags en dehors de [attributes][/attributes] ; Continuez à le faire. //Tous ce qui n'est pas encadré de []...[/] est un commentaire. Les commentaires servent à s'assurer que ceux qui liront le fichier sachent de quoi vous avez bien voulu parler.// - Lorsque vous rajoutez quelque chose à votre fichier def, s'il vous plait, mettez-les dans un fichier .txt, ne les nommez pas avec une extension .def. L'équipe ajoutera les modification au bon endroit sur le fichier def. - Si vous voulez faire des changements à votre fichier def ou à votre carte, demandez/parlez en à l'équipe avant! Elle vous enverra la version la plus récente dont vous aurez besoin d'utiliser! Si vous faites des modifications à de vieilles cartes, alors ils ne pourrons les utiliser et vous tous aurez perdu votre temps. - Seulement UN [attributes] peut fonctionner dans un fichier, alors mettez tout ce que vous avez entre les même [attributes][/attributes]. Si vous aviez plus d'un [attributes][/attributes], seul le premier fonctionnera. - Vous ne pouvez pas effacer d'objets 3D après avoir commencé à écrire votre fichier .def. Assurez-vous d'avoir FINI votre carte AVANT de commencer. La raison est que puisque tous les ID d'objets sont sauvegardés en ordre numérique, si vous en effacez un, tous les autres seront décalés et auront des ID différentes et vous aurez à tout vérifier et ré-écrire le fichier .def. - Le fichier .def doit avoir le même nom que la carte. - Le numéro de la carte dans le fichier .def (dans les lignes comme: teleport_map:1) ne correspond pas au numéro de votre carte. Ces numéros seront assignés par l'équipe. - Le fichier .def est seulement un fichier de texte et peut être dans n'importe quel éditeur de texte (même bloc-note). Sauvez le fichier avec une extension .def. - Vous pouvez obtenir les coordonnées en survolant les cases de la grille sur l'éditeur à partir de l'outil de nivelage. X pos et Y pos sont les coordonnées (X,y) dont vous aurez besoin et ils sont dans un carré dans le coin inférieur gauche. - Vous pouvez obtenir l'ID de l'objet en cliquant sur l'objet 3D. L'ID de l'objet est dans le carré au bas de l'écran. Alternativement, si vous ne voulez pas bouger l'objet, appuyez ctrl+e et ALT+clique gauche sur l'objet pour avoir ses informations. ====== Sources ====== [[http://www.eternal-lands.com/forum/index.php?showtopic=16835|Topic sur la version US]] traduit par Torino