fishburger67 Posted December 10, 2025 Posted December 10, 2025 Leito's slal pack contains "Leito Female Toy Vaginal". This animation has 7 stages. The first has the female NPC moving to the top of a potion bottle. If I run this animation out of the box, this first animation gets run 14 times which looks really weird. I have change the Stage 1 timing from 30 seconds down to 2 and it's still a repeating animation, but only two or three. This animation is labeled in the FNIS doc as "so -o,md". The other six are labeled "+ -o". Flowergirls runs this first animation exactly one time before moving on the the others. This makes it all look good. Is there any way I can tell Sexlab to run this (or other animation in the sequence) just once. I looked briefly into the code in sslAliasActor and sslThreadModel and found nothing that will do what I want except maybe sslThreadModel.SetStartAnimationEvent(), but that function is not used anywhere I can find so I have no idea when or where to use it. I do not want to set my animation time to 1 second for the first animation in MCM because that will fuck up most other animations. Is there some approved way to accomplish this without modifying the Sexlab code? 1
Ashal Posted December 11, 2025 Posted December 11, 2025 Sounds like an FNIS misconfiguration more than anything to me. Should have an "a" in the argument so it doesn't loop and goes to next in the sequence. For example, in the default sexlab animations, Zyn_RoughStanding has a non-looped 1st stage and then transitions smoothly into using the 2nd stages animation right away and it looks like this: s -a Zyn_RoughStanding_A1_S1 Zyn_RoughStanding_A1_S1.hkx + Zyn_RoughStanding_A1_S2 Zyn_RoughStanding_A1_S2.hkx Or, for example, in the dogglystyle animation, the stages all have a transition phase before immediately starting the looped animation after it's done playing once. s Zyn_Doggystyle_A1_S1 Zyn_Doggystyle_A1_S1.hkx + -a Zyn_Doggystyle_A1_S2 Zyn_Doggystyle_A1_S2.hkx + Zyn_Doggystyle_A1_S2b Zyn_Doggystyle_A1_S2b.hkx + -a Zyn_Doggystyle_A1_S3 Zyn_Doggystyle_A1_S3.hkx + Zyn_Doggystyle_A1_S3b Zyn_Doggystyle_A1_S3b.hkx + -a Zyn_Doggystyle_A1_S4 Zyn_Doggystyle_A1_S4.hkx + Zyn_Doggystyle_A1_S4b Zyn_Doggystyle_A1_S4b.hkx + -a Zyn_Doggystyle_A1_S5 Zyn_Doggystyle_A1_S5.hkx + Zyn_Doggystyle_A1_S5b Zyn_Doggystyle_A1_S5b.hkx The -a animations are played first at the start of the stage once, before it immediately skips to the next in the sequence, which is the main loop (2b, 3b, 4b, 5b). It's been a long time since I've looked at the FNIS documentation, though, so I'm not sure what the "md" is intended for. 1
Ashal Posted December 11, 2025 Posted December 11, 2025 Aside from that, though, for a SexLab coding solution instead of FNIS behavior tweaking, you can, in fact, set timers for stages programmatically using the thread configuration for handling animations. function SetTimers(float[] SetTimers) You can pass it an array of floats, and it'll use each index for each stage up to the last. The last index of the timer array is always used for the last stage of an animation.
fishburger67 Posted December 11, 2025 Author Posted December 11, 2025 1 minute ago, Ashal said: Sounds like an FNIS misconfiguration more than anything to me. Should have an "a" in the argument so it doesn't loop and goes to next in the sequence. For example, in the default sexlab animations, Zyn_RoughStanding has a non-looped 1st stage and then transitions smoothly into using the 2nd stages animation right away and it looks like this: s -a Zyn_RoughStanding_A1_S1 Zyn_RoughStanding_A1_S1.hkx + Zyn_RoughStanding_A1_S2 Zyn_RoughStanding_A1_S2.hkx Or, for example, in the dogglystyle animation, the stages all have a transition phase before immediately starting the looped animation after it's done playing once. s Zyn_Doggystyle_A1_S1 Zyn_Doggystyle_A1_S1.hkx + -a Zyn_Doggystyle_A1_S2 Zyn_Doggystyle_A1_S2.hkx + Zyn_Doggystyle_A1_S2b Zyn_Doggystyle_A1_S2b.hkx + -a Zyn_Doggystyle_A1_S3 Zyn_Doggystyle_A1_S3.hkx + Zyn_Doggystyle_A1_S3b Zyn_Doggystyle_A1_S3b.hkx + -a Zyn_Doggystyle_A1_S4 Zyn_Doggystyle_A1_S4.hkx + Zyn_Doggystyle_A1_S4b Zyn_Doggystyle_A1_S4b.hkx + -a Zyn_Doggystyle_A1_S5 Zyn_Doggystyle_A1_S5.hkx + Zyn_Doggystyle_A1_S5b Zyn_Doggystyle_A1_S5b.hkx It's been a long time since I've looked at the FNIS documentation, though, so I'm not sure what the "md" is intended for. Thanks, that worked. md = motion driven. I changed the first animation to "so -o,md,a" and it now works as expected. I saw that it had an "s" as the type and I thought that meant a single acyclic animation, but I guess that S does not mean that. Thanks again so much, problem solved.
Ashal Posted December 11, 2025 Posted December 11, 2025 1 minute ago, fishburger67 said: Thanks, that worked. md = motion driven. I changed the first animation to "so -o,md,a" and it now works as expected. I saw that it had an "s" as the type and I thought that meant a single acyclic animation, but I guess that S does not mean that. Thanks again so much, problem solved. S is the start of a sequence, and + is the next animation in that sequence.
fishburger67 Posted December 11, 2025 Author Posted December 11, 2025 21 minutes ago, Ashal said: Aside from that, though, for a SexLab coding solution instead of FNIS behavior tweaking, you can, in fact, set timers for stages programmatically using the thread configuration for handling animations. function SetTimers(float[] SetTimers) You can pass it an array of floats, and it'll use each index for each stage up to the last. The last index of the timer array is always used for the last stage of an animation. Thanks for this too, it keeps me from having to write a new animation sequence for another animation that is essentially an existing animation that does not take so long to run.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now