ptmc2112 Posted June 17, 2020 Posted June 17, 2020 So i was looking in the code in the mzinGetDirtyOverTime.psc file of the Bathing in Skyrim Tweaked and i found a discrepancy in the code, line 467 has this  RegisterForModEvent("HookAnimationEnd", "OnAnimationEnd") and line 144 has this: Event OnAnimationStartEnd(int tid, bool HasPlayer) Is that supposed to happen? I suspect line 144 is supposed to have OnAnimationEnd instead of OnAnimationStartEnd or line 467 has OnAnimationStartEnd instead of OnAnimationEnd Either way would fix it. EDIT: unless, it's supposed to be that way, though i could not find any where that registers the "OnAnimationStartEnd" event in any of sexlab's or SLSO's or even this mod's scripts, unless i need to search further. Also for some reason i don't seem to get the dependencies for python so i've been unable to compile anything, otherwise i woulda fixed it myself and posted the fix.
Monoman1 Posted June 24, 2020 Author Posted June 24, 2020 On 6/17/2020 at 8:45 PM, ptmc2112 said: EDIT: unless, it's supposed to be that way, Nope it's a mistake. Only affects dirt after sex and not dirt during sex option I think. Also was reported already at the top of the page
ptmc2112 Posted June 24, 2020 Posted June 24, 2020 8 hours ago, Monoman1 said: Nope it's a mistake. Only affects dirt after sex and not dirt during sex option I think. Also was reported already at the top of the page I see, sorry about that. I did notice after reading it again and checking the sources of those files the function "GetSexActors" in the mzinSexLabIf, that was also reported at top of the page(which effectively does returns an array of one with no data on the actual actors inside it) is called at the start of both events "OnAnimationStart" and (im assuming the correct name) "OnAnimationEnd" and is supposed to have data so that the events can determine the actors and which one is dirty as well as data on the actors, so it ends up that dirt is never applied for any sex act whatsoever. I am so sorry for the run on sentence.  On 5/26/2020 at 9:27 AM, romasty said: Hi! First thanks for your great job, it is awesome! Cum Overlays are fantastic. But I had an issue with dirt (BiS) and noticed something strange in mzinGetDirtyOverTime, line: 467 RegisterForModEvent("HookAnimationEnd", "OnAnimationEnd") There is no OnAnimationEnd function, but OnAnimationStartEnd.. looks like an typo?  UPD. Unfortunately I can't recomplie this script to check my assumption right now.. compiler fault for some depencies.  UPD2. I have other issue, (probably this is my local problem,,l but maybe you can help me?) Dirt overlay doesn't update runtime. Dirt always has start opacity that's doesn't increase with the level of dirtness) In the same time cum overlays look perfect - textures are changed after each act and I see the progression.  UPD3. Huh... It appears, I solved the problem with dirt progression over time, it was my local issue. But dirt still didn't appear during or after sex... I added required depencies and finally recompilled mzinGetDirtyOverTime, but the i noticed second strange thing in mzinSexlabIf:  Actor[] Function GetSexActors(Int tid)    Actor[] Blah = new Actor[1]    Return Blah EndFunction   It always return fake array... I added this block to GetSexActors function and finnaly all work!!    sslThreadController thread = SexLabUtil.getAPI().getController(tid)    If thread       Return thread.Positions    endIf  It seems this functional is still in WIP status.. Anyway your tweaks are amazing, thank you again! P.S. sorry for my poor english)   can you share your complied files on those? at the very least, it could help monoman1 so that the files could just be added to the zip and updated on the file download page
Monoman1 Posted June 26, 2020 Author Posted June 26, 2020 @ptmc2112 & @romasty  It looks like I completely forgot to actually write the SL interface when I changed method. Please try this. Note I haven't tested anything as I can't. It compiles at least. So keep a save and all that. <Snip> see below.  Edit: You probably should: 1. Save and reload that save. Wait 5 seconds. 2. Disable Bis in the mcm. Exit the menu and wait 3/4 seconds and go back in and turn it on again.  Â
Monoman1 Posted June 26, 2020 Author Posted June 26, 2020 @Lupine00 Since you're back working on SLAX - just a reminder that this is still broken as far as I can tell: https://www.loverslab.com/topic/107720-monomans-mod-tweaks/?do=findComment&comment=2967980 Aroused Nips is basically broken with SLAX.  1. GetLoadedActors() should probably return an empty array and not None if actor count is zero?  2. GetAllActors() : theActors = SlaInternals.DuplicateActorArray(scanner.arousedActors, _Internal_actorCount)  theActors always appears to be empty..... I added a trace after the above line and theActors is always [] as far as I can tell. Which means AN always gets a None (which causes log spam) and AN always retries, fails and gives up trying to get any actors.Â
Lupine00 Posted June 26, 2020 Posted June 26, 2020 That was something I changed. If the scanner is locked, it returns an array of length 1 with the player in it. Â theActors is definitely not always empty. Or if it is, your SLAX is broken, because nothing would get scanned in that case.
ptmc2112 Posted June 26, 2020 Posted June 26, 2020 Took a look on the new Bathing in Skyrim you added (just in case i started a new game), turned on Papyrus debug and logging, and got this in the papyrus log as a result after having sex with sexlab and SLSO and saving and closing the game (no CTD, but no dirt added as a result of sex): [06/26/2020 - 10:08:55AM] Error: Cannot call GetSexActors() on a None object, aborting function call stack:    [Active effect 3 on (00000014)].mzinGetDirtyOverTime.OnAnimationStart() - "mzinGetDirtyOverTime.psc" Line 106 (the rest of the log doesn't seem to refer to Bathing in Skyrim Tweaked's sex part that adds dirtiness) digging further, seems to use a depreciated function to get the actor list.
Monoman1 Posted June 26, 2020 Author Posted June 26, 2020 On 6/26/2020 at 5:37 PM, ptmc2112 said: [06/26/2020 - 10:08:55AM] Error: Cannot call GetSexActors() on a None object, aborting function call stack:    [Active effect 3 on (00000014)].mzinGetDirtyOverTime.OnAnimationStart() - "mzinGetDirtyOverTime.psc" Line 106 Sorry that's an unfilled property. One of my specialties.  Try this but roll back to the save you made before installing the update: Â
Monoman1 Posted June 26, 2020 Author Posted June 26, 2020 1 hour ago, Lupine00 said: If the scanner is locked, it returns an array of length 1 with the player in it. Cool. 1 hour ago, Lupine00 said: theActors is definitely not always empty. Or if it is, your SLAX is broken, because nothing would get scanned in that case. Ok. It started working because reasons.  But you're going to have to help me here. Something funky is going on. As you know AN does:  int myLockNum = Utility.randomInt(10, 32000) Actor [] myActors = sla_Main.getLoadedActors(myLockNum)  I've add the following messageboxes to SLA: ; This handles the locking - callers should NO LONGER TRY TO pre-LOCK, that WAS A BROKEN PATTERN. Int Function GetAllActors(Int lockID) slax.EnableDebugSpam(True) slax.DebugSpam_SetInfo() slax.Info("SLAX - GetAllActors(" + lockID + ")") ; Fails if ANY lock already taken If(!SlaInternals.TryLock(lockID)) slax.Info("SLAX - GetAllActors(" + lockID + ") - LOCK NOT TAKEN") ;Debug.Trace("Was locked, returning lock failed indicator") Return -1 ; Lock not taken EndIf ; TODO: can add feature here to never process creatures for arousal ... some might find it useful (use slaScanAllNpcs) slaScanAllScript scanner = slaScanAll As slaScanAllScript Float now = Utility.GetCurrentRealTime() ; In seconds slax.Info("SLAX - GetAllActors(" + lockID + ") - start scan at " + now) If now - lastActorScanTime > 10.0 ; Don't rescan actors if not enough time passed _Internal_actorCount = scanner.GetArousedActors() slax.Info("SLAX - GetAllActors - scanned " + _Internal_actorCount + " local actors") lastActorScanTime = now EndIf ; Each theActors array is a unique array - so if another instance modifies it, it's completely safe. theActors = SlaInternals.DuplicateActorArray(scanner.arousedActors, _Internal_actorCount) Debug.Messagebox("SLA 1: \n" + theActors) ; Note lock got taken above, and must be released at some point. SlaInternals.Unlock(lockID) Float final = Utility.GetCurrentRealTime() slax.Info("SLAX - GetAllActors(" + lockID + ") - end scan at " + now + " = " + (final - now) + " seconds") slax.Info("SLAX - got " + theActors.Length + " actors") Return theActors.Length EndFunction ; Deprecated - don't call this, use GetAllActors() directly instead. Actor [] Function GetLoadedActors(Int lockID) Int actorCount = GetAllActors(lockID) Debug.Messagebox("Actor count: " + actorCount) If actorCount < 0 Return None EndIf Debug.Messagebox("SLA 2: \n" + theActors) Return theActors EndFunction When AN does it's call: SLA 1 returns a bunch of actors as expected. 'Actor count' is -1 ????? And obviously SLA 2 never happens because actor count is -1 And so AN gets a bunch of Nones.  Edit: This is probably pertinent: [06/26/2020 - 06:22:48PM] SLAX - GetAllActors(4910) [06/26/2020 - 06:22:48PM] SLAX - GetAllActors(4910) - LOCK NOT TAKEN [06/26/2020 - 06:22:52PM] SLAX - GetAllActors(4910) [06/26/2020 - 06:22:52PM] SLAX - GetAllActors(4910) - LOCK NOT TAKEN [06/26/2020 - 06:22:55PM] SLAX - GetAllActors(4910) [06/26/2020 - 06:22:55PM] SLAX - GetAllActors(4910) - LOCK NOT TAKEN [06/26/2020 - 06:22:57PM] SLAX - GetAllActors(4910) [06/26/2020 - 06:22:57PM] SLAX - GetAllActors(4910) - LOCK NOT TAKEN [06/26/2020 - 06:23:02PM] SLAX - GetAllActors(4910) [06/26/2020 - 06:23:02PM] SLAX - GetAllActors(4910) - LOCK NOT TAKEN  It appears SLA 1 from above is from SLA itself because it only happens once. Not every time AN retries to get the actors. (Confusion because AN runs OnArousalComputed)  So it seems TryLock() is keeping me out. But I can't follow it any further because it looks like SKSE code.Â
Lupine00 Posted June 26, 2020 Posted June 26, 2020 We've been over this before... AN's problem is that SLAX returning the None is uncastable.  The -1's are clearly only able to come from one place:  Fails if ANY lock already taken If(!SlaInternals.TryLock(lockID)) slax.Info("SLAX - GetAllActors(" + lockID + ") - LOCK NOT TAKEN") ;Debug.Trace("Was locked, returning lock failed indicator") Return -1 ; Lock not taken EndIf  If it's returning -1, it's because the lock is still held. The lock is held for several seconds. Or on a potato, even more seconds.  That is working normally. As expected.  Unless of course it crashes in the scanner and never releases the lock ever.  SLA and SLA(R) live in a world where the time between scans was measured in minutes.  The casting problem is solved by returning an array with one element that holds the player instead of None. That is the required fix.  That fix is in no way uploaded, so the only way to play with it is to add it to your own code. It's in my dev version now. I put it in last week, along with fixes for all the other known issues except the MCM flag handling which is still to be looked at.  If AN wants to sit there and spin, trying to grab the lock, that's its problem. It should probably find something more constructive to do with its time.  That said, in the next phase of SLAX work (after the urgent bug fixing) there will be a new scanner, which I hope will complete with substantially sub millisecond latencies, and locking will no longer even be a thing.  Or maybe that won't work. We'll see.
Monoman1 Posted June 27, 2020 Author Posted June 27, 2020 7 hours ago, Lupine00 said: That is working normally. As expected. One of us is missing something here....  Changed GetLoadedActors() to: Actor [] Function GetLoadedActors(Int lockID) Int actorCount = GetAllActors(lockID) If actorCount < 0 Actor[] Blah = new Actor[1] Blah[0] = PlayerRef Return Blah EndIf Return theActors EndFunction  Test: Start a new game. Save & load in case that's important. Coc RiverwoodRiverwoodTrader.  SLA Aroused Redux: Line 9: [06/27/2020 - 01:59:21AM] Cannot open store for class "TTT_ArousedNipsDebugSpellEffectScript", missing file? Line 365: [06/27/2020 - 01:59:38AM] TTT_ArousedNips: first time initialization Line 389: [06/27/2020 - 01:59:38AM] TTT_ArousedNips: Registering MCM. This could take a while. Line 463: [06/27/2020 - 01:59:38AM] TTT_ArousedNips: initialization complete Line 633: [06/27/2020 - 01:59:43AM] [TTT_ArousedNipsConfigMenu <TTT_ArousedNipsConfigMenuQuest (3B0083E4)>] INITIALIZED Line 633: [06/27/2020 - 01:59:43AM] [TTT_ArousedNipsConfigMenu <TTT_ArousedNipsConfigMenuQuest (3B0083E4)>] INITIALIZED Line 634: [06/27/2020 - 01:59:43AM] TTT_ArousedNips: Updating to 1.1.2 Line 995: [06/27/2020 - 02:00:10AM] TTT_ArousedNips: MCM registered! Line 996: [06/27/2020 - 02:00:10AM] [TTT_ArousedNipsConfigMenu <TTT_ArousedNipsConfigMenuQuest (3B0083E4)>]: Registered ArousedNips at MCM. Line 996: [06/27/2020 - 02:00:10AM] [TTT_ArousedNipsConfigMenu <TTT_ArousedNipsConfigMenuQuest (3B0083E4)>]: Registered ArousedNips at MCM. Line 5401: [06/27/2020 - 02:03:03AM] TTT: Begin get SLA actors Line 5402: [06/27/2020 - 02:03:03AM] TTT: Sucessfully got actors! - [[WIDeadBodyCleanupScript < (00013487)>], [Actor < (25016783)>], [WIDeadBodyCleanupScript < (00013488)>], None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None] Line 5410: [06/27/2020 - 02:03:22AM] TTT: Begin get SLA actors Line 5411: [06/27/2020 - 02:03:22AM] TTT: Sucessfully got actors! - [[WIDeadBodyCleanupScript < (00013487)>], [Actor < (25016783)>], [WIDeadBodyCleanupScript < (00013488)>], None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None] Line 5419: [06/27/2020 - 02:03:40AM] TTT: Begin get SLA actors Line 5420: [06/27/2020 - 02:03:40AM] TTT: Sucessfully got actors! - [[WIDeadBodyCleanupScript < (00013487)>], [Actor < (25016783)>], [WIDeadBodyCleanupScript < (00013488)>], None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None] Line 5427: [06/27/2020 - 02:03:58AM] TTT: Begin get SLA actors Line 5428: [06/27/2020 - 02:03:58AM] TTT: Sucessfully got actors! - [[WIDeadBodyCleanupScript < (00013487)>], [Actor < (25016783)>], [WIDeadBodyCleanupScript < (00013488)>], None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None]  Result: 3 actors - Camilla, Lucan and the MWA Tailor.  SLA Aroused Extended: [06/27/2020 - 01:47:11AM] Cannot open store for class "TTT_ArousedNipsDebugSpellEffectScript", missing file? [06/27/2020 - 01:47:21AM] TTT_ArousedNips: first time initialization [06/27/2020 - 01:47:21AM] TTT_ArousedNips: Registering MCM. This could take a while. [06/27/2020 - 01:47:21AM] TTT_ArousedNips: initialization complete [06/27/2020 - 01:47:26AM] [TTT_ArousedNipsConfigMenu <TTT_ArousedNipsConfigMenuQuest (3B0083E4)>] INITIALIZED [06/27/2020 - 01:47:26AM] [TTT_ArousedNipsConfigMenu <TTT_ArousedNipsConfigMenuQuest (3B0083E4)>] INITIALIZED [06/27/2020 - 01:47:26AM] TTT_ArousedNips: Updating to 1.1.2 [06/27/2020 - 01:47:53AM] TTT_ArousedNips: MCM registered! [06/27/2020 - 01:47:53AM] [TTT_ArousedNipsConfigMenu <TTT_ArousedNipsConfigMenuQuest (3B0083E4)>]: Registered ArousedNips at MCM. [06/27/2020 - 01:47:53AM] [TTT_ArousedNipsConfigMenu <TTT_ArousedNipsConfigMenuQuest (3B0083E4)>]: Registered ArousedNips at MCM. [06/27/2020 - 01:50:55AM] TTT: Begin get SLA actors [06/27/2020 - 01:50:55AM] TTT: Sucessfully got actors! - [[Actor < (00000014)>]] [06/27/2020 - 01:53:13AM] TTT: Begin get SLA actors [06/27/2020 - 01:53:13AM] TTT: Sucessfully got actors! - [[Actor < (00000014)>]] [06/27/2020 - 01:53:29AM] TTT: Begin get SLA actors [06/27/2020 - 01:53:29AM] TTT: Sucessfully got actors! - [[Actor < (00000014)>]] [06/27/2020 - 01:53:46AM] TTT: Begin get SLA actors [06/27/2020 - 01:53:46AM] TTT: Sucessfully got actors! - [[Actor < (00000014)>]] [06/27/2020 - 01:54:02AM] TTT: Begin get SLA actors [06/27/2020 - 01:54:02AM] TTT: Sucessfully got actors! - [[Actor < (00000014)>]] [06/27/2020 - 01:54:20AM] TTT: Begin get SLA actors [06/27/2020 - 01:54:20AM] TTT: Sucessfully got actors! - [[Actor < (00000014)>]] [06/27/2020 - 01:54:36AM] TTT: Begin get SLA actors [06/27/2020 - 01:54:36AM] TTT: Sucessfully got actors! - [[Actor < (00000014)>]]  Result: Nobody.  Look. I really don't care all that much. I'd consider removing the aroused nips effect from Npcs. Who'd notice/care. Â
Lupine00 Posted June 27, 2020 Posted June 27, 2020 3 hours ago, Monoman1 said: Look. I really don't care all that much. I'd consider removing the aroused nips effect from Npcs. Who'd notice/care. I think I know what the problem is. The code was never tested for multiple lock IDs.  Change your code to this and try it:   Actor [] Function GetLoadedActors(Int lockID)    Int actorCount = GetAllActors(lockID)    SlaInternals.Unlock(lockID)   If actorCount < 0     Actor[] lockResult = new Actor[1]       lockResult[0] = PlayerRef     Return lockResult  EndIf   Return theActors  EndFunction Â
Monoman1 Posted June 27, 2020 Author Posted June 27, 2020 9 hours ago, Lupine00 said: Change your code to this and try it: Doesn't appear to have worked unfortunately. Same test method. Spoiler Line 550: [06/27/2020 - 03:20:10PM] TTT_ArousedNips: first time initialization    Line 582: [06/27/2020 - 03:20:10PM] TTT_ArousedNips: initialization complete    Line 783: [06/27/2020 - 03:20:11PM] TTT_ArousedNips: Registering MCM. This could take a while.    Line 785: [06/27/2020 - 03:20:11PM] [ttt_arousednipsconfigmenu <TTT_ArousedNipsConfigMenuQuest (3F0083E4)>] INITIALIZED    Line 785: [06/27/2020 - 03:20:11PM] [ttt_arousednipsconfigmenu <TTT_ArousedNipsConfigMenuQuest (3F0083E4)>] INITIALIZED    Line 796: [06/27/2020 - 03:20:11PM] TTT_ArousedNips: Updating to 1.1.2    Line 1097: [06/27/2020 - 03:20:41PM] TTT_ArousedNips: MCM registered!    Line 1099: [06/27/2020 - 03:20:41PM] [ttt_arousednipsconfigmenu <TTT_ArousedNipsConfigMenuQuest (3F0083E4)>]: Registered ArousedNips at MCM.    Line 1099: [06/27/2020 - 03:20:41PM] [ttt_arousednipsconfigmenu <TTT_ArousedNipsConfigMenuQuest (3F0083E4)>]: Registered ArousedNips at MCM.    Line 6177: [06/27/2020 - 03:21:48PM] TTT: Begin get SLA actors    Line 6181: [06/27/2020 - 03:21:48PM] TTT: Sucessfully got actors! - [[Actor < (00000014)>]]    Line 6636: [06/27/2020 - 03:22:18PM] TTT: Begin get SLA actors    Line 6639: [06/27/2020 - 03:22:18PM] TTT: Sucessfully got actors! - [[Actor < (00000014)>]]    Line 6678: [06/27/2020 - 03:22:35PM] TTT: Begin get SLA actors    Line 6681: [06/27/2020 - 03:22:35PM] TTT: Sucessfully got actors! - [[Actor < (00000014)>]]    Line 6691: [06/27/2020 - 03:22:51PM] TTT: Begin get SLA actors    Line 6694: [06/27/2020 - 03:22:51PM] TTT: Sucessfully got actors! - [[Actor < (00000014)>]]    Line 6727: [06/27/2020 - 03:23:07PM] TTT: Begin get SLA actors    Line 6730: [06/27/2020 - 03:23:07PM] TTT: Sucessfully got actors! - [[Actor < (00000014)>]]    Line 6775: [06/27/2020 - 03:23:23PM] TTT: Begin get SLA actors    Line 6778: [06/27/2020 - 03:23:23PM] TTT: Sucessfully got actors! - [[Actor < (00000014)>]] Â
Lupine00 Posted June 27, 2020 Posted June 27, 2020 What lock ID do you use? 2 hours ago, Monoman1 said: Same test method. Try 2 just for fun.
Monoman1 Posted June 27, 2020 Author Posted June 27, 2020 21 minutes ago, Lupine00 said: What lock ID do you use? Random number. int myLockNum = Utility.randomInt(10, 32000)  Honestly I don't fully understand the locking thing so it has remained unchanged from vanilla AN.  ANs script later does: sla_Main.UnlockScan(myLockNum)  Not sure if that's needed with SLAX but probably is with SLAR.Â
Lupine00 Posted June 28, 2020 Posted June 28, 2020 14 hours ago, Monoman1 said: Random number. int myLockNum = Utility.randomInt(10, 32000)  That value is constrained from 0 to 7, in SLAX.  The code always fails the lock if you pass >= 8, so your lock can never succeed.  This LOCK ID should be a constant for your mod. I cannot see any reason you would ever benefit from using some random value.  Having checked the code, it will not take a new lock if there's already a lock. The extra Unlock added isn't needed. All you need is to not return None, and use a legal locking value.  The UnlockScan called later should be sufficient, as long as it always gets called on a successful lock. I suspect the random lock IDs were an attempted workaround for failing to unlock properly.  If you use a constant value, such as 7, it should work fine with SLA/R and SLAX, in so far as locking works at all with SLA/R. 1
Monoman1 Posted June 28, 2020 Author Posted June 28, 2020 10 hours ago, Lupine00 said: That value is constrained from 0 to 7, in SLAX. Great. Thanks. Went with 7 and it worked:  [06/28/2020 - 04:02:03PM] warning: Function ttt_arousednipsalias..OnArousalComputed in stack frame 0 in stack 13923 differs from the in-game resource files - using version from save [06/28/2020 - 04:02:07PM] TTT: Begin get SLA actors [06/28/2020 - 04:02:07PM] TTT: Sucessfully got actors! - [[Actor < (00000014)>]] [06/28/2020 - 04:02:32PM] TTT: Begin get SLA actors [06/28/2020 - 04:02:32PM] TTT: Sucessfully got actors! - [[WIDeadBodyCleanupScript < (00013487)>], [Actor < (5C0012DD)>], [WIDeadBodyCleanupScript < (00013488)>]] [06/28/2020 - 04:02:48PM] TTT: Begin get SLA actors [06/28/2020 - 04:02:48PM] TTT: Sucessfully got actors! - [[WIDeadBodyCleanupScript < (00013487)>], [Actor < (5C0012DD)>], [WIDeadBodyCleanupScript < (00013488)>]] [06/28/2020 - 04:03:03PM] TTT: Begin get SLA actors [06/28/2020 - 04:03:03PM] TTT: Sucessfully got actors! - [[Actor < (5C0012DD)>], [WIDeadBodyCleanupScript < (00013487)>], [WIDeadBodyCleanupScript < (00013488)>]]  Â
Monoman1 Posted June 28, 2020 Author Posted June 28, 2020 On 5/9/2020 at 3:22 PM, Nymra said: I will use "SexyCleaning" as Tag just to prevent it from doubling with existing bathing tags. I'm only looking at this now. @Nymra Presumably you are triggering these special forced bathing animations yourself under certain specific circumstances? If so it would be better if you told BiS tweak what you want and when - because I would have trouble determining the nuances of the situation - like who is actually bathing and who is the er.... batheee. There is already an existing event you can probably piggy back on in BiS tweaked:  OnBiS_CleanActorDirt(Form akTarget, Float TimeToClean, Float TimeToCleanInterval, Bool UsedSoap)  So send a mod event when you want like:  Where: akActor is the actor you want to clean TimeToClean is how long it should take to complete the cleaning process TimeToCleanInterval is how often the dirt alpha should be updated UsedSoap = I think this will affect how clean you get. 0% dirty with soap, 20% dirty without soap. I don't think it applies the soap effect though.   Edit: Scratch that. Calling that alone won't be enough to fully complete bathing. Â
Monoman1 Posted June 29, 2020 Author Posted June 29, 2020 Bathing In Skyrim Tweaked.7z  For those that are trying out the new versions - this one includes a bug fix in the sexlab interface that wasn't returning actors in a scene, which probably meant sex dirtiness wasn't working. I've checked it's working now. At least for dirt during sex.  @Nymra This includes an event you can call to trigger a bathing session:  Event OnBiS_WashActor(Form akActor, Bool Animate = false, Bool FullClean = false, Bool DoSoap = false)  Function SendWashPlayerEvent() Int WashActor = ModEvent.Create("BiS_WashActor") if (WashActor) ModEvent.PushForm(WashActor, (PlayerRef as Form)) ModEvent.PushBool(WashActor, false) ModEvent.PushBool(WashActor, true) ModEvent.PushBool(WashActor, true) ModEvent.Send(WashActor) endIf EndFunction  akActor - who you want to wash Animate - Play regular bathing animation (you probably want this off) FullClean - Fully clean the actor to 0% dirty. Otherwise you end up at 20% DoSoap - Play the soap effect. Depends on MCM settings!  Please provide feedback everyone. Otherwise this is pointless.... 1
Daedric Prince of Lust Posted June 30, 2020 Posted June 30, 2020 What happened to Slavetats Tweaked? Or is it not from this page?
Monoman1 Posted June 30, 2020 Author Posted June 30, 2020 19 minutes ago, Daedric Prince of Lust said: What happened to Slavetats Tweaked? Or is it not from this page? Didn't do what I wanted - stop overlays from disappearing randomly. So I removed it. Stick with vanilla slavetats. 2
donttouchmethere Posted June 30, 2020 Posted June 30, 2020 14 minutes ago, Monoman1 said: Didn't do what I wanted - stop overlays from disappearing randomly. So I removed it. Stick with vanilla slavetats. uh-oh, good to know lol wait, my overlays didn't disappear, does that mean your tweak worked or I never had an issue to begin with ?
Monoman1 Posted June 30, 2020 Author Posted June 30, 2020 33 minutes ago, donttouchmethere said: uh-oh, good to know lol wait, my overlays didn't disappear, does that mean your tweak worked or I never had an issue to begin with ? Lucky you  It's a problem that's plagued me since forever. Every now and then a random overlay on a random part of my characters body would disappear. Sometimes only one. Sometimes a bunch at a time. My characters freckles would go missing on her face/war paint disappear from her body etc. I'd only notice it after some time. I've even seen where the screenshot of my save clearly has warpaint on my character and when I load that save it's gone.....  It also seems to always coincide with XPMSE settings getting reset to default.  Never figured it out. PITA.Â
donttouchmethere Posted June 30, 2020 Posted June 30, 2020 12 minutes ago, Monoman1 said: It also seems to always coincide with XPMSE settings getting reset to default. ? that would make me feel a bit uneasy  12 minutes ago, Monoman1 said: Never figured it out. PITA. I added all new mods and updates to my game and I see all kinds of odd things happening now... with odd I mean I get CTD Funny that you say XPMSE settings reset, because that is what I just saw in my game now.  Will I ever learn that it isn't clever to add every new mod and install any available update on a running game at the same time? I have no clue anymore who messed up what now, thus can't rant in any of those mod support topics ?  Guess that's the end of my stability test setup, after 180 hours the guy in front of the screen managed to kill it at last. I can't let a working setup run free! ?
Monoman1 Posted June 30, 2020 Author Posted June 30, 2020 5 minutes ago, donttouchmethere said: I have no clue anymore who messed up what now, thus can't rant in any of those mod support topics Mod authors everywhere - :PhewFace: 1
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