• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!

[Import] [Skins] Use Custom Skin AND Default Skin

Level 18
Joined
Mar 16, 2008
Messages
721
Hello Fellow Hive Bees,

Is there an easy way to do this? Lots of good skins have been released for Night Elf. I really want to add these to my Defense of Felwood map but several of them seem to be linked to same .mdx

Is there an easy way to do this besides copying the model and doing all that? Not 100% sure of the details of how to do that. Is that an easier way?

So I want to use the default skin as when the player has no "prestige" with the load/save system but they can unlock additional heroes/skins.

Thank you.

Example:
 
Level 25
Joined
Sep 26, 2009
Messages
2,381
The .mdx file has baked into itself the file paths for textures.
So for example an .mdx file may specify that a texture should be in path "Textures/my-unit-texture.blp".
What the skins you downloaded do is just replace the default skin on that path. So as far as I know, no, there is no way to make a single .mdx file use the default texture + the replacing textures at the same time.

What you can do is export the .mdx and edit its texture paths to something else, then import the modified mdx and use that along with the default mdx.

Example: You want to use the Huoshan Blader texture for Demon Hunter, but also want to use the default Demon Hunter.
  1. Export the demon hunter's .mdx
  2. Modify its texture path to 'Textures/huoshan-blader.blp'
  3. Save the modified .mdx with different name than the original .mdx
  4. Import the modified .mdx
  5. Import the skin/texture file as Textures/huoshan-blader.blp
  6. At this point the default demon hunter .mdx will still use the default texture, while using the modified .mdx will use the replacement texture
 
Level 25
Joined
Sep 26, 2009
Messages
2,381
BlzSetUnitSkin has two parameters: whichUnit and skinId
  • whichUnit = the unit you want to apply new skin on
  • skinId = this is actually unit-type id (i.e. 'hfoo' for footman)
The function will set to 'whichUnit' the soundset, model (.mdx), size, etc. from the specified unit-type.
As such, it does not solve the original problem of having multiple skins (blp files) for a single mdx
 

Here's 3 tutorials on how to do it.

Personally I just use the mdl/mdx converter.

Export the model using Warcraft 3 Viewer.
Convert to .mdl.
Open it in Notepad.
Change the Texture Path to whatever and the name of the model.
Save it.
Convert back to .mdx.
Voila!
 
Level 25
Joined
Sep 26, 2009
Messages
2,381
I would probably go for what is described in the guide. But you are right that the links there are broken.
This should be correct links:
 
Top