Jump to content

sslThreadModel stripping properties not working


Recommended Posts

Posted

I try to start a kissing-only animation (SL 1.60.2)  - I don't want the participants to moan and undress - this is how I trigger the scene:

sslBaseAnimation[] anims = SexLab.GetAnimationsByTags(2,"Foreplay,Kissing","Sex,Penis,Petting,Pussy",true)
sslThreadModel thread = SexLab.NewThread()
thread.AddActor(PlayerRef,ForceSilent = true)
thread.AddActor(sexPartner,ForceSilent = true)
thread.DisableUndressAnimation(PlayerRef)
thread.DisableUndressAnimation(sexPartner)
thread.SetStrip(PlayerRef,Utility.CreateBoolArray(33))
thread.SetStrip(sexPartner,Utility.CreateBoolArray(33))
thread.SetAnimations(anims)
thread.IsAggressive = false
thread.SetBedding(0)
thread.DisableBedUse()
thread.StartThread()

But I have some strange effects:

  • Player strips before animation starts
  • sexPartner strips after the animation has finished
  • I hear a cum shot sound

This is the log:

 

 

[12/14/2015 - 09:43:10PM] SEXLAB - GetByTags(ActorCount=2, Tags=Foreplay,Kissing, TagsSuppressed=Sex,Penis,Petting,Pussy, RequireAll=TRUE)

[12/14/2015 - 09:43:10PM] SEXLAB - Found Animations(2)
[12/14/2015 - 09:43:10PM] SEXLAB - Thread[0] - Entering Making State
[12/14/2015 - 09:43:10PM] SEXLAB - NOTICE: ValidateActor(Eva) -- TRUE -- MISS
[12/14/2015 - 09:43:11PM] SEXLAB - ActorAlias[Eva] SetActor([Actor < (00000014)>]) - [sslActorAlias ]
[12/14/2015 - 09:43:11PM] SEXLAB - NOTICE: ValidateActor(Carmen) -- TRUE -- MISS
[12/14/2015 - 09:43:12PM] SEXLAB - NOTICE: Carmen Seeded: [5.426549, 8.937627, 3.405838, 6.797243, 49.439182, 14.371737, 2.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 2.000000, 0.000000, 82.000000, 44.351070, 91.797195, 0.005177]
[12/14/2015 - 09:43:12PM] SEXLAB - ActorAlias[Carmen] SetActor([Actor < (590C77BD)>]) - [sslActorAlias ]
[12/14/2015 - 09:43:13PM] SEXLAB - Thread[0] Adjustment Profile - ImperialRaceF.ImperialRaceF
[12/14/2015 - 09:43:16PM] Error: Cannot access an element of a None array
stack:
[sexLabQuestFramework (0C000D62)].sslActorStats.GetSkillLevels() - "sslActorStats.psc" Line ?
[alias ActorAlias003 on quest SexLabThread00 (0C061EEF)].sslActorAlias.PrepareActor() - "sslActorAlias.psc" Line ?
[12/14/2015 - 09:43:16PM] Error: Cannot access an element of a None array
stack:
[sexLabQuestFramework (0C000D62)].sslActorStats.GetSkillLevels() - "sslActorStats.psc" Line ?
[alias ActorAlias003 on quest SexLabThread00 (0C061EEF)].sslActorAlias.PrepareActor() - "sslActorAlias.psc" Line ?
[12/14/2015 - 09:43:16PM] Error: Cannot access an element of a None array
stack:
[sexLabQuestFramework (0C000D62)].sslActorStats.GetSkillLevels() - "sslActorStats.psc" Line ?
[alias ActorAlias003 on quest SexLabThread00 (0C061EEF)].sslActorAlias.PrepareActor() - "sslActorAlias.psc" Line ?
[12/14/2015 - 09:43:16PM] Error: Cannot access an element of a None array
stack:
[sexLabQuestFramework (0C000D62)].sslActorStats.GetSkillLevels() - "sslActorStats.psc" Line ?
[alias ActorAlias003 on quest SexLabThread00 (0C061EEF)].sslActorAlias.PrepareActor() - "sslActorAlias.psc" Line ?
[12/14/2015 - 09:43:16PM] Error: Cannot access an element of a None array
stack:
[sexLabQuestFramework (0C000D62)].sslActorStats.GetSkillLevels() - "sslActorStats.psc" Line ?
[alias ActorAlias003 on quest SexLabThread00 (0C061EEF)].sslActorAlias.PrepareActor() - "sslActorAlias.psc" Line ?
[12/14/2015 - 09:43:16PM] Error: Cannot access an element of a None array
stack:
[sexLabQuestFramework (0C000D62)].sslActorStats.GetSkillLevels() - "sslActorStats.psc" Line ?
[alias ActorAlias003 on quest SexLabThread00 (0C061EEF)].sslActorAlias.PrepareActor() - "sslActorAlias.psc" Line ?
[12/14/2015 - 09:43:16PM] SEXLAB - ActorAlias[Carmen] - Scales[1.000000/1.000000/1.000000] BaseEnjoyment[5]
[12/14/2015 - 09:43:16PM] SEXLAB - ActorAlias[Eva] - Scales[1.000000/1.000000/1.000000] BaseEnjoyment[7]
[12/14/2015 - 09:43:17PM] SEXLAB - Thread[0] Event Hook - AnimationStart
[12/14/2015 - 09:43:18PM] SEXLAB - Thread[0] - Stage has timer: 0.300000
[12/14/2015 - 09:43:18PM] SEXLAB - Thread[0] Event Hook - StageStart
[12/14/2015 - 09:43:19PM] SEXLAB - Thread[0] Event Hook - StageEnd
[12/14/2015 - 09:43:20PM] SEXLAB - Thread[0] Event Hook - StageStart
[12/14/2015 - 09:43:40PM] SEXLAB - Thread[0] Event Hook - StageEnd
[12/14/2015 - 09:43:41PM] SEXLAB - Thread[0] - Stage has timer: 0.500000
[12/14/2015 - 09:43:41PM] SEXLAB - Thread[0] Event Hook - OrgasmStart
[12/14/2015 - 09:43:41PM] Error: Cannot call Play() on a None object, aborting function call
stack:
[sexLabThread00 (0C061EEF)].sslthreadcontroller.TriggerOrgasm() - "sslThreadController.psc" Line ?
[sexLabThread00 (0C061EEF)].sslthreadcontroller.FireAction() - "sslThreadController.psc" Line ?
[sexLabThread00 (0C061EEF)].sslthreadcontroller.Action() - "sslThreadModel.psc" Line ?
[sexLabThread00 (0C061EEF)].sslthreadcontroller.OnUpdate() - "sslThreadController.psc" Line ?
[12/14/2015 - 09:43:41PM] warning: Assigning None to a non-object variable named "::temp77"
stack:
[sexLabThread00 (0C061EEF)].sslthreadcontroller.TriggerOrgasm() - "sslThreadController.psc" Line ?
[sexLabThread00 (0C061EEF)].sslthreadcontroller.FireAction() - "sslThreadController.psc" Line ?
[sexLabThread00 (0C061EEF)].sslthreadcontroller.Action() - "sslThreadModel.psc" Line ?
[sexLabThread00 (0C061EEF)].sslthreadcontroller.OnUpdate() - "sslThreadController.psc" Line ?
[12/14/2015 - 09:43:41PM] SEXLAB - ActorAlias[Carmen] - Orgasms[1] Enjoyment [56] BaseEnjoyment[5] FullEnjoyment[56]
[12/14/2015 - 09:43:41PM] SEXLAB - Thread[0] Event Hook - StageStart
[12/14/2015 - 09:43:41PM] SEXLAB - ActorAlias[Eva] - Orgasms[1] Enjoyment [58] BaseEnjoyment[7] FullEnjoyment[58]
[12/14/2015 - 09:43:42PM] SEXLAB - Thread[0] Event Hook - AnimationEnding
[12/14/2015 - 09:43:42PM] SEXLAB - ActorAlias[Eva] - Resetting!
[12/14/2015 - 09:43:42PM] SEXLAB - ActorAlias[Carmen] - Resetting!
[12/14/2015 - 09:43:44PM] SEXLAB - Thread[0] Event Hook - AnimationEnd
[12/14/2015 - 09:43:55PM] SEXLAB - Thread[0] - Returning to thread pool...

 

 

What did I made wrong?

Posted

You may need to override the "Strip" slots.

 

Add this:

 

bool stripSlots = new bool[33]

int i = 33

while i

 i -= 1

 stripSlots = False

endWhile

 

and then add a line for each actor:

 

thread.SetStrip(PlayerRef, stripSlots)

thread.SetStrip(sexPartner, stripSlots)

 
 
 
The function "DisableUndressAnimation", just disables the animation. Not the stripping.
 
Posted

I did that:

thread.SetStrip(PlayerRef,Utility.CreateBoolArray(33))
thread.SetStrip(sexPartner,Utility.CreateBoolArray(33))

Could it be that the bool vector created by Utility.CreateBoolArray(33) was garbage collected during the scenery?

Posted

You don't need to create TWO arrays. One is enough.

 

Try:

bool[] noStrips = Utility.CreateBoolArray(33, fill = false)

thread.SetStrip(PlayerRef,noStrips)
thread.SetStrip(sexPartner,noStrips)
 
Posted

I checked it with manually created arrays and the Utility created arrays  - and I traced the content

 

bool[] noStrip = new bool[33]

[12/14/2015 - 10:36:47PM] @@ PLAYER :kiss init1 [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]

 
filled with while next loop
[12/14/2015 - 10:36:47PM] @@ PLAYER :kiss init2 [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
 
Utility.CreateBoolArray(33)
[12/14/2015 - 10:36:47PM] @@ PLAYER :kiss init3 [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True]
 
It seems that CreateBoolArray is buggy - and it seems that while-next-loop is redundant
 
However - player strips at start and the partner after the end. This seems to be a bug in SL 1.60.2
 
Posted

OK: stripping of player clarified - it was my own generic scenery preparation script  :blush:

Now the stripping of the partner is still unclear - because he is untouched by my scripts.

 

And the orgasm sound - how can I get rid of it? It's only a kissing scene (I have SL + NSAP installed)

Posted

If I enable LimitedStripping everything but the orgasm sound is fine.

 

I think it is a bug in SL 1.60.2 regarding Foreplay only animations - in this case the stripping of the partner is not handled correctly.

 

I will report the Utility.CreateBoolArray() bug to the SKSE team.

Posted

If I enable LimitedStripping everything but the orgasm sound is fine.

 

I think it is a bug in SL 1.60.2 regarding Foreplay only animations - in this case the stripping of the partner is not handled correctly.

 

 

Just tried to replicate the issue using various combinations of Limited stripping and foreplay stage enabled and disabled (btw, for your intended purpose, you probably want to disable foreplay stage on the model as well, which is doable by calling thread.DisableLeadIn(true))

 

Every combination I tried worked as expected as far as stripping goes. Are you sure you don't have another mod interfering? 

 

My test script was as follows, placed and compiled in the sslEffectDebug script then triggered with SexLab's debug target spell:

event OnEffectStart(Actor TargetRef, Actor CasterRef)
	sslBaseAnimation[] Anims = SexLab.AnimSlots.GetByTags(2, "Foreplay")
	sslThreadModel thread = SexLab.NewThread()
	thread.AddActor(CasterRef,ForceSilent = true)
	thread.AddActor(TargetRef,ForceSilent = true)
	thread.DisableUndressAnimation(CasterRef)
	thread.DisableUndressAnimation(TargetRef)
	bool[] strip = new bool[33]
	thread.SetStrip(CasterRef,strip)
	thread.SetStrip(TargetRef,strip)
	thread.SetAnimations(anims)
	thread.IsAggressive = false
	thread.SetBedding(0)
	thread.DisableBedUse()
	thread.StartThread()
endEvent

You might try installing the 1.61 beta if you're sure it's nothing external causing the issue as that's the version I used for testing. Nothing has changed in relation to the strip array selection for actors between versions though.

Posted

Have you disabled the LimitedStrip option?

Just tried to replicate the issue using various combinations of Limited stripping and foreplay stage enabled and disabled

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

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