Jump to content

Make Your Own FO4 Sex Mod + Modders' Discussion


vinfamy

Recommended Posts

Have an idea for a sex mod that this guide does not cover? Put your idea down below and I (or another modder) will try to at least give you a few pointers on where to start.

 

I thought I would make a beginners' guide to making a sex mod in Fallout 4, assuming no prior knowledge of modding or software development. This will only include what is most relevant for adult modders. This thread deals with the Creation Kit and Papyrus aspects of adult modding in Fallout 4. It does not deal with animating, 3d modelling, character beautification, building cells, etc.

 

If you're an experienced modder, skip straight to the "Starting a Sex Scene" section of this guide. It's probably all you need to know. 

 

 

Creation Kit

 

Install Creation Kit

  1. Download the Bethesda.net Launcher
  2. Create a Bethesda.net account
  3. Log into the Bethesda.net Launcher
  4. You can install the Creation Kit from the Launcher, fourth button down on the left colum
  5. Go to your Fallout 4 installation folder, open CreationKit.ini and add the below to the [General] section:
[General]
bAllowMultipleMasterLoads=1

This will allow you to load multiple master-files in case you want to use DLC content or if your mod relies on other framework mods.

 

 

Load Master files, Create a new Esp

  1. Start the Creation Kit via Bethesda Launcher. It is possible to start CK via Mod Organizer, but it's not recommended as you won't be able to compile scripts - good for looking at other people's mod though.
  2. File> Data. Tick Fallout4.esm and any DLC's your mod will depend on. Note that all esm you tick here will become hard dependencies for your mod - i.e. the game will crash without them. It's generally good practice to avoid hard dependencies as much as possible, except Fallout4.esm of course.
  3. Click OK, the CK will now load the data files. It will take a while.
  4. You'll be greeted with an annoying box with a few hundred warnings. Don't worry, this is normal (thank you, Bethesda). As long as the error is not tagged as "CURRENT", it is fine.
  5. Make a new esp for your mod (which will allow people to enable/ disable your mod at will) by going back to File, then Save. Name the esp with the name of your mod and save to the default location so that your mod manager can pick up right away for easier testing.
  6. From now on, by going to File > Save, you can save all progress of your mod. I suggest saving regularly, FO4 CK crashes less than its Skyrim counterpart, but it still does from time to time.

 

Make a Quest

  1. Vinfamy, what if I'm not looking to make a quest mod? - In Creation Kit, a quest doesn't necessarily mean an in-game quest  that you see in your Pipboy Journal. Most of the time, quests act more like central management systems for bits and pieces of your mod. The vast majority of sex mods will require you to make a quest even if it will never be seen by the player in game.
  2. On the Object Window, navigate to Character > Quest. You'll see all the quests in the game. Right click on any of them > New
  3. In ID, put in an easy-to-remeber ID with a prefix for example mysexmod_MainQuest. I recommend always naming everything with a consistent prefix, it would make your life much easier later on. 
  4. Quest Name: if this is left empty, the 'quest' won't show up in the player's journal, which is probably what you need unless you're actually doing a quest mod. 
  5. Again, unless this is an actual quest for a quest mod, untick Run Once and tick Allow Repeated Stages.
  6. Start Game Enabled: the main 'management quest' for your mod should have this ticked. However, if any quest used to fill aliases based on conditions (see below), this should be unticked. 
  7. Click OK to create the quest
  8. Type in the prefix in the Filter box, the quest you just created should show up. Double-click on it, you'll now be presented with more options.

 

Quest Aliases (Specific)

  1. Quest Aliases are extremely powerful tools to achieve a lot of different purposes in the game. 
  2. Go to Quest Aliases tab > right click the white space > New Reference Alias
  3. Let's first make a PlayerRef alias. This alias points  to the player and is very useful for dialogues, scenes and for attaching scripts to:
  4. In Alias Name, put in PlayerRef. Tick Specific Reference > click Select Forced Reference > Cell: (any) > Ref: PlayerRef ('Player') > OK > No
  5. You can now modify/ add a bunch of things about the player in the Alias Data section: add faction  (for example if you want a mod that makes all raiders friendly to the player, add RaiderFaction to Alias Factions), add spell (for example if you want the player to have an active effect/ ability/ debuff/ buff), add package (if you want the player to behaviour in a specifc way) and add inventory (to add item, although this method is not recommended). The most common use for a PlayerRef alias is to attach a script to it, which we will come back to. 
  6. Press OK to add the PlayerRef alias. 
  7. Next let's make a specific NPC alias. This exactly the same process as making a PlayerRef alias, except when you select forced reference, pick a NPC instead. Let's make one for Travis the radio host for example. 

 

 

.......

 

 

Papyrus/ Scripting

 

.......

 

 

Starting a Sex Scene

 

Using Four-Play. I will keep the below updated if a new version of Four-Play affects it.

Quest Main = Game.GetFormFromFile(0x00002679, "four_play.esp") as quest
 
ScriptObject four_play_script = Main.CastAs("four_play:Main") 
if four_play_script
Var[] params = new Var[5]
    params[0] = Actor0
    params[1] = Actor1
    params[2] = false
    params[3] = none
    params[4] = 30.0
    four_play_script.CallFunction("four_play", params)
endif

Replace Actor0 and Actor1 with your sex actors. Replace Actor1 with None if you want Actor0 to masturbate. Replace 30.0 with the duration (in seconds) of your sex scene.

 

Obviously not complete, working on this gradually

Link to comment
  • 2 weeks later...
  • 2 months later...

Hi. Sorry for the n00b question...

 

How can I compile my script referencing the four_play:Main event ?

Do I need the fourplay sources or some kind of header file ? 

 

Edit: Just figured that I needed to extract the sources from the "four_play - Main.BSA"

 

You don't need to unless you want to add a hard dependency on Four-Play, which is not recommended anyway.

 

Just use the GetFormFromFile method shown in the guide and you'll be fine. With that method, you don't need Four-Play source files to compile your own scripts.

Link to comment

 

Hi. Sorry for the n00b question...

 

How can I compile my script referencing the four_play:Main event ?

Do I need the fourplay sources or some kind of header file ? 

 

Edit: Just figured that I needed to extract the sources from the "four_play - Main.BSA"

 

You don't need to unless you want to add a hard dependency on Four-Play, which is not recommended anyway.

 

Just use the GetFormFromFile method shown in the guide and you'll be fine. With that method, you don't need Four-Play source files to compile your own scripts.

 

 

Actually I was not trying to start a scene, but to listen to the end animation event.

Is there a way to do it using the GetFormFromFile ? Could only do it with the sources.

Link to comment

Hey Vinfamy, what do Param's 2 and 3 refer to? Are they just slots for more actors?

 

Also is there any way to use a specific idle (doggy etc...) in my Fragment?

 

I wish I'd found this turorial sooner as I had to find that code myself in one of your fragments :)

 

Thanks for all your hard work.

Link to comment
The two parameters are bool happy=False, objectreference start_mark=none

 

One to do with face expression of actors during sex scene, and one if you want specify a spot to have sex.

 

You can use the following to select specific idle, though I haven't bothered as I know Doc's gonna implement an animation loader when he's back

 

function four_play_main(Actor a0, Idle i0, Actor a1=None, Idle i1=None, keyword arch0=none, keyword arch1=none, objectreference start_mark=none, float duration=-1.0, bool re_entry=false)

 

Link to comment

 

 

make a dummy Quest Alias pointing to Specific Reference but leave it blank. Then make a Player dialogue scene with that alias as actor, add conditions to the greeting (faction, what the player's wearining, whatever), tick Forced into Alias and select the dummy alias.

 

You also need a decent quest priority if you want your dialogue to take precedence over vanilla one.

Link to comment

Ok, the tutorials on YouTube want me to tie my discussion to a particular NPC. Well, I don't want to do that, I want my discussion to work on ANY NPC.

 

So how do I do that?

 

:(

 

In addition to what Vinfamy told you since I just learned the dialogue system as well I'll share this, since no tutorials tell you. If you want the dialogue camera system to work right you need sound and lip files. The lip file of proper length will keep the camera pointed the right way. The sound file lets you skip the dialogue. Somebody on Nexus uploaded blank ones of varying length which is what I used. If your dialogue is short you can leave out the wav file.

 

Here are the placeholders:  http://www.nexusmods.com/fallout4/mods/19159/?tab=4&&navtag=http%3A%2F%2Fwww.nexusmods.com%2Ffallout4%2Fajax%2Fcomments%2F%3Fmod_id%3D19159%26page%3D1%26sort%3DDESC%26pid%3D0%26thread_id%3D4934050&pUp=1

Link to comment

 

 

Don't bother too much with it. Such a method wastes too much hard drive space (and LoversLab bandwidth)

 

I'm working on a F4SE plugin that does the lip sync and correct camera pointing automatically for unvoiced dialogues.

Link to comment

 

 

 

Don't bother too much with it. Such a method wastes too much hard drive space (and LoversLab bandwidth)

 

I'm working on a F4SE plugin that does the lip sync and correct camera pointing automatically for unvoiced dialogues.

 

 

Yeah I'm being mindful of that and only including a WAV file for really long responses. Glad to hear somebody is doing a Fuz Ro Doh equivalent. How far out you think that is though? I mean as much of a miracle worker as you are, it looks from the outside like you have a lot on your plate at the moment :)

 

 

Link to comment
  • 1 month later...

I'm the author of the current version of the vore mod (https://aryion.com/forum/viewtopic.php?f=79&t=49800) and now I want to add morph based animations to the bellies.

I've seen Looksmenu and that CBBE now allows for building tri's.  That's geat, in theory that means I can let the vore mod users build the various morph targets for an animation. It should be a fairly low amount of targets. 

 

The idea is that on a succesful vore event a large belly shaped as if a guy is in there is spawned and uses 3 or 4 sliders that are mixed and matched via script to animate it as if there is movement under the skin.

Can I hook into four-play or looksmenu to animate the sliders over time? 

If so, can someone give me a rough code example/idea? I'm not much of a scripter and am dependent on the ol' copy paste method for anything more complex then an IF statement.

 

If I can't do it via hooking into looksmenu or fourplay, would it be possible to add it as a headpart and and animate it via phenomes?

 

Cheers :)

Link to comment

Wow fast reply, cheers mate. 

Code looks exactly like what I need. I'll just need to make a float that changes over time.

 

So correct me if I'm wrong please.

The setmorph function exists only in bodygen and both me and end users will need to have bEnableBodyGen=1 set to 1 in f4ee.ini for the scripts to be able to use the function?

I'll also need to distribute a custom sliders.json I think.

Link to comment

Wow fast reply, cheers mate. 

Code looks exactly like what I need. I'll just need to make a float that changes over time.

 

So correct me if I'm wrong please.

The setmorph function exists only in bodygen and both me and end users will need to have bEnableBodyGen=1 set to 1 in f4ee.ini for the scripts to be able to use the function?

I'll also need to distribute a custom sliders.json I think.

 

You need not do either if you're just adjusting using the default CBBE sliders (there's an option for F4EE morphs during CBBE installation that installs CBBE.json), which should be plenty for your purpose

Link to comment

Cheers.  :)

Looks like for once the backend work will take me less time then the art. The belly for the vore mod is a  custom mesh and as near as I can tell I need a new slider for each morph target (that will also each be new). so I'll need that json and looksmenu f4se plugin I think?

Think I'll just make a gun that triggers slider changes in npc's to see if I understand this stuff well enough.

 

Afer I get this figured out I'll need to put in some time find to that havok64 plugin. Want to animate a few paired voring and unbirthing anims.

Link to comment
  • 1 month later...

Using Four-Play. I will keep the below updated if a new version of Four-Play affects it.

Quest Main = Game.GetFormFromFile(0x00002679, "four_play.esp") as quest
 

ScriptObject four_play_script = Main.CastAs("four_play:Main")
if four_play_script
Var[] params = new Var[5]
    params[0] = Actor0
    params[1] = Actor1
    params[2] = false
    params[3] = none
   
params[4] = 30.0
    four_play_script.CallFunction("four_play", params)
endif

Replace Actor0 and Actor1 with your sex actors. Replace Actor1 with None if you want Actor0 to masturbate. Replace 30.0 with the duration (in seconds) of your sex scene.

 

~~~~~~~~~

 

Ok, I replaced "Actor0" with the word "Dogmeat" & it would not compile. I replaced it with "DogmeatAlias" & it wouldn't compile. I replaced it with my custom alias "DogmeatSexAlias" & it still would not compile.

 

What name does this script require??

 

:( :( :( :( :( :(

 

 

 

 

Link to comment

Oooh - I didnt know this was here. I will be following this looking for tips / advise on how to create functional mods Thanks for starting this Vin, I feel it was sorely needed! :)

 

So, I do have a question. When I try to compile a script in the CK it fails due to the BodyGen.SetMorph lines being unknown. Anything that has morphing in it, will not compile, whether its a simple script I've created or a modification to your family planning script. Ive got FO4.esm as master and either my mod as active or FP as active when I was testing recompiling your player_script with new morphs added in.

 

Is there something Im missing on getting this to work? Morphs are essential to an idea I am playing around with for a new complex mod...

Link to comment

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

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

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use