Aller au contenu
Top-Metin2.org - Vous êtes à la recherche d'un serveur Metin 2 ? ×
×
×
  • Créer...

Ecrire les MSM's à la main


Metin2 Dev

Messages recommandés

  • Robot

Niveau requis Débutant

Temps estimé : Entre 5 et 10 minutes

 

Ce tutoriel aura pour but de vous apprendre à écrire vos MSM et surtout de vous expliquer plusieurs modèles de codes. Les MSM c'est ce qui lie votre modèle au client.

 

Pré-requis:

  • Notepadd++
  • Vos différents MSM

 

I. Le MSM

Révélation

 

A. Le modèle "par défaut"

Révélation

Je vais donc vous présenter le modèle utilisé par défaut par Metin2 histoire de vous faire d'abord comprendre les lignes et ensuite je vous indiquerai quelques informations complémentaires que vous pourriez utiliser dans d'autres cas de figure.

 

Voici donc le code par défaut



	Group ShapeData21
	{
		ShapeIndex			17
		Model				"assassin_biyeong.GR2"	
		SourceSkin			"assassin_biyeong.DDS"
		TargetSkin			"assassin_2-1_biyeong_a.DDS"
	}

Alors premièrement la chose la plus importante à savoir c'est que les lignes de codes sont faites avec des tabulations (305121tabindex.png)

305223tabtab.jpg Chaque flèche correspond à une tabulation, il ne doit pas y en avoir une de plus ou une de moins

 

Information:  A chaque ajout de ShapeData vous devez augmenter le nombre de groupe à  la ligne ShapeDataCount /HairDataCount/AcceDataCount/SashDataCount

Pour les armures : 

 

ShapeDataXX : Déclaration du groupe avec un numéro unique (Le mieux étant de suivre l'ordre croissant) 

ShapeIndex : Pour vos armures, le nombre doit être le même que votre value3 de votre itemproto sinon vous n'allez jamais voir votre modèle

Model : Le nom de votre modèle.gr2 , il doit être exactement pareil sinon vous ne verrez pas votre modèle

SourceSkin : Sur quelle texture le MSM doit se baser 

TargetSkin : La texture pointée et qui sera montrée lorsque vous équiperez votre armure 

 

Pour les Coiffures : 

 

HairDataXX : Déclaration du groupe avec un numéro unique (Le mieux étant de suivre l'ordre croissant) 

ShapeIndex : Pour vos coiffures, le nombre doit être le même que votre value3 de votre itemproto sinon vous n'allez jamais voir votre modèle

Model : Le nom de votre modèle.gr2 , il doit être exactement pareil sinon vous ne verrez pas votre modèle

SourceSkin : Sur quelle texture le MSM doit se baser 

TargetSkin : La texture pointée et qui sera montrée lorsque vous équiperez votre coiffure

 

Pour les Étoles : 

 

AcceDataXX ou SashDataXX : Déclaration du groupe avec un numéro unique (Le mieux étant de suivre l'ordre croissant) 

ShapeIndex : Pour vos étoles, le nombre doit être le même que votre value3 de votre itemproto sinon vous n'allez jamais voir votre modèle

Model : Le nom de votre modèle.gr2 , il doit être exactement pareil sinon vous ne verrez pas votre modèle

SourceSkin : Sur quelle texture le MSM doit se baser 

TargetSkin : La texture pointée et qui sera montrée lorsque vous équiperez votre étole

 

Information : Les ShapeIndex des costumes sont généralement supérieurs à 40000

 

 

 

B. Les variantes

Révélation
Info. Malgré la première partie il peut y avoir des variantes de MSM notamment avec les armures adaptées

 

I°/Par exemple, votre armure (modèle + textures) ne se situent pas dans vos dossiers pc../warrior../assassin../shaman etc..

Dans ce cas on peut ajouter une ligne qui permet de déclarer oú se situe le tout :



	Group ShapeData27
	{
		SpecialPath			"d:/ymir Work/pc/armureaadaptée/"

		ShapeIndex			26	
		Model				"assassin_4-1.GR2"
		SourceSkin			"assassin_4-1.dds"
		TargetSkin			"assassin_4-2.dds"
	}

Donc ici grâce à la ligne SpecialPath j'indique à mon MSM qu'il doit aller chercher mon armure dans pc/armureadaptée, il n'ira donc pas chercher celle-ci dans pc/assassin par défaut

 

 

II°/Autre cas de figure, mon armure possède son gr2 dans le dossier pc/assassin mais mes textures sont dans un dossier autre que celui par défaut je réécris donc mes lignes comme ceci :



	Group ShapeData27
	{
		ShapeIndex			26	
		Model				"assassin_4-1.GR2"
		SourceSkin			"D:/ymir Work/monarmureadaptée/assassin_4-1.dds"
		TargetSkin			"D:/ymir Work/monarmureadaptée/assassin_4-1.dds"
	}

J'indique donc à mon MSM d'aller chercher mon modèle dans pc/assassin mais d'aller chercher mes textures dans monarmureadaptée

 

III°/Mon armure possède deux textures, mais je souhaite déclarer les deux car sinon seulement une partie de l'armure possédera une brillance.



	Group ShapeData160
	{
		ShapeIndex			27
		Model				"assassin_5_1.GR2"
		SourceSkin			"assassin_5_1.dds"
		TargetSkin			"assassin_5_1_blue.dds"
		SourceSkin2			"assassin_5_1_bis.dds"
		TargetSkin2			"assassin_5_1_bis.dds"
	}

J'ajoute tout simplement un sourceskin2 & un targetskin2 pour pouvoir ajouter la deuxième texture.

 

IV°/Mon armure possède plus de  2 textures, comment faire ?

Il y aura deux types de codes différents celui oú on a pas touché aux sources pour pouvoir augmenter le nombre de source & target et celui dont lequel on a touché aux sources.

Donc premier type de bloc (ja vais reprendre un exemple d'une armure dont j'ai refait) 



	Group ShapeData113
	{
		ShapeIndex			51
		Model				"prometheus_diablo/armor_diablo_casco.gr2"
		SourceSkin			"prometheus_diablo/prometheus_body1.dds"
		TargetSkin				"prometheus_diablo/prometheus_body1.dds"
		SourceSkin2			"prometheus_diablo/prometheus_leg1.dds"
		TargetSkin2			"prometheus_diablo/prometheus_leg1.dds"
	}

	Group ShapeData114
	{
		ShapeIndex			51
		Model				"prometheus_diablo/armor_diablo_casco.gr2"
		SourceSkin			"prometheus_diablo/prometheus_shoulder1.dds"
		TargetSkin		"prometheus_diablo/prometheus_shoulder1.dds"
		SourceSkin2			"prometheus_diablo/prometheus_hand1.dds"
		TargetSkin2		"prometheus_diablo/prometheus_hand1.dds"
	}

	Group ShapeData115
	{
		ShapeIndex			51
		Model				"prometheus_diablo/armor_diablo_casco.gr2"
		SourceSkin			"prometheus_diablo/prometheus_helmet1.dds"
		TargetSkin		"prometheus_diablo/prometheus_helmet1.dds"
		SourceSkin2			"prometheus_diablo/prometheus_bots1.dds"
		TargetSkin2		"prometheus_diablo/prometheus_bots1.dds"
	}

Un peu compliqué au premier abord mais pas du tout, on déclare d'autres groupes (en oubliant pas de changer le nombre après ShapeData) , on garde ABSOLUEMENT le même ShapeIndex & Model, en revanche on change les textures déclarées donc là pour 3 blocs de ShapeData j'ai 6 textures différentes de déclarées

 

Maintenant voici le code quand on a augmenter le nombre de source & target grâce aux sources client (Tutoriel disponible : ICI)



	Group ShapeData113
	{	
		ShapeIndex			51	
		Model				"prometheus_diablo/armor_diablo_casco.gr2"
		SourceSkin			"prometheus_diablo/prometheus_body1.dds"
		TargetSkin				"prometheus_diablo/prometheus_body1.dds"
		SourceSkin2			"prometheus_diablo/prometheus_leg1.dds"
		TargetSkin2			"prometheus_diablo/prometheus_leg1.dds"
		SourceSkin3			"prometheus_diablo/prometheus_shoulder1.dds"
		TargetSkin3		"prometheus_diablo/prometheus_shoulder1.dds"
		SourceSkin4			"prometheus_diablo/prometheus_hand1.dds"
		TargetSkin4		"prometheus_diablo/prometheus_hand1.dds"
		SourceSkin5			"prometheus_diablo/prometheus_helmet1.dds"
		TargetSkin5		"prometheus_diablo/prometheus_helmet1.dds"
		SourceSkin6			"prometheus_diablo/prometheus_bots1.dds"
		TargetSkin6		"prometheus_diablo/prometheus_bots1.dds"
	}

J'ai donc 6 textures déclarées à la suite, je trouve cela beaucoup plus propre que le premier, mais si vous ne vous sentez pas capable de toucher aux sources, alors utiliser la solution du dessus !

 

 

 

Pour continuer:

Vous pouvez désormais implanter de nouvelles armures Section Armures

Vous pouvez ajouter plus de textures déclarées dans vos MSM : Augmenter le nombre de sourceskin dans les msm

Si vous avez des soucis n'hésitez pas à les poster dans la section A/Q/S mise à votre disposition

 

Xayah,

 

Modifié par FBot
  • Love 1

french_banner.gif

Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 10
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

  • Développeur

Si j'ai fait ce tuto ces pas pour un grade croit moi , si je veux un grade je balance mes créations .

Autrement ce tuto est fait comme a si bien dit Cube pour ceux qui post des demandes d'aide car il ne savent pas chercher.

 

Cordialement.

 

Et encore, la dernière blague qu'on m'ait faite c'est qu'y'a aucun client vierge à télécharger sur FE.

Certains ne font pas l'effort de chercher parce qu'ils n'ont justement pas envie de le faire. Pour d'autres

ils ne savent vraiment pas chercher, ils n'ont aucune logique (la logique qui dit que si tu veux télécharger

quelque chose tu te rends dans la section "Téléchargements" et si y'a pas tu cherches dans les tutoriels)

 

M'enfin merci pour le tuto Liberty.

Lien vers le commentaire
Partager sur d’autres sites

  • 3 ans après...
  • 2 ans après...
  • 2 mois après...
  • 6 mois après...

 

Bonjour,

 

Pour le cas de figure où tes textures sont dans un nouveau dossier différent de "d:/ymir work/pc[2]/X" et que le gr2 est dans un autre dossier différent de celui des textures, il y a le "local_model" (permet d'indiquer un chemin absolu partant de "d:/" pour le gr2) à combiner avec "special_path" OU "local_sourceskin" et "local_targetskin" à combiner avec "special_path" dans le cas où vous souhaitez que "SpecialPath" soit la racine du chemin du gr2 :

 

Exemples:

Group ShapeData1
{
	SpecialPath			"d:/ymir Work/dossier_perso/textures/m/"
	
	ShapeIndex			41604
	Local_Model			"d:/ymir Work/pc/sura/armure_perso.GR2"
	SourceSkin			"sourcetext.dds"
	TargetSkin			"targettext.dds"
}

 

Group ShapeData1
{
	SpecialPath			"d:/ymir Work/dossier_perso/m/"
      
	ShapeIndex			41604
	Local_Model			"armure_perso.GR2"
	Local_SourceSkin	"d:/ymir Work/dossier_perso/textures/sourcetext.dds"
	Local_TargetSkin	"d:/ymir Work/dossier_perso/textures/targettext.dds"
}

 

Et pour ça :

	Group ShapeData27
	{
		ShapeIndex			26	
		Model				"assassin_4-1.GR2"
		SourceSkin			"D:/ymir Work/monarmureadaptée/assassin_4-1.dds"
		TargetSkin			"D:/ymir Work/monarmureadaptée/assassin_4-1.dds"
	}

ça m'étonnerait que ça marche, étant donné que les chemins indiqués dans "SourceSkin" et "TargetSkin" seront précédés (automatiquement) du chemin indiqué dans "pathname" (ou "special_path" si renseigné) donc ça donnerait quelque chose du style "D:/ymir Work/pc2/assassin//D:/ymir Work/monarmureadaptée/assassin_4-1.dds"

 

 

Cordialement,

Zaitsev

Lien vers le commentaire
Partager sur d’autres sites



  • brilliantdiscord_widget
  • Flux d'Activité

    1. 37
    2. 21

      Metin2 en 2020 peut-on en parler?

    3. 0

      METIN2Project

    4. 3

      Ressources - UnPack - Metin2 Client - Officiel

    5. 0

      Barre des tâches d'argent étendue

    6. 16

      Redémarrage automatique des channels

    7. 16

      Multi Logo GM / SGM / GA

  • En ligne récemment

    • Aucun utilisateur enregistré regarde cette page.

Information importante

Conditions d’utilisation / Politique de confidentialité / Règles / Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.