Jump to content

Form ID's Conflicting


Bumblebee25

Recommended Posts

Thats what i said Foretrenty. FormID will conflict. with EDID the first 3 zero's are placeholders to be replaced with the mods load order number this will always be unique because of that. the FormID does not change to reflect that the same as EDID with search. Mods or vanilla game and it acts the same. Take the Ebony blade for example, there are multiple versions of it but doing a help search only the one that is on the table will show.

 

I think there are no FormID numbers that are all letters, you could build a random generator to build the FormID with random letters. but that still wont fix the help search function because when you use help it looks for the name and not the formID number. Ultimate solution for your editor is to not allow it to name the New NPC the same as another even when loading from file. Once the skyrim.esm is loaded and you load from a mod esp the skyrim.esm is still in memory so the name list is available to the editor. When the mod author hits the create new button and did not change the FormID name then it wont export, gives a warning that the name is not unique, and makes the title of where to rename red. Kinda like when creating a forum profile and you use a name thats already being used and the website does not check when you are making it just when you hit submit.

 

*Edit:

Nice edit Foretrenty, timing was perfect lol. Now nobody will know what I was suggesting.

Edited by jet4571
Link to comment
Share on other sites

Theoretically you could have an all letter base FormID, but you would have to add one hell of a lot of items in your mod as the first all alpha form is "AAAAAA" hex (or 11,184,810 Decimal) and the highest FormID I've see in the original game is about 101xxx which is about 1.05 million objects.
Link to comment
Share on other sites

Haha, I remove my previous statement because I realized something else and solved the FormID conflict issue. (for NPC records)

 

--What described below is for NPC records, I do not know how other records behaves - although it might have the same results --

 

What I learned is if your FormID starts with 00, the game will NOT append it. If you have an NPC with formID 00016969 (In plugin) for example, when you type 'help <npcname>' in console you get 00016969.

 

So if you have 2 plugins with 00016969, they conflict.

 

However if you add some numbers to the first '00' - change 00016969 to 10016969, the game WILL append it giving you 0e016969 depending on how many plugins you load. i.e. type 'help <npcname>' gives you 0e016969.

 

So if you have 2 plugins with 10016969, they show up in game as 0e016969 and 0f016969 - hence NO CONFLICT.

 

But now you have the problem of meshes and textures filenames for the NPC.

 

The solution here is NOT to name those file as 10016969.nif and 10016969.dds, but instead leave them as 00016969.nif and 00016969.dds. You can have many versions with the same FormID because they are prefixed with the plugin's filename. i.e. meshes\actors\character\facegeom\sneabelone.esp\00016969.nif AND meshes\actors\character\facegeom\sneabelone2.esp\00016969.nif

 

It seem like the first '00' of the FormID is a switch to let the game know when to append formID to prevent conflicts.

 

So there. :)

Edited by foretrenty
Link to comment
Share on other sites

@foretrenty,

 

Id's in a mod with FormID's starting with 00, will override the 0'th Master file. Eg they will be overriding (or injecting) into Skyrim.esm.

So in your example above, the 2 mods with 00016969, not only conflict with eachother. In this case they'd be overwriting an object reference of a door in the game.

If a mod depends on Update.esm as the 01'th master (which it probably should), then the same will go for ID's starting with 0x01.

So the first 2 digit's are more than just a flag.

 

If they belong to the current mod then the correct value of the first 2 characters will be the hex of how many masters it has. For the 0x10 to work as you say then it get's corrected somewhere along the line. Not all editing tools may be as forgiving though.

Edited by tunaisafish
Link to comment
Share on other sites

@tunaisafish: Yes that makes plenty of sense. That first two digit are the 0-based index to the master file list provided in HEDR of the TES4 record. Where can I find more of this type of info, it will help me greatly in development of my tool.

 

And would you happen to know or can point me to where I can the latest BSA hash algorithm for Skyrim? my tool uses Oblivion's (which is all I can find) and I am guessing its outdated.

Edited by foretrenty
Link to comment
Share on other sites

You see this with a lot of the pre-CK mods that were created with older editors. New records in your plugin should be prefixed with the modid of the sum of its masters. Since Skyrim.esm is 00, if your mod has no other masters then new records in it should have a modid of 01. When creating new records in the Creation Kit this is automatically done for you. As to Update.esm, taking a quick look at it in TESVSnip all of the records are overrides or injections so I would not use it as a master to anything.
Link to comment
Share on other sites

  • Recently Browsing   0 members

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