Hex Bolt Posted September 1, 2025 Posted September 1, 2025 48 minutes ago, xxshawnxx said: Hello, for some reason the mod isn't detecting sexlab on SE. Anyone have a fix or idea why this is? I have all the requirements. The option is just greyed out in the MCM. Are your other mods detecting SexLab?
xxshawnxx Posted September 1, 2025 Posted September 1, 2025 1 hour ago, Hex Bolt said: Are your other mods detecting SexLab? Hey, thanks for the response. I'm just dumb and my Jcontainers turned itself off somehow.
Ariaan Posted September 1, 2025 Posted September 1, 2025 15 hours ago, Bane Master said: You need to have the scripts (not the esps) from all requirements and the Global supported Mods (including EFF, AFT and NFF) installed in your development environment to compile. I do have all the scripts from all the requirements in the dev env. And of course I would need too have all the global supported mods installed too. So stupid of me not to think about it. I don't have Amazing Follower Tweaks installed in my live environment, so I only thought of po3 tweaks when I saw the tweaks in the name. 🙈 So silly of me! Thank you for leading me to the water 🙂. I appreciate all your help!! 1
Bane Master Posted September 1, 2025 Author Posted September 1, 2025 What's New in Version 1.73 Released Just now Fixed SL Scene/Animation Tag handling for compatibility with Sexlab P+ Default Animation tags in AnimationTags.json have been updated - edit to suit your personal preferences dDs unequipped from slaves before starting a SL scene should now be re-equipped if the SL scene fails 2
Ariaan Posted September 2, 2025 Posted September 2, 2025 On 8/31/2025 at 5:19 PM, Bane Master said: You need to have the scripts (not the esps) from all requirments and the Global supported Mods (including EFF, AFT and NFF) installed in your development environment to compile I've installed all of these now, and I also made sure that for every mod in the mod list that have .psc files, that those file are within ..\Source\Scripts\ folder of that mod. A noob question: When I select the Data files in Creation Kit that I want to include with the active mod (Follower Slavery), what do I do with EFF, AFT and NFF? In-game I can only have one of these mods active since they clash with each other. So I've selected all three in the modlist in MO2, but then deselected EFFCore.esm, EFFDialogue.esp & AmazingFollowerTweaks.esp in the Plugins list in MO2. What do I do with these esm and esp files when I select the Data in Creation Kit? I need all three's .psc files to compile FSM's files (like you said). Do I select all of their esm and esp files in Creation Kit Data? Or do I only select say NFFs esp (nwsFollowerFramework.esp) as part of the Creation Kit Data? I've selected all three of these mods' esm & esp files in Data (because I'm not sure if Creation Kit will include the Source\Script folders of all these mods if I don't select their esm/esp. Is this a mistake? I'm now getting an error "\Source\Scripts\sslActorAlias.psc(192,5): variable NiOverride is undefined" when I try to compile fsm_followerupkeepaliasscript.psc. sslActorAlias.psc is part of SexlabFrameworkAE_v166b. How does compilation work? I'm trying to compile fsm_followerupkeepaliasscript.psc, but it looks like it is now trying to compile all files that impact fsm_followerupkeepaliasscript.psc as well. Is this correct? I've selected all mods that are part of my dev modlist in MO2 as part of Data in CK. Should I only select a subset of the mods when I try to compile fsm_followerupkeepaliasscript.psc? What do I do when it gives another mod's files as reason for the Failed Compile of the mod you are working on? Like in this instance, what should I do? I really appreciate your help @Bane Master!
Ariaan Posted September 2, 2025 Posted September 2, 2025 Inside sslConfigMenu.psc: line 1247 function SystemCheckOptions() AddTextOption("Skyrim Script Extender (2.2.4)", StringIfElse(Config.CheckSystemPart("SKSE"), "<font color='#00FF00'>ok</font>", "<font color='#FF0000'>X</font>"), OPTION_FLAG_DISABLED) AddTextOption("SexLabUtil.dll SKSE Plugin (1.6+)", StringIfElse(Config.CheckSystemPart("SexLabUtil"), "<font color='#00FF00'>ok</font>", "<font color='#FF0000'>X</font>"), OPTION_FLAG_DISABLED) AddTextOption("PapyrusUtil.dll SKSE Plugin (4.5+)", StringIfElse(Config.CheckSystemPart("PapyrusUtil"), "<font color='#00FF00'>ok</font>", "<font color='#FF0000'>X</font>"), OPTION_FLAG_DISABLED) ; AddTextOption("SKEE64.dll SKSE Plugin (3.4+)", StringIfElse(Config.CheckSystemPart("NiOverride"), "<font color='#00FF00'>ok</font>", "<font color='#0000FF'>?</font>"), OPTION_FLAG_DISABLED) AddTextOption("FNIS - Fores New Idles in Skyrim (7.0+)", StringIfElse(Config.CheckSystemPart("FNIS"), "<font color='#00FF00'>ok</font>", "<font color='#FF0000'>X</font>"), OPTION_FLAG_DISABLED) AddTextOption("FNIS For Users Behaviors Generated", StringIfElse(Config.CheckSystemPart("FNISGenerated"), "<font color='#00FF00'>ok</font>", "<font color='#0000FF'>?</font>"), OPTION_FLAG_DISABLED) AddTextOption("FNIS SexLab Framework Idles", StringIfElse(Config.CheckSystemPart("FNISSexLabFramework"), "<font color='#00FF00'>ok</font>", "<font color='#0000FF'>?</font>"), OPTION_FLAG_DISABLED) AddTextOption("FNIS Creature Pack (7.0+)", StringIfElse(Config.CheckSystemPart("FNISCreaturePack"), "<font color='#00FF00'>ok</font>", "<font color='#0000FF'>?</font>"), OPTION_FLAG_DISABLED) AddTextOption("FNIS SexLab Creature Idles", StringIfElse(Config.CheckSystemPart("FNISSexLabCreature"), "<font color='#00FF00'>ok</font>", "<font color='#0000FF'>?</font>"), OPTION_FLAG_DISABLED) ; Show soft error warning if relevant if !Config.CheckSystemPart("NiOverride") || !Config.CheckSystemPart("FNISGenerated") || !Config.CheckSystemPart("FNISSexLabFramework") || !Config.CheckSystemPart("FNISCreaturePack") || !Config.CheckSystemPart("FNISSexLabCreature") AddTextOptionST("FNISWarning", "INFO: On '?' Warning", "README") SetInfoText("Important FNIS Check:\nIf you're getting a '?' on any checks try scrolling in and out of 3rd person mode then checking again while still in 3rd. These '?' are just soft warnings and can usually be ignored safely.\nIf scrolling in and out doesn't work and characters stand frozen in place during animation than these are the most likely causes. Fix your FNIS install.") endIf endFunction Config.CheckSystemPart("NiOverride") seems to be remarked out in the SystemCheckOptions function in SexLabFrameworkAE_v166b Do I unremark it? What should I do @Bane Master?
Bane Master Posted September 2, 2025 Author Posted September 2, 2025 16 minutes ago, Ariaan said: what do I do with EFF, AFT and NFF? You don't need any of the FSM global supported esm/esps enabled in the creation kit - the scripts are sufficient. 16 minutes ago, Ariaan said: I'm trying to compile fsm_followerupkeepaliasscript.psc, but it looks like it is now trying to compile all files that impact fsm_followerupkeepaliasscript.psc as well. Is this correct? Yes - that's exactly how it works - Papyrus will recompile any script that is called from fsm_followerupkeepaliasscript.psc and also any scripts that they call etc. etc.! 20 minutes ago, Ariaan said: variable NiOverride is undefined NiOverride is included in RaceMenu but RaceMenu has it's assets in a BSA so they are invisible to the compiler - you need to extract the files from the RaceMenu BSA. Same goes for any other Mods that have their scripts stored in BSAs.
Bane Master Posted September 2, 2025 Author Posted September 2, 2025 8 minutes ago, Ariaan said: Do I unremark it? Nope - just extract RaceMenu's script files from the BSA
Ariaan Posted September 2, 2025 Posted September 2, 2025 24 minutes ago, Bane Master said: just extract RaceMenu's script files from the BSA Thank you for all your help!! Do I use Bethesda Archive Extractor to extract the .pex files from the BSA file, and then convert the .pex files to .psc files using Champollion?
Bane Master Posted September 2, 2025 Author Posted September 2, 2025 (edited) 11 minutes ago, Ariaan said: Do I use Bethesda Archive Extractor You can - or if you are using Mod Organiser you can extract via MO 11 minutes ago, Ariaan said: convert the .pex files to .psc files No need to convert - the Source files are in the BSA as well Edited September 2, 2025 by Bane Master
Ariaan Posted September 2, 2025 Posted September 2, 2025 7 hours ago, Bane Master said: You can - or if you are using Mod Organiser you can extract via MO I had no idea MO2 has this functionality. Yes, I am using it. I have now changed my settings to ask me whether or not to extract the BSA source files when ever I install a mod with a BSA file. Thank you for pointing that out to me. I had some issues getting all the source files for SkyUI and to get all its functions to work in its psc's, but I got there in the end. I'm now sitting with GetOrgasmCount function. From what I can find it is part of Sexlab Separate Orgasm's sslActorAlias.psc file (it overwrites the SexLab Framework file). Is that the version you use? (OSLAroused calls the function in OSLAroused_AdapterSexLab.psc)
Bane Master Posted September 2, 2025 Author Posted September 2, 2025 3 hours ago, Ariaan said: From what I can find it is part of Sexlab Separate Orgasm's sslActorAlias.psc file (it overwrites the SexLab Framework file). Is that the version you use? For development I just use vanilla SL as FSM doesn’t do anything clever with SL. It just uses SL’s standard API.
Ariaan Posted September 3, 2025 Posted September 3, 2025 12 hours ago, Bane Master said: For development I just use vanilla SL as FSM doesn’t do anything clever with SL. It just uses SL’s standard API. Thanks Bane! I'll do that.
Ariaan Posted September 4, 2025 Posted September 4, 2025 @Bane Master, I at last got fsm_followerupkeepaliasscript.psc to compile! 🙂 Now I can start tinkering with it. This (attached) is the list of mods I ended up with that was needed to compile it. Do you have a dev environment setup specifically for FSM? If you do, I was wondering how this list compare to the one you have and whether I still lack any dependencies that another one of your .psc files might need. Something else I've been wondering about that maybe you can confirm. All the mods that I had to install because of dependencies by dependencies, do I have to have their esp files active in plugins when I test mod changes and runs Skyrim? My thinking is that their esp files doesn't need to be active, only their psc files are needed when I compile the FSM psc file. Is there a shortcut to get all the required dependency psc files when wanting to make changes to a mod's psc / source file? My process was to try to compile it, then see what error message it gives, then find the mod with that psc file, install it, make sure the source files is in Source\Scripts, restart Creation Kit with the needed mod installed, select the active mod in CK and load all the Data, then try and compile to psc again and see what error it gives, and then the whole process again. Is there a shortcut to this process? SkyrimSE mod list for Follower Slavery Mod Dev.txt
Bane Master Posted September 4, 2025 Author Posted September 4, 2025 1 minute ago, Ariaan said: whether I still lack any dependencies Your list looks like it has all the necessary mods to me 2 minutes ago, Ariaan said: their esp files doesn't need to be active Correct! 3 minutes ago, Ariaan said: Is there a shortcut to this process? Other than ensuring scripts for all explicitly supported mods are available I don't know of any shortcut - When working with another author's mod I just compile and add missing files until it works. 1
Ralph.B Posted September 5, 2025 Posted September 5, 2025 (edited) Just had a strange experience. It's fine, but I wonder wether it's a bug or a feature. Have placed a female captive in a small cage via Creation kit at the market place at Riften near Grelkas stand. She's set to unique, protected, recruitable and marryable, Her player relationship is ally, She's in the player faction but currently not in the active follower faction. Last time I crossed the market place in the late night. A thief that is not in the thieves guild appered (I think he's from the "Thievesguild for good guys" mod) and the imperial guards attacked and killed him like expected. For some reason one of the guard got in trouble with my caged slavegirl, somehow pulled her out of the cage, struck her down into bleedout mode and raped her. I was on a mission and left the market place before the scene ended. Next day when I returned, the cage was empty and the captive girl was gone. Some times later I entered the guards barracks and unexpectedly found her near a sleeping soldier. When I talked to her she answered in typical FSM manner that I should leave her alone because she was afraid to be punished when speaking to other people. Later I spoke to the soldier and offered to buy her. But he refused and advised me to come back after some days perhaps. For now he wanted to have some fun with her himself. I got curios and opened the FSM Menue and she actually was listed as enslaved by FSM. Mmmh - I always thought FSM can only enslave active followers, but she definitifely wasn't. I've spoken to her in the past, so I assume she's registered in FSM, but I never recruited her so far. So what's going on here? Beside FSM and Sexlab Defeat (your version) the only additional mod related to slavery is PAHE. But I've not seen any support for PAHE in your mod nor can I remember you ever mentioned it. Edited September 5, 2025 by Ralph.B 1
Bane Master Posted September 6, 2025 Author Posted September 6, 2025 10 hours ago, Ralph.B said: somehow pulled her out of the cage, struck her down into bleedout mode and raped her. So - I suspect this is what happened She was seen as hostile by the town guards once the fight kicked off (I have no idea why - but I'm certain it's not FSM or Defeat related) Once the guard downed her Defeat grabbed her for an NPC/NPC assault Once she was assaulted FSM enslaved her - both unaccompanied followers & potential followers can be enslaved by FSM if Defeated FSM & Defeat appear to have worked as intended - to prevent this you would need to ensure that your placed NPC doesn't agro anyone if a fight kicks off near her. 10 hours ago, Ralph.B said: But he refused and advised me to come back after some days perhaps. For now he wanted to have some fun with her himself Give him a few days to get bored with her and ask again 1
Ralph.B Posted September 6, 2025 Posted September 6, 2025 1 hour ago, Bane Master said: So - I suspect this is what happened She was seen as hostile by the town guards once the fight kicked off (I have no idea why - but I'm certain it's not FSM or Defeat related) Once the guard downed her Defeat grabbed her for an NPC/NPC assault Once she was assaulted FSM enslaved her - both unaccompanied followers & potential followers can be enslaved by FSM if Defeated FSM & Defeat appear to have worked as intended - to prevent this you would need to ensure that your placed NPC doesn't agro anyone if a fight kicks off near her. Give him a few days to get bored with her and ask again No complain about what happened. I loved it - absolutely great! I'm not quite shure why the guard got angry on her, have to invstigate some more. Maybe it is because she's in the dunPrisonerFaction and maybe friend or even ally to bandits or wherever those non-thievesguild thieves belong. However, it's shurely not the fault of FSM. Normally the guards don't care about her. Thanks for clarification. I simply was not aware that FSM can enslave not active or dismissed followers, too. I always thought they have to accompany the player to be recognised as valid victims. This opens up completely new possibilities for some of my selfmade NPCs .... 😁 1
Ariaan Posted September 7, 2025 Posted September 7, 2025 (edited) Hi Bane. I'm not sure if this is the correct forum to discuss this, so if it isn't, just let me know and we can take it off-line. I'm trying to understand fsm_SLDefeatMon and how it is added/attached to a follower. My thinking is that the intent is for fsm_SLDefeatMon to be attached to the follower when SLDefeat is handeling all the script when any of the defeat conditions are true. The reason why I am asking how it is attached to the follower is because kActor.HasKeyword(fsm_SLDefeatMon) returns true even when I tell Defeat not to handle NPN vs NPC action in the Defeat MCM (as per the screenshot). I've tried it when 1) change the Defeat MCM setting to DISABLED during a play session, as well as 2) Load the game with the Defeat MCM set to DISABLED. I seem to always get kActor.HasKeyword(fsm_SLDefeatMon) return TRUE when ever SLDefeat is installed / active as a mod. I've added some log messages to fsm_followerupkeepaliasscript.psc to try and understand fsm_SLDefeatMon. (PS: Like I've mentioned before, I've never worked with Papyrus Script so this is my first tinkering with it 🙂 ) Function LogMessage(String msgText) Debug.Trace("FSM - " + msgText) EndFunction State BleedOut ; This state handles Followers that have not been assigned to SLDefeat or SLDefeatNVN slots (i.e. should not have the DefeatSTKnockDownSPL or DefeatSTTrueCalmSPL) Event OnBeginState() LogMessage("State BleedOut OnBeginState started for :" + kActor.GetLeveledActorBase().GetName()) If kActor.HasKeyword(fsm_Slave) || kActor.HasKeyword(fsm_SLDefeatMon) If kActor.HasKeyword(fsm_Slave) LogMessage("State BleedOut OnBeginState: Actor is already enslaved by FSM. kActor.HasKeyword(fsm_Slave) = " + kActor.HasKeyword(fsm_Slave)) Else LogMessage("State BleedOut OnBeginState: Actor is already monitored by SLDefeat. kActor.HasKeyword(fsm_SLDefeatMon) = " + kActor.HasKeyword(fsm_SLDefeatMon)) EndIf GoToState("Monitor") ;Current Followers being handled by Plugins directly or there are no valid aggressors Else LogMessage("State BleedOut OnBeginState: Register BleedOut For Single Update") RegisterForSingleUpdate(1.0) EndIf EndEvent Event OnUpdate() LogMessage("State BleedOut OnUpdate Event started for: " + kActor.GetLeveledActorBase().GetName()) If !bIsSkyrimSE iAggressorGlobalCount = FormListCount(fsm_FollowerUpkeepQuest, "fsm_AggressorList") If iAggsLastChecked < iAggressorGlobalCount iAggsLastChecked = iAggressorGlobalCount bHasAggressors = ValidateAggressors() EndIf EndIf If !bIsInCombatZone(kActor, 2048.0) ;Wait Until Nobody is in combat within 100' If ( bIsSkyrimSE || bHasAggressors ) && Utility.RandomInt(1, 100) <= GetIntvalue(fsm_FollowerUpkeepQuest, "fsm_DirectEnslaveChance") GoToState("FSMEnslave") Else GoToState("Monitor") EndIf Else RegisterForSingleUpdate(2.0) EndIf EndEvent EndState State SLDefeatKO Event OnBeginState() ;If this state is called then SLDefeat is Installed and the Follower is not being monitored by FSM's Defeat Plugin LogMessage("State SLDefeatKO. SLDefeat is Installed and the following Follower is not being monitored by FSM's Defeat Plugin :" + kActor.GetLeveledActorBase().GetName()) bIsDefeatExhausted = False If GetIntvalue(fsm_FollowerUpkeepQuest, "fsm_DirectEnslaveChance") > 0 RegisterForSingleUpdate(2.0) Else ;MCM set to zero enslavement chance - event disabled GoToState("Monitor") EndIf EndEvent Papyrus.1.log fsm_followerupkeepaliasscript.psc Edited September 7, 2025 by Ariaan
Bane Master Posted September 8, 2025 Author Posted September 8, 2025 On 9/7/2025 at 10:51 AM, Ariaan said: I seem to always get kActor.HasKeyword(fsm_SLDefeatMon) return TRUE when ever SLDefeat is installed / active as a mod. Yes that is correct. The keyword fsm_SLDefeatMon is attached to the aliases on fsm_SLDefeatFollowersQuest - these aliases are filled with NPC followers in CurrentFollowerFaction or CurrentHireling in the loaded area each time the player interacts with a follower and Defeat is installed/running. The Quest and it's associated scripts are how FSM tracks followers eligible for/involved in Defeat scenes.
Ariaan Posted September 9, 2025 Posted September 9, 2025 23 hours ago, Bane Master said: these aliases are filled with NPC followers in CurrentFollowerFaction or CurrentHireling in the loaded area each time the player interacts with a follower and Defeat is installed/running. Thank you for confirming what I suspected (that it is attached when Defeat is installed and running). Like I said, I'm not familiar with papyrus scripting, but is there no way to query the follower at the time of the bleedout and check if at that specific time 1) "NPC vs NPC" in SLDefeat is "Enabled" at that point, and 2) whether SLDefeat has started any script re defeat of the follower?
Bane Master Posted September 10, 2025 Author Posted September 10, 2025 (edited) 22 hours ago, Ariaan said: check if at that specific time 1) "NPC vs NPC" in SLDefeat is "Enabled" What exactly are you hoping to achieve? FSM won't enslave followers unless they have been assaulted so if you disable Follower Collateral in Player as Victim and NPC vs NPC no Defeat triggered enslavement will occur. 22 hours ago, Ariaan said: whether SLDefeat has started any script re defeat of the follower? That's effectively what If kFollower.HasSpell(FSLD.DefeatSTTrueCalmSPL) and If kFollower.HasSpell(FSLD.DefeatTraumaSPL) || kFollower.HasSpell(FSLD.DefeatExhaustedSPL) || kFollower.HasSpell(FSLD.DefeatEscapeSPL) does in the script Edited September 10, 2025 by Bane Master
AMchi Posted September 11, 2025 Posted September 11, 2025 (edited) On 8/31/2025 at 12:26 AM, Bane Master said: I have a idea what the issue might be based on testing P+ at my end. FSM currently uses the QuickStart SL function - in Vanilla SL any tags passed to this function are always treated as OR. In this case - for male master female slave the FSM tags file has "Aggressive,MMF.MMMF,MMMMF" and this works fine you either get an Aggressive MF animation or if there is more than one male you get MMF, MMMF or MMMMF accordingly. In my testing it looks like the P+ implementation of QuickStart is treating the Tags as AND - so no animation can be found as no amimation has all the tags "Aggressive,MMF.MMMF,MMMMF". You can test this yourself by editing the mf incltags in AnimationTags.json to only have "Aggressive" - at which point you should start to see MF scenes working. I'm looking at implementing a solution for this in code but editing the tags should be a workaround in the meantime Thanks for the update and fix! Was getting wifi in my apartment, so took a while to respond. New problem though; I recently started a new game but with NFF instead of EFF this time round, but found that none of the followers I have are being detected by FSM. I have both the latest version of NFF from nexus and the latest version of FSM from here. Is there something extra I need to do for compatibility? I've tried changing the load orders and resetting the followers, both via dialogue and the debug menu. Is this a known issue? Edit: Odd, tried starting a new game, spawned in followers and recruited them, and FSM found them. Something must have happened during the playthrough that borked it, I guess? Is there any troubleshooting I can do? Edited September 11, 2025 by AMchi
Bane Master Posted September 11, 2025 Author Posted September 11, 2025 (edited) 8 hours ago, AMchi said: I guess? Is there any troubleshooting I can do? Not had any other reports of this You can post a Papyrus Log from the game where you have opened dialogue with one or more followers and we can check for errors in your follower registration Edited September 11, 2025 by Bane Master
Ariaan Posted September 11, 2025 Posted September 11, 2025 On 9/10/2025 at 10:40 AM, Bane Master said: What exactly are you hoping to achieve? What I want. If the player dies, handle it with SLDefeat. If the follower dies, handle it with FSM (therefore change NPC vs NPC in SLDefeat to disabled). If the follower dies, the follower is not automatically resurrected. The follower can be resurrected and healed by the player though (NFF manages all of this). If the player runs away and leave the follower behind, the follower is enslaved (handled via FSM). The plan is to change the assault requirement (not needed). When the follower is left behind in battle and dies, and the player is more than say 100 meters away, then the follower is enslaved. That's the plan. Unfortunately, at present, FSM's fsm_SLDefeatMon is always True if SLDefeat is installed. It doesn't seem to look at the NPC vs NPC MCM setting in SLDefeat. So "State BleedOut" for instance never goes into OnUpdate since OnBeginState checks if fsm_SLDefeatMon is True and sends it back to Monitor state.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now