Jump to content

SexLab Framework Development


Recommended Posts

Posted

Would it be possible that if a mod only makes a call for [Kissing] tagged scenes for just a romantic kiss and not actual sex, that if Orgasm and the animated strip options are active they won't trigger? It looks a bit odd to hear the orgasm sounds and start off with making motions to undress when doing romantic kisses in story mods like Amorous Adventures.

 

I have a related request/suggestion earlier in this thread.

 

Posted

 

Would it be possible that if a mod only makes a call for [Kissing] tagged scenes for just a romantic kiss and not actual sex, that if Orgasm and the animated strip options are active they won't trigger? It looks a bit odd to hear the orgasm sounds and start off with making motions to undress when doing romantic kisses in story mods like Amorous Adventures.

 

I have a related request/suggestion earlier in this thread.

 

 

 

The cuddling is a good idea also. Maybe have only animations tagged with Vaginal, Oral or Anal have a chance to trigger the orgasm effect?

Posted

 

 

Would it be possible that if a mod only makes a call for [Kissing] tagged scenes for just a romantic kiss and not actual sex, that if Orgasm and the animated strip options are active they won't trigger? It looks a bit odd to hear the orgasm sounds and start off with making motions to undress when doing romantic kisses in story mods like Amorous Adventures.

 

I have a related request/suggestion earlier in this thread.

 

 

 

The cuddling is a good idea also. Maybe have only animations tagged with Vaginal, Oral or Anal have a chance to trigger the orgasm effect?

 

 

Well no... because there are others too, like footjob, handjob, and others. Plus there are at least some that start out with kissing but then do lead to a sex act. Ie, anims that have (for example) both kissing and vaginal tags.

 

So I think a better approach is a separate flag that you can set to prevent orgasm. Then you can use it with any animations.

 

But, as you said, dressing and then undressing again is.... messy. So an afterplay option could handle that.

 

Posted

Following the talk above, if animations are created with only kiss tag, the undress animation can be avoided? (even if the option is activated).

The mod calling the animation can indicate that no undressing should take place.

Posted

I'd really love it if a 'Disable all' button could be added to the Animation page, so I can re-toggle the twenty animations I want, instead of going through the hundreds available and untoggling them one by one.

Posted

 

 

 spiders/chaurses/chaurus flyers/chaurs hoppers, 

 

Sorry, but it's too niche of a problem, and not the absolute solution you think it is. 

 

Would it be an easy solution to exclude those races from scaling at all instead of race specific scaling? Far from beeing perfect, there are several different scales for those creatures too, but it would still be better than what we have now, at least 2/3 of those creatures have a quite similar size. Oh, and a switch from "large spiders use giant spiders animation" to "large spiders use normal spiders animation" would already be great.

 

Posted

Using 1.62, I just noticed my "Even actor heights" button is grayed out and I can't click it. The problem is that even though it's disabled, NPCs still grow to the size of my character when animations start. What's wrong?

 

Also, this has probably been suggested a hundred times by now, but I was wondering why it can't be done. I scrolled back and didn't find an answer.

 

My idea would be that, because we already have the resources for it (i.e. kissing animations), why not make it so one of the 'foreplay' animations is the NPCs actually walking up to each other, kissing etc., and just then the actual sex animations start? It's not a perfect solution to NPCs teleporting and I know that there is an option that makes it so NPCs walk up to the place where they're gonna have sex instead of simply teleporting there, but an animation where the actors would not only walk up to the location (and even lie down if the animation is in a bed although I'm sure that's more complex and maybe impossible), but actually start fiddling with each other as if it were foreplay.

 

Perhaps even have a system where a menu pops up after the foreplay animation plays and then it asks, "which position shall you and your lover (or whatever) take?", then you can select from three or four different takes i.e., "I'm gonna suck him off", "we're gonna do anal", "he's gonna lick me", and then depending on the option you choose, it plays a random animation which has the tags from one of the options you selected. For instance, if you choose "I'm gonna suck him off", an animation plays where the character slowly kneels down, and then actual blowjob animation plays. I know this has a few constraints, for instance if the animation already has a start where the character is kneeling down, but I think that it could work. *I* being someone with next to no modding experience.

Posted

Using 1.62, I just noticed my "Even actor heights" button is grayed out and I can't click it. The problem is that even though it's disabled, NPCs still grow to the size of my character when animations start. What's wrong?

You have the CTD fix option enabled - that disables Even Actor Height.

Posted

I recently updated SexLab 1.62 from 1.59c and found it has had great improvement. There has been no CTD because of SexLab any longer. From now on, I am going to play with 1.62.

However, some of them still have issues.

 

1. Characters are duplicated when they take off mostly.

2. Characters have sex separately somewhere else sometimes.

3. It takes too long before characters have sex occasionally. After taking off, they just stand up for a while(around 8-15 sec) with no action.

4. Voice does not work properly sometimes.

 

Plus, I hope there is an option that characters do not dress up right after sex even though it is not rape. It looks unreal.

Almost perfect. Hope the next vesion would fix these issues.

Thanks for your great job!

  • 2 weeks later...
Posted

I don't know if anyone else have mention this about creating a separate folder for SexLab.

 

 

 

Create a new folder somewhere outside your Skyrim's Data folder that you want to create the repository in.

 

Anyone can create a separate folder via BAIN in Wrye Bash, just download the archive into the \Skyrim Mods\Bash Installers folder and do like this.

 

1. select the archive

2. right click to bring up the popup menu

3. click on "Unpack to project"

 

The installation in BAIN is normal and shouldn't be an issue for any user who is familiar with BAIN in Wrye Bash.

Posted

Ashal, maybe someone noticed that before me, but you forget about "return" in sslThreadModel (SexLab 1.62):
Form function GetStrapon(Actor ActorRef)
    ActorAlias(ActorRef).GetStrapon()
endfunction
F*cking Papyrus, I'm crazy about absense of such simply checks about returning values. :D

Kind Regards
 

Posted

Ashal, sometimes while animations registration such errors happens:
[10/01/2016 - 02:25:36PM] SEXLAB - Resizing animation registry slots: 128 -> 160
[10/01/2016 - 02:25:36PM] Error: Array index 129 is out of range (0-127)
stack:
    [sexLabQuestRegistry (0D0664FB)].sslCreatureAnimationSlots.Register() - "sslAnimationSlots.psc" Line 355
    [MoreNastyCritters (3A000D62)].MoreNastyCrittersFactory.RegisterAnimation() - "sslAnimationFactory.psc" Line 87
    [MoreNastyCritters (3A000D62)].MoreNastyCrittersFactory.RegisterAnimations() - "MoreNastyCrittersFactory.psc" Line 142
[10/01/2016 - 02:25:36PM] Error: Array index 129 is out of range (0-127)
stack:
    [sexLabQuestRegistry (0D0664FB)].sslCreatureAnimationSlots.GetBySlot() - "sslAnimationSlots.psc" Line 124
    [MoreNastyCritters (3A000D62)].MoreNastyCrittersFactory.RegisterAnimation() - "sslAnimationFactory.psc" Line 90
    [MoreNastyCritters (3A000D62)].MoreNastyCrittersFactory.RegisterAnimations() - "MoreNastyCrittersFactory.psc" Line 142
[10/01/2016 - 02:25:36PM] Error: Cannot call initialize() on a None object, aborting function call
stack:
    [MoreNastyCritters (3A000D62)].MoreNastyCrittersFactory.RegisterAnimation() - "sslAnimationFactory.psc" Line 91
    [MoreNastyCritters (3A000D62)].MoreNastyCrittersFactory.RegisterAnimations() - "MoreNastyCrittersFactory.psc" Line 142
[10/01/2016 - 02:25:36PM] Error: Cannot call Registry() on a None object, aborting function call
stack:
    [MoreNastyCritters (3A000D62)].MoreNastyCrittersFactory.RegisterAnimation() - "sslAnimationFactory.psc" Line 92
    [MoreNastyCritters (3A000D62)].MoreNastyCrittersFactory.RegisterAnimations() - "MoreNastyCrittersFactory.psc" Line 142
....
As stated in log entries it happens in sslAnimationSlots.Register(). Seems reason, that while resizing arrays calling to Utility allow to another calling of Register() to enter into.
I just placed simple blocking functionality and errors are gone:

bool bRegister_blocked = false
int function Register(string Registrar)
    if Registrar == "" || Registry.Find(Registrar) != -1 || Slotted >= 500
        return -1
    elseIf IsSuppressed(Registrar)
        Log("SKIPPING -- "+Registrar)
        return -1
    endIf
while(bRegister_blocked)
    utility.waitmenumode(0.05)
endwhile
bRegister_blocked = true

    int i = Slotted
    Slotted += 1
    if i >= Registry.Length
        int n = Registry.Length + 32
        if n > 500
            n = 500
        endIf
        Log("Resizing animation registry slots: "+Registry.Length+" -> "+n)
        Registry = Utility.ResizeStringArray(Registry, n)
        Objects  = Utility.ResizeAliasArray(Objects, n, GetNthAlias(0))
        while n
            n -= 1
            if Registry[n] == ""
                Objects[n] = none
            endIf
        endWhile
        i = Registry.Find("")
    endIf
    Registry[i] = Registrar
    Objects[i]  = GetNthAlias(i)


bRegister_blocked = false
    return i
endFunction

Same issues can happen in sslExpressionSlots and sslVoiceSlots too.

Kind Regards.

Posted

I have two question:

 

(1)

 

Currently, I am seeing "broken" or "non-existant" animations with sexlab and however many mods I have installed.

 

I would like to have some tools to help me isolate these problems.

 

How can I tell which animation Sexlab thinks it is playing?

 

(When I go into MCM and visit sexlab's "Animation Editor" the drop down is blank when SexLab is playing an animation - shouldn't the current animation show up there? But, if not, where should it show up?)

 

(2)

 

Also...

 

From a development point of view, is there some sort of "in a scene for mod XX" I can check, to avoid stepping on other mods' activities?

Guest ffabris
Posted

This may help. At least, it will show what anim is playing. You can also use it to disable or even unregister the current animation.

Posted

 

This may help. At least, it will show what anim is playing. You can also use it to disable or even unregister the current animation.

Ok, ... progress for me... er... i think...

 

I load up my game, get roped into a sex scene. I get a notice that some animation without a name is playing. I aim my camera and hit shift H and I find when I try to disable the current animation that the current animation is already disabled... (and still no name on the animation...)

 

So... what does this tell me about sexlab? If I had to guess, the gear I am locked in does not allow for any animations, or something...?

 

I would like to debug this further, so I guess my next question is: how do I determine what was being called for, and how can I verify that against what I have available? (I am also looking for a way forward, some way of improving the situation, but I have to understand it, first...)

Guest ffabris
Posted

'H' wil show a list of all anims that match the tags set for the sex act, and will highlight the currently running one.

 

Locked in gear huh ... detach the gear and see if things work normally? Another thing to try is to reset the SL animation registry.

Posted

 

'H' wil show a list of all anims that match the tags set for the sex act, and will highlight the currently running one.

 

Locked in gear huh ... detach the gear and see if things work normally? Another thing to try is to reset the SL animation registry.

Things work fine without the gear. But this problem has to do with how various mods work together, and I feel like someone should be tracking down these kinds of problems so they can be fixed.

 

Thanks for the other tips, I will see how far I can get...

Guest ffabris
Posted

OK, good luck on tracking it down. :)

Posted

Based on some of the discussions in the last page, I've added this to the current dev build to help with kissing only scenes and provide a few other possibilities as well:

 

Orgasm related functions:

  • Thread.DisableAllOgrasms(true) 
    Disables all actors in a scene from triggering an orgasm effect and skips the OrgasmStart/OrgasmEnd hooks. (false to re-enable)
     
  • Thread.DisableOrgasm(Actor, true) 
    Disables orgasm effects for a specific actor in a thread, while still allowing others to. This and the next few functions should allow for some sort of orgasm denial mods if that strikes anybodies fancy. (false to re-enable)
     
  • bool Thread.IsOrgasmAllowed(Actor) 
    Checks if a given actor in the thread is allowed to orgasm, based off either of the 2 previous functions.
     
  • bool Thread.NeedsOrgasm(Actor)
    Checks if a given actor has their enjoyment >= 100, but can't trigger any orgasm effects due to the above disablers.
     
  • Thread.ForceOrgasm(Actor)
    Forces an actor in the thread to trigger their orgasm effects regardless.

Other functions:

  • Thread.SetNoStripping(Actor) 
    Disables stripping for a given actor during scene setup. Is basically just a usability shortcut to the more confusing solution of Thread.SetStrip(ActorRef, Utility.BoolArray(33))

 

 

Also added wait locks to the slot register functions and fixed the missing return on GetStrapon() which were reported on.

Guest ffabris
Posted

Works as advertised! :-)

 

Btw, what is JsonUtil.ClearPath()? Dare I hope that that is a way to remove an entire section and all its contents?

Guest ffabris
Posted

Oh yay, thanks for ClearPath()!  [does a snoopy dance...]

Guest ffabris
Posted

Btw Ashal, please remember to update PapyrusUtil.GetVersion() - it currently returns 33 still. I'll need that to check if I can use the new ClearPath() - thanks. :)

Posted

A feature request. Finding/Setting the initial position takes some time and often looks a bit akward. What about a "fade to black" until everyone is in position, if the player is involved?

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