WB Le modding pour les nuls (et les autres)

正在查看此主题的用户

Arnor02

Recruit
Alors, voila, j'en ai marre de chercher dans toutes les parties du forum des tutos, pas toujours en francais, pour créer un mod, alors je vais faire ca en partant de zéro, pour tout le monde, avec les truc exacts tels qu'ils se présentent.
Je fais au fur et à mesure de ma progression, alors ca ne va pas forcément aller tres vite...
Au fait, je suis plutot débutant, si je me trompe, n'hésitez pas à me le dire, je corrigerais.


Python
Python est le logiciel qui permet de modifier les modules systems.
On peut le télécharger içi:http://www.python.org/ftp/python/2.7.1/python-2.7.1.msi
Attention, ne pas télécharger d'autres versions, excepté la 2.6, celles plus récentes buggent.
Je mettrais içi les instructions pour la version 2.7.

Installer python
Il y a ensuite une petite manipulation, qui varie en fonction de votre systeme.
Pour Xp:
Faites un clic droit sur "Poste de travail" (Dans le menu démarrer), puis selectionnez propriétés.
Ensuite, cliquez sur "avancé" puis sur "variables d'environnement"
Cherchez ensuite la ligne "path" (en minuscules) et cliquez sur "modifier".
rajoutez simplement ";C:\Python27"
Attention, ne mettez pas les guillemets, cependant, le point-virgule doit etre incorporé, sinon ca ne marchera pas.

Pour Vista:
Faites un clic droit sur "Ordinateur" (Dans le menu démarrer), puis selectionnez "propriétés".
Ensuite, cliquez "Parametres systeme avancés" et enfin sur variables d'environnement.
Cherchez ensuite la ligne "path" (en minuscules) et cliquez sur "modifier".
rajoutez simplement ";C:\Python27"
Attention, ne mettez pas les guillemets, cependant, le point-virgule doit etre incorporé, sinon ca ne marchera pas.
 
Les modules Systemes
Les modules Systemes (Modul systems, en Anglais) sont les infos dont le jeu a besoin opur tourner, et ce qu'il faut modifier pour faire un mod à soi.

En premier lieu, il faut les télécharger.
Pour Mount and Blade: http://www.mbrepository.com/file.php?id=1716
Pour Mount and Blade Warband: http://download2.taleworlds.com/mb_warband_module_system_1134.zip

Ensuite, crééz donc un nouveau dossier qui servira de base à votre mod dans le dossier module de mount and blade, ou de warband, en fonction du jeu pour lequel vous voulez créer un mod.
Si vous ne savez pas ou ca se trouve, c'est normalement dans
"C:\Program Files\Steam"
Ensuite: Steamapps
Ensuite: Common
Ensuite: Mount and Blade, ou Mount and Blade Warband, en fonction du mod à créer, encore une fois (pour plus de simplicité, et parce que ca m'emmerde de réécrire toujours la même chose, on se basera sur un dénominatif "MnB").
Enfin, vous aller dans "mods" ou "Modules", et vous crééz un dossier avec le nom que vous voulez pour votre mod.

Extrayez ensuite votre module systeme quelque part dans votre ordinateur, par exemple dans un dossier sur votre bureau, mais pas sur le
dossier que vous venez de créer.

Ensuite, copiez l'emplacement de votre nouveau module, par exemple :
"C:\Program Files\Steam\steamapps\common\mount and blade\Modules\MonNouveauMod"
Puis Allez dans le module systeme décompressé et cherchez le fichier nommé "module_info.py"
Faites un clic droit dessus, puis selectionnez "éditer avec IDLE".
Vous aurez une nouvelle fenetre avec des lignes de code.
Remplacez celle ci:
"export_dir = "C:\Program Files\Steam\steamapps\common\mount and blade\Modules\native"
par celle ci (exemple, à adapter en fonction du nom du module, et de l'emplacement)
export_dir = "C:\Program Files\Steam\steamapps\common\mount and blade\Modules\MonNouveauMod"
Enfin vous avez compris le principe, je suppose.
Cependant, attention aux guillemets, cette fois ci ils doivent etre présents dans la ligne de code.

Enregistrez ce fichier, puis retournez sur le dossier des modules.

Copiez le contenu de "native" dans le nouveau mod pour avoir une base, puis executez le fichier "batch" nommé "build_module.bat" dans le module system.
S'il n'y a aucune erreur, vous pourrez éditer votre mod. Cette execution du fichier doit etre faite apres chaque modification du module, et si ca ne marche pas, c'est qu'il y a comme disait ma grand mere "une couille dans le potage" (ou dans ce cas dans un fichier).
Voila, la suite au prochain épisode =)
 
Merci =)
J'ai pris en partie sur les mods en anglais que tu m'a passés, sayd, et le reste de ce que j'ai fait moi même.
Pour la suite, la semaine prochaine =)
 
Bon, je triche un peu, j'ai trouvé la suite traduite en francais, mais en partie seulement, je vais les mettre la, mais avec un lien vers l'ancien topic.

Avant de commencer vous devez savoir trois choses :

    Vous avez seulement besoin des fichiers qui commencent par 'module_'. Les autres, ignorez les.
    Lorsque vous avez fait un changement, et que vous voulez l'intégrer au jeux, vous devez exécuter le fichier «build_module.bat». Cet outil vous dira s'il y a des erreurs dans les changements que vous avez fait. Si tout compile (car c'est ce qu'il fait, il compile le contenu du module system et le transforme en fichiers texte) comme il faut, c'est-à-dire sans erreurs, le code est bon.
    Certains changements requièrent que vous commencez une nouvelle partie pour voir les changements. C'est à dire que votre partie en cours peut ne pas être affectée par les changements, ou pourrais être corrompue/dysfonctionnelle.


Le module system utilise des listes de python pour représenter des objets dans le jeux. Une liste python commence par un '[' et termine par un ']'. Son contenu contient des objets séparés par des virgules. Voici un exemple dans module_map_icons.py :
Citer

    map_icons = [
      ("player",0,"player", 0.2, snd_footstep_grass),
      ("player_horseman",0,"player_horseman", 0.2, snd_gallop),
      ("gray_knight",0,"knight_a", 0.2, snd_gallop),
      ("vaegir_knight",0,"knight_b", 0.2, snd_gallop),
      ("peasant",0,"peasant_a", 0.2,snd_footstep_grass),
      ("khergit",0,"khergit_horseman", 0.2,snd_gallop),
      ("axeman",0,"bandit_a", 0.2,snd_footstep_grass),
      ("woman",0,"woman_a", 0.2,snd_footstep_grass),
      ("town",mcn_no_shadow,"City", 0.9,snd_footstep_grass),
    ]


C'est une liste de python, contenant des objets 'map_icons' c'est la dire les icônes sur la carte (par exemple, une ville, un joueur). Dans l'exemple : ("player",0,"player", 0.2, snd_footstep_grass) c'est un objet. En anglais, on les appelle des 'Tuples' alors je vais les appeler comme ça. Ces tuples contiennent des éléments qui sont séparés par des virgules, mais commencent et terminent par des parenthèses. Voici comment ces éléments sont structurés dans le module_map_icons.py :

    nom de l'icône
    'flags' de l'icône
    Nom du 'mesh1'
    Taille du 'mesh'
    No du son


Et donc avec l'example ("player",0,"player", 0.2, snd_footstep_grass) :

    nom de l'icône = "player"
    'flags' de l'icône = 0
    Nom du 'mesh' = "player"
    Taille du 'mesh' = 0.2
    No du son = snd_footstep_grass


Vous pouvez donc modifier les tuples en modifiant la structure.

Nom de l'icône : Le nom auquel vous ferez référence dans des codes à venir.
'Flags' de l'icône : Se trouvent dans ID_map_icons.py.
Nom du 'mesh' : Se trouve dans le brf approprié2.
Taille du 'mesh' : 1 = taille normale
No du son : Se trouve dans module_sounds.py.

1 : Mesh = Un 'mesh' est un objet, donc le modèle de l'objet plus la texture.
2 : Un BRF est un fichier regroupant différents modèles et textures. Le nom du BRF dit parfois ce qu'il contient, mais desfois c'est moins évidant. Ouvrez celui que vous pensez que c'est, par exemple, dans l'exemple que j'ai pris, c'est map_icons_meshes.brf, puis dans l'onglet mesh, c'est le nom d'un mesh.
 
后退
顶部 底部