zhenmika Posted September 3 Posted September 3 Thanks a lot for your hard work that made this mod available to us. I've tried translating the MCM into Chinese, and I hope it helps. SexLab Submit SE_CHINESE.TXT
dkatryl Posted September 3 Author Posted September 3 (edited) 16 hours ago, zhenmika said: Thanks a lot for your hard work that made this mod available to us. I've tried translating the MCM into Chinese, and I hope it helps. SexLab Submit SE_CHINESE.TXT 14.14 kB · 0 downloads I always appreciate those that help translate the MCM and/or the .esp Strings! As an aside, I was amused that the Chinese characters take up so much less file overhead, because it went from 31kb to 15kb! lol Most Recent Changes v1.1.2c - (03SEP26) Updated Chinese translation for MCM provided by zhenmika. Edited September 3 by dkatryl 1
dkatryl Posted September 4 Author Posted September 4 (edited) Finished up the Player as Victor Necro stuff last night. Everything worked as intended, with the exception of one thing, which seems to be a SLP+ Framework issue. According to https://slp-community.github.io/SexLab-Wiki/slp/api-reference/ using the command: thread.SetPathingFlag(actors[1], -1) Should disable the actor in question from walking to the Player, instead simply immediately teleporting over once the scene begins. But, it doesn't seem to do anything, and they keep walking. Given that is a Framework issue, there isn't much I can do about that. Tonight I plan to add in the Player as Victim version. [Edit]As I started on this, I could already hear the request to make the Player as Victor vs Player as Victim two separate MCM options, so you could have the option to only use one of the two. [Edit]Another frustrating night of modding, when the stupid Papyrus flat out ignores when I set a Global, or apply a Magic Effect, or add a Perk, or anything, despite compiling and filling the Properties in CK64. 😒 [Edit]I can't explain why trying to set the things during the OnEnterBleedout() part of the AutoSurrender script wasn't working, but if I took the *EXACT SAME PAPYRUS FRAGMENTS* and did them in a different script, suddenly it works. 🙄 Oh well, at least I'm finally making forward progress. [Edit]Man, it's like everything I tried, there was *some* thing wrong with it. Try to use the PushActorAway(), you get stuck in Ragdoll Cam mode. Try to SetParalyze = 1 to prevent the Player from standing up during the leadin, the Sexlab animations don't play. Try to use the 'Ragdoll' debug animation, and there isn't a clean transition into it, and when it's all done, you wind up stuck running in place. So I guess for stability I'll have to settle for the Bleedout animation for the Player during the leadin, and then use the Necro tagged animations once the actual scene starts. [Edit]Went back to the original idea after a night's sleep and a fresh head, and was able to make it work exactly as I wanted. Also realized it was an AI Package that was doing a 'Weapon Drawn' override that was interfering with them sheathing the weapon, so now they properly kneel to rob the player. I also use this for them to 'Help the Player/Follower up' before scene starts, because you have to be fully out of Ragdoll mode, or the sex animations fail. The default Ragdoll cam is still a thing, but that easily handled with a Death Cam mod. I recommend this one: https://www.nexusmods.com/skyrimspecialedition/mods/46449?tab=description I also tested this with a Follower, and it did exactly what I expected. Spawned 6 bandits, and 3 did a train on my test char, and 3 did a train on my follower. So at this point, I consider both the Player as Victor and Player as Victim Necro feature done and ready! Now to move on to the spell animations that refuse to play. Something that is 100% purely cosmetic, but dammit, they should work! This has proven to not be worth the time investment to try to find work arounds without requiring 3rd party SKSE plugins beyond what is required for the Sexlab Framework. I'm dropping this and moving on. Edited September 6 by dkatryl
dkatryl Posted September 6 Author Posted September 6 Most Recent Changes v1.1.3 - (06SEP26) New MCM Option - "NPC Necrophilia Content Active" - This applies to Player as Victor. Toggle this option on to enable the Player to engage in scenes with a dead NPC. Simply use the Hotkey when your crosshair is over the body. Utilizes the SKSE function Game.GetCurrentCrosshairRef(). ***Requires animations with the Necro flag!*** Using the hotkey on a dead NPC in your crosshair is disabled. Toggle this option on to enable NPC Necrophilia content. New MCM Option - "Player Necrophilia Content Active" - This applies to Player as Victim. Toggle this option on to enable necro/unconscious animations to be used on the Player after the 'Death-Proof' feature of the Player Auto Surrender kicks in. ***Requires animations with the Necro flag!*** Auto Surrender via the Death Proof trigger uses Necrophilia/Unconscious animations. Toggle this option off to disable Player Necrophilia/Unconscious content. Given that the Player as Victim utilizes PushActorAway() which will trigger ragdoll mode, while it is not required, I recommend using a Death Camera mod of some variety, such as https://www.nexusmods.com/skyrimspecialedition/mods/46449?tab=posts Without one, the camera will be locked in position during the transitions, but will return to normal once the sex scene animation(s) begin, as well as when the are all finished. Due to how limited and niche Necro animations are, it will only looking for single pair NPC scenes. Creatures and threesomes will just use standard Forced/Aggressive animations. Outside of bug fixes as required, I have no more planned features to add at this point. There's always the possibility that something will come up during my own personal play through, but short of that, consider the mod complete.
BF3000 Posted September 7 Posted September 7 (edited) On 9/6/2026 at 12:56 PM, dkatryl said: Most Recent Changes v1.1.3 - (06SEP26) New MCM Option - "NPC Necrophilia Content Active" - This applies to Player as Victor. Toggle this option on to enable the Player to engage in scenes with a dead NPC. Simply use the Hotkey when your crosshair is over the body. Utilizes the SKSE function Game.GetCurrentCrosshairRef(). ***Requires animations with the Necro flag!*** Using the hotkey on a dead NPC in your crosshair is disabled. Toggle this option on to enable NPC Necrophilia content. New MCM Option - "Player Necrophilia Content Active" - This applies to Player as Victim. Toggle this option on to enable necro/unconscious animations to be used on the Player after the 'Death-Proof' feature of the Player Auto Surrender kicks in. ***Requires animations with the Necro flag!*** Auto Surrender via the Death Proof trigger uses Necrophilia/Unconscious animations. Toggle this option off to disable Player Necrophilia/Unconscious content. Given that the Player as Victim utilizes PushActorAway() which will trigger ragdoll mode, while it is not required, I recommend using a Death Camera mod of some variety, such as https://www.nexusmods.com/skyrimspecialedition/mods/46449?tab=posts Without one, the camera will be locked in position during the transitions, but will return to normal once the sex scene animation(s) begin, as well as when the are all finished. Due to how limited and niche Necro animations are, it will only looking for single pair NPC scenes. Creatures and threesomes will just use standard Forced/Aggressive animations. Outside of bug fixes as required, I have no more planned features to add at this point. There's always the possibility that something will come up during my own personal play through, but short of that, consider the mod complete. Russian translation upd: Made the names of some functions shorter to fit in mcm menu SexLab Submit SE v1-1-3_RUS_v2.7z Edited September 7 by BF3000
zhenmika Posted September 7 Posted September 7 On 2026/9/6 at PM1点56分, dkatryl said: 最新变更 v1.1.3 - (2026年9月6日) 新的MCM选项——“NPC恋尸内容激活”——这适用于作为胜利者的玩家。开启此选项,使玩家能够参与与死去NPC的场景。当准星在身体上方时,只需使用快捷键即可。利用 SKSE 函数 Game.GetCurrentCrosshairRef()。 需要用死灵旗帜动画!*** 在准星上用热键控制死去的NPC是禁用的。 开启此选项以启用NPC恋尸内容。 新的MCM选项——“玩家恋尸内容激活”——这适用于作为受害者的玩家。开启此选项,在玩家自动投降的“死亡防护”功能启动后,启用死灵/昏迷动画。 需要用死灵旗帜动画!*** 通过死亡证明触发自动投降使用恋尸癖/无意识动画。 关闭此选项以禁用玩家死灵癖/无意识内容。 鉴于作为受害者的玩家使用PushActorAway(),这会触发布娃娃模式,虽然不是必须的,但我建议使用某种形式的死亡摄像机模组,比如 https://www.nexusmods.com/skyrimspecialedition/mods/46449?tab=posts 没有它,摄像机在切换时会被锁定,但一旦性爱场景动画开始,以及所有动画结束后,摄像机会恢复正常。 由于死灵动画的有限和小众,它只会寻找单对NPC场景。生物和三人行则只使用标准的强制/攻击动画。 除了按需要修复的漏洞外,目前我没有计划添加更多功能。在我个人游玩过程中总有可能出现什么,但除此之外,这个模组就算是完成了。 Chinese translation (MCM、Submit/Triss Strings and a pex). Thanks for your work. SexLab Submit SE 1.1.3 CHS.7z
dkatryl Posted September 7 Author Posted September 7 (edited) Thanks both of you. I'll update it here shortly! Zhenmika, I only just noticed the .pex. I know there are two instances of a debug.notification in that script, but both of them are commented out, so they wouldn't display anyways. Was there some other reason? Most Recent Changes v1.1.3a - (07SEP26) Updated Russian translation for MCM/Strings provided by BF3000. Updated Chinese translation for MCM/Strings provided by zhenmika. Edited September 7 by dkatryl
dkatryl Posted September 7 Author Posted September 7 (edited) So was out in the world, and was having a consensual encounter with a female NPC, just some boring vanilla sex this time. But, it kept only bringing up oral/anal options, no vaginal. Checked the script, nope, straight sex, should require vaginal. Then threw in some debug.notifications to see what was actually being triggered, and it was the gay version? 🧐 Further interrogation with debug.notifications, and yep, the .GetSex() was returning 0 (male), instead of 1 (female). Then discovered what was happening. I was using .GetActorBase() instead of .GetLeveledActorBase(), which is fine for named NPCs, but less fine with generic leveled ones. So, will be revising the _SLSubmitSexScene script for both Sexlab and SLP+ versions, then releasing that as 1.1.3b later today. Most Recent Changes v1.1.3b - (07SEP26) Changed out .GetActorBase().GetSex() for .GetLeveledActorBase().GetSex() in _SLSubmitSexScene script, as the previous one would always return 0 = Male on a leveled actor, causing the incorrect set of flags to be set during the scene setup. Edited September 7 by dkatryl
dkatryl Posted September 7 Author Posted September 7 (edited) Noticed an oversight in the _SLQuest script that handles the Hotkey interaction while in Beast Form (Werewolf or Vampire Lord). For the player to surrender, if nothing else is true, at the very end, I had: ElseIf (PlayerRef.IsInCombat()) _SLSubmitSurrenderGlobal.SetValue(1) _SLSubmitAssign.Cast(playerRef) _SLFunctions.Surrender() EndIf And the earlier checks looked at PlayerRef.IsWeaponDrawn(), and various other conditions. Problem is, which came up while playing and testing something unrelated to this mod while in Vampire Lord form, if you spam the hotkey during combat, but one of the *other* conditions fail, such as the Shout/Powers cooldown not being ready, or whatever, but still have the weapon drawn, it will go down the ElseIf chain to the next valid one, which is this last one just checking if you're in combat. And then next thing you know, you're surrendering when I never intended to! Oopse! So going to add a !PlayerRef.IsWeaponDrawn() check to that line, because manually surrendering is only ever intended with your weapon sheathed. The good news is that regular form has that check already, so this only affects Beast Form Hotkey interaction. Gonna make the change now on my end, but hold off until a bit later tonight to update in case some other things come up, given that I've already made a few updates today! 🤪 [Edit]Actually, I'm glad that I held off on the update. Something I've noticed is that many of the script heavy function in _SLSubmitScene that handles most of the various Player as Victor and Player as Victim scene setups, with the exception of the actual Sex() calls, if the NPC in question is killed while the script is processing, you might get some funky "dead body twitching as it tries to play an idle" kind of behavior. So I'm going to go through that entire script and for each function, I am going to put the bulk of it into While loops, breaking each part into smaller chunks, with an increasing i += 1 check to move through the parts so it can evaluate each piece as a discrete part, and have to an IsInCombat and/or IsDead() check before moving to the next step. And if it fails at any of the stages, it just aborts the rest midway. At this point, I have all of the features I want for the most part, so I'm looking to remove unnecessary jank! lol Edited September 7 by dkatryl
zhenmika Posted September 8 Posted September 8 (edited) 11 hours ago, dkatryl said: 谢谢你们俩。我会很快在这里更新! Zhenmika,我刚注意到.pex。我知道那个脚本里有两个 debug.notification 实例,但它们都被注释了,所以根本不会显示出来。还有别的原因吗? 最新变更 v1.1.3a - (2026年9月7日) 由BF3000提供的MCM/字符串俄语翻译更新。 由zhenmika提供的MCM/字符串中文翻译更新。 sorry, I have no idea about this, beacuse i'm not good at coding, just my friend told me, you could translated a part of this pex, it wouldn't cause any issues. I followed his advice and went ahead with this pex. It seems I probably should not change this pex, right? oh, so sorry for this. Edited September 8 by zhenmika
dkatryl Posted September 8 Author Posted September 8 (edited) 16 minutes ago, zhenmika said: sorry, I have no idea about this, beacuse i'm not good at coding, just my friend told me, you could translated a part of this pex, it wouldn't cause any issues. I followed his advice and went ahead with this pex. It seems I probably should not change this pex, right? oh, so sorry for this. No worries, you're good. Before I learned about localization (Which was the entirety of LE version of the mod), I used direct debug.notification strings, which yes, would have required you to manually edit and compile different versions of the .pex. Since reviving the mod for SE/AE, it was pointed out that using Messages instead of debug.notifications in the script would vastly simplify work on people doing translations, for almost no extra work on my part (After a one time conversion process in the scripts to Messages) Those ones left over in that script, while technically still debug.notifications, are commented out and artifacts from early on development. To the point, they serve no purpose, and I went ahead and removed them. Edited September 8 by dkatryl 2
dkatryl Posted September 8 Author Posted September 8 (edited) Upcoming Patch Notes (WIP): Fixed - Forgot to add !PlayerRef.IsWeaponDrawn() check for the Hotkey interaction for Surrendering, which would cause you to surrender if you spam the Hotkey for events that check for if .IsWeaponDrawn() == True if they were on cooldown. Revised all major Functions/Events in multiple scripts to incorporate While loops that check against !PlayerRef.IsInCombat() and/or !Target.IsDead(), inserting periodic points that will allow it to abort the rest of the function/event if needed to avoid dead NPCs trying to play idles, or if the Player is being attacked, or anything else that would interfere with the various scenes playing out normally. For Player as Victor in Werewolf form, replaced AttackStartDualBackHand played when Hotkey is used to subdue NPC with AttackStartRightPower. (Discovered if Growl is installed, they made it where the dual attack backhand would send the target FLYING! While the initial hit does zero damage due to the mod, the *FALL* damage the NPC takes is likely to kill them! lol) Removed a couple of commented out, but still present, debug.notification in _SLSubmitQuest script. Well, I finished going through the entirety of the _SLScene script, adding While loops and adding points where it could abort if the NPC involved died and/or the Player is suddenly in combat. Tomorrow night, I'll tackle the other bigger scene scripts, such as the Shout/Subdue/Ambush/NPCAutoSubmit/AutoSurrender. Then another night or two to go do some testing of the various scripts. As of tonight, I expect I'll be ready to update Thur night. Edited September 9 by dkatryl
dkatryl Posted Friday at 01:03 AM Author Posted Friday at 01:03 AM Definitely won't be ready for the update tonight, as I'm still finding things not quite right during testing. Nothing that can't be worked through, just the usual amount of "Oopsie, that's not quite right! Let's go see where I derped in the script!" as I run through various scenes and scenarios cleaning stuff up. Should be ready sometimes over the weekend, as I'm not adding anything new beyond what's in the WIP notes above. Just testing and debugging.
dkatryl Posted Saturday at 01:27 AM Author Posted Saturday at 01:27 AM Most Recent Changes v1.1.4 - (11SEP26) Fixed - Forgot to add !PlayerRef.IsWeaponDrawn() check for the Hotkey interaction for Surrendering, which would cause you to surrender if you spam the Hotkey for events that check for if .IsWeaponDrawn() == True if they were on cooldown. Revised all major Functions/Events in multiple scripts to incorporate While loops that check against !PlayerRef.IsInCombat() and/or !Target.IsDead(), inserting periodic points that will allow it to abort the rest of the function/event if needed to avoid dead NPCs trying to play idles, or if the Player is being attacked, or anything else that would interfere with the various scenes playing out normally. For Player as Victor in Werewolf form, replaced AttackStartDualBackHand played when Hotkey is used to subdue NPC with AttackStartRightPower. (Discovered if Growl is installed, they made it where the dual attack backhand would send the target FLYING! While the initial hit does zero damage due to the mod, the *FALL* damage the NPC takes is likely to kill them! lol) Removed a couple of commented out, but still present, debug.notification in _SLSubmitQuest script. While testing the updated Functions/Events to include While loops, I think I went through all the various scenarios (Player as Victor, Player as Victim, with and w/o Followers, live vs necro, etc). I definitely came across some oopsies, and corrected them as I found them, but it's always possible I missed something. I'll continue to test through playing, but it will primarily be Player as Victim scenarios. If Player as Victim scenes are broken (and were working in v1.1.3b) let me know and I'll take a look.
dkatryl Posted Saturday at 01:58 AM Author Posted Saturday at 01:58 AM (edited) Oh, ffs. Literally posted it, started playing, discovered something I overlooked. 🙄 Will post a fix in a few minutes. Most Recent Changes v1.1.4a - (11SEP26) Fixed - Had 'i += 0' instead of 'i += 1' at the end of While loop in _SLSubmitAmbush and _SLSubmitShout scripts, causing them to be stuck in the 0 stage of the loops. Very much a derp. 🙄 Edited Saturday at 02:07 AM by dkatryl
dkatryl Posted Saturday at 02:51 AM Author Posted Saturday at 02:51 AM (edited) Discovered another bug, although this has probably been around for a long time. Submitted a naughty necromancer, then set her up to be a bounty turn in. On the way, entered a cave, told her to stay, she dropped to her knees. Good so far. Went in, ambushed a naughty necromage, then after, set her up for a bounty as well. Went back to the entrace, told *her* to stay, she dropped to her knees, then the first one went aggro and started attacking. Definitely not intended. Ended up being some just confusion about Alias assignments. There's two Aliases per slot, one for walking and one for kneeling. When if you tell them to Stay, they vacate the walking one and move to the kneeling one, but I wasn't taking the walking one out of the pool. So the *next* NPC was getting assigned to the same # walking, and then when you told that one to stay, the original got bumped out of the Alias and went aggro. So just needed to do a == None check to *both* Aliases per slot to make sure that slot is available. However, it also occurs to me that I should auto vacate either slot if by some chance the NPC ends up getting killed along the way to the bounty turn in. Actually, that turned out to be super easy, barely an inconvenience! 😁 Just created a new script attached to those 10 total Aliases, with an OnDying() Event, that will check for and Clear() any of the 10 that is != None && IsDead(). Either way, as this was a minor enough issue that has been present for probably a long time now, as I already did a hotfix tonight right after posting the update, I am going to hold off updating until later this weekend, and see if I stumble across any *more* bugs during my play through. Upcoming Patch Notes (WIP) Fixed - Wasn't checking that both Bounty Aliases per slot were == None to avoid double assigning NPCs to the same slot and having one be kicked out and going aggro. Auto vacate Bounty Slot of any NPC that happens to die along the way to the turn in. QoL Tweak - Declaring an NPC will be turned in for a Bounty will automatically make any currently "Bounty Stay" NPCs on their knees regain their feet, so you don't have to manually talk to each one, similar to have telling any to "Wait here" will make all of them drop to their knees. Fixed - The Death Proof with Necro scenes had some misleading issues due to how PushActorAway suppresses UI messages and resets Game.EnablePlayerControls(). Tweaked scenes to work around these issues. Edited Sunday at 12:04 AM by dkatryl
bubba999 Posted Saturday at 07:28 AM Posted Saturday at 07:28 AM I played the latest version and lost battles to several bandits on purpose. None of them tied me up so I guess something is going on there?
dkatryl Posted Saturday at 06:12 PM Author Posted Saturday at 06:12 PM 10 hours ago, bubba999 said: I played the latest version and lost battles to several bandits on purpose. None of them tied me up so I guess something is going on there? If there were more than two, after they each had their turn, at the end, were you free and it told you to run away, like if a non-humanoid creature was involved? Because I did several tests where I would spawn 3-6 bandits, wait it out, and I would be tied up every time once they had all finished.
bubba999 Posted Saturday at 07:00 PM Posted Saturday at 07:00 PM Maybe I didn't wait long enough but I was free to run away or attack them. Don't remember seeing a message.
dkatryl Posted Saturday at 08:07 PM Author Posted Saturday at 08:07 PM (edited) 3 hours ago, bubba999 said: Maybe I didn't wait long enough but I was free to run away or attack them. Don't remember seeing a message. Did you lose by using the hotkey while sheathed to manually surrender, auto triggering when < #%, or when you hit zero life and the Death Proof triggered with the Necro option turned on? I just ran some tests with 2-6 bandits. Manually surrendering and auto triggering while < #%, but still > 0, all triggered just fine, up to and including the final bit where you get bound. The Death Proof with Necro, yeah, I did notice there was a short window where you could walk around before the binding triggered. And for some reason, the messages sometimes displayed and sometimes didn't, but only on the Necro variations of the functions. [Edit] Yeah, it looks like what I was using to make the Player ragdoll like they were unconscious after the Death Proof kicked in is the culprit: PlayerRef.PushActorAway(PlayerRef, 0.0) This causes the ragdoll effect, which triggers the 'Death Cam', and *THAT* suppresses messages. It also seems to auto enable player controls when it ends. And I only use it in this situation. So, I will look into tweaking the Post scene to work around this behavior. Edited Saturday at 10:22 PM by dkatryl
dkatryl Posted Sunday at 12:05 AM Author Posted Sunday at 12:05 AM (edited) Yep, that confirms what I already saw. See previous post. I'm about done tweaking. I have the whole thing working better, working around the quirks of the ragdoll. There is just one part of the scene that isn't performing correctly. Once I get that working as intended, I will update with the above WIP Patch Notes. [Edit]Looks like I derped on a conditional, so basically an entire Function wasn't working. Glad I kept at that instead of writing off the one smaller piece as cosmetic only. So now just a bit of extra last minute checks, and then it's prep the update time, [Edit]Eh, the more I re-run these scenarios, the more I'm inclined to rework them some more so I'm not fighting the messages getting suppressed and wonky timing issues affecting the *next* animation due to how the ragdolling works. (You have to be COMPLETELY out of it, not just still standing up, which leads to big laggy waits) And it will probably get tedious waiting for some slow standup for every scene transition. So gonna rework this. Might finish tonight, might be tomorrow. Edited Sunday at 01:04 AM by dkatryl
dkatryl Posted Sunday at 04:47 AM Author Posted Sunday at 04:47 AM (edited) Most Recent Changes v1.1.4b - (12SEP26) Fixed - Wasn't checking that both Bounty Aliases per slot were == None to avoid double assigning NPCs to the same slot and having one be kicked out and going aggro. Auto vacate Bounty Slot of any NPC that happens to die along the way to the turn in. QoL Tweak - Declaring an NPC will be turned in for a Bounty will automatically make any currently "Bounty Stay" NPCs on their knees regain their feet, so you don't have to manually talk to each one, similar to telling any to "Wait here" will make all of them drop to their knees. Fixed - The Death Proof with Necro scenes had some misleading issues due to how PushActorAway suppresses UI messages and resets Game.EnablePlayerControls(). Tweaked scenes to work around these issues. Updated German translation for Strings provided by CGi. (I expect CGi will provide the updated German MCM in the near future. I'll update when I get that.) Edited Sunday at 04:50 AM by dkatryl 1
bubba999 Posted Sunday at 07:51 AM Posted Sunday at 07:51 AM Updated to latest version. Auto Surrender. Death Proof. Get knocked down. Attempt to surrender. Then it says you are still in combat. Get knocked down again and then nothing happens. Player stays down on one knee and waiting.... waiting... Not using Necro.
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