Jump to content

Guide for converting small follower mods from esp format to esl format


Recommended Posts

Posted

I love having a ton of followers but hate it when my available plugin slots in NMM starts to drop down. So, finally went through a few attempts to find that its pretty easy to convert small follower mods from esp to esl format.

 

Requirements:

1. SSEEdit

2. NifSkope

 

For this guide, am going to use Sori Follower SE (CBBE SE version) created by songgod and ported to SE by ff7legend.

 

I use NMM, so am going to use it in the process. You may have to do the appropriate steps if use MO2 or Vortex, since they use a Virtual Folder system using symlinks.

 

The workflow:

 

Step 1: Install the mod using whatever mod manager you use or install it manually and then activate the mod.

 

Spoiler

Step-1a.png.d7e518313c40df715d3b76c5eb12d50c.png

Step-1b.png.f95d13170b3836c5b734c3bc8724cc98.png

 

Step 2: Then Fire up SSEEdit and open the freshly installed mod i.e. Sori.esp

 

Spoiler

Step-2a.png.f5e6fe9532dc91f2df726c430fcf947f.png

Step-2b.png.4d2e270c9ac7369676c1830265124dac.png

 

If you check the header section it shows that the mod esp only has 28 records, and for only 28 records wastage of 1 plugin slot is not cool. It could be easily handled by a lite or esl plugin.

 

Step 3: In SSEEdit, select "File Header", then right click on "Record Flags" in the "Record Header" tree. In the popup menu which appears, click on "Edit". A message box will come up, select the "Yes" option there. This would be followed by a screen with many Check boxes. Tick the ESL check box and press "Ok" button.

 

Spoiler

Step-3a.png.68f5ce714b2caa130b039eec5e86bf55.png

Step-3b.png.76042017c9de160e646c6bfc6218f606.png

Step-3c.png.a58b4b65932ba55aef45abf9fc0e411b.png

Step-3d.png.4c7908d987d4c0f9eb37ec0bcb68c7b8.png

Step-3e.png.1d71dc67b19e4d9b3f19001b2108e982.png

 

Step 4: In SSEEdit, right click on Sori.esp and click on "Renumber FormIDs from". A small popup will come up, type in 800 there. A message box would appear, press "Yes" there.

 

Spoiler

Step-4a.png.17a5bcc81f934044617cf5cb2bf60878.png

Step-4b.png.2ab21e1dbe5e50fcd232483db324fa48.png

Step-4c.png.b64cedc94ef9d74f29d1064e391387cd.png

Step-4d.png.511a44aee4caf982e8206ea23b4a4848.png

 

Step 5: In SSEEdit, save the esp.

 

Spoiler

Step-5a.png.a59d8cdb4448910cd9124231f9aaf5c0.png

Step-5b.png.33ddde9a84988c53d28da661bc94684f.png

 

Step 6: In SSEEdit, go to the tree under Sori.esp and open the "Non-Player Character (Actor)" branch and note down the Form ID of the follower Sori. Then close SSEEdit.

 

Spoiler

Step-6.png.b259d47f2acde6157774f52583e644b7.png

 

Step 7: Now, open up Explorer or whatever File Manager you use and navigate to <Skyrim Installation Directory>\Skyrim Special Edition\Data\textures\actors\character\facegendata\facetint\Sori.esp depending on your file system. Select the dds file there and rename it to "00000800.dds". The last three characters are important for an esl file. In SSEEdit, you have seen that the Form ID for Sori is 02000800. The first five characters has to be replaced by Zeroes.

 

Spoiler

Step-7a.png.9266008a0fd7f2052949edf78899d256.png

Step-7b.png.f03abcd716ea6bff0d94ea567bc04829.png

 

Step 8: Next in Explorer or whatever File Manager you use navigate to <Skyrim Installation Folder>\Skyrim Special Edition\Data\meshes\actors\character\facegendata\facegeom\Sori.esp depending on your file system. Rename the Nif file present there to 00000800.nif, the reason being the same as in the previous step.

 

Spoiler

Step-8a.png.68ca599b9694562ad5bd55960b730ef3.png

Step-8b.png.8714c6ef04a9954b31a2419e8eecffbf.png

 

Step 9: Now open up the Nif file in NifSkope. We have to correct the tintmask file name in the texture path. Navigate as shown in the pictures, then rename the dds file in the tintmask file path. Finally save the Nif and close NifSkope.

 

Spoiler

Step-9a.png.f571d1041aaa9464ec0857c0f371d355.png

Step-9b.png.35c28161c0121152af05e12120efe9e5.png

Step-9c.png.660c071e6d20df14bfb0a4d9afaafb74.png

Step-9d.png.e0e8c638b0a05490026a7632f6aeedc4.png

Step-9e.png.3e20c537d534613ca4b25c29a80ae797.png

Step-9f.png.a99e359e7a5932e59798c3cdff9aec1b.png

Step-9g.png.5e65c13a85a13deb9be9479f4b46b47f.png

Step-9h.png.fc4dab3ab77ec75c50a3bbdde8b2a9a4.png

Step-9i.png.421c50218addc6fcb8993056da8a22d1.png

Step-9j.png.cfd8218338045fe7115bd74c04511850.png

 

Step 10: Now open up NMM and check the Plugins tab. It should show Sori.esp is not using a plugin slot.

 

Spoiler

Step-10.png.faf23ffeecfd60a4dc8325e1d339bdf9.png

 

Step 11: Close NMM, then go find Sori in-game in Sleeping Giant Inn at Riverwood. She will be there if everything went fine.

 

image.png.fc0cbdbf4c73b3f7853e36823f0cc725.png

 

And indeed she is there.

 

Yell at me if you face any problems. Till then peace out.

 

 

 

 

Posted
1 hour ago, CrysisWar1234 said:

And here I was trying to fix a custom follower's facegen in creation kit.

CK does weird alterations and regenerates the facegen Nif file and the facetint dds. Baffled me for some time as well, then i started fixing them through NifSkope.

Posted
11 minutes ago, Tron91 said:

CK does weird alterations and regenerates the facegen Nif file and the facetint dds. Baffled me for some time as well, then i started fixing them through NifSkope.

I haven't really used any follower mods up until recently.  Naturally, people would tend to gravitate towards Inigo or Sofia, but I went for Lucien.  I was also constantly seeing follower mods on Nexus but I never really downloaded them.  So I decided to download https://www.nexusmods.com/skyrimspecialedition/mods/10764 and slap an ESL conversion on there.  Needless to say, that didn't turn out too well.

  • 1 month later...
Posted

Flagging an esp as ESL in SSEEdit doesn't change the file at all, changing the ESP to ESL in CK can and sometimes does. ESL Flagging doesn't change the plugin behavior it just no longer take a load slot. Changing the ESP to ESL in CK changes the plugin behavior. It now acts as a Master file (because it now IS a Master File), and it loads first no matter what.

Posted
Spoiler
22 hours ago, nomkaz said:

Flagging an esp as ESL in SSEEdit doesn't change the file at all, changing the ESP to ESL in CK can and sometimes does. ESL Flagging doesn't change the plugin behavior it just no longer take a load slot. Changing the ESP to ESL in CK changes the plugin behavior. It now acts as a Master file (because it now IS a Master File), and it loads first no matter what.

 

 

Would you mind explaining an ESL's behavior?

 

Posted
17 hours ago, Tron91 said:
  Hide contents

 

 

Would you mind explaining an ESL's behavior?

 

Keep in mind, I'm still learning here lol  So for example, if a plugin is an ESL, as in (skyrim.esl instead of Skyrim.esm) it has load priority, it loads first. If its only ESL flagged it will still be an ESP (ESMs don't flag properly), and LOOT will sort it as an ESP, and put it in proper order like an ESP, so patches flagged as ESL will be sorted to load after the mods they patch, they just won't take up a load order slot. Attached photo is what the load order for ESL and ESL flagged look like, note these are Legacy of The Dragonborn Lite (SL Flagged) patches Missing Master warnings are only because I loaded the patches alone, since I'm working from an ampty plugin list on my game right now ? . They are still ESP plugins, they are just flagged as ESL, so they always load last no matter what, they all share the 255th plugin slot. So you NEVER want to ESL flag a plugin that has add-ons or patches because they will all load at the same time, and you'll get Cyclical load errors.

ESL flagged example.png

Posted
Spoiler
10 hours ago, nomkaz said:

Keep in mind, I'm still learning here lol  So for example, if a plugin is an ESL, as in (skyrim.esl instead of Skyrim.esm) it has load priority, it loads first. If its only ESL flagged it will still be an ESP (ESMs don't flag properly), and LOOT will sort it as an ESP, and put it in proper order like an ESP, so patches flagged as ESL will be sorted to load after the mods they patch, they just won't take up a load order slot. Attached photo is what the load order for ESL and ESL flagged look like, note these are Legacy of The Dragonborn Lite (SL Flagged) patches Missing Master warnings are only because I loaded the patches alone, since I'm working from an ampty plugin list on my game right now ? . They are still ESP plugins, they are just flagged as ESL, so they always load last no matter what, they all share the 255th plugin slot. So you NEVER want to ESL flag a plugin that has add-ons or patches because they will all load at the same time, and you'll get Cyclical load errors.

ESL flagged example.png

 

 

 

Have you checked the header of Unofficial SSE patches? And it's position in load order? Also have a look at your skse64.log file, which you will find inside your Skyrim SE's save game folder in a folder called SKSE.

 

Skyrim recognize files by the flags in it's header and not by its' extension. An ESL or ESPfe, will always be given priority after loading the masters or ESM files. Do keep in mind, a file with an ESP can also be a ESM because its flagged so in the Header and Skyrim will load it accordingly.

 

Also remember LOOT is not always the perfect tool for managing your load order. In fact you will find that the New Community made edition of NMM is very intelligent in manipulating load orders according to Header Flags and dependencies.

 

Oh forgot to add that, ESL feature was implemented to use FE slot of your normal LoadOrder. In Skyrim, each object is given a 4 byte ID, that is why you find the records as FE000800 in an ESL. The first two characters are the load order index, For all ESL's it is always FE. The next 3 character becomes the ESL's unique ID, which allows a load order to support 4096 ESLs. The last 3 characters are actually left for an ESL to have as it records, which will make you think that an ESL can have 4096 unique records. But it isn't so, an ESL is allowed to have only record ids in the range of 800 to FFF. ID's from 000 to 7FF are kept reserved by Skyrim.

 

 

Posted

100% correct. But what I was trying to explain was that you can't have an ESL Master, and ESL patches flagged or converted in CK64) because they will load at the same time, instead of patches after Master. I may have not done a very good job doing that.

Posted
On 5/30/2019 at 9:44 AM, Tron91 said:
  Reveal hidden contents

 

 

Oh forgot to add that, ESL feature was implemented to use FE slot of your normal LoadOrder. In Skyrim, each object is given a 4 byte ID, that is why you find the records as FE000800 in an ESL. The first two characters are the load order index, For all ESL's it is always FE. The next 3 character becomes the ESL's unique ID, which allows a load order to support 4096 ESLs. The last 3 characters are actually left for an ESL to have as it records, which will make you think that an ESL can have 4096 unique records. But it isn't so, an ESL is allowed to have only record ids in the range of 800 to FFF. ID's from 000 to 7FF are kept reserved by Skyrim.

 

 

 

Thanks for this post and sorry in advance if this post is tangential, but perhaps still relevant.

 

Can you help me to fully understand ESL-flagged ESP behavior -- for example, I have very many ESL-flagged ESPs, hypothetically all were re-numbered from 800. Since for each ESP the xxx in FExxx800 is unique, there will be no FormID conflicts in any case? Or in other words, Mod A FExxx800 can never conflict with Mod B FExxx800?

 

As it stands now I have very many ESPs that I have flagged ESL in SSEEdit, and very many more that can potentially be flagged if the FormIDs are re-numbered. But I was concerned about possible problems with perhaps FormID conflicts as the number of ESL flags in my load order grows (quite large!)

Posted

They don't conflict.

 

Observe one caution though. Don't try to make an ESP an ESPfe, if in any way it is a master to some other plugin. If the Form IDs are altered in the Master ESP, the Form ID's may become unusable for the dependent ESP.

  • 7 months later...
  • 4 months later...
Posted

This guide has been SO handy thank you. I've made many successful conversions for myself.

 

The one thing I cannot solve is conversion for a voiced follower, who uses a voice recorded especially for her. 

 

The above conversion process works well in every respect but for her voice, which has vanished in game.  I have checked and double-checked the Voice records in the ESP and all looks properly lined up.  I have also regenerated the SEQ file for her.

 

But...she remains silent in game.

 

Have you any idea please what I should work on to fix this?  Thanks!

  • 2 weeks later...
Posted
Spoiler
On 6/2/2020 at 2:26 AM, Bluegunk said:

This guide has been SO handy thank you. I've made many successful conversions for myself.

 

The one thing I cannot solve is conversion for a voiced follower, who uses a voice recorded especially for her. 

 

The above conversion process works well in every respect but for her voice, which has vanished in game.  I have checked and double-checked the Voice records in the ESP and all looks properly lined up.  I have also regenerated the SEQ file for her.

 

But...she remains silent in game.

 

Have you any idea please what I should work on to fix this?  Thanks!

 

 

Can you give me the link of the follower mod you were trying to convert?

Posted
On 6/12/2020 at 2:56 AM, Tron91 said:
  Reveal hidden contents

 

 

Can you give me the link of the follower mod you were trying to convert?

It's an old mod gone from the Nexus: Kitiara, that I downloaded off Nexus when it was still active.

I happily converted from LE to SE a couple of years ago for myself, but when I try to move her to an ESL her voice vanishes. 

File is attached.

 

Thanks!

Kitiara SSE.7z

Posted
Spoiler
Just now, Bluegunk said:

It's an old mod gone from the Nexus: Kitiara, that I downloaded off Nexus when it was still active.

I happily converted from LE to SE a couple of years ago for myself, but when I try to move her to an ESL her voice vanishes. 

File is attached.

 

Thanks!

Kitiara SSE.7z 53.34 MB · 0 downloads

 

 

Let me dig in!

Posted
Spoiler
37 minutes ago, Bluegunk said:

It's an old mod gone from the Nexus: Kitiara, that I downloaded off Nexus when it was still active.

I happily converted from LE to SE a couple of years ago for myself, but when I try to move her to an ESL her voice vanishes. 

File is attached.

 

Thanks!

Kitiara SSE.7z 53.34 MB · 0 downloads

 

Have to rename the fuzz files, they will have to match the corresponding Dialogue Topic Form ID after renumbering the Records in the Plugin. I will try my hand on it. Gonna take a few minutes, only 123 files to rename :/

Posted
On 6/14/2020 at 8:00 PM, Tron91 said:

@Bluegunk

There you go, tried and tested ESPfe.

Kitiara SE ESPfe.7z 53.38 MB · 4 downloads

Wow! Hey many thanks!!!   Really kind of you!  So it was the Fuzz Files - I'll remember that next time I come across this kind of issue.

Honestly, you went above and beyond there!

Sorry it took me a few days to get back - I installed a new PC and have been reassembling things. It's always a bigger job than expected.

Popped you a Kudos on Nexus.

 

Posted
Spoiler
4 minutes ago, Bluegunk said:

Wow! Hey many thanks!!!   Really kind of you!  So it was the Fuzz Files - I'll remember that next time I come across this kind of issue.

Honestly, you went above and beyond there!

Sorry it took me a few days to get back - I installed a new PC and have been reassembling things. It's always a bigger job than expected.

 

 

 

Happy to help :)

 

  • 1 month later...
Posted

Just wanted to say thanks for the info, been putting off converting some of my downloaded mods to esl flagged due to the renumbering step, the info here helped me understand what it does and what to watch for.

 

Notes:

  • if the mod has a .bsa file, you have to extract it first, then remove the bsa (you can rebuild the bsa after testing)
  • mod must have less than 2047 records
    • HEX math: 0xFFF - 0x800 = 0x7FF = 2047 (in decimal)
  • renaming the .fuz audio files to match the renumbered Dialog Topic ID's is a large task if the NPC has hundreds of lines of dialog
  • Do not try to ESL flag an ESP mid game, it will cause crashes.  The reason was touched on above, the formid's are changed, so a saved game will have the wrong formid's, and trigger a crash.  Only ESL flag an ESP before starting a fresh game that has never seen the esp in question.
  • Do not renumber the formid's of an ESP that is a master to another esp (such as a compatibility patch or add-on).  Let the mod authors do this on their end since it also requires any compatibility patches to be renumbered too (HUGE task for large or established mods, so do not expect it to happen).  For small mods with no related compatibility patches, you might be safe.
  • 2 months later...
Posted

I've been tackling the same underlying issue by merging multiple followers into single mods. I've been doing it in batches of 6, I dunno' why, but it makes every 6 followers take a single slot. I thought a guide to it might be useful to others--would that be useful here in this thread (so it addresses both strategies), or as a separate thread?

  • 3 months later...
Posted

my favorites type of follower mods are those with both questline and relationship possiblety 

so anyone know if  they any patch that add Sexlab or Flower girl to the more (boring relationship) to mods from  Nexus and others?

if please post a lise with links

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...