Jump to content

Cumshot - Improvements for SexLab


Recommended Posts

Cumshot - Improvements for SexLab

View File

Introduction:

 

This is an extension/improvement over the Cumshot mod for SexLab.

 

Changes include the ability to control SexLab orgasms manually through cumshots, add SexLab's cum effects through cumshots and many other tweaks to allow you to better control when characters should orgasm.

All the new options can be found in Cumshot's MCM; Nothing from the original mod was removed, and as such, the original behavior can be implemented just as easy through the MCM.

 

This extension is not compatible with SexLab Separate Orgasm (SLSO). Both change the way orgasm works and as such both change the same SexLab core scripts.

Either use this one if you want full manual control over orgasms, or use SLSO for a more dynamic system-controlled separate orgasms.

 

Installation:

 

Just drop the contents into the Data folder or use a mod manager to install it.

Make sure the scripts from this mod overwrite the ones from the original mod and make sure this mod's esp loads AFTER Cumshot.esp.

 

 

Known Issues:

 

None.


  • Submitter
  • Submitted
    11/29/2019
  • Category
  • Requires
    Sex Animation Framework v1.62 or higher, Cumshot 2.1 or higher
  • Special Edition Compatible
    No

 

Link to comment

Hey Hawk9969,

 

Noticed a comment you made on another thread, (which I now can't seem to find again) that the voices didn't distribute randomly in Sexlab and you then gave an example coding to make the script randomise properly.  On a similar theme I have noticed that Sexlab seems to favour a small subset of available sex animations over and over again. There are some animations I have never seen. I can see them in the "Animations Toggle" section, but they never play.

 

So.... my question is - do you know if it is possible to properly randomise the sex scene animations so that Sexlab uses all the available choices? If so, do you also know the name of the script I would have to rewrite to achieve that outcome?

 

Cheers,

dePog

 

PS. Thanks also for solving the issue I had with the character name staying centre screen during animations.

Link to comment
1 hour ago, dePog said:

Hey Hawk9969,

 

Noticed a comment you made on another thread, (which I now can't seem to find again) that the voices didn't distribute randomly in Sexlab and you then gave an example coding to make the script randomise properly.  On a similar theme I have noticed that Sexlab seems to favour a small subset of available sex animations over and over again. There are some animations I have never seen. I can see them in the "Animations Toggle" section, but they never play.

 

So.... my question is - do you know if it is possible to properly randomise the sex scene animations so that Sexlab uses all the available choices? If so, do you also know the name of the script I would have to rewrite to achieve that outcome?

 

Cheers,

dePog

 

PS. Thanks also for solving the issue I had with the character name staying centre screen during animations.

I see nothing, other than a couple of things that you might not be aware.

 

function SetAnimation(int aid = -1) on sslThreadController has it fully randomized, unless a specific animation was passed to it.

	; Randomize if -1
	if aid < 0 || aid >= Animations.Length
		aid = Utility.RandomInt(0, (Animations.Length - 1))
	endIf
	; Set active animation
	Animation = Animations[aid]

For an animation to be passed when starting, it requires a mod to call this function SetStartingAnimation(sslBaseAnimation FirstAnimation) on sslThreadModel.

SexLab never calls it by itself.

 

If you are changing animations via SexLab's hotkey, it will move forward or backward on your animation list (it's not randomized on purpose).

	function ChangeAnimation(bool backwards = false)
		UnregisterForUpdate()
		SetAnimation(sslUtility.IndexTravel(Animations.Find(Animation), Animations.Length, backwards))
		SendThreadEvent("AnimationChange")
		RegisterForSingleUpdate(0.2)
	endFunction
int function IndexTravel(int CurrentIndex, int ArrayLength, bool Reverse = false) global
	if Reverse
		CurrentIndex -= 1
	else
		CurrentIndex += 1
	endIf
	if CurrentIndex >= ArrayLength
		return 0
	elseif CurrentIndex < 0
		return ArrayLength - 1
	endIf
	return CurrentIndex
endFunction

 

So, either you've a mod or mods that always start with specific animations, or you are using SexLab's hotkey, which is working as intended; You either go forward or backward in the animation list when using the hotkey.

If you are neither using a mod specifying an specific animation nor are you using the hotkey, then it's being randomized accordingly. 

 

I'd recommend you to just install and use SexLab Tools instead; You will be able to pick whatever animation you feel like.

 

P.S. The post you'd mentioned can be found below. In that case, the problem with randomization is real under certain circumstances.

 

Link to comment
9 hours ago, Hawk9969 said:

If you are changing animations via SexLab's hotkey, it will move forward or backward on your animation list (it's not randomized on purpose).

Sorry Hawk, I probably didn't ask my question clearly. I don't mean the sub animations within a sex scene. I mean the entire scene. For instance, if you use a SLEN (Enthusiastic NPCs) dialogue and the NPC agrees to have sex, then you are presented with options of what type of sex scene you want, eg: missionary; standing; 69; oral; doggy; etc. For example, if you were to choose doggy then it seems that only some of them get picked while others never get chosen. In my list there is doggy animations by Arrok, Mitos, 3J, 4uDik, AP, Leito, zdi2 and  Zyn. However, it always seems to pick either Arrok or Leito. I have never seen it choose the Zyn doggy style.

 

Hmmm... it just occurred to me, could this be an issue with SLEN and not Sexlab? May be I am barking up the wrong tree, lol.

Link to comment
15 hours ago, dePog said:

Sorry Hawk, I probably didn't ask my question clearly. I don't mean the sub animations within a sex scene. I mean the entire scene. For instance, if you use a SLEN (Enthusiastic NPCs) dialogue and the NPC agrees to have sex, then you are presented with options of what type of sex scene you want, eg: missionary; standing; 69; oral; doggy; etc. For example, if you were to choose doggy then it seems that only some of them get picked while others never get chosen. In my list there is doggy animations by Arrok, Mitos, 3J, 4uDik, AP, Leito, zdi2 and  Zyn. However, it always seems to pick either Arrok or Leito. I have never seen it choose the Zyn doggy style.

 

Hmmm... it just occurred to me, could this be an issue with SLEN and not Sexlab? May be I am barking up the wrong tree, lol.

Looks like a problem with matching the correct tags.

"I want to fuck you doggy style" is DIAL entry XX029FF1 and if you look at the scripts attached to its INFO subentries, you can see that it requires the following:

  1. The animation having both of these tags: Sex and DoggyStyle.
  2. The animation not having any of these tags: Furniture, Anal and Foreplay.

Anal is moved from 2 to 1 if the target is male.

 

Other than that, random only kicks in if it ends up with more than 125 animations.

This happens at sslBaseAnimation[] function GetList(bool[] Valid) within sslAnimationSlots.

And yeah, that looks quite bad.

int rand = Valid.Find(true, Utility.RandomInt(n, end))

If you've several falses (aka not valid animations) between trues (aka valid animations) and then another true following that true, you will have a much bigger chance of removing the first true than the second. For removing the first true, you can just land on any index before it, but for removing the second, you need to land exactly on the first true's index.

But again, that only happens after 125 animations, do you really have 125 doggy animations?

 

1 hour ago, Nymra said:

This mod is incompatible with 

 

 

They both edit the same Sexlab Pex file and cancel each others functions out :(

I prefer the Sexlab Utility Plus so I let it override Cumsthot Dont know how much gets destroyed that way :(

 

It will break the GameScript and the SexLabScript.

You need to either merge the pscs for sslActorAlias and sslThreadController and then recompile both, or remove any references for orgasmPosition and canPlayOrgasm from GameScript and SexLabScript.

If you choose the latter, you should set both hotkeys effects to "Apply cum..." rather than "Trigger orgasm". All the other tweaks I've added will also not be available without sslActorAlias and sslThreadController.

You could also ask the author of the mod to add support for this, there aren't many new lines of code added to sslActorAlias and sslThreadController.

Link to comment
  • 4 weeks later...
9 minutes ago, Nymra said:

You need this mod as described in the OP.

 

 

yeah apparently I have cumshot 1.7.3 and but I don't have the installer for LE and SE because i thought it doesn't need it.. I just downloaded the installer and it's fine now tnx for the reply btw..

Link to comment
  • 2 weeks later...
21 hours ago, DinoR00bus said:

So this is a relatively new mod... but it appears to be Le? Will it work in SE? Should I open in creation kit?  Thanks!

It's a year old mod; I've just recently published it because Erstam insisted that I post it as an individual mod.

 

I don't know if this will work on SSE. The reason I've tagged it as not compatible is because it changes two core SexLab scripts.

SexLab SSE has changed some codes in some of its core scripts, and since I'll likely never touch SSE myself, I can't really tell you whether these two scripts were changed or not.

Link to comment
On 12/4/2019 at 1:01 AM, Hawk9969 said:

I see nothing, other than a couple of things that you might not be aware.

 

function SetAnimation(int aid = -1) on sslThreadController has it fully randomized, unless a specific animation was passed to it.


	; Randomize if -1
	if aid < 0 || aid >= Animations.Length
		aid = Utility.RandomInt(0, (Animations.Length - 1))
	endIf
	; Set active animation
	Animation = Animations[aid]

For an animation to be passed when starting, it requires a mod to call this function SetStartingAnimation(sslBaseAnimation FirstAnimation) on sslThreadModel.

SexLab never calls it by itself.

 

If you are changing animations via SexLab's hotkey, it will move forward or backward on your animation list (it's not randomized on purpose).


	function ChangeAnimation(bool backwards = false)
		UnregisterForUpdate()
		SetAnimation(sslUtility.IndexTravel(Animations.Find(Animation), Animations.Length, backwards))
		SendThreadEvent("AnimationChange")
		RegisterForSingleUpdate(0.2)
	endFunction

int function IndexTravel(int CurrentIndex, int ArrayLength, bool Reverse = false) global
	if Reverse
		CurrentIndex -= 1
	else
		CurrentIndex += 1
	endIf
	if CurrentIndex >= ArrayLength
		return 0
	elseif CurrentIndex < 0
		return ArrayLength - 1
	endIf
	return CurrentIndex
endFunction

 

So, either you've a mod or mods that always start with specific animations, or you are using SexLab's hotkey, which is working as intended; You either go forward or backward in the animation list when using the hotkey.

If you are neither using a mod specifying an specific animation nor are you using the hotkey, then it's being randomized accordingly. 

 

I'd recommend you to just install and use SexLab Tools instead; You will be able to pick whatever animation you feel like.

 

P.S. The post you'd mentioned can be found below. In that case, the problem with randomization is real under certain circumstances.

 

Ha funny! You were responding to my complaint about female voices always defaulting to Vex.

Link to comment
  • 2 weeks later...
  • 3 weeks later...

Hello,

 

Can someone please clarify what this feature is: "add SexLab's cum effects through cumshots"

 

Does that mean that this mod calculates where the cumshot will land based on the penis orientation and applies the textures there automatically based on that? And if so, how does it do that?

Link to comment
  • 2 weeks later...
  • 9 months later...
  • 8 months later...
  • 6 months later...
  • 1 year later...

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