Jump to content

SexLab SE - Sex Animation Framework v1.66b - 01/18/2024


Recommended Posts

3 hours ago, Elsidia said:

I almost break my brain when try to explore Sexlab framework structure.

It's freezes when try to call function getstrip from sslSystemConfig what  is: scriptname sslSystemConfig extends sslSystemLibrary

In this defined property config and it's used to call function getstrip what is in extended script.

in Sexlab framework is definition: Config      = SexLabQuestFramework as sslSystemConfig

 

DCL define Sexlabframework as quest:

SexLabFramework Property SexLab  Auto

and calls:

 SexLab.StripActor(a, doanimate = animate, leadIn = false)    

This function is burried into sslActorLibrary

scriptname sslActorLibrary extends sslSystemLibrary

 

And there is :

Form[] function StripActor(Actor ActorRef, Actor VictimRef = none, bool DoAnimate = true, bool LeadIn = false)
   return StripSlots(ActorRef, Config.GetStrip((GetGender(ActorRef) == 1), LeadIn, (VictimRef != none), (VictimRef != none && ActorRef == VictimRef)), DoAnimate)
endFunction

 

Function call what i mark red freezes.

 

Even if i call it from DCL straight:

Sexlab.Config.GetStrip

 

If you have idea how to help in that situation, it will be nice.

If not, sorry to bother you.

My ideas is ended.

I just put instead of Sexlab strip own strip function and it's work.

But this not resolve problem with rape in DCL - this too need enter in console to resolve it. If sex scene is complicated, each next stage demand enter in console.

If not, later in console shows up sync delay big.  You can stay in pose before rape RL 5 minutes and longer - nothing happens.  All start as you enter in console or system menu.

 

UPD: ohh i forgot i have minimal mods for DCL and Skyrim engine fixes and Sexlab beta 9.

Problem was in beta 8 too

 

I looked into my old SL rewrite, where this issue got somehow solved.
For reasons i don't recall anymore, this is how my version of sslActorLibrary.StripActor() looks like:

Spoiler
Form[] function StripActor(Actor ActorRef, Actor VictimRef = none, bool DoAnimate = true, bool LeadIn = false)
	bool _isAggressive = VictimRef as bool
	bool _isVictim = (ActorRef == VictimRef)
	bool _isFemale = (GetGender(ActorRef) == 1)
	bool[] _getStrip = Config.GetStrip(_isFemale, LeadIn, _isAggressive, _isVictim)
	form[] _result = StripSlots(ActorRef, _getStrip, DoAnimate)
	return _result
endFunction

...even though i learned that strange things are to be expected with Skyrim/Papyrus, i doubt THIS would be what fixed it.
I think the above is just by product of when i was trying to fix the problem, but not what actually did it.
I think it is more likely the fix came from something i rewrote in DD/DCL scripts, or as a combination of changes in all of them together, but when desperate...

Link to comment
2 hours ago, Roggvir said:

I think it is more likely the fix came from something i rewrote in DD/DCL scripts, or as a combination of changes in all of them together, but when desperate...

In first sight i was sure it's help - but further test show it's still stuck 50 to 50. Maybe more likely not to stuck.

Then i test original script and results are the same.

Maybe it's accident but if after start skyrim with first time strip procedure work fine, then after load the same save and trigger trap again there is 90% chance start strip procedure works. Most procedure stuck on NPC strip.

Or it's too accident in test results.

The god of random.

Edited by Elsidia
Link to comment
6 hours ago, Elsidia said:

I almost break my brain when try to explore Sexlab framework structure.

It's freezes when try to call function getstrip from sslSystemConfig what  is: scriptname sslSystemConfig extends sslSystemLibrary

In this defined property config and it's used to call function getstrip what is in extended script.

in Sexlab framework is definition: Config      = SexLabQuestFramework as sslSystemConfig

[etc.]

I apologize for wasting your time- scripting is far beyond my paltry level of SL expertise. I thought you were having a playtime/runtime issue like "everybody is stuck and no animation happens" to which I could respond "Run FNIS" etc. :classic_wacko:

 

I will shut up about it now. This is a rare event- savor it. ?

Link to comment
9 hours ago, glock88 said:

ve 5 pages however each time I press next page it says 1/3, 2/3 etc. until I go past 3 then it shows properly). Maybe there is an error causing sexlab to not load the full animation list properly?

Definitely there is something wrong. But for me is working fine. Make sure that you don't have any mod overriding the SexLab files and send me the "Papyrus.0.log" file. 

Link to comment

I now keep using beta 9 + SUP , then not see strange issue, but I have one question about player hot keys to  control PC in animaiton.

To edit PC and NPC pos, can I do it after start animation?   I do not think I can edit it after start animation.

 

That means, untill start animation, ,

 

1.  I actviate NPC first, then "Target Actor For edit"  

2.  Start animation

 

I know there is hot-keys (change actor being moved)... so If I already activated NPC untill start animation, I can change Actor (to edit)

but without Activating NPC untill start animation, I can not activate NPC after start Animation I feel...(PC play  animation so can not target  NPC)

 

Eg you may start animation, with mods  dialogue etc,, >> start animation >>  how you activate NPC or PC as editable Actor?

I suppose I  miss some simple steps  but recently I often feel it is somehow complex.. 

 

Or those Player Sexlab hot key (change actor pos / etc)   may work,, for PC, without activating NPC? 

Edited by greenmango12
Link to comment
10 hours ago, greenmango12 said:

I now keep using beta 9 + SUP , then not see strange issue, but I have one question about player hot keys to  control PC in animaiton.

To edit PC and NPC pos, can I do it after start animation?   I do not think I can edit it after start animation.

 

That means, untill start animation, ,

 

1.  I actviate NPC first, then "Target Actor For edit"  

2.  Start animation

 

I know there is hot-keys (change actor being moved)... so If I already activated NPC untill start animation, I can change Actor (to edit)

but without Activating NPC untill start animation, I can not activate NPC after start Animation I feel...(PC play  animation so can not target  NPC)

 

Eg you may start animation, with mods  dialogue etc,, >> start animation >>  how you activate NPC or PC as editable Actor?

I suppose I  miss some simple steps  but recently I often feel it is somehow complex.. 

 

Or those Player Sexlab hot key (change actor pos / etc)   may work,, for PC, without activating NPC? 

 

While you are on the Animation or Controlling the animation the "K" Hotkey change the Active Target Actor and show you a notification with the name of the current Target Actor.

The alignment Hotkeys will work on the current Target Actor while the animation is running.

 

You can also edit the Actors Alignment without be playing any animation but for that you have to use the "Animation Editor" page on the SexLab MCM. The "Animation Editor" page work fine with the animation being played or not. 

 

I usually use the Alignment Hotkeys to know the actor position and the direction of the adjustment value, and then I go to the "Animation Editor" page to set the right Alignment values. Because the Alignment Hotkeys are always being too slow and hard to use on my PC. 

 

 

note: my Hotkeys are the default ones but the user can change the hotkey so probably you are using another key for the Hotkey.

Link to comment
2 minutes ago, OsmelMC said:

 

While you are on the Animation or Controlling the animation the "K" Hotkey change the Active Target Actor and show you a notification with the name of the current Target Actor.

The alignment Hotkeys will work on the current Target Actor while the animation is running.

 

So usually if you do not activate any (NPC or PC)  ,  but just start animation with sexlab tools,

Then use Sexlab  Hotkey for Controll animation may work for one of 2 Actor or PC may move  (about 2 actor animation PC with one NPC) ? 

 

or I can use K key without Activate ,then it may activate another  ?  I hope to know default behavor,  to confirm if I set up something wrong about hot key assginment. (some mod often use same hot keys,, then it may conflict.. often)

 

Anyway thanks tips, to use alginment hot keys.. yes I seldom try Animation editor but may test  how it work ^^;    

 

Link to comment

How do I enable random animation? I mean from a script like it was in earlier versions -

this structure -

 

            actor[] sexActors = new actor[2]
            sexActors[0] = off
            sexActors[1] = def

            sslBaseAnimation[] anims

 

gave random animation, now it gives  the first in the list (index) is taken all the time, even if assign a tag/ Or are there any early versions that can be downloaded where this works?

Is it possible to roll back to an earlier version at all, because random does not work, this is a big drawback.

Edited by TDA
Link to comment
27 minutes ago, greenmango12 said:

 

So usually if you do not activate any (NPC or PC)  ,  but just start animation with sexlab tools,

Then use Sexlab  Hotkey for Controll animation may work for one of 2 Actor or PC may move  (about 2 actor animation PC with one NPC) ? 

 

or I can use K key without Activate ,then it may activate another  ?  I hope to know default behavor,  to confirm if I set up something wrong about hot key assginment. (some mod often use same hot keys,, then it may conflict.. often)

 

Anyway thanks tips, to use alginment hot keys.. yes I seldom try Animation editor but may test  how it work ^^;    

 

 

Yes you have to use the "N" Hotkey to control the animation and then you can use the "K" Hotkey the change the Target Actor if you need it. 

 

And like I said you can change or even remove the SexLab Hotkeys using the SexLab MCM

Link to comment
On 9/26/2021 at 6:39 PM, Elsidia said:

I almost break my brain when try to explore Sexlab framework structure.

It's freezes when try to call function getstrip from sslSystemConfig what  is: scriptname sslSystemConfig extends sslSystemLibrary

In this defined property config and it's used to call function getstrip what is in extended script.

in Sexlab framework is definition: Config      = SexLabQuestFramework as sslSystemConfig

 

DCL define Sexlabframework as quest:

SexLabFramework Property SexLab  Auto

and calls:

 SexLab.StripActor(a, doanimate = animate, leadIn = false)    

This function is burried into sslActorLibrary

scriptname sslActorLibrary extends sslSystemLibrary

 

And there is :

Form[] function StripActor(Actor ActorRef, Actor VictimRef = none, bool DoAnimate = true, bool LeadIn = false)
   return StripSlots(ActorRef, Config.GetStrip((GetGender(ActorRef) == 1), LeadIn, (VictimRef != none), (VictimRef != none && ActorRef == VictimRef)), DoAnimate)
endFunction

 

Function call what i mark red freezes.

 

Even if i call it from DCL straight:

Sexlab.Config.GetStrip

 

If you have idea how to help in that situation, it will be nice.

...

 

I see that problem sometimes and is caused by some problem in the communication from the Game Engine to the Papyrus Engine.

If you save your game while is blocked, while is stripping one actor, and load it again you can see special log lines about blocked scripts.

That scripts are canceled, destroyed and totally eliminated when load the saved game.

That is the only situation, that i know, where a script can be destroyed in half of their execution and any developer know the possible consequences like variables not resetting, mutex not liberated... is a catastrophic fail...

That mean the people of Beth know about the problem but can't solve it and decide take the direct way.

 

If you open the saved game with Resaver and look where is blocked the script you can see the block is caused by one simple native call.

Can be IsDead(), Is3DLoaded(), GetRace()... any simply native call that must be answered in one frame. But the Game Engine not answer.

If you repeat the test the block is the same script but in another native call.

 

Why happen? I not sure. How solve it? I not know.

 

One of my theories was the deep of the call:

Dcur.Ticks() call Dcur.rape() that call Dcur_library that call sslActorAlias and call ActorLibrary call sslConfig call call call ... when the deep of the call is over 10 can block the script. But others mods have much more deeper calls and are not blocked. I see up to 15 and 20 calls in Being Female and SlaveRun and not block. While I see the block with less than 5 cumulated calls in a mod in development. Then, my theory of the the deep of the call go nowhere.

 

My other theory is a strange saturation in the Script Engine when start multiple scripts that call the same script. That happen to me in a mod in development. A spell that call a cloak that launch another spell with script over a bunch of actors and, each one of the scripts, call the same function in a library.

With 10 actors works as fast as light, with 20 works but need a bit of time, with 30 need a lot of time, with 40 need minutes and minutes...

But with 50 actors the Game Engine can need hours to give the answer to a simple IsDead()

 

Why? I not know. The solution we take while develop the problematic mod was not use the library. By simply copy the code of the library inside the spell script the block was solved. And the solution was tested multiple times with much more actors, up to 500 actors, and works as a charm.

Dcur take the same solution, not call SexLab.Strip and make their own stripping.

 

Additionally, this theory is supported after make this detailed test with DCUR:

Stripping 1 actor is always make straight without any block

Stripping 2 actors normally not block but need a lot of seconds

Stripping 3 actors can block and can need minutes

Stripping 4 actors can cause the block but after minutes and minutes works

Stripping 5 actors is totally impossible and can need hours

 

Edited by alex77r4
Link to comment
1 hour ago, alex77r4 said:

If you open the saved game with Resaver and look where is blocked the script you can see the block is caused by one simple native call.

Where you can find blocked scripts in resaver?

 

Dcur can call to deep sslActorLibrary. If this script call deeper Config. /some procedure/ - dcur stuck.

Link to comment
1 hour ago, Elsidia said:

Where you can find blocked scripts in resaver?

 

Dcur can call to deep sslActorLibrary. If this script call deeper Config. /some procedure/ - dcur stuck.

 

In Active Script, of course, but for you and for Resaver look as any other active script. Nobody know that the script is blocked. Only the game detect it when load the saved game. Only you know that the script is blocked because the script not continue the execution. Really the script is in normal suspended state, as any other active script. As you know what is the starting process = DCUR look all the Active Scripts from DCUR.

 

Any native call must be answered in one frame. If you have a blocked script, save your game, wait 10 seconds equivalent to 600 frames, and save your game again. Comparing the active scripts from one save game to the other you can see how the blocked script is exactly in the same point waiting for exactly the same answer, GetRace() for example, and the script not get the answer after 600 frames and, of course, can not continue the execution until get their answer.

 

The problem, as i know, is not directly related to the deep of the call or the complexity of the calls. Seems to be caused by delayed calls or delayed answers from the Game Engine to the Script Engine. If you look the blocked script in ReSaver you can see how the lock is not in Config nor in GetStrip nor in GetGender... the block is the native GetRace() or maybe in the native GetSex()

 

If you can not locate the blocked scripts send me the two saved games. I have a lot of experience locating it.

But as a lot of times, this is the Sexlab Support and the problem is not directly related to Sexlab. Maybe is better open a ticket in Technical Support.

Link to comment
On 9/26/2021 at 6:03 PM, Vyxenne said:

I will shut up about it now. This is a rare event- savor it. ?

 

19 hours ago, Elsidia said:

Not so rare) Yesterday while i tested in one group rape (5 men) i got it two times) For traps seems i'll be use strip procedure not from Sexlab)

Again, I apologize for not making myself clear- the "rare event" was me shutting up :classic_ohmy: , not whatever arcane issue you have uncovered in SLF.

Link to comment
4 hours ago, mikey7979 said:

How easy is it to upgrade to Beta 9 (I use MO2). Are there any issues that I need to be aware of?

 

 

Before install disable the option to "Purge Dead Actors Every 10 Game Days" on the "SexLab Aroused" MCM and save the game on interior location then close the game to install the new SexLab.

 

That option is executed some times on the load game event and cause CTD if happens at the same time the SexLab Framework is being updated.

 

Also save the game again once the update be completed and don't leave the room until then.

 

 

When you install the new SexLab Framework make sure of remove all the fixes and Patches for the previous version because they not longer are compatible besides not longer be required.

 

The fixes and patch are those Mods that override some SexLab Script files like the "SexLab Fix", "Better Blowjob", previous versions of the SLSO and others.

Link to comment
8 hours ago, OsmelMC said:

Before install disable the option to "Purge Dead Actors Every 10 Game Days" on the "SexLab Aroused" MCM and save the game on interior location then close the game to install the new SexLab.

 

That option is executed some times on the load game event and cause CTD if happens at the same time the SexLab Framework is being updated.

 

Also save the game again once the update be completed and don't leave the room until then.

 

 

When you install the new SexLab Framework make sure of remove all the fixes and Patches for the previous version because they not longer are compatible besides not longer be required.

 

The fixes and patch are those Mods that override some SexLab Script files like the "SexLab Fix", "Better Blowjob", previous versions of the SLSO and others.

Thank you, @OsmelMC, these are the most concise update instructions I have seen. Do they apply to updating the old Beta8 April 30 dev version to the current Beta9 GitHub build as well?

Link to comment
2 minutes ago, Vyxenne said:

Thank you, @OsmelMC, these are the most concise update instructions I have seen. Do they apply to updating the old Beta8 April 30 dev version to the current Beta9 GitHub build as well?

From the BETA 8 to the GitHub version is the same. But between GitHub versions you have to force the update with the "Clean System" option

Link to comment

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
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use