Jump to content


Photo

Making a mod that alters Vanilla NPC's with user created mods


  • Please log in to reply
No replies to this topic

#1 Sornan

Sornan
  • Member
  • 7 posts

Posted 03 January 2008 - 11:14 AM

Making a mod that alters Vanilla NPC's with user created mods - from faces and races to armor and weapons -

This tutorial covers a huge range of aspects involved in creating a mod that replaces Vanilla Npc's with custom faces,races, and custom wearables/weapons/items, in a way where the mod can be released to the public later if desired.


I have made this tutorial because basically, I made it for myself as well lol - there is quite a few 'tricks' and methods invloved here that are needed to make all of this work, and it took a long time for me to get this information, most of which was gotten from Elder Scrolls forums from a number of very helpful members - and I dont know of any one place where all of this is stored for reference - I wouldnt expect myself or anyone else really to remember all of this, so here it is, everything in one package for reference.

I have put this together in a manner readable for someone with even limited knowledge of use of the Construction Set - because even now I dont know a whole ton about it, and just kind of learned as I went, so you do not need to be an expert with the CS to be able to do this, there is no scripting involved, this is just a process of using Wyre Bash along with the CS, but there are quite a few steps involved in a number of areas. Also note if there are some misspellings, or some 'repetitive' information here or there, please be glad someone put this out for others, my true main focus is to carry on with working on my mod project, and this is being released for the communities sake, and also remember I did not have the luxury of having a step by step Tut on how to do this, compiling and testing all of this information took a *very* long time and trying to make this Tut perfect in overall appearance, spellings and sentence structure is not a goal here, I did attempt to describe everything in a fairly detailed manner tho.

One *does* need to have an understanding of how to safely use files and folders in their computer, as we will be doing some copy and paste stuff from one place to another, as well as making backups.

Be sure before releasing you have gotten permission from *Any* of the authors of mods that are used by your mod of whom state in their readme's that they indeed require permission - and of course the same goes for re-distributing their mods content along with your mod. I *would* say just get permission from all of them, whether they require it or not, but as an example, in the case of my replacement mod project, I am using over 20 user mods content, and for times sake, if the author does not require permission for usage, I carry on using it - of course still giving full credit towards them for their work.

Be sure full credit to each author of all mods used by your mod - regardless of whether permission is required or not.

Lastly, if I failed to mention something in this tutorial, feel free to post on it and I'll add it, but as far as I know, everything should be in place.


***Required Files for this tutorial***

Most recent version of the Construction Set, most recent version of Oblivion.


You will need a special mod that has been created to allow full editing of vanilla npc faces, just install it as directed in the readme, its a simple standard mod install -

Npc Face Color Unlocker


Wrye Bash Link which includes Python and WXPython , both of which are needed for Wyre Bash to run. Be sure to read through the requirements for installation for any additional requirements. I recommend installing carefully the three programs required for Wyre Bash to work (which includes Wrye Bash) there are a few different versions of the 2 additional programs so I personally took my time and read through everything to be sure I did it right the first time.

Wrye Bash

***End Of Required Files***


--
Tes4Gecko is not used in this tutorial, but if you ever wanted to merge two plugins together to create a 'compilation' mod, it is a wonderful and simple tool to use, I recommend having it just as an optional tool, it does a whole bunch of other things, although most other things it does Wyre Bash does as well - Tes4Gecko
--

~~~~~~~~~~~~~~~~~~~

IMPORTANT THINGS TO REMEMBER::

1 = I recommend after EVERY save of an .Esp file that is done through the Construction Set that you look at the Data folder within Oblivion program, I have seen on a rare occasion an incorrect save, resulting in some weird TS file, and all I had to do was re-save again in the CS (Construction Set) and it saved fine. I personally just keep the Oblivion game folder open minimized to check it, and other stuff.

2 = Anytime a mod that replaces vanilla npc stuff is turned on while testing, if any *newly* (*newly* meaning these npc's have just been altered before starting up OB) affected npc's are within the same 'cell' (that is, within the same room, or even same outside area) when a save game is loaded, those *newly* affected npc's will not wear their new stuff - you must be outside of the 'cell' they are within - this is a bit of an inconvenience for testing during creation, I know of no way aside from a 'force' equip script to get rid of this issue, and that method will deem the mod potentially incompatible with other 'replacement' mods (because the script will run on their mods as well if your mod and theirs is combined).
So, personally when I modify npc's, I keep a save of my character outside of their same 'cell' area, but as close as I can while doing this.

Edit/ there may be a way to script in forcing npcs to put on wearables/weapons for a mod where it wont conflict (by checking to see if these items are in the inventory or not first) but I personally am not getting into the scripting aspects for my replacement mod nor attempting to describe such here.

3 = If your mod replaces wearables/weapons of vanilla npc's, I have found on rare occasion certain npc's simply refuse to put them on - to find out for sure if your stuff is even being added, just kill the npc in game and check their inventory.

4 = Backups - I recommend making regular backups of your mod .Esp file during the creation process.


~~~~~~~~~~ Getting Faces from Saves Into a mod 'Library' for use in your Mod ~~~~~~~~~~~~~~

We start right off using Wyre Bash - the below instructions are taken right out of Wyre Bash, and anywhere there is a new line that starts with a " * " means I added some information for better understanding


Import to Mod

* Note the next few lines of instruction are for faces that do NOT rely on cosmetic/race mods, basically they would normally be save games from characters that have face/race that relies only on Oblivions Vanilla content - a few more lines down is information to import a characters custom face features (hair/eyes) and even custom race features as well.

? To import a face into a mod, select the mod, right click and select "Import Face".

? Best Practice

? Start by creating an empty "PC Faces.esp" mod. You can easily do this by using the construction set, or you can copy "Blank.esp" from Mopy\Extras.

? Use this single mod as your face "library". Import any interesting faces from saves, then use TESCS to further edit "PC Faces.esp".

? Notes/Warnings

? It's strongly suggested that you import only to a mod that contains nothing but npcs.

? Face Import does not check for unique editor ids. If this is a danger, edit the file in TESCS. TESCS will auto-rename any duplicated editor ids, but you'll probably want to rename manually (since DUPLICATE0000 is not so informative!)



? Importing Non-standard Eyes/Hair and Importing Race

* For Importing faces which DO use cosmetic mods and race mods
* note that most race mods provide specific textures and meshes, so its highly recommended that any save game that relies on a new custom race be imported with the following instructions - and of course any save games that rely on cosmetic mods as well.

? Ordinarily, bash will only import eyes and hair that come from Oblivion.esm or the mod itself. However, it is possible to access eyes and hair from other mods with a little work.
* the above description includes races textures/meshes as well, and also getting the race properly transferred over.

? First, convert the source Race and/or cosmetic esp to an esm. (On the mods tab of Bash, use the "Copy to Esm" function.)
This cosmetic source potentially *can* be more than just one file for a face, especially when dealing with custom races - Ive seen normally the custom race always needs to be used, and converted, and sometimes also along with a cosmetic mod, like Rens_Full_Pack .
* Specifically, to do this, just right click on the desired mod in the list, then select "Copy to Esm".
* Then close Wyre Bash once done.

? Now, open your face library esp in the construction set, but be sure to also load the newly made race and/or cosmetic esm.'s. Then save (this will add the cosmetic esm to the master list of the face library esp).

* Now close the CS (Construction Set). Open up Wyre Bash again.

? Next, go to the save, right-click on the cosmetic esp in the list of masters on the right side of the window, select "Change to...", and then select the esm version. (Here, you're switching the dependency from the esp to the esm version.) Then save.

* Next, select the "Saves" tab, find the desired save game and select it, right-click on one of the race or cosmetic .Esp's (those that we had just made the .Esm for) in the list of masters on the right side of the window, select "Change to...", and then select the esm version. (Here, you're switching the dependency from the esp to the esm version.) - if there is more than one .Esp that was converted to .Esm for this save game to use, do this above method for all of them - then save.

? Now go back to the mods tab and import the face. The eyes/hair should now be imported.
* just a reminder - To import a face into a mod, select the mod, right click and select "Import Face".

? In short, Bash will only import eyes/hair if the eyes/hair come from an esm if the esp already has access (i.e., is dependent on) that esm.


~~Actual Mod creation~~

~~~~~~~

Time to get these faces into the mod.

Any race and cosmetic mods that your mod will use must be converted into .esm's through Wrye bash - and then these will be accessed directly by your mod until the mod is finished, where the mod's dependency on the .esm's will be changed back to .esp before release. This is because although your mod *will* run off of the .Esp's, it will not allow any saves to be made, so the dependency can be changed through Wyre Bash once its ready to be released.

The mod can then be created. I personally just use a new blank.esm from Wrye Bash again, and then in the CS set it to the active file, and also load up the necessary race/cosmetic .Esm's <-- make sure they are the .Esm's, not the .Esp's.
Once all loaded up, click on save and now the master list for your mod should include all of the new .Esm's.
*note - If you are making a new mod file (without using blank.esp or any other pre-existing file) to create that mod you must have the Oblivion.Esm selected, but no file set as active, and then you can save and the mod will always load up the Oblivion.Esm by default from then on.

Close the CS, then re-open it. Set you mod as the active file, then select also the faces library mod, and technically from here on, you shouldnt have to select the other .Esm's that it uses, as long as they are in the master list, they should load be default.

It is possible that there may be 2 or more mods that have some identical content in them, hair, eyes, race, whatever - as far as I can tell, it is of no harm to load in these duplicate files - so if the warning comes up about such, just click yes (or yes to all)

I would check a few newly added npc's just to be sure everything went in right, face, hair, eyes, race.

Now to get the CS to recognize the new Npc's added. The recommended method is to alter the ID name of each new NPC. So find each new Npc that has been added in the NPC list, click on each one, and edit the ID name - this is not the same as the actual npc's name - we are editing the ID reference name - just do 'anything' to the ID name to make it different, doesent matter, even just one number or letter added will do it. Then click OK, and a pop up window will ask if you want to make a new form, click yes. This is the new Npc that will be saved. So do this for all of the new npc's added, then click save.

Important : if you do not re-name the ID's of the new Npc's, and use some other method to get them saved (like altering something in their npc window then clicking 'Ok') - be warned that if the face library that was used to get this face from is loaded in again later with the same npc ID in there, you will end up with a duplicate created in the CS, and I personally have found this can get messy, and I ended up losing a number of my new Npc's by mistake when trying to manage to new duplicates added. So, again, I recommend just changing the ID names of the new npcs when they go in to avoid this.

I recommend after saving to close the CS, and reload your mod, with it being set to the active file, again, it should load up fine, even with 10 .Esms required in the master list, as they load up with it by default normally.

Now you can access any one of your new npc's and copy their face to a vanilla npc.

In short, for those that do not know, just open up one of the new npc's, leaving that open, also open up a vanilla npc that is desired to have a 'makeover', and then from the 'faces advanced' tab, use the copy/paste buttons, hit copy on your new npc, then hit paste on the vanilla one.

- Important - I have seen a regular 'oddity' where when paste is used, one must have one of the 'slider bars' selected (any one of them) for the npc getting the new face to get it properly, that is, for some reason without doing this not 'every' minute face change is transffered over, maybe its just my CS program or puter, but this is what I have seen. Even if paste was already used and a slider bar was not selected, you can still just select a bar, and hit 'paste' again, if it does for you what it does for me, you will see a minor change happen to the face's brow line, which puts it exact to the face being copied from.

For the Vanilla npc you can change race to what the race is from the copied npc, plus even male/female - and *most* of the vanilla npc's that are given a 'sex change' will use correct gender voice for the new setting, the only thing here is that any vanilla npc's that have 'unique' dialog (quest stuff, etc) will display the dialog for these still, but no voice - so I dont recommend altering too many of these more/less crucial npc's - and I have come across a few that for whatever reason dont want to switch gender voice, those of course I decided not to change their gender, but anyhow, usually they will make the switch.


~~ Giving Npc's items/armor/clothing/weapons from a mod ~~

Important - remember, again, as stated at the beginning of this Tut, any npc's just newly given wearable replacements wont put their stuff on if when you goto test if your character is in the same 'cell' upon loading -


This is actually the easiest part of it all.

Lets say you have 'Armor Of Hades' mod you want to use stuff from (one of my personal favs.. :P)

No .Esms required here this time.

Just open the CS, select your mod as the active file, select the .Esp for the armor mod to load as well.

Then in the armor area, find the name of the mods armor in the list, in this case its named AHades, select it

A list of the armor comes up - just open each armor piece, make some alteration to its ID name (not the actual name, the Editor ID Ref name) - I just add _copy to the end of each ID. Then when you click ok, it will ask if you want to make a new Object (or something like that) - and click Yes - and a duplicate of the original armor is made with your modified ID name. Do this for every peice of armor, weapons, items, whatever, from the mod.

Once youve got all the copies you want made, save your mod.

Just to see it in action, close the CS, and re-open it, load your mod only. You should see all the item pieces you gave new ID names for in your mod now. The true beauty of this is that these objects are linked directly to the location where they are stored in the Oblivion program within the armor mod (or whatever mod you used) - even better, your mod doesent even require an .Esp for the armor mod to find the armor, all that need be there is the armor mod content - which I think is awesome - this means you can add in say 10 different armor and weapons mods content into your mod, release your mod along with the armor and weapons mods packed with it (or have user download them) - and you can indicate in your readme that they do not need to transfer the .Esp's over into their data folder for your mod to work - and this means 10 less .Esp's cluttering up the active mods list in oblivion, and this means not all of the sudden getting a potential list of quests that are attached to some of these mods and not getting a bunch of item drops everywhere too, basically your mod will be the only thing accessing any of those item mods as long as they dont have their .Esp's put in - and they can still drop in any of those .Esp's if they would like that mods quest/item drops content in as well for their characters to directly access.


~~~~Final area~~~~~

To test your mod during creation, the various .Esm's the mod uses will need to be activated, along with any .Esp's your character may be using - even if your character was using an .Esp for a mod that you have now an .Esm for, you must still use the .Esp for your character, and the .Esm for the mod to run, so in this case both would have to be active for the character to be able to be used with the mod enabled - this is somewhat of an inconvenience during the creation stages, but once the mod is finished and ready to be released dependency can be changed.

*Important* - it may be possible to use a save that is reliant on the .Esm's or even take a save and switch the dependency intentionally and be able to run oblivion with basically only .Esm's, for both the character and the mod during the creation stages, this would have to be tested, I do not know if it would work or crash lol - but it would at least just remove some clutter from the mod activation list if it did work.


Lastly, when ur mod is done, and ready to be released - open up Wrye Bash, and switch the dependency of your mod from the .Esm version of the various used mods to .Esps - even if you plan on just using the mod for yourself, switching the dependency will likely be desired for much easier use.

It will be important, again, to inform users of your mod that before installing the mod that they take their character/s in game and fast travel to a location way out in the wilderness somewhere away from any Npc's being altered by the mod - I would even just give them a recommended spot, and this will remove the chance of certain Npc's not putting on their new stuff and/or not getting proper faces when the mod is used for the first time - and this is only a one time deal upon installation.

* note in the Construction Set you wont be able to save once the mod becomes Dependant on .Esp's now, unless it is switched back to depending on .Esm again before hand, and attempting to save when its relying on .Esp's now I *think* may result in wiping out a bunch of stuff in the mod (I cant remember exactly, but I do think something bad could happen).

Edited by Sornan, 04 January 2008 - 07:54 AM.

Space smuggler "I heard you like, ran into these things before, what happened?"
Ripley "I died.."