Bonjour à tous et à toutes,
Je sais que ce tutoriel est l'un des plus attendu en ce moment (avec tout ces nouveaux mappeurs ^^), mais vous devez tout de même savoir que ce tutoriel n'est pas vraiment facile à assimiler. Je vous conseille donc de lire le tutoriel sans pratique une 1ère fois avant de vous lancer et surtout, n'hésitez pas à le relire plusieurs fois pour vos futures map, il vaut mieux être sur de chacune des manipulations plutôt que d'en effectuer une au hasard.
/!\ Ce tutoriel est réservé aux tweakers et tweakeuses expérimentés, il vous est conseillé de connaître les bases du tweaking avant de vous lancer.Ah oui, j'oubliais, ce tutoriel sera sans doutes assez long mais je vous déconseille tout de même de vous arrêter en plein milieu pour reprendre plus tard car vous risqueriez de perdre le fil (pour la 1ère lecture au moins).
La partie présentation étant terminée, nous allons pouvoir commencer
I. Préparation :A. Ce que je dois avoir :Tout d'abord, vous devez avoir une map en fichier .xan (attention, .xan pas .xom).
Pour ceux qui n'en ont pas, téléchargez ma map qui se trouve
ici.
Ne récupérez que le fichier Mixiland.xan et l'image (Mixiland.tga mais gardez-la de côté car on ne s'en servira pas tout de suite).
Une fois que vous avez ça, vous avez le nécessaire (sauf si vous n'avez pas Worms 4 mais ça je suppose que vous le saviez
).
B. Ce que je dois savoir :Alors, là ça devient un peu plus dur.
Voici à peu près tout ce que vous devez savoir :
- le dossier Map contient tous les modèles de map.
- le dossier Themes contient les différents thèmes utilisables sur une map.
- le dossier Databanks contient les données de chaque map.
- le dossier Frontened/Level contient les images de chaque map.
- le fichier script.xml contient les localisations des différents fichiers de chaque map.
- toutes les maps de Worms 4 doivent être en .xan et non pas en .xom (IMPORTANT).
- les thèmes sont regroupés en fichiers texte (Peu Important).
- Chaque modèle de map a son propre et unique fichier de données dans Databanks.
- Toutes les images sont au format .tga (Peu Important).
Bon, ça fait beaucoup de choses d'un coup, mais pour aider à se repérer là dedans, je vais donner quelques explications (c'est plus simple si vous avez des questions) :
Le Modèle de Map : C'est le fichier .xan d'une map, il contient la localisation de chacun de ses pixels ou de ses dummies.
Le Coding de Map : Un nom un peu barbare
, c'est le fichier qui contient les données qui se rapportent au modèle de map (l'image, le thème...). A ne pas confondre avec la balise de la map.
La Balise de Map : C'est le nom que l'on donne à la déclaration des fichiers de la map dans le Script.xml (le Modèle de Map, le Coding de Map, le ou les Scripts de la map, l'Image de Map...). On verra qu'il peut y en avoir plusieurs pour une seule map.
L'image de Map : C'est le nom de l'image qui se rapporte à la map, tout simplement
.
Le Nom de Map : C'est le nom de la variable qui donne le nom de la map.
Ces termes, je les utiliserai tout le long du tuto pour éviter de faire de longues phrases, aussi je vous demanderai d'essayer de bien les connaître.
C. Mon Espace de Travail :Afin de rendre l'application du tuto plus simple pour tout le monde, je propose une disposition de l'espace de travail pour éviter d'avoir à ouvrir, fermer, ré-ouvrir, refermer tout le temps. Libre à vous de le suivre ou de ne pas le suivre.
Pour commencer, vous devez toujours avoir d'ouvert le dossier data car on se déplacera beaucoup dedans durant le tuto, il y aura besoin de créer, de déplacer ou de renommer des fichiers, il est donc fortement conseillé de l'avoir toujours dans sa barre des tâches.
Ensuite, il faudra que certains fichiers xml soient tout le temps ouverts, tel que le script.xml et un bloc-notes vierge qui servira à ouvrir un fichier qui n'existe pas pour le moment.
Une fois cela fait, nous allons enfin pouvoir commencer à mapper
.
II. Installation :C'est la partie principale de ce tuto, celle où tout se joue donc un point qui peut paraître logique pour certains mais je le précise quand même,
ON NE TESTE PAS LE JEU AVANT D'AVOIR FINI !!!Sur ce, on commence :
A. Installation du Modèle et du Coding de Map:Voilà une partie que j'aurais pu diviser en 2 mais étant donné que le modèle de map est le plus simple des fichiers à installer, je vais passer vite là-dessus.
Donc pour commencer, on installe le modèle de map, pour ça, il suffit de :
1. Copier le Modèle de Map (fichier .xan pour ceux qui auraient oublié).
2. Aller dans le dossier map.
3. Coller le Modèle.
4. Et surtout, mémoriser son nom.
Voilà le modèle de map est installé, quand je vous disais que ça allait vite avec lui, c'est que ça va vite
.
Maintenant passons au Coding de map (qui lui est un peu plus long à installer).
[i] Dans l'archive que je vous ai fait télécharger tout à l'heure, il y a déjà un coding de map tout fait. Je vous INTERDIT de l'utiliser (faut apprendre tout de même).Donc alors, pour commencer, le Coding de map n'existe pas encore, nous allons donc le créer. Pour cela :
1. Aller dans le dossier Databanks.
2. Créer un nouveau fichier texte que vous nommerez comme bon vous semble (pour le tuto je le nomme Mixiland).
3. Changer son extension de .txt à .xml.
4. Mémorisez son nom.
5. Ouvrez votre nouveau fichier avec le bloc note vide de tout à l'heure.
C'est maintenant que notre fichier va bien porter son nom, au sommaire, nous allons déclarer dans ce fichier :
- Les Textures de la map.
- Le Thème de la map.
- L'heure de la map.
Voilà déjà quelques déclarations utiles pour notre map.
[i] Un Coding de Map peut contenir d'autres informations que celles-ci, tels que la position des worms sur la map, l'ajout de modèles 3D animés, de cinémaitque ou de particule... mais pour cela, il faut que la map soit constituée de façon particulière.Maintenant, place au code :
Comme tout fichier .xml de worms 4 qui se réspècte, on va commencer par le remplire :
- Code:
-
<?xml version='1.0' ?>
<xomArchive>
<xomObjects>
<XDataBank id='id-0'>
<Section>0</Section>
[DECLARATIONS]
</XDataBank>
[BALISES]
</xomObjects>
</xomArchive>
C'est la base de chaque fichiers xml.
Ensuite, vous remplacerez les codes [DECLARATIONS] et [BALISES] par chacuns des code suivant en notant bien leurs placements.
Declaration :
- Code:
-
<UintResources href='Databank.CustomDetailBank'/>
Balise :
- Code:
-
<XUintResourceDetails id='Databank.CustomDetailBank'>
<Value>0</Value>
<Name>Databank.CustomDetailBank</Name>
<Flags>72</Flags>
</XUintResourceDetails>
L'utilisation de cette balise est encore inconue, elle apparait pour toutes les map il est donc conseiller de la mètre.
Declaration :
- Code:
-
<UintResources href='Databank.CustomTextureBank'/>
Balise :
- Code:
-
<XUintResourceDetails id='Databank.CustomTextureBank'>
<Value>0</Value>
<Name>Databank.CustomTextureBank</Name>
<Flags>72</Flags>
</XUintResourceDetails>
L'utilisation de cette balise est elle aussi inconue, elle apparait aussi pour toutes les map il est donc aussi conseiller de la mètre.
Declaration :
- Code:
-
<StringResources href='Databank.MaterialFile'/>
Balise :
- Code:
-
<XStringResourceDetails id='Databank.MaterialFile'>
<Value>[LOCALISATION_DU_THEME.TXT]</Value>
<Name>Databank.MaterialFile</Name>
<Flags>64</Flags>
</XStringResourceDetails>
Cette Balise permet de définir les textures utilisés en fonction du thème, pour la déclarer, il suffit de remplacer le [LOCALISATION_DU_THEME.TXT] par la localisation du fichier .txt du thème en partant du dossier thème. Ici, je métrais ThemeBuilding\ThemeBuildingW3D.txt.
Declaration :
- Code:
-
<StringResources href='Databank.Theme'/>
Balise :
- Code:
-
<XStringResourceDetails id='Databank.Theme'>
<Value>[NOM_DU_THEME]</Value>
<Name>Databank.Theme</Name>
<Flags>64</Flags>
</XStringResourceDetails>
Cette Balise permet de définir le thème utilisé. Elle correspond au thème de textures utilisé pour la plupart du temps. Pour la déclarer, il suffit de remplacer le [NOM_DU_THEME] par ARABIAN, BUILDING, CAMELOT, PREHISTORIC ou WILDWEST. Ici, je métrais BUILDING.
Declaration :
- Code:
-
<StringResources href='Databank.TimeOfDay'/>
Balise :
- Code:
-
<XStringResourceDetails id='Databank.TimeOfDay'>
<Value>[HEURE]</Value>
<Name>Databank.TimeOfDay</Name>
<Flags>64</Flags>
</XStringResourceDetails>
Cette dernière balise correspond à l'heure de la journé ou le combat ce passe. Elle fonctione de cette façon : [HEURE] peut-être DAY, EVENING ou NIGHT.
/!\ N'allez pas me mètre à la place de [HEURE] 15h17 !!! Je ne veux pas voir cette érreur qui est pour le moins stupide
. Ici, pour le tuto je metrais DAY (qui marche à tous les coups).
Voilà, votre Coding de map est créer et installé, il ne reste plus qu'a le sauvegarder et à passer à l'étape suivante
.
B. Installation de l'Image, du Nom et de la Balise de Map :Nous entrons donc dans l'ultime partie de l'installation de votre map.
Pour commencer, nous allons installer l'image de map, si vous n'en avez pas, vous pouvez toujours sauter cette étape, il y'aura une solution d'image plus tard dans le tuto.
L'installation de l'image de map n'est pas trop compliqué, elle s'éffectue de la même façon que le modèle de map, mais pas dans le même dossier. Il suffit juste de la copier dans... dans... dans ? QUOI, vous ne vous souvenez plus ? raaa c'est pas bien ça
, retournez tout en haut du tuto, c'est marqué dans les truc à ce souvenir (non mais, j'allais pas non plus vous macher le travaille
).
Bon, donc pour ceux qui ont suivit, on va copier l'image dans son dossier et surtout on va se souvenir de son nom (encore quelque chose à ce souvenir). Pour ceux qui utilise ma map dans le tuto, il vous suffit de la copier, pas la penne de la renommer.
Une fois celà fait, votre image est installé.
Maintenant, nous allons installer (ou plutot créer) le Nom de map.
le Nom de map est une variable de texte que nous allons creer dans le fichier MenuTwk.xml.
A la base, vous devriez avoir ceci :
- Code:
-
<?xml version='1.0' ?>
<xomArchive>
<xomObjects>
<XDataBank id='id-0'>
<Section>0</Section>
<ColorResources href='FE.MenuTextColour'/>
<ColorResources href='FE.SelectedCellBackground'/>
<ColorResources href='FE.TextBoxBackground'/>
<ColorResources href='FE.UnavailableWeapCol'/>
[DECALRATION]
</XDataBank>
<XColorResourceDetails id='FE.MenuTextColour'>
<Value r='255' g='251' b='217' a='255' />
<Name>FE.MenuTextColour</Name>
<Flags>96</Flags>
</XColorResourceDetails>
<XColorResourceDetails id='FE.SelectedCellBackground'>
<Value r='2' g='179' b='86' a='60' />
<Name>FE.SelectedCellBackground</Name>
<Flags>96</Flags>
</XColorResourceDetails>
<XColorResourceDetails id='FE.TextBoxBackground'>
<Value r='2' g='60' b='86' a='179' />
<Name>FE.TextBoxBackground</Name>
<Flags>96</Flags>
</XColorResourceDetails>
<XColorResourceDetails id='FE.UnavailableWeapCol'>
<Value r='85' g='130' b='161' a='255' />
<Name>FE.UnavailableWeapCol</Name>
<Flags>96</Flags>
</XColorResourceDetails>
[BALISE]
</xomObjects>
</xomArchive>
[i] Il se peut que vous ayez d'autre chose en plus de cela qui soit présent, tant que vous avez celà, il n'y a pas de problèmes.Ce que nous allons faire est très simple, vous allez ajouté la déclaration et la balise suivante de la même façon que tout à l'heure en remplacant les variable entre [] par celle qui sont déclaré :
Declaration :
- Code:
-
<StringResources href='FE.[NOM_DE_LA_VARIABLE]'/>
Balise
- Code:
-
<XStringResourceDetails id='FE.[NOM_DE_LA_VARIABLE]'>
<Value>[TEXTE]</Value>
<Name>FE.[NOM_DE_LA_VARIABLE]</Name>
<Flags>64</Flags>
</XStringResourceDetails>
Voilà, il ne vous reste plus qu'a remplacer :
- [NOM_DE_LA_VARIABLE] par le nom de votre variable (à retenir encore), pour moi la variable se nomant "FE.Mixiland" elle sera égale à Mixiland.
- [TEXTE] par le nom de votre map, pour moi, se sera MixIland.
Sauvegardez et voilà pour le Nom de Map.
Maintenant, faisons le point, nous avons un modèle de map avec son image, son nom et ces donnés, mais le problème c'est que si on regarde bien, rien de tous ça n'est lié : rien ne précise que l'image de map est bien l'image de ce modèle de map, ni même que ce nom de map correspond à ce coding de ma là... Il va falloir donc tout relier et ça, c'est le travaille de la Balise de Map.
Passons donc à la Balise de Map, par déduction, vous avez certainement deviné qu'elle se trouve dans le fichier script.xml et dedans, on va y mêtre tous ce que je vous ai demandé de retenir.
Pour commencer, on va déclarer une nouvelle map :
1. Insérer une ligne au dessus de </XDataBank>.
2. Marquer <ContainerResources href='Multi.[NOM]'/>.
3. Déscendre au dessus de </xomObjects>.
4. Insérer le codage suivant :
- Code:
-
<XContainerResourceDetails id='Multi.[NOM]'>
<Value href='Multi.[NOM]-0'/>
<Name>Multi.[NOM]</Name>
<Flags>80</Flags>
</XContainerResourceDetails>
<WXFE_LevelDetails id='Multi.[NOM]-0'>
<Frontend_Name>FE.[NOM_DE_MAP]</Frontend_Name>
<Frontend_Briefing></Frontend_Briefing>
<Frontend_Image>[IMAGE_DE_MAP].tga</Frontend_Image>
<Level_ScriptName>stdvs,wormpot</Level_ScriptName>
<Level_FileName>[MODELE_DE_MAP]</Level_FileName>
<Objectives></Objectives>
<Level_Number>0</Level_Number>
<Level_Type>0</Level_Type>
<Lock></Lock>
<Theme_Type>5</Theme_Type>
<Preview_Type>0</Preview_Type>
<BonusTime>600</BonusTime>
</WXFE_LevelDetails>
Maintenant, le code parle de lui même :
- On remplace [NOM] par un nom de map : pour moi Mixiland.
- Et toutes les autres variables, on les remplaces par le nom auquel elle correspondent, Nom de Map, Image de Map...
Pour l'image de map, si vous n'en avez pas, il vous suffit de mètre nolevel.tga qui est une image vide. Mais si vous voulez vous amuser un peu, méttez Default256x256.tga, Team17 nous laisse de drôle de surprise
.
Voilà vous savez désormé installer une map.
Bonne Chance