Jump to content

SexLab Framework Development


Recommended Posts

Decided to update the main post for the first time in awhile with my current development plans/progress for the next SexLab update.

 

 

Version In Progress

1.60

 

Target Release Date

January/February-ish?

 


 

---- v1.60 Planning & Experimentation ---------
 
The listed features are the target for NEW features to the next release and does not include any bug fixes that will also come with the update.
 
Key: (finished) / (in progress) / (canceled) / (planned)
  • Taking a god damned break
  • Rewrote much of the actor stats system to be handled by the SexLabUtil SKSE plugin
    • Primary conversion over from the existing StorageUtil SKSE plugin finished
    • Rewrite the actor stat seeding to be more consistently realistic
    • Add a basic arousal system with 0-100 arousal levels and configurable arousal rate. 
  • Increase number of animations, creatures, voices, and expressions that can be installed.
    • ​Install limit for each object type now increased from 125 to 350
    • ​Animation Editor updated to accommodate 350 animations/creatures with pagination
    • Add a pagination system to the toggle/foreplay/aggressive/creature animations menu to toggle animations beyond 125
    • Add a pagination system to the toggle voices menu to toggle voices beyond 100
    • Add a pagination system to the expression editor for selecting expressions past 40

    • A new paginated system for selecting the players default voice.
    • Add a system to restrict + randomize the animation searching functions in the event that the animation search would return more than 128 animations. 350 animations can be installed now, but active scenes started by SexLab must still be limited to a list of 128, or possibly fewer to avoid painfully long situations of cycling through 128 animations trying to find a specific one.
  • Updated all functions using PapyrusUtil/sslUtility to use the newer SKSE 1.7.2 beta functions
  • Added the ability to require animations be played on a bed
  • Added the ability to define custom positioning offsets when playing on a bed
  • Added the ability to add per stage specific sex SFX
  • Various optimizations:
    • ​Rewrote the rather slow SortActors() function to be significantly faster.
    • Rewrote portions of the tagging system, making the install/update/registry reset process noticeably faster
    • Rewrote other large portions of how the SexLabFramework mod installs, updates, and rebuilds itself. Should be faster and more reliable than ever now
    • Rewrite the animation stage advance system to hopefully make it quicker and less noticeable
  • Add option to enable/disable creature animations being gender restricted or not.
  • Animation start/end sequences in place of ragdolling and instantly standing up
  • Add documentation blocks to all the API functions for easier modder use.
  • Add troubleshooting system for users experiencing problems to get quick in-game diagnostics and suggestions directly from SexLab.
  • Fix any bugs I've been made aware of and have confirmed.
  • Probably some other cool shit I haven't figured out yet
  • Unified SexLab dialog system
    • Allow modders to easily force an NPC to start dialog with player, inside and outside of animation
    • Maybe some sort of "registration" system that allows a mod to register certain categories of dialogs for NPCs like prostitution, romance, and such. May be a good way to improve compatibility between similar mods.
Link to comment

 

Is it possible to have the animation name popup when an animation starts? just so it makes it easier to know which ones you like and which ones you wish to unitck - i will admit some are easy to figure out but some are not.

Open the console, the current animation will be displayed in the console output.

 

 

Oh wow....why didnt I think of that - thank you very much that will make things easier. :D

 

Link to comment

i dont know whether someone already requested this... i didnt find it in the last few pages:

 

is it possible to add an option to continue a scene after the last animation from a set is finished, so that the actors start over from another animation set?

maybe you could add another hotkey for the player to choose between continueing- or ending-mode.

Link to comment

Is it possible to have the animation name popup when an animation starts? just so it makes it easier to know which ones you like and which ones you wish to unitck - i will admit some are easy to figure out but some are not.

 

Or even a hotkey that will uncheck the animation playing on the player from the animation selection list in the MCM, then change to a different animation. Rinse and repeat as necessary.

Link to comment

ashal - I don't know if anyone else reported, but I noticed one weird behaving of SL 1.59c when changing sex gender from male into female during the game play. (I tested on two different characters), When I change a male PC into female PC, I also have to rebuild SL, otherwise, animations won't start, both, with humans the creatures. This issue is 100% repeatable after doing clean save and whenever I'm reloading the game. Usually, resetting animation registry should help in this, but it doesn't. I'm using latest version of  Race menu, Jcontainers and Papyrus utilities, save cleaner tool Beta 2.04 and always clean loose files from the script folder, but it doesn't help. What is your opinion/suggestion about this issue?

Link to comment

Would it be possible to add a function of the form:

 

bool function HasAnimationsByActors(actor[] Positions, bool aggressive = false)

 

which returns true if there are one or more valid animations for the specified actor combination. This would be more efficient than using PickAnimationsByActors() as it would be able to return true when the first animation is found, instead of scanning the entire array.
 

Link to comment

Would it be possible to add a function of the form:

 

bool function HasAnimationsByActors(actor[] Positions, bool aggressive = false)

 

which returns true if there are one or more valid animations for the specified actor combination. This would be more efficient than using PickAnimationsByActors() as it would be able to return true when the first animation is found, instead of scanning the entire array.

 

 

Would you be expecting it to be able to search creature animations as well? Should the order and/or gender of the actors in Positons matter?

Link to comment

ashal - I don't know if anyone else reported, but I noticed one weird behaving of SL 1.59c when changing sex gender from male into female during the game play. (I tested on two different characters), When I change a male PC into female PC, I also have to rebuild SL, otherwise, animations won't start, both, with humans the creatures. This issue is 100% repeatable after doing clean save and whenever I'm reloading the game. Usually, resetting animation registry should help in this, but it doesn't. I'm using latest version of  Race menu, Jcontainers and Papyrus utilities, save cleaner tool Beta 2.04 and always clean loose files from the script folder, but it doesn't help. What is your opinion/suggestion about this issue?

 

Animation registry and PC's gender has no connection whatsoever, I can't see how resetting it would have any effect whatsoever unless you have another mod installed that affects gender, and is resetting itself during the animation registration event. One possibility would be a mod that overrides an actors gender using the gender override functions. 

 

In any case I can't see any means for SexLab itself it be the culprit. Likely to be the result of separate sexlab mod.

Link to comment

i dont know whether someone already requested this... i didnt find it in the last few pages:

 

is it possible to add an option to continue a scene after the last animation from a set is finished, so that the actors start over from another animation set?

maybe you could add another hotkey for the player to choose between continueing- or ending-mode.

 

Answer would entirely depend on the context of your question. Are you asking for a user feature or a modder feature?

 

A user currently can just disable auto-advance or give the orgasm stage a long timer to give themselves time to reach, then rewind back to stage 1 and change animations at their leisure.

 

As a modder you could add a hook for OrgasmStart that issues the GoToStage(1) command and sets the animations to something else.

Link to comment

Ashal is there anyway you could add a toggle to enable/disable all the animations in the list? I tend to only use a few and every time I need to refresh the list it takes about a minute or two to get the right selection again.

 

Would be a nice convenience feature if it isn't to hard to add..

Link to comment

Ashal is there anyway you could add a toggle to enable/disable all the animations in the list? I tend to only use a few and every time I need to refresh the list it takes about a minute or two to get the right selection again.

 

Would be a nice convenience feature if it isn't to hard to add..

Better would be an option to remember which animations are not selected so they don't get selected by the refresh. I say remember the unselected ones because any new animations or animations left selected would then still be selected after a refresh.

 

Most people turn off only those animations they don't care for so that would normally be the shorter list also.

Link to comment

 

i dont know whether someone already requested this... i didnt find it in the last few pages:

 

is it possible to add an option to continue a scene after the last animation from a set is finished, so that the actors start over from another animation set?

maybe you could add another hotkey for the player to choose between continueing- or ending-mode.

 

Answer would entirely depend on the context of your question. Are you asking for a user feature or a modder feature?

 

A user currently can just disable auto-advance or give the orgasm stage a long timer to give themselves time to reach, then rewind back to stage 1 and change animations at their leisure.

 

As a modder you could add a hook for OrgasmStart that issues the GoToStage(1) command and sets the animations to something else.

 

 

I am asking for a user feature. Its realy just about convenience. I know that a user can just rewind at the last stage. I am asking for a feature to skip the rewinding/changing animation.

Link to comment

Im not so active on this forum but, is this mod still being worked on? i havent seen any updates in a long time  :-/

 

Of course it is. Ashal was just waiting for the new skse version to be released first since it add new functions that sexlab needed.

Just read the first post.

Link to comment

 

Ashal is there anyway you could add a toggle to enable/disable all the animations in the list? I tend to only use a few and every time I need to refresh the list it takes about a minute or two to get the right selection again.

 

Would be a nice convenience feature if it isn't to hard to add..

Better would be an option to remember which animations are not selected so they don't get selected by the refresh. I say remember the unselected ones because any new animations or animations left selected would then still be selected after a refresh.

 

Most people turn off only those animations they don't care for so that would normally be the shorter list also.

 

 

Doesn't the export/import function do that?

 

Link to comment

 

 

Is it possible to have the animation name popup when an animation starts? just so it makes it easier to know which ones you like and which ones you wish to unitck - i will admit some are easy to figure out but some are not.

Or even a hotkey that will uncheck the animation playing on the player from the animation selection list in the MCM, then change to a different animation. Rinse and repeat as necessary.

Eh, guys... Just hit the show console button

There's the current animation and the animations than ran before written out in there. There isn't the slightest need to have an immersion-breaking pop-up message.

Link to comment

Why some animations in the last stage move away -45 or -34 and can not fix with the editor, and in others the editor show 0 but when enter for to edit have other number and no change. Someone happens this?

 

Why you don't read the pinned threads in the tech support section.

Link to comment

Would load order affect the timing of functions? Such as how long till it changes stage, how long till it changes animation when pressing the key, etc.

Because I'm stumped and guessing this is the cause.

Load order has no effect on the timing of functions. How long SexLab takes for something to happen after pressing a hotkey is going to be most affected by the your current frame rate, the amount of other mods trying to run scripts at the same time, and your computers processor speed.

 

There is always going to be a little bit of noticeable lag when changing stages or animations, but if it's consistently taking more than 1-2 seconds you likely have a really slow computer, or a lot of very script heavy, possibly broken, script mods causing major script latency. 

Link to comment
  • 2 weeks later...

Is something wrong with HasKeywordString?

 

I was troubleshooting an issue between SD+ and Sacrificial Spriggan today.

For some reason, SD+ owner would not detect HasKeyWordString("SexLabNoStrip") on the spriggan armor, even though the keyword is there.

 

I looked at how SexLab detects if something can be stripped and I found it is using its own function to look at substrings of keywords instead.

 

When I replace ' kForm.HasKeywordString("SexLabNoStrip") ' by ' SexLab.IsStrippable(kForm) ' , everything was working fine.

 

Is there something special to know about HasKeywordString?

 

I am using it in other places and now I am wondering if it is reliable or not.

Link to comment

Is something wrong with HasKeywordString?

 

I was troubleshooting an issue between SD+ and Sacrificial Spriggan today.

For some reason, SD+ owner would not detect HasKeyWordString("SexLabNoStrip") on the spriggan armor, even though the keyword is there.

 

I looked at how SexLab detects if something can be stripped and I found it is using its own function to look at substrings of keywords instead.

 

When I replace ' kForm.HasKeywordString("SexLabNoStrip") ' by ' SexLab.IsStrippable(kForm) ' , everything was working fine.

 

Is there something special to know about HasKeywordString?

 

I am using it in other places and now I am wondering if it is reliable or not.

 

HasKeywordString() checks for the keyword's name to match exactly. The problem is anytime another mod creates a SexLabNoStrip keyword in their esp/esm, when in game it gets renamed to SexLabNoStripCopy001 or something to that effect, since other mods also have the keyword and you can't have multiple keywords with the same name.

 

So to get around that, IsStrippable() uses a custom made SKSE function that checks the keywords for a substring instead of a fully matching string.

 

The custom function is SexLabUtil.HasKeywordSub(form, string), if you want to make use of it for other things.

Link to comment

 

Is something wrong with HasKeywordString?

 

I was troubleshooting an issue between SD+ and Sacrificial Spriggan today.

For some reason, SD+ owner would not detect HasKeyWordString("SexLabNoStrip") on the spriggan armor, even though the keyword is there.

 

I looked at how SexLab detects if something can be stripped and I found it is using its own function to look at substrings of keywords instead.

 

When I replace ' kForm.HasKeywordString("SexLabNoStrip") ' by ' SexLab.IsStrippable(kForm) ' , everything was working fine.

 

Is there something special to know about HasKeywordString?

 

I am using it in other places and now I am wondering if it is reliable or not.

 

HasKeywordString() checks for the keyword's name to match exactly. The problem is anytime another mod creates a SexLabNoStrip keyword in their esp/esm, when in game it gets renamed to SexLabNoStripCopy001 or something to that effect, since other mods also have the keyword and you can't have multiple keywords with the same name.

 

So to get around that, IsStrippable() uses a custom made SKSE function that checks the keywords for a substring instead of a fully matching string.

 

The custom function is SexLabUtil.HasKeywordSub(form, string), if you want to make use of it for other things.

 

 

So if SexLabNoStrip is not recognized anymore by that function, that means another mod I am using is hijacking it?

 

Thanks... I will check out the conflicts in TES5edit.

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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • 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