Les tournois de Wesnoth

Forum communautaire pour les adeptes de The Battle for Wesnoth

Connexion

Récupérer mon mot de passe



Meilleurs posteurs
FREDOUILLE (1025)
 
Luciole (933)
 
Xplosivman (829)
 
Lonolico (568)
 
KalenzZ (549)
 
Niborelf (462)
 
Julien (269)
 
Arakh (263)
 
cmonyiman (260)
 
Phelim (227)
 


Vous n'êtes pas connecté. Connectez-vous ou enregistrez-vous

Tutoriel sur le WML

Voir le sujet précédent Voir le sujet suivant Aller en bas  Message [Page 1 sur 1]

1 Tutoriel sur le WML le Sam 12 Avr - 15:39

Niborelf

avatar
Créateur multi-récidiviste
Bonjour j'ai quelques connaissances en WML et je propose de créer un tutoriel sur ce language.


Sommaire




Si vous désirez nous faire part de vos créations. Vous pouvez postez vos fichiers sur le forum http://forum.wesnoth.free.fr/ et poster ici dans la rubrique téléchargement.



Dernière édition par Niborelf le Mer 1 Oct - 15:06, édité 4 fois

Voir le profil de l'utilisateur

2 Re: Tutoriel sur le WML le Sam 12 Avr - 16:40

Invité


Invité
Je ne sais pas d'où tu viens mais je t'adore toi. Je ne sais pas si tu as regardé les sujets sur la création d'ère (du RP du forum), mais je me demandais si tu serais capable de créer une ère à partir de ce qu'on fait. pour l'instant on a plusieurs dessins et quelques idées pour les caractéristiques. J'avais déjà essayer de créer une ère sur mon ordi en copiant les autres ères mais ça n'a pas marché, et je suis même pas sur que si on m'expliquait je comprendrais. Enfin voilà, moi j'aimerais bien que tu m'aides, en plus peut être que si tu le fais, les autres vont avoir envie de s'y mettre aussi.

3 Re: Tutoriel sur le WML le Sam 12 Avr - 17:41

Xplosivman

avatar
Seigneur Nain
de suite le niveau du forum vient de s'élever d'un cran !! (pourtant c'est dur...)

Voir le profil de l'utilisateur http://www.nimportequi.com/videos.php

4 Re: Tutoriel sur le WML le Sam 12 Avr - 18:03

Niborelf

avatar
Créateur multi-récidiviste
Créer une ère

L'exemple

Code:
[era]
id=Exemple_d_ere
name="Exemple d'ere"

[multiplayer_side]
id=Random
name={MENU_IMG_TXT "random-enemy.png" _"Random"}
random_faction=yes
[/multiplayer_side]


[multiplayer_side]
    id=Humains
    name={MENU_IMG_TXT "human-loyalists/lieutenant.png~RC(magenta>red)" _"Hommes"}
    type=Lieutenant
    leader=Lieutenant,Swordsman,Pikeman,Javelineer
    recruit=Spearman,Bowman
[/multiplayer_side]

[multiplayer_side]
id=Monstres
name={MENU_IMG_TXT "units/monsters/cavespider.png~TC(6,magenta)" (_"Monstres")}

type=Giant Spider
leader=Giant Spider
recruit=Wolf,Mudcrawler,Tentacle of the Deep
[/multiplayer_side]

[/era]

Ceci est un fichier d'ère que j'ai créé. Pour cet exemple, il faut copier ce code dans le dossier "\userdata\data\campaigns\Exemple_d_ere\" de wesnoth sous le nom d' "ere.cfg" . Il faut au préalable créér le dossier "Exemple_d_ere" .
De plus vous devez expliquer à l'ordinateur que vous avez un fichier à charger. Il faut pour cela créer un nouveau fichier .cfg que voici:
Code:
[binary_path]
   path=data/campaigns/Exemple_d_ere/
[/binary_path]

#ifdef MULTIPLAYER
   {@campaigns/Exemple_d_ere/ere.cfg}
#endif

Ce fichier sera nommé "exemple_d_ere.cfg" et sera placé dans le fichier "\userdata\data\campaigns\"
Voilà, vous pouvez tester cette ère sur n'importe quelle map.


Les explications(nécessaires je pense)

Bon le fichier "exemple_d_ere.cfg" n'a rien de spécial, si tu as déjà des campagnes téléchargé alors tu peut remarquer que chacune a un fichier similaire. Cela permet de ranger proprement les fichiers dans des dossiers respectifs pour ne garder qu'un fichier disant à l'ordi que tu souhaite qu'il aille regarder dans ce dossier.
Lorsque j'ai écrit:

Code:
{@campaigns/Exemple_d_ere/ere.cfg}

j'ai déclaré au programme qu'il devait ouvrir le fichier "ere.cfg"

Voyons en détail ce fichier:

les balises(cela s'appelle ainsi les noms entourés de crochets)
Code:
[era]
...
[/era]
disent que tout ce qui est à l'intérieur de ces deux balises définissent une ère.

Code:
id=Exemple_d_ere
id est un paramètre, on lui assigne une valeur et il paramètre la balise le contenant.
En fait le WML est uniquement composé de balises et de paramètres.
On assigne une valeur à un paramètre en mettant un égal puis en mettant la valeur.
Le paramètre id est très important. Il permet de retrouver/réutiliser ce que l'on vient de créer.
Dans notre cas il doit être unique, de même que les id définissant les factions.

Code:
name="Exemple d'ere"
Ce code donne le nom de l'ère tel qu'il apparait.

Code:
[multiplayer_side]
...
[/multiplayer_side]
Ces balises, que j'ai utilisé plusieurs fois permettent de définir une faction. Dans le jeu ce sont les alliances knalganes, loyalistes et autres.

Ici j'en ai créé trois:
la première:

Code:
[multiplayer_side]
id=Random
name={MENU_IMG_TXT "random-enemy.png" _"Random"}
random_faction=yes
[/multiplayer_side]
est une faction aléatoire, le paramètre name permet de déterminer ce que l'on voit comme image et comme nom lorsque l'on doit choisir une faction.
le paramètre random_faction permet de faire en sorte que le jeu choisisse une faction aléatoirement parmi les autres existantes.

Les deux véritables factions ont trois paramètres supplémentaires:

type qui définit le personnage par défaut (je n'en suis pas certain)
leader qui définit les différents leaders pouvant être choisis. Pour rajouter un leader il faut trouver l'id du leader voulu (on trouve cela dans \data\core\units dans les fichiers des unités) après une virgule.
recruit qui définit les unités pouvant être recrutés. De même que pour les leaders il faut rajouter les id des unités

Voilà, tu as tout compris? (en cas de réponse négative pose des questions)

P.S.: je m'occuperais de l'explication des fichiers unités lorsque j'aurais du temps, tu as déjà un bon pavé à lire et à comprendre.



Dernière édition par Niborelf le Mer 14 Mai - 16:42, édité 3 fois

Voir le profil de l'utilisateur

5 Re: Tutoriel sur le WML le Sam 12 Avr - 18:18

Invité


Invité
je crois avoir à peu près compris, mais pour le leader, j'ai peut être pas bien compris. Il faut réécrire à l'identique le nom de l'unité qu'on trouve dans data/core/units/ c'est ça?

6 Re: Tutoriel sur le WML le Sam 12 Avr - 18:22

Niborelf

avatar
Créateur multi-récidiviste
Non c'est plus subtil.
Dans le paramètre leader tu met les id des unités que tu veut avoir comme chef.
Dans certains cas l'id est différent du nom (paramètre name)
Pour les unités de base l'id est identique au name et au nom du fichier donc dans ce cas-là cela ne pose pas de problèmes

J'ai donné l'exemple pour donner une base sur quoi construire.
Donc si tu veut changer une faction tu rajoute/enlève des id d'unités et si tu veu enlever/rajouter des factions tu supprime/copie une faction existante.

P.S.: Je modifie ce que j'ai dit, le nom du fichier n'est pas le même que l'id, tu dois nécessairement ouvrir les fichiers pour avoir l'id spécifique

Voir le profil de l'utilisateur

7 Re: Tutoriel sur le WML le Sam 12 Avr - 20:50

KalenzZ

avatar
Haut Seigneur Elfe du Désert
ou la la, bon je vous laisse reflechir.... moi je vais jouer j'suis meilleur a ca xD

Voir le profil de l'utilisateur http://www.bashfr.org

8 Re: Tutoriel sur le WML le Sam 12 Avr - 22:40

Xplosivman

avatar
Seigneur Nain
kalenz tu avoues que tu es meilleur avec ta souris qu'avec ta tête ?? xD

Voir le profil de l'utilisateur http://www.nimportequi.com/videos.php

9 Re: Tutoriel sur le WML le Dim 13 Avr - 13:13

Niborelf

avatar
Créateur multi-récidiviste
Créer une unité

L'exemple
Vous avez juste à dézipper le fichier disponible ici dans le dossier "/userdata/data/campaigns"

Les Explications

"TDW_era.cfg"

Code:
[binary_path]
  path=data/campaigns/TDW_era/
[/binary_path]
[+units]
   {@campaigns/TDW_era/units}
[/units]
#ifdef MULTIPLAYER
  {@campaigns/TDW_era/era.cfg}
#endif

[+units] et [\units]

Ces balises permetent de rajouter des unités à celles déjà connus (par l'intermédiaire d'extensions ou du jeu normal).

path est un paramètre qui déclare que les fichiers d'unités sont positionés à tel endroit.

"era.cfg"

Code:
[era]
id=TDW_ere_niborelf_1
name="TDW ere niborelf 1"

[multiplayer_side]
id=Random
name={MENU_IMG_TXT "random-enemy.png" _"Random"}
random_faction=yes
[/multiplayer_side]


[multiplayer_side]
    id=Humains
    name={MENU_IMG_TXT "human-loyalists/lieutenant.png~RC(magenta>red)" _"Hommes"}
    type=Lieutenant
    leader=Lieutenant,Swordsman,Pikeman,Javelineer
    recruit=Spearman,Bowman,Archer de Niborelf
[/multiplayer_side]

[multiplayer_side]
id=Monstres
name={MENU_IMG_TXT "units/monsters/cavespider.png~TC(6,magenta)" (_"Monstres")}

type=Giant Spider
leader=Giant Spider
recruit=Wolf,Mudcrawler,Tentacle of the Deep
[/multiplayer_side]

[/era]

Ici une seule chose a changé: c'est l'inclusion de l'unité aillant pour id: "Archer de Niborelf". C'est cette unité que j'ai créé.

archer.png

Ben ça c'est juste l'image de l'archer, il est placé dans un dossier image.

"Archer.cfg"

Code:
#textdomain wesnoth-units
[unit]
    id=Archer de Niborelf
    name= _ "Archer de Niborelf"
    race=elf
    gender=male
    image="archer.png"
    ellipse="misc/ellipse"
    hitpoints=44
    movement_type=woodland
    movement=7
    experience=95
    level=2
    alignment=neutral
    undead_variation=archer
    advanceto=null
    {AMLA_DEFAULT}
    cost=29
    usage=archer
    unit_description= _ "Ceci est un exemple pour le TDW."
    [attack]
        name=sword
        description=_"sword"
        icon=attacks/sword-elven.png
        type=blade
        range=melee
        damage=6
        number=3
    [/attack]
    [attack]
        name=bow
        description=_"bow"
        icon=attacks/bow-elven.png
        type=pierce
        range=ranged
        damage=6
        number=6
    [/attack]
[/unit]
Bon alors ligne par ligne la traduction:

#textdomain wesnoth-units

Ca, ben c un oubli. Cela sert pour les traductions des unités mais là il risque pas de trouver: Archer de Niborelf c'est pas courant.

[unit]

[\unit]


Ces balises définisent: une unitée (c'est mieu)

id: tu connai (il doit être unique pour l'inclure dans les recrutement)

name c'est le nom qui s'affiche, attention à aucun moment il ne faut mettre d'accents sinon ca foire (écrivez en anglais, trouvez des mots sans accents, remplacez les accents par des lettres normales, débrouillez-vous)

race: Ca c'est assez important. Vous trouverez les différents noms de races dans le fichier "\data\core\units.cfg" . C'est utile pour les capacités spéciales comme morts-vivants ou habile. Je t'expliquerai plus tard comment faire pour se créer sa race.

gender ça ca définit si il existe plusieures versions de l'unités (comme pour l'archer elfe) vous mettez soit male, soit female soit les deux séparés par une virgule. Ce dernier cas est assez dur donc ne le faites pas.

image définit l'image au repos de l'unité. L'ordinateur va chercher dans le dossier image de la campagne donc pas besoin de préciser le dossier.

ellipse ça c'est pour la forme de l'ellipse sous les unités (pour les nivs 0 elle est différente.

hitpoints nombre de pts de vie par défaut.

movement_type ça ca définit les résistance, la vitesse sur les terrains et les % de défense. Vous trouverez les différents noms dans le fichier "\data\core\units.cfg".

movement le nb de points de mouvements.

experience ca c'est le nombre de pts d'experience pour le nivo superieur.

level ca c'est le nivo de l'unité.

alignment ca c'est son alignement chaotique/neutre/loyal respectivement chaotic/neutral/lawful

undead_variation ca c'est pour la transformation en zombi (pas bocoup d'importance)

advanceto c'est l'évolution de l'unité (mettre son id ou null si il n'y a pas d'évolution.)

{AMLA_DEFAULT} ca ca dit que lorsque l'unité gagne un nivo elle reste au même point mais gagne des pv supplémentaires.
P.S pour ceux qui auraient téléchargé l'exemple avant que je ne rédige ceci, cela ne fonctionera pas si l'unité gagne un nivo. Merci de me pardonner. J'ai modifié le zip.

cost le nombre de pièces que coute cette unité.

usage ca c'est pour l'AI pas très important.

unit_description la description de l'unité (pas d'accents, pas d'accents, PAS D'ACCENTS)

[attack]

[/attack]


Ceci est une balise gérant les attaques

name est le nom de l'arme pour l'ordi (utile pour des modifs genre shop je pense)

description est le nom de l'arme pour toi (traduit grace au truc que je pensais qui servait pas)

icon est l'image de l'arme

type est le type de dommages infligés:
tranchant -> blade
perforant -> pierce
contendant -> impact
feu -> fire
froid -> cold
sacré -> arcane

damage le premier chiffre de l'attaque.

number le second chiffre de l'attaque.

Et ben voilà c'était pas si compliqué.



Dernière édition par Niborelf le Mer 14 Mai - 16:43, édité 1 fois

Voir le profil de l'utilisateur

10 Re: Tutoriel sur le WML le Dim 13 Avr - 15:10

Invité


Invité
merci pour tous ces renseignements.

PS: pas mal l'archer, 6-3 au corps à corps et 6-6 à distance, il va tout niquer ^^.

11 Re: Tutoriel sur le WML le Dim 13 Avr - 15:15

Niborelf

avatar
Créateur multi-récidiviste
c'est juste un exemple.
En plus il coute 29 pieces c pas rien

Voir le profil de l'utilisateur

12 Re: Tutoriel sur le WML le Dim 13 Avr - 16:18

KalenzZ

avatar
Haut Seigneur Elfe du Désert
c'était pas si compliqué.... xD

Voir le profil de l'utilisateur http://www.bashfr.org

13 Re: Tutoriel sur le WML le Lun 29 Sep - 22:37

Arakh

avatar
Fou désorganisé
scratch c'est très intéressant ce qui est dit par là
ça ressemble un peu a ce que je faisais en C
bn je m'y colle mercredi merci niborelf pour ce tutoriel génial

Voir le profil de l'utilisateur

14 Re: Tutoriel sur le WML le Mar 30 Sep - 20:09

Niborelf

avatar
Créateur multi-récidiviste
ca fait longtemps que je l'ai plus édité.
Et puis ca ressemble un peu au C parce que à la base wesnoth est fait en C et en python.


_________________
(ok je sors...)

Copyright Niborelf 2008-2008
Voir le profil de l'utilisateur

15 Re: Tutoriel sur le WML le Mar 30 Sep - 22:16

Xplosivman

avatar
Seigneur Nain
ya des serpents dans wesnoth ????


bon ok je sooooooors !!!!!

Voir le profil de l'utilisateur http://www.nimportequi.com/videos.php

16 Re: Tutoriel sur le WML le Mar 30 Sep - 22:20

Arakh

avatar
Fou désorganisé
ouais je savais que le C est a la base de pas mal d'autres languages
je verrai demin fo que je Sleep avant sinon j'aurai pas les idées claires Rolling Eyes

euh pour l'histoire des serpents
Arrow Arrow euh sortons albino

Voir le profil de l'utilisateur

17 Re: Tutoriel sur le WML le Mer 1 Oct - 15:03

Niborelf

avatar
Créateur multi-récidiviste
Affecter des paramètres par défaut à une map directement sortie de l'éditeur.

Les dix commandements

1-) Télécharger le fichier "scenario.cfg" disponible ici et enregistrez-le dans le dossier : wesnoth/userdata/data/scenario/multiplayer.

2-) Ouvrez "scenario.cfg" et votre fichier de map avec un éditeur de texte.

3-) Changez dans 'id=votre_map' votre_map en le nom de votre map. faites de même avec 'name="votre map"'.

4-) Changez dans 'description= _ "votre_description"' votre_description en une description de votre choix.(qui s'affiche lorsque l'on met la sourie audessus de la minicarte lorsque l'on choisit le scénario)

5-) Copiez l'ensemble du fichier de votre map (préalablement créé) et collez-le à la place de 'copier-coller votre map ici' dans 'map_data="copier-coller votre map ici"'.


6-) Mettez le nombre de tours par défaut après 'turns=' (mettez -1 pour une infinité de tours). Et mettez le pourcentage d'expérience par défaut après 'experience_modifier='.


7-) Dans le bloc '[side]' modifiez :
'village_gold=' (avec le nombre d'or gagné par village)
'income=' (avec le revenu par défaut)
'gold=' (avec l'or par défaut)
'fog=' (avec 'yes' ou 'no' pour mettre/enlever le brouillard)
'shroud=' (avec 'yes' ou 'no' pour mettre/enlever le voile)


8-) Copiez collez le bloc [side] (de [side] à [/side] ) autant de fois qu'il y a de joueur sur votre map.

9-) Dans chacun des blocs changez le numéro de 'side=' , et pour chaque équipe mettez un numéro différent de 'team_name=' et changez le nom de l'équipe dans 'user_team_name= _ "equipe 1"'.

10-) Sauvegardez sous un autre nom. Jouez.


_________________
(ok je sors...)

Copyright Niborelf 2008-2008
Voir le profil de l'utilisateur

18 Re: Tutoriel sur le WML le Sam 4 Oct - 16:43

Arakh

avatar
Fou désorganisé
euh j'ai peut-etre pas tout fait tres bien mais quand je crée les fichiers de l'ère il ne me les trouve pas
esque ça a un rapport avec le fait que quand on télécharge des ères il les installes avant ou esque c'est pas bien de les mùettre sur le bloc-note ???

Voir le profil de l'utilisateur

19 Re: Tutoriel sur le WML le Sam 4 Oct - 17:01

Niborelf

avatar
Créateur multi-récidiviste
si il les trouve pas c'est qu'ils doivent pas être aux bons endroits...
tu les as bien mis dans le dossier où sont toutes les campagnes?


_________________
(ok je sors...)

Copyright Niborelf 2008-2008
Voir le profil de l'utilisateur

20 Re: Tutoriel sur le WML le Sam 4 Oct - 21:21

Arakh

avatar
Fou désorganisé
je les ai mis sur le bloc notes et j'ai mit le tout dans userdata/data/campaigns
mais ça marche pas Sad

Voir le profil de l'utilisateur

21 Re: Tutoriel sur le WML le Dim 12 Oct - 16:28

Arakh

avatar
Fou désorganisé
bon j'ai cherché un peu et comparé avec ton fichier téléchargeable
dc mon probleme c'est que le tien est en fichier CFG et le mien est un vieux tratement de texte pourrit...
bon j'ai trouvé le problème, pour le résoudre ce sera un peu plus compliqué
je voudrais te demander également su tu peux m'apprendre comment créer les shops des maps survival
(j'avais essayé y'a longtemps mais je n'obtenais rien de plus que des erreurs)

Voir le profil de l'utilisateur

22 Re: Tutoriel sur le WML le Dim 12 Oct - 17:05

Niborelf

avatar
Créateur multi-récidiviste
c pas trop un problème le nom du fichier. Il suffit de le renommer. Smile
pour les shop c simple tu télécharge le SurvivalXtreme. Tu copie le fichier SurvivalXtreme_macros.cfg dans ton dossier de campagne.
et tu rajoute des :
{SURVIVALX_SHOP X Y}
où X et Y c'est les coordonnées de tes shops.
Il me semble que cela fonctionne


_________________
(ok je sors...)

Copyright Niborelf 2008-2008
Voir le profil de l'utilisateur

23 Re: Tutoriel sur le WML le Dim 12 Oct - 17:17

Arakh

avatar
Fou désorganisé
ok je vai voir pour les survivals mais il faut faire une nouvelle ere pour metttre le fichier ..._macros ?

Voir le profil de l'utilisateur

Contenu sponsorisé


Voir le sujet précédent Voir le sujet suivant Revenir en haut  Message [Page 1 sur 1]

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum