Jump to content

Recommended Posts

Posted

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.

Posted
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 :P

Posted
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 :P

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

Posted

@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. 

 

 

Posted

@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. 

Posted

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.

Posted

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.

Posted
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:

 

Posted
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. 

Posted

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.

Posted
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. 

 

Posted
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

 

Posted
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)>]]

 

Posted
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. 

Posted
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.

Posted
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)>]]

 

 

Posted
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. 

 

Posted

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....

Posted
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. 

Posted
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 ?

Posted
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 :P

 

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. 

Posted
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! ?

Posted
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:

:P

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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