Jump to content
  • entries
    5
  • comments
    0
  • views
    3,230

From: 3j's Animations


ZigNewton

1,561 views

 

After a few people messaging me in my inbox asking how to do this, I decided to post it here.

The following is a guide on how to take the resource animations, and add them non-destructively to your SexLab gamemode for testing. For this example, we will use 3j_domination, but it works for any set of animations. This method has been tried and tested repeatedly - it works. If something goes wrong, it's probably on your end.

This guide assumes that you're competent enough to read, open creation kit, and go through a tutorial without getting your dick stuck in a blender. (in other words, this tutorial assumes you are smarter than the average Nexus user)

 

1 - In 3ji_domination, we have 10 animations. All animations are of the form 3j_domination_a#_s#.hkx in this animation, but sometimes they're 3j_animation_m#.hkx and 3j_animation_f#.hkx. They are effectively the same. [a1_s# = f# and a2_s# = m#] Paste all of the animations in your data/meshes/actors/character/animations/SexLab/ folder.

 

2 - Open FNIS_Sexlab_List.txt. Add the following entries:

s 3j_domination_a1_s1 3j_domination_a1_s1.hkx

+ 3j_domination_a1_s2 3j_domination_a1_s2.hkx

...

+ 3j_domination_a1_s5 3j_domination_a1_s5.hkx

s 3j_domination_a2_s1 3j_domination_a2_s1.hkx

...

+ 3j_domination_a2_s5 3j_domination_a2_s5.hkx

 

When you are done, you should have ten entries. The "s" denotes the start of the animation for each actor, and the + is an additional stage. If the animation has three actors, and five stages, you'll have 3 s' and 15 entries, and 15 animations in total. (unless animations are reused). Save, obviously.

Note: The first name is what you will use to script the animation. So, you can name it whatever you want, (e.g s cuntbasket 3j_domination_a1_s1.hkx), but consistency is always better.

 

3 - Make sure all of the SexLab, FNIS, SKSE, and PapyrusUtil script source (.psc) files are in data/scripts/source. If you get compiler errors or crashes, you probably fucked up that step, unless you made a silly syntax error.

 

4 - Open up sslanimationdefaults.psc in whatever competent text editor you have.

At the end of the file, add in a function of the following form. Yes, it's scripting, but you only need to know what and where to paste, not how it works.

 

 

function whateveryouwant(int id)

sslBaseAnimation Base = Create(id)

Base.Name = "Whatever the fuck you want"

Base.SetContent(Sexual)

Base.SoundFX = Squishing ;other types of effects for blowjob animations, etc.

int a1 = Base.AddPosition(Female, addCum=Vaginal) ;can also be oral, anal, or a combination such as vaginaloralanal

Base.AddPositionStage(a1, "animation_firststage", 0, up = 0) ; you can set up default reposition here, if you want

...

Base.AddPositionStage(a1, "animation_laststage", 0, up = 0)

int a2 = Base.AddPosition(Male)

 

Base.AddPositionStage(a1, "animation_firststage", 0, up = 0) ;the animation names here are whatever you set in FNIS_Sexlab_List.txt

...

Base.AddPositionStage(a1, "animation_laststage", 0, up = 0)

Base.AddTag("3j")

Base.AddTag("Sex")

Base.AddTag("MF")

Base.Save(id)

endFunction

 

 

So, in the case of 3ji_domination, I have this function:

 

 

 

function zjDomination(int id)

sslBaseAnimation Base = Create(id)

Base.Name = "3j Domination"

Base.SetContent(Sexual)

Base.SoundFX = Squishing

int a1 = Base.AddPosition(Female, addCum=Vaginal)

Base.AddPositionStage(a1, "3j_domination_a1_s1", 0, up = 0)

Base.AddPositionStage(a1, "3j_domination_a1_s2", 0, up = 0)

Base.AddPositionStage(a1, "3j_domination_a1_s3", 0, up = 0)

Base.AddPositionStage(a1, "3j_domination_a1_s4", 0, up = 0)

Base.AddPositionStage(a1, "3j_domination_a1_s5", 0, up = 0)

int a2 = Base.AddPosition(Male)

Base.AddPositionStage(a2, "3j_domination_a2_s1", 0, up = 0, side = 0, rotate = 0, sos = 0)

Base.AddPositionStage(a2, "3j_domination_a2_s2", 0, up = 0, side = 0, rotate = 0, sos = 0)

Base.AddPositionStage(a2, "3j_domination_a2_s3", 0, up = 0, side = 0, rotate = 0, sos = 0)

Base.AddPositionStage(a2, "3j_domination_a2_s4", 0, up = 0, side = 0, rotate = 0, sos = 0)

Base.AddPositionStage(a2, "3j_domination_a2_s5", 0, up = 0, side = 0, rotate = 0, sos = 0)

Base.AddTag("3j")

Base.AddTag("BBP")

Base.AddTag("Sex")

Base.AddTag("Vaginal")

Base.AddTag("MF")

Base.Save(id)

endFunction

 

 

 

Then, at the top of the animation, add a line of the following form to register the function with all the other entries:

RegisterAnimation("whateveryouwant")

In the case of zjDomination, it was:

RegisterAnimation("zjDomination")

 

I added it after APBedMissionary, so it appears immediately after. Save, of course.

 

5 - Creation kit. You do not need to load any ESP's. Just go to Gameplay->Papyrus Script Manager. Search for sslanimationdefaults. Right click it, click "Compile source". If you get an error, most likely, you either fucked up the syntax, or you don't have all of the files in your data/scripts/source folder you should. Read the error, try to figure out what went wrong.

 

6 - Start Skyrim, go to SexLab's MCM, and click the "reregister animations" button. If the animation shows up and plays, you win. You can repeat this process quickly with any animations, including your own animations.

 

Problems you are likely encounter, and what you did wrong to cause them:

P - The animation doesn't show up after I register animations.

C - Something went wrong in sslanimationdefaults.psc.

S - Crack open sslanimationdefaults.psc and see what went wrong. Maybe you forgot to use registeranimation at the start. Maybe you didn't write the function properly.

P - The animation shows up, but I can't find it when I use matchmaker or get raped.

C - You probably forgot to use addtag.

S - In your function, make sure the bare minimum AddTag("Sex") and AddTag(["FF"/"MF"/MM") are there, or most mods won't find your animations.

P - The animation shows up, but my characters are doing whatever animation I used before, and the animation is not playing.

C - Something went wrong with FNIS, or you did not link to the correct animations.

S - Cross-reference FNIS_Sexlab_List.txt and make sure s >>this<< youranimation.hkx matches AddPositionStage([a1/a2], ">>this<<" ...). If they match, something probably went wrong. Make sure the syntax in FNIS_Sexlab_List.txt is right, and run FNIS for modders then users again.

P - The animation plays, but my characters stand completely still, in a default pose.

C - Something went wrong with the animation.

S - Make sure you've got the animations in the right folder. Make sure FNIS_Sexlab_List.txt is using the correct filenames and is in the correct path.

P - I get a scripting error linking to lines in sslanimationdefaults.psc.

C - You fucked up writing the function or registering the animation.

S - Listen to it, fix whatever went wrong.

P - I get a scripting error linking to lines in another SexLab file or another file entirely.

C - You do not have all of the files in your SexLab folder you should.

S - Make sure all of the source files, including SexLab and PapyrusUtil both, are in the correct folder.

P - I get a script error involving 'FNIS'

C - You do not have the latest FNIS scripts in your scripts/source folder.

S - Put them there.

P - I get a load of script errors involving strings and stringUtil.

C - You do not have the latest SKSE scripts in your scripts/source folder.

S - Put them there.

P - I updated SexLab and my animations are gone!

C - That's because your FNIS_Sexlab_List.txt, sslanimationdefaults.psc and sslanimationdefaults.pex got replaced.

S - Now you have to do everything again. QQ. Hope you saved file copies somewhere - if you did, it's a matter of copy/paste.

P - Animations vanish when I register animations!

C - SexLab can't read sslAnimationDefaults.pex.

S - This seems to be a MO-related issue, and I have no idea how Mod Organizer works. All I can say is make sure all of your script files are where they should be when the game is running.

 

Ooh...

I'll try this later.

 

Source: 3j's Animations

0 Comments


Recommended Comments

There are no comments to display.

×
×
  • Create New...