Le fil d'actu GC
Accéder au site
Accéder au site
Le deal à ne pas rater :
Pokémon EV06 : où acheter le Bundle Lot 6 Boosters Mascarade ...
Voir le deal

Voir le sujet précédentAller en basVoir le sujet suivant
Arcadoli
Arcadoli
Membre Confirmé
Tutoriel Ajout d'une nouvelle MAP - Partie 2 Bar_150_3
Messages : 245

Tutoriel : Création de MAP

Deuxième partie : Intégration de la map dans la région « Génération city »

Ce tutoriel est en deux parties mais je commence par la deuxième car plusieurs personnes ont déjà créés des maps et ce tutoriel leur permettra de les intégrer au jeu. Je ferai la première partie de ce tutoriel consacré à la création de la map proprement dite dans peu de temps. Cette partie est donc axée sur l'intégration de cette map dans la nouvelle région "Génération City" afin de ne plus remplacer une map existante.


Quand vous avez créé votre map, vous obtenez un fichier PATCH. Décompressez-le avec PakUnpak.

Vous obtenez les fichiers suivants :

• data/gfx/landscape/votremap.land
• data/gfx/landscape/layers/votremap_sim_*****.png (10 fichiers)

Il vous faudra ajouter les fichiers suivants :

• data/design/script/interface/maplist.data
• data/design/script/interface/mapsavemgr.master
• data/design/script/siminfo/layers_votremap.lua
• data/gfx/landscape/materials/votremap(sans le _0x)_mat(0x).xml
• data/interface/ddstexture/maps/votremaps.dds
• data/level/votremap.lvl
• data/localization/fr/mapsnames_votremap.fr

Téléchargez la carte que j'ai créée, décompressez le patch pour obtenir ces fichiers.
http://www.generation-city.com/files/arcadoli/zModMap_MessaGC.patch
Cela servira d'exemple et de base pour ce tutoriel, ce sera plus concret.

Explications préalables :

Quand vous créez une map avec MapEditor, vous devez choisir quelle carte originale sera remplacée par la vôtre, ce qui est embêtant et c'est le but de ce tutoriel.

En réalité il vous demande de choisir une map existante afin d'utiliser un fichier LVL existant.
Un fichier LVL fait référence à un fichier .LAND.

Notez qu’un fichier LVL et un fichier SOL (sauvegarde) est exactement le même type de fichier.

Un fichier LVL contient non seulement la référence d'un fichier LAND mais aussi tout ce qui se trouve sur la carte (arbres, routes éventuelles, ...)

Juste pour info, le fichier LAND lui ne contient "que" la carte en 3D et l'eau (que ce soit sur un plan limité pour les lacs et rivières ou sur un plan infini pour la mer).

Quand on décompresse un fichier LVL (ou SOL), on obtient un fichier gamedata.bin et c'est ce fichier qui nous intéresse. Plus de détails plus loin.

Pour créer ma carte, j'ai utilisé dans MapEditor cette carte : PlainsLakeVolcano_01.
Pour ne pas faire de dégâts dans le fichier gamedata.bin (voir plus loin), j'ai juste changé le 01 en 08. Vous pouvez changer ce que vous voulez dans le nom à condition de respecter le nombre de caractères. Mais en ne changeant que le chiffre, ou juste un caractère, c'est plus facile pour la suite.

La première chose à faire :

Décompresser le fichier LVL puis ouvrir le fichier gamedata.bin dans un éditeur hexadécimal (pas de panique!).
Supprimer le fichier LVL d'origine.
Dans l'éditeur Hexa, faites une recherche sur le nom de la map originale : recherchons "volcano", vous obtiendrez 2 occurrences du mot :

• Data/Gfx/Landscape/PlainsLakeVolcano_08.land
• Data/Gfx/Landscape/Materials/PlainsLakeVolcano_Mat08.xml

Remplacez le 08 par autre chose, disons 0A.
Sauvegardez les changements effectués dans ce fichier gamedata.bin.

Avec PakUnpak/Outils/Créer un fichier LVL, re-compressez ce fichier gamedata.bin, et nommez le fichier de sortie afin qu'il corresponde au changements que vous avez effectués, donc ici : PlainsLakeVolcano_0A.lvl

Supprimez le fichier gamedata.bin.

Dans le dossier data/gfx/landscape/, changez le nom du fichier land : PlainsLakeVolcano_0A.land
Dans le dossier data/gfx/landscape/materials, changez le nom du fichier xml : plainslakevolcano_mat0A.xml

Note : ce fichier peut-être édité selon vos goûts : en effet les textures listées à l'intérieur sont utilisées sous certaines conditions. Je n'ai pas encore approfondi l'usage de ce fichier, mais vous pouvez tester avec d'autres textures qui sont dans les répertoires du dossier data du jeu décompressé.

Dans le dossier data/gfx/landscape/layers/, renommez les 10 fichiers .png pour qu'ils aient la même base de nom que votre fichier land et lvl.



Avant de passer à l’édition des fichiers restants, renommons-les de la même façon que les fichiers précédents.

Voici les fichiers à renommer :

• Layers_votremap.lua
• Votremaps.dds
• Mapsnames_votremap.fr

Ce qui donnera dans ce cas précis :

• data/design/script/siminfo/layers_PlainsLakeVolcano_0A.lua
• data/interface/ddstexture/maps/PlainsLakeVolcano_0A.dds
• data/localization/fr/mapsnames_PlainsLakeVolcano_0A.fr

Les deux autres fichiers doivent garder le même nom, à savoir :

• data/design/script/interface/maplist.data
• data/design/script/interface/mapsavemgr.master

Note importante sur ces deux fichiers :

Ces deux fichiers ont été repris du mod REGION_BASE de Jeff10, version 3 afin d’assurer la compatibilité avec son mod et PakUnpak Import/Export de villes. A « cause » de ces deux fichiers, il faut s’assurer que le patch que nous allons créer soit chargé APRES le patch de Jeff. Nous donnerons donc un nom plus loin dans l’alphabet que le nom du mod de Jeff. On en reparlera plus loin.

Maintenant que vous avez renommé les fichiers restants, une petite explication sur chacun d’eux :

Maplist.data : ce fichier contient les infos des ressources de la carte mais uniquement pour l’affichage quand on choisit la carte sur la planète. Elle renseigne aussi quel fichier sera utilisé pour la vignette.dds de la carte.

Mapsavemgr.master : ce détermine l’emplacement des maps sur les régions/slots. On y définit aussi une « variable » qui sera lue dans le fichier de localization pour afficher une légende dans la fenêtre de présentation de la map sur l’écran planète.

layers_PlainsLakeVolcano_0A.lua : ce fichier active (ou non) les layers des ressources. Ainsi, même si vous avez créé une zone d’agriculture dans le MapEditor, si ce n’est pas activé dans ce fichier, cela n’apparaîtra pas dans le jeu.

PlainsLakeVolcano_0A.dds : Ce fichier est la miniature qui est affiché dans la fenêtre de présentation de la map sur l’écran planète. (Format DXT1, pas de mipmaps)

mapsnames_PlainsLakeVolcano_0A.fr : ce fichier est appelé par Mapsavemgr.master. Il contient le nom de la carte et la légende qui apparait dans la fenêtre de présentation de la map sur l’écran planète. Je vous conseille d’utiliser Notepad pour éditer ce fichier car il a un format un peu particulier (dans Notepad : Menu Encodage/Encoder en UTF-16LE).


Edition des fichiers

Maplist.data : voici un copier/coller de ce que vous devez ajouter à la fin du fichier, mais avant la dernière accolade « } »

-----------------------------------------
["PlainsLakeVolcano_0A"] = {
["Flags"] = {},

Resources = {
OILS = 1,
WATR = 1,
AGRI = 3,
HLDY = 1,
},

Editions = {"DEMO",},

Difficulty = 20,

Surface = 90,

TransportAvailability = 100,

["Active"] = true,
["Image"] = "PlainsLakeVolcano_0A.dds",
["Playable"] = true,
},

Explications :

La 1ère ligne renseigne le nom de la map.
Dans la partie ressource (pétrole, eau, agriculture et vacances), vous entrez un chiffre de 1 à 3 ce qui correspond au nombre d’étoiles qui seront affichées lors du choix de la map (écran planète).
Difficulty, surface et TransportAvailability sont exprimés en pourcent et correspondent respectivement à la difficulté, la quantité de surface plane et de disponibilité de connexions des routes avec le bord de la map.
Enfin, ["Image"] = "PlainsLakeVolcano_0A.dds" correspond au fichier de la vignette qui sera affichée lors du choix de la map (écran planète).


Mapsavemgr.master : La partie qui nous intéresse se trouve sous « Region7 = } »

Vous pouvez placer votre ville sur un slot 1 à 9. Ne remplacez que les 3 premières valeurs entre guillemets, sans toucher aux nombre qui suivent, ils ont été soigneusement entrés par Jeff.

Exemple :

Map1 = {"&PlainsLakeVolcano_0A", "PlainsLakeVolcano_0A","&PlainsLakeVolcano_0A_Desc","118","156","5"},

Si vous utilisez un slot déjà utilisé par une map créée par une autre personne, cette map sera remplacée. Si vous voulez ajouter votre map, vous devez reprendre ce fichier et AJOUTER votre map sur un autre slot, tout en conservant les infos des autres slots ajoutés par les autres créateurs de maps. C’est un inconvénient actuellement, mais je suis en train de chercher un autre moyen.
Notez que le fichier précédent, maplist.data doit aussi contenir les infos des maps ajoutées par d’autres.

layers_PlainsLakeVolcano_0A.lua : Ce fichier est très simple. Il vous suffit de l’ouvrir et les modifications à y effectuer vous sauteront aux yeux ! Simplement : pour chaque ressource, vous activez un layer en fonction des besoins de votre map, en donnant le chemin de votre fichier .png.

PlainsLakeVolcano_0A.dds : Ce fichier sera créé en dernier et après avoir déjà testé une fois votre carte dans le jeu car vous avez besoin de faire une capture écran dans le jeu (F11) pour que cette vignette reflète effectivement l’aspect de votre carte.
Editez ce fichier dans Gimp ou Paint.net. Faites vos modifications et sauvegardez avec les options DXT1 et pas de mipmaps.

mapsnames_PlainsLakeVolcano_0A.fr : Voici un copier coller de ce que doit contenir ce fichier :

#FILE_VERSION 3


#FIELD_ID PlainsLakeVolcano_0A
Nom de ma map

#FIELD_ID PlainsLakeVolcano_08_DIFFICULTY
Difficulté basse
90% de terrain plat

#FIELD_ID PlainsLakeVolcano_08_DESC
Une première carte, soyez indulgents!

Explications :

Sous la première variable vous écrivez le nom de votre carte telle qu’elle apparaître lors de sa sélection sur l’écran planète.
Sous la deuxième, il s’agit d’une brève description du niveau de difficulté.
Sous la troisième, une description de votre map. Vous pouvez utilisez
pour passer à la ligne si votre texte est un peu long.

Créer le Mod :

Utilisez PakUnpak pour créer votre fichier MOD.
Donnez-lui un nom commençant par un z, par exemple : zModMap_maMap.patch
La raison de ceci est que ce mod doit absolument être chargé après le mod créé par Jeff qui lui, porte un nom commençant par un « Y ».



Voilà pour ce tutoriel, j’espère qu’il vous sera utile et qu’il est assez compréhensible. N’hésitez pas à m’envoyer vos remarques et suggestions.

Arcadoli.


Créateur de Cities XL PakUnpak.
paquet
paquet
Membre Émérite
3 2 Tutoriel Ajout d'une nouvelle MAP - Partie 2 5 Tutoriel Ajout d'une nouvelle MAP - Partie 2 Bar_150_3
Messages : 3588

Super tutoriel !


Tutoriel Ajout d'une nouvelle MAP - Partie 2 Sans_t25
Arcadoli
Arcadoli
Membre Confirmé
Tutoriel Ajout d'une nouvelle MAP - Partie 2 Bar_150_3
Messages : 245

Merci Wink Je vais essayer de faire la partie 1 bientôt.


Créateur de Cities XL PakUnpak.
Lesime
Lesime
Administrateur
Tutoriel Ajout d'une nouvelle MAP - Partie 2 2 Tutoriel Ajout d'une nouvelle MAP - Partie 2 Bar_150_3
Messages : 4218

https://lesime.fr
Excellent ! J'espère que ça va motiver du monde Wink
Roxel
Roxel
Responsable du Comité Economie
Tutoriel Ajout d'une nouvelle MAP - Partie 2 2 Tutoriel Ajout d'une nouvelle MAP - Partie 2 1 1 3 Tutoriel Ajout d'une nouvelle MAP - Partie 2 Bar_150_3
Messages : 10317

Superbe tuto, quoique on s'y perd vite :aie:

Bon travail Arca ! :greattt:


Tutoriel Ajout d'une nouvelle MAP - Partie 2 Clicim12Tutoriel Ajout d'une nouvelle MAP - Partie 2 Comm1111 - "Champions from beyond the rift, heed my call!" - The Crystal Exarch
- "When we hit our lowest point, we are open to the greatest change." - Avatar Aang, to Korra
Tutoriel Ajout d'une nouvelle MAP - Partie 2 Comm_m10
Contenu sponsorisé
Voir le sujet précédentRevenir en hautVoir le sujet suivant
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum