This describes how to make a patch using the included esp and scripts from my mod, it will create patches that use my MCM menu since my scripts are written to do that.
You will be using the Creation Kit and optionally xedit, this is not a tutorial in installing these.
First, install and play the mod; obvious really but you need to check two things, a) where the baths/showers etc. are and b) how npcs and players behave in them. The mod description will often tell you that there is auto-undress but if it doesn’t it may do anyway; if it does then that alters what you need to patch.
The patch will do one of two things: create a trigger box from a pre-made activator, or add scripts to an already existing trigger box. The trigger box surrounds the area of water that you wish npcs/player to auto-undress. The trigger box can be cuboid or spherical so bear that in mind when planning where to put it; the cuboid trigger boxes are easier to manipulate in the Creation Kit. Beware of the trigger box overlapping into neighbouring rooms/areas where do you don’t want undressing; it is often best for the box to go upto but not meet the walls (if there are any) around a bathroom. On the other hand, if a bath is next door to shower or sauna then draw one box around both!
---- A trigger box will register two events, entering and leaving, it will also register the character who entered or left. ----
If you select an object in the area you want the box, then the box will be created sharing the bounds of the object. BUT, the trigger box and the object are not linked in anyway, this is just a shortcut used by the Creation Kit to place a box. I usually look for an object whose sides are already lined up with the area I wish a box to cover; this saves time rotating the box.
-------------------------------------------------------------------------
To add a pre-made trigger box(activator)...
So you’ve played the mod, you know where the water is and what combination of player/npc undressing you wish to add; load up the Creation Kit and select the mod plugin and also dz_undress_common as your data files but do not select anything as an active file.
As you can see I have selected BHTNFBP.esp as the plugin to patch, which is for Breezehome TNF Beds Plus SSE. I choose yes to the prompt to continue without an active file. Now if the undressing area is inside then you will need to work out which interior cell to load in the render view; in this case it’s quite easy as it’s an existing player home so we find the interior called Breezehome and load it:
You may have to zoom out a lot to see much in the render view window. It can be tricky finding the water area even if you have played the mod, in this case I already know that the pool is in the top left of the render window:
Now, using the controls to manoeuvre in the render view window are a pain, I hate them! So I can’t really give advice:) Zoom into the pool area till you have a view like this:
Now move around and look for an object that is aligned with how you will want your trigger box to go, say, this bucket:
Select the bucket so that it is highlighted as so:
Now, click the button for trigger boxes:
You will get a dialogue:
Since we are adding a new trigger box, we use one of the base objects that I have premade with scripts already attached which are part of the dz_undress_common.esp
Type dz in the filter box to get a list of all the premade activators (trigger box base objects)
The one you need to select is 'dz_undress_player_NPC'; this has the script for both player and NPC undressing. If you want to add just player undressing, just NPC undressing, an area where the player changes each time she enters, or areas for undressing and separate areas for redressing choose a different activator. Once chosen, click ok:
You can see that you have a trigger box exactly the same size as the bounds of the bucket object; the 3 coloured axes are used to adjust the boundaries of the box. Click and hold on one of the coloured arrows, and when you drag the edge of the box will move; you may need to adjust your view to ensure that you grab the correct axis:
This is always fiddly, you need to ensure that the box touches the bottom of the water and either touches the ceiling or is high enough so that if a character jumps they don’t leave the box, redress, land and undress again! Eventually you want something like this:
Now would be a good time to save your new plugin; click File>Save on the Creation Kit menu and you will be given a dialogue to save a new plugin in the games Data folder. Choose any name you want, I shall use ‘demo’:
See how your new plugin is listed in the title bar of the Creation Kit, this means it is the active file, all changes you make in the kit will be saved to this plugin.
It is clear then that while moving the trigger box and even before that, selecting an object to help orientate the box, that you musn't move any existing objects; otherwise that change will be saved to you plugin and you will have conflicts. It is also a good idea at this point to rename the trigger box so that you can find it later. Find the trigger box in the Cell View window under the list of objects, it will be called 'dz_undress_player_NPC', right click and select edit:
This is what you get:
Note the empty Reference Editor Id box; in here type your preferred new name, I shall choose demo_bath_trigger:
Click OK and at this point save your plugin again.
Voila! Now you need to test your plugin, enable it in your mod manager of choice and play the game.
-------------------------------------------------------------------------
To add scripts to an existing trigger box...
Say we wish to add player undressing to a mod that already has NPC undressing. Having played the mod you will know where the pools etc. are. Follow the same routine as above, but when you have loaded both dz_undress_common.esp and the mod you wish to patch in the Creation Kit, instead of adding a new trigger box, we look for an existing one, this can be tricky, trigger boxes can do many things and can overlap.
Here I have loaded DT_SpringwoodEstate.esp as well as dz_undress_common:
As you can see I have found an existing trigger box by typing 'trig' in the cell view object filter after selecting the 000SpringwoodEstate cell, double clicking on the DT_0BathTriggerDuplicate01 loads the trigger in the render window so that we can check it is likely to be what we want. In the cell view object list, right click on DT_0BathTriggerDuplicate01 and choose edit:
You can see that there is a script already attached to this trigger box, we know that the mod has NPC undressing and the scriptname suggests that this is a triggerbox for undressing. (Ultimately we cannot be completely certain what this script does without reading the source, but that is a different article).
Click on 'Add':
In the filter box type dz:
You will see my scripts, they pretty much correspond to the pre-made activators. Here we want the script dz_undress_player_only_script, so select to and click on OK:
With the script name highlighted, click on 'Properties':
Now it is useful when filling properties in the CK to use the autofill, so click on 'Auto-Fill All' and confirm:
As you can see, one item is not auto-filled, this is the property for MCM menu, to fill this highlight the property name, click in 'Edit Value' and select from the drop down list:
Click OK:
Note that I'm also giving the trigger box a new name, that is because in the cell view object list, there can be many items that are the same base object and appear with the same name. When there are a lot of pools etc. I name them each separately to keep track of them.
Now we save, choose whatever you wish your patch esp to be called:
And there is your patch!
-------------------------------------------------------------------------
Earlier I mentioned optionally using xedit. I use this to ensure that my patches have the right masters and to convert them to ESL flagged esp files.
If you wish to do this and you have xedit properly installed for Skyrim then launch it, right click and choose ‘Select None’, then select your patch; in my case demo.esp:
In my case BHTNFBP.esp and dz_undress_common.esp are already set as masters, this is because I am using SSE Creation Kit Fixes from Nexus Mods, if you find that the player home mod is not preselected then select it as well, click OK.
Highlight your patch, right click and select Compact FormIDs for ESL.
Save but do not exit xedit.
Highlight your patch and double click in the right hand pane against the ‘Record Flags’ entry; select ESL:
Your patch name is now in bold, select save:
Hopefully this will work, if it doesn’t you will need to right click your patch and choose ‘Compact FormIds for ESL’ first. If the player home mod did not get preselected as a master and you wish it to be a master then right click your patch, choose ‘Add Masters...’ and select the player home mod. Then save.
1 comment
Any advice you can offer appreciated. I am trying to add this effect to the indoor and outdoor pools for a pretty obscure/unofficial SSE port of Whiterun Mansion LE so I don't expect it will end up on your to-do list, plus it would be good to finally figure out how to do this in CK myself.
Thanks.
*edit
I managed to figure it out by using dz_undress_common.esp and copying the breezehome expanded tnf records in xedit after creating a plugin with the activator box in CK. Going to try to add the interior pool solely in CK now that I have a working reference.
Thanks again.