DarthRevan101

How to make a custom skin for an alien NPC

Recommended Posts

I've got a Twi'lek npc that I'm making in to a party member, but I don't want him just to look like a standard green Twi'lek, so I'm wondering how I can reskin him without replacing every other Twi'lek. I know (or at least think) that I have to add a new line to appearance.2da but I don't know what files to edit or what to change on the line.

 

Share this post


Link to post
Share on other sites

In the appearance.2da, each row has lots of model# and tex# columns, with the occasional tex#evil (replace "#" with a letter).

 

KotOR 1: You have letters A through J;

A = Underwear/nothing equipped

B = Clothing

C = Armor Class 4 (should be Light Armor type 1)

D = Armor Class 5 (should be Light Armor type 2)

E = Armor Class 6 (should be Medium Armor type 1)

F = Armor Class 7 (should be Medium Armor type 2)

G = Armor Class 8 (should be Heavy Armor type 1)

H = Armor Class 9 (should be Heavy Armor type 2)

I = Used by all three Jedi Robe variants (Normal, Knight, Master)

J = Star Forge/Revan armor

 

KotOR 2: You have letters A through N;

A = Underwear/nothing equipped

B = Clothing

C = Armor Class 4 (should be Light Armor type 1); Also acts as the Miner Uniform

D = Armor Class 5 (should be Light Armor type 2)

E = Armor Class 6 (should be Medium Armor type 1)

F = Armor Class 7 (should be Medium Armor type 2)

G = Armor Class 8 (should be Heavy Armor type 1)

H = Armor Class 9 (should be Heavy Armor type 2)

I = Normal and Restrictive Jedi Robes

J = Star Forge/Revan armor

K = Armored Flight Suit section

L = Dancer's Outfit (females) / Unused (males)

M = Zeishon Sha / Jal Shey armors

N = Jedi Knight Robes

N = Jedi Master Robes

 

For you to have a Twi'lek that doesn't look like the other Twi'leks (and wears the clothes like the party members do), you'll need to copy a Twi'lek row (270 for female or 269 for male, just as examples), paste it as a new row at the bottom, and then change the model#, tex#, and tex#evil columns to match what one of the party member or Player (any of the P_FEM_ or P_MAL lines) say.

 

If you want some extra personalization on your Twi'lek's armor/underwear, you can make the tex# and tex#evil columns whatever you want (less than 13 or so characters) and then edit the player's textures and save them as the custom names in the new appearance.2da row (VERY IMPORTANT!!! leave the numbers on the end in the filenames or the game can't find the texture!).

  • Like 2

Share this post


Link to post
Share on other sites

In the appearance.2da, each row has lots of model# and tex# columns, with the occasional tex#evil (replace "#" with a letter).

 

KotOR 1: You have letters A through J;

A = Underwear/nothing equipped

B = Clothing

C = Armor Class 4 (should be Light Armor type 1)

D = Armor Class 5 (should be Light Armor type 2)

E = Armor Class 6 (should be Medium Armor type 1)

F = Armor Class 7 (should be Medium Armor type 2)

G = Armor Class 8 (should be Heavy Armor type 1)

H = Armor Class 9 (should be Heavy Armor type 2)

I = Used by all three Jedi Robe variants (Normal, Knight, Master)

J = Star Forge/Revan armor

 

KotOR 2: You have letters A through N;

A = Underwear/nothing equipped

B = Clothing

C = Armor Class 4 (should be Light Armor type 1); Also acts as the Miner Uniform

D = Armor Class 5 (should be Light Armor type 2)

E = Armor Class 6 (should be Medium Armor type 1)

F = Armor Class 7 (should be Medium Armor type 2)

G = Armor Class 8 (should be Heavy Armor type 1)

H = Armor Class 9 (should be Heavy Armor type 2)

I = Normal and Restrictive Jedi Robes

J = Star Forge/Revan armor

K = Armored Flight Suit section

L = Dancer's Outfit (females) / Unused (males)

M = Zeishon Sha / Jal Shey armors

N = Jedi Knight Robes

N = Jedi Master Robes

 

For you to have a Twi'lek that doesn't look like the other Twi'leks (and wears the clothes like the party members do), you'll need to copy a Twi'lek row (270 for female or 269 for male, just as examples), paste it as a new row at the bottom, and then change the model#, tex#, and tex#evil columns to match what one of the party member or Player (any of the P_FEM_ or P_MAL lines) say.

 

If you want some extra personalization on your Twi'lek's armor/underwear, you can make the tex# and tex#evil columns whatever you want (less than 13 or so characters) and then edit the player's textures and save them as the custom names in the new appearance.2da row (VERY IMPORTANT!!! leave the numbers on the end in the filenames or the game can't find the texture!).

Okay, I've copied the Twi'lek appearance to a new one. What exactly do I do from here? Do I edit every model, tex and texevil column to be exactly like the Player's?

 

Also, what file do I extract to re-skin the Twi'lek head to be a custom colour, for example, and what column do I change in the appearance.2da to make it use this?

Share this post


Link to post
Share on other sites

Okay, I've copied the Twi'lek appearance to a new one. What exactly do I do from here? Do I edit every model, tex and texevil column to be exactly like the Player's?

 

Also, what file do I extract to re-skin the Twi'lek head to be a custom colour, for example, and what column do I change in the appearance.2da to make it use this?

For the first question, I'll re-quote my last two paragraphs:

 

For you to have a Twi'lek that doesn't look like the other Twi'leks (and wears the clothes like the party members do), you'll need to copy a Twi'lek row (270 for female or 269 for male, just as examples), paste it as a new row at the bottom, and

 

then change the model#, tex#, and tex#evil columns to match what one of the party member or Player (any of the P_FEM_ or P_MAL lines) say.

 

If you want some extra personalization on your Twi'lek's armor/underwear, you can make the tex# and tex#evil columns whatever you want (less than 13 or so characters) and then edit the player's textures and save them as the custom names in the new appearance.2da row (VERY IMPORTANT!!! leave the numbers on the end in the filenames or the game can't find the texture!).

 

As to your next question, you will need to:

1. Open heads.2da

2. Find a twi'lek head (take note of the gender)

3. Check the row's value for the head column (for example, we're using row 61 and 62, female and male respectively)

4. Make a new row in heads.2da, and make sure you change the row number

5. Give the head entry the name of your texture/model. The head column is the model and neutral/LS texture

6. Add in names for DS transitions if you want. (Immediately after the head column, we have most evil and it progresses to least evil)

NOTE: KEEP THE HEADS.2DA OPEN!

7. In KotOR Tool, go to BIFs->Models.bif->Aurora Models, find, and extract the .mdl file for a twi'lek head (twilek_f and twilek_m for example)

8. Go to the Aurora Model Extensions branch and extract the .mdx files for a twi'lek head (again, twilek_f and twilek_m for example)

9. Rename both the .mdl and .mdx to whatever you put in the head column in your new row in heads.2da

10. Go to ERFs->Texture Packs->swpc_tex_pac_a.erf->T and extract twilek_f01 or twilek_m02. SAVE THEM AS TGA FILES!!!

11. Rename the textures to whatever you put in the head column in your new row in heads.2da, BUT KEEP THE NUMBERS!!!

Note: Change the number on the male twi'lek texture, if your head is male, to 01.

12. Click somewhere else in the heads.2da file and then save it to your override folder.

13. Put the row number of your new row in heads.2da into the normalhead column for your new row in appearance.2da.

14. Lastly, click somewhere else in the appearance.2da file and then save it to your override folder.

 

That should do what you need, but if the head shows up white or something, then you'll need to hex-edit the model, which I can walk you through if necessary.

Share this post


Link to post
Share on other sites

For the first question, I'll re-quote my last two paragraphs:

 

 

As to your next question, you will need to:

1. Open heads.2da

2. Find a twi'lek head (take note of the gender)

3. Check the row's value for the head column (for example, we're using row 61 and 62, female and male respectively)

4. Make a new row in heads.2da, and make sure you change the row number

5. Give the head entry the name of your texture/model. The head column is the model and neutral/LS texture

6. Add in names for DS transitions if you want. (Immediately after the head column, we have most evil and it progresses to least evil)

NOTE: KEEP THE HEADS.2DA OPEN!

7. In KotOR Tool, go to BIFs->Models.bif->Aurora Models, find, and extract the .mdl file for a twi'lek head (twilek_f and twilek_m for example)

8. Go to the Aurora Model Extensions branch and extract the .mdx files for a twi'lek head (again, twilek_f and twilek_m for example)

9. Rename both the .mdl and .mdx to whatever you put in the head column in your new row in heads.2da

10. Go to ERFs->Texture Packs->swpc_tex_pac_a.erf->T and extract twilek_f01 or twilek_m02. SAVE THEM AS TGA FILES!!!

11. Rename the textures to whatever you put in the head column in your new row in heads.2da, BUT KEEP THE NUMBERS!!!

Note: Change the number on the male twi'lek texture, if your head is male, to 01.

12. Click somewhere else in the heads.2da file and then save it to your override folder.

13. Put the row number of your new row in heads.2da into the normalhead column for your new row in appearance.2da.

14. Lastly, click somewhere else in the appearance.2da file and then save it to your override folder.

 

That should do what you need, but if the head shows up white or something, then you'll need to hex-edit the model, which I can walk you through if necessary.

 

Thanks so much for your help, sorry if I don't get it right away. :P

Share this post


Link to post
Share on other sites

Oh God... Oh God why... 

 

I definitely didn't follow your instructions correctly...

w3KgE6J.jpg

 

What's worse is when that abomination attacks you.

 

Looks quite funny dead though...

 

sMMEwqm.jpg

I'm going to assume that I extracted the model for the Twi'lek body and not the Twi'lek head...

 

Well I'm off to try again...

  • Like 4

Share this post


Link to post
Share on other sites

So I finally got that mess sorted, though I was considering keeping it like that.

 

What exactly do I call the Twi'lek's head .tga file? The name of the entry of the head column is maxishead, but I've named it that with and without numbers. So would I call it maxishead01.tga? Because I've tried but it always ended up with the green head.

Share this post


Link to post
Share on other sites

So I finally got that mess sorted, though I was considering keeping it like that.

 

What exactly do I call the Twi'lek's head .tga file? The name of the entry of the head column is maxishead, but I've named it that with and without numbers. So would I call it maxishead01.tga? Because I've tried but it always ended up with the green head.

Which game are you making this mod for?

 

When it comes to heads.2da, there are actually different steps to take for each game. In Kotor, the default texture name is only embedded in the mdl file. In TSL, while the name is embedded in the mdl, there is an extra column in heads.2da that allows for another texture to override the default.

Share this post


Link to post
Share on other sites

Which game are you making this mod for?

 

When it comes to heads.2da, there are actually different steps to take for each game. In Kotor, the default texture name is only embedded in the mdl file. In TSL, while the name is embedded in the mdl, there is an extra column in heads.2da that allows for another texture to override the default.

This is for KotOR 1. 

Share this post


Link to post
Share on other sites

Nice. Who knew you could add an appearance.2da row to heads.2da. Now I want to see it in a conversation.

It's creepy, you talk to the legs of the body on top but you can still see it moving up there. I wish I'd gotten a screenshot of it attacking the PC; both bodies attack you separately. 

Share this post


Link to post
Share on other sites

This is for KotOR 1.

Then the default texture is embedded in the mdl, and you'll have to edit it. I believe that MDLOps has a renamer function, but I still do things manually (old school) by using a hex editor. First off, when you run your model through MDLOps and it gives you a -ascii version, it should also provide you with a .txt file. If you open that with note pad, it should contain the names of any textures that the model requires (these are the default textures). Normally there is just one texture, but there can be multiples. Theoretically, you can have one for each separate mesh (head, L eye, R eye, L eyelid, etc).

 

I'm at work, so I don't have any access to the actual files, so I might get the names wrong. I'm guessing that you took "twilek_m01.mdl" and re-named it to "maxishead01.mdl"? When I re-name model and texture files, I always keep the number of text character spaces the same: twilek_m01 has 10 spaces while maxishead01 has 11. When you rename the texture, it MUST have the same number of spaces, because when you hex edit it (or use the renamer) if the name is too long or too short, then it shifts all the byte code out of alignment, and the mdl won't match the mdx, which causes the model to fail in-game.

 

Anyway, once you get the name sorted out, here's what I do: (I'm going to use "twilekRR41" as an example).

1 - use MDLOps to extract twilek_m01.mdl, twilek_m01.mdx, & twilek_m01.tga

2 - rename the files to twilekRR41.mdl, twilekRR41.mdx, & twilekRR41.tga

3 - Open "twilekRR41.mdl" with a free hex editor (I can't remember the name of the one I use at home).

4 - use a find and replace: find "twilek_m01" and replace with "twilekRR41" - save

5 - Then do all the steps with heads.2da that were mentioned by Fair Strides

 

Again, I'm not on my Kotor computer. If I've got the names wrong, I'll have to fix it later.

  • Like 1

Share this post


Link to post
Share on other sites

Then the default texture is embedded in the mdl, and you'll have to edit it. I believe that MDLOps has a renamer function, but I still do things manually (old school) by using a hex editor. First off, when you run your model through MDLOps and it gives you a -ascii version, it should also provide you with a .txt file. If you open that with note pad, it should contain the names of any textures that the model requires (these are the default textures). Normally there is just one texture, but there can be multiples. Theoretically, you can have one for each separate mesh (head, L eye, R eye, L eyelid, etc).

 

I'm at work, so I don't have any access to the actual files, so I might get the names wrong. I'm guessing that you took "twilek_m01.mdl" and re-named it to "maxishead01.mdl"? When I re-name model and texture files, I always keep the number of text character spaces the same: twilek_m01 has 10 spaces while maxishead01 has 11. When you rename the texture, it MUST have the same number of spaces, because when you hex edit it (or use the renamer) if the name is too long or too short, then it shifts all the byte code out of alignment, and the mdl won't match the mdx, which causes the model to fail in-game.

 

Anyway, once you get the name sorted out, here's what I do: (I'm going to use "twilekRR41" as an example).

1 - use MDLOps to extract twilek_m01.mdl, twilek_m01.mdx, & twilek_m01.tga

2 - rename the files to twilekRR41.mdl, twilekRR41.mdx, & twilekRR41.tga

3 - Open "twilekRR41.mdl" with a free hex editor (I can't remember the name of the one I use at home).

4 - use a find and replace: find "twilek_m01" and replace with "twilekRR41" - save

5 - Then do all the steps with heads.2da that were mentioned by Fair Strides

 

Again, I'm not on my Kotor computer. If I've got the names wrong, I'll have to fix it later.

Thanks for that, it's finally working properly. Well, mostly - his head is transparent. I'm not too sure but I think it's because I need a TXI file? If so, what should a Twi'lek's TXI file look like? For some reason, double-clicking on the twilek_m01.tpc file doesn't open a new window, so I can't see what's in it. 

Share this post


Link to post
Share on other sites

Thanks so much for your help everyone, I've gotten him working finally. I haven't started on his default clothing yet, but here he is not wearing anything.

 

IYHTbdu.jpg

 

He might be changed later on but I'm really happy to have gotten this far.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.