I see a lot of people asking how to start scenes OStim, and how to patch other mods that use a fade-to-black scene for intimacy. Here's an easy guide to learn how to start a scene and how to patch other mods to use OStim scenes. The guide is based on the patch I made for Auri, you can download that and use it as a reference to follow along. This is written in a step-by-step manor to make things as simple as possible. Basic Creation Kit knowledge would be ideal to make things go smoothly, specifically how to edit scripts for quests, quest stages, and dialogue topics, as well as adding properties to them. Don't worry, you don't need to be a master coder, the quest tutorials on the Creation Kit wiki should be enough to get you started.
Initial Setup
First of all, grab the creation kit and get a fully working OStim NG installed. Use the guide!
Now before we get started in the creation kit we need to make sure we have some script source files from various mods. Source scripts will have a ".psc" file extension. By default the SE Creation Kit reads scripts from "Data/Source/Scripts" but many modders will put their source files in "Data/Scripts/Source" because that's the path that the LE Creation Kit used. Below is a list of the mods you'll need the source scripts from (which you should have with a proper OStim NG install), you need to make sure that all of the ".psc" files are in the proper directory for each mod (by default it's "Data/Source/Scripts"). Simply copy paste the files and don't forget to create the proper folders if they don't exist. If the mod is packed into a ".bsa" file, unpack it with Cathedral Asset Optimizer or any BSA unpacking tool. This task will be much simpler with Mod Organizer 2 instead of Vortex. Now here's the list of the mods you'll need source scripts from:
- SKSE source scripts
- SkyUI source scripts. Download from HERE (click on the code button and then click download as zip, you'll find the source in the dist folder)
- RaceMenu
- JContainers
- MFG Fix
- PowerofThree's Papyrus Extender
- OSA
- OStim NG
- The mod you want to add OStim to. If the mod has no source files, then you have some extra steps that we will cover later.
Creating an OStim scene starter quest
Okay, now that we've got everything ready we can go into the creation kit. Load up the mod you want to edit (if you're creating a patch for another mod then make sure you don't select anything as the active file so that you can save your work into it's own file). The first thing to do is to make a quest that will activate the OStim scenes. Create a new quest and name it whatever you want, I called mine AuriOStimQuest (Name yours something unique! You don't want to conflict with other peoples mods!). Close the quest after naming it and open it again. Make sure "Start Game Enabled" is checked unless you know what you're doing and want it to start later. Go to the scripts tab at the end and press add and then select New Script. Name it what you want, I called mine AuriOStimScript.
Now copy and paste this into your script:
OSexIntegrationMain Property ostim Auto
Actor Property PlayerRef Auto
Function StartScene(Actor akSpeaker)
ostim.StartScene(PlayerRef, akSpeaker)
endFunction
Press "Ctrl+S" to save and compile the script. If there is an error then you are probably missing source scripts, go back to the previous step and make sure everything is in the right place. If it saved then you may exit the script editor. Back on the scripts tab of the quest window, select your script and click "properties". There will be a list of two properties on the left, select ostim and click "edit value" on the right. Select "OSexIntegrationMainQuest" from the drop down list that appears. For the PlayerRef property you can select auto fill. We're done with this quest now, so select OK an everything. I would recommend saving now and naming your new esp file.
How to start a basic scene
We will start OStim scenes via a script, typically on a dialogue topic or a quest stage. Whether you're making a new script or editing and old one, make sure to add a new quest property to it that points to the quest we made earlier (naming your property the same thing as your quest will make the CK autofill the property for you, so I'd recommend you do that).
Here's the line that will start the scene: (AuriOStimQuest as AuriOStimScript).StartScene(akSpeaker)
Obviously you need to change the names of the quest and script to match what you named yours. This script is meant to be used on a dialogue topic, and "akSpeaker" is going to be whoever is saying the line that this script is attached to. So in my case Auri would be saying the line and would be our partner in the OStim scene. If you're starting the scene in a quest stage you'll need to change akSpeaker to a property that points to the specific actor (or a quest alias) you want to be the partner in your scene.
Here's an example of this script in a quest stage in my Angi mod: (RES_MasterQuest as RES_MasterScript).StartScene(Alias_Angi.GetReference() as Actor)
That's it! A basic OStim scene should start.
Patching a fade-to-black scene in another mod
Now it's time for you to go hunting. You need to find the script that starts the fade-to-black and replace the fade-out code with our StartScene code. You'll typically find them in the dialogue topics or in quest stages. Make sure you carry over any other code that may be important to the mod, like SetStage functions; the last thing you want to is break someone else's mod, which would probably lead to many people complaining on the author's page when they should be complaining on yours! If the mod you're editing came with source files then you've got it easy, just makes sure you bundle the modified scripts with your mod download.
The mod I'm patching doesn't have source scripts
No source?
Welcome to hard mode. You might be able to get source files from the author if you ask nicely. Don't harass them if they say no. Your second option is to find the dialogue topic or quest stage scripts and use a script de-compiler tool on them to see what they do. It's important that you see the source of the code so you can carry over any important code. Other than that, not much more can be done.
6 comments
Although, I've not yet been able to figure out how to make it work as I get the compile error: unknown type osexintegrationmain, which is a true error in this case as osexintegrationmain is not a known type for script properties.
What's even more weird is I downloaded and installed An Evening With Angi by CHIMinyCricketMods then opened his mod in CK and still got the same error message. The only main difference I noticed off bat was he included Ostim.esp as a master for his mod. But it was still giving the error message and I don't why. I'm using OStim SA not NG, and I've read through the scripts NG installs and SA has then same script names, so that can't be the issue, it must be something else I'm missing.
Data\Source\Scripts\temp\...OStimScript.psc(3,29): unknown type osexintegrationmain
Data\Source\Scripts\temp\...OStimScript.psc(8,10): osexintegrationmain is not a known user-defined type
No output generated for OL8TeklaOStimScript, compilation failed.
Does anyone know of or have a workaround?