Jump to content

Sexlab Aroused Redux December 05 2016


Recommended Posts

 

I have a query if someone can shed some light on it please - Aroused seemed to working fine with my character with steadily increasing arousal level between sex until recently where I am finding the arousal level is decreasing rather than increasing!  It seems to have started since I arrived in Solstheim or when I adopted the werewolf power, do you think they could be related? thanks

 

Has it been a while since your last time having sex? The way aroused is coded your arousal does start climbing back up again after sex. But if you go for long enough without sex, and aren't exposed to outside influences to arouse you, your arousal will drop again. Basically it is coded that if you go live in a convent/monestary, you will eventually lose all your desires.

 

It is roughly based on how often you have sex. If you have sex 10 times in one day, your arousal will climb quickly afterwards, and take a long time to die down. But if you control your impulses and only have sex once every three or four days, then your arousal will climb more slowly after set, and perhaps switch over to decay mode sooner. I haven't done all the math to see if it actually decays sooner or not.

 

 

Ah right I see thanks for clarifying, yes it has been a while as I've been focussing on quests in Solstheim. So would it just take seeing naked flesh or watching NPC having sex to reactivate arousal? Is there anything else that could do it?

Link to comment

 

 

 

I have a query if someone can shed some light on it please - Aroused seemed to working fine with my character with steadily increasing arousal level between sex until recently where I am finding the arousal level is decreasing rather than increasing!  It seems to have started since I arrived in Solstheim or when I adopted the werewolf power, do you think they could be related? thanks

 

Has it been a while since your last time having sex? The way aroused is coded your arousal does start climbing back up again after sex. But if you go for long enough without sex, and aren't exposed to outside influences to arouse you, your arousal will drop again. Basically it is coded that if you go live in a convent/monestary, you will eventually lose all your desires.

 

It is roughly based on how often you have sex. If you have sex 10 times in one day, your arousal will climb quickly afterwards, and take a long time to die down. But if you control your impulses and only have sex once every three or four days, then your arousal will climb more slowly after set, and perhaps switch over to decay mode sooner. I haven't done all the math to see if it actually decays sooner or not.

 

 

 

Ah right I see thanks for clarifying, yes it has been a while as I've been focussing on quests in Solstheim. So would it just take seeing naked flesh or watching NPC having sex to reactivate arousal? Is there anything else that could do it?

 

 

If you are set exhibitionist, then running around naked in public will do it. And of course if you have sex again, you will start another ramp up and down. Other than that it probably depends on your mods. Sexlab Stories will give you kinks if you touch one of the stones, which will trigger arousal increases depending on which kink you take. And other mods may fiddle with arousal.

 

Link to comment

 

Hi fishburger, what NeatLL describes is actually a real issue, but only for the faction rank in sla_Arousal, so if you call GetActorArousal directly you get the correct number (and at that moment of course the faction rank will be updated too, which makes the issue hard to track). The issue basically boils down to the fact that the faction rank is only updated when the actor has LOS of another naked actor, so if an actor doesn't see a naked actor for a day or so their faction rank will be vastly different from their actual arousal as reported by GetActorArousal.

 

Long (technical) description:

 

 

In slaMainScr.OnUpdate(), you call UpdateNakedArousal to update the exposure of all scanned NPCs and the PC for seeing naked people, or for being naked when they are exhibitionist. UpdateNakedArousal in turn calls slaFrameworkScr.UpdateActorExposure to increase the actor's exposure if they have LOS of a naked person. This function in turn calls SetActorExposure, where finally GetActorArousal is called which then updates the sla_Arousal faction rank.

 

The problem is that GetActorArousal is never called for actors who don't have LOS of another naked actor (which can be all of them if there are no naked actors around). As a result the sla_Arousal faction rank is never updated, even though the arousal of the actors will be steadily changing due to the passing of time. This effectively means that sla_Arousal does not contain the arousal value for an actor the last time they were scanned, but rather it shows their arousal the last time they saw a nude person (or if they are exhibitionist, the last time they were seen naked). Since this can be a long time ago, this often causes an actor's sla_Arousal faction rank to jump from 0 to 100 when they finally do see a naked person - or when GetActorArousal is called by other means, like pressing the N hotkey.

 

In order to make the sla_Arousal faction work as a lightweight way to poll arousal values, the faction rank has to be updated on every scanning round for all found actors, even when there are no naked people around, otherwise the only way to get the current arousal of an actor is to call GetActorArousal directly, which I believe is the thing the sla_Arousal faction is meant to prevent in the first place.

 

I have attached a changed version of slamainscr.psc that fixes this issue. I've been running it myself for a few hours now and it works fine for me. I got a bit dizzy of keeping track of actor references with the 3 separate loops you had in the OnUpdate event, so I rolled all 3 of them up into 1 (nested) loop to update all NPCs and the PC in the same loop. It looks a bit different because of that, but functionally speaking the only change is (should be) that on every scan GetActorArousal is now called for every scanned actor and the PC, even when there are no naked people around. That guarantees that the rank in sla_Arousal always matches the arousal of the actor during the last scan.

 

The only other change aside from OnUpdate is in UpdateNakedArousal where I made sure that GetActorArousal is called to update the faction rank even when there is no LOS. This was necessary to prevent GetActorArousal from being called more than once, since the loop inside OnUpdate does not know if UpdateNakedArousal will find LOS or not. I suppose the neater way would be to let GetActorArousal return true or false depending on if it updated the faction rank, but I did not want to change the interface in any way. I added comments to indicate where I made changes.

 

Finally another minor issue I found while debugging: the SLActor08 alias in slaScanAll has the Reuse flag set, and the SLActor14 alias has the Allow Disabled flag set, but the Allow Reserved flag not.

 

 

 

And the fix: attachicon.gifslamainscr.psc

 

Cheers.

 

 

Thank you for your work on this; by the way, where does your fix go?  I was just waiting to hear back to see if fishburger would incorporate it, or if anyone else would comment on how this fix works.  I suppose I could only use this with the loose version, correct?

Link to comment

 

 

Hi fishburger, what NeatLL describes is actually a real issue, but only for the faction rank in sla_Arousal, so if you call GetActorArousal directly you get the correct number (and at that moment of course the faction rank will be updated too, which makes the issue hard to track). The issue basically boils down to the fact that the faction rank is only updated when the actor has LOS of another naked actor, so if an actor doesn't see a naked actor for a day or so their faction rank will be vastly different from their actual arousal as reported by GetActorArousal.

 

Long (technical) description:

 

 

In slaMainScr.OnUpdate(), you call UpdateNakedArousal to update the exposure of all scanned NPCs and the PC for seeing naked people, or for being naked when they are exhibitionist. UpdateNakedArousal in turn calls slaFrameworkScr.UpdateActorExposure to increase the actor's exposure if they have LOS of a naked person. This function in turn calls SetActorExposure, where finally GetActorArousal is called which then updates the sla_Arousal faction rank.

 

The problem is that GetActorArousal is never called for actors who don't have LOS of another naked actor (which can be all of them if there are no naked actors around). As a result the sla_Arousal faction rank is never updated, even though the arousal of the actors will be steadily changing due to the passing of time. This effectively means that sla_Arousal does not contain the arousal value for an actor the last time they were scanned, but rather it shows their arousal the last time they saw a nude person (or if they are exhibitionist, the last time they were seen naked). Since this can be a long time ago, this often causes an actor's sla_Arousal faction rank to jump from 0 to 100 when they finally do see a naked person - or when GetActorArousal is called by other means, like pressing the N hotkey.

 

In order to make the sla_Arousal faction work as a lightweight way to poll arousal values, the faction rank has to be updated on every scanning round for all found actors, even when there are no naked people around, otherwise the only way to get the current arousal of an actor is to call GetActorArousal directly, which I believe is the thing the sla_Arousal faction is meant to prevent in the first place.

 

I have attached a changed version of slamainscr.psc that fixes this issue. I've been running it myself for a few hours now and it works fine for me. I got a bit dizzy of keeping track of actor references with the 3 separate loops you had in the OnUpdate event, so I rolled all 3 of them up into 1 (nested) loop to update all NPCs and the PC in the same loop. It looks a bit different because of that, but functionally speaking the only change is (should be) that on every scan GetActorArousal is now called for every scanned actor and the PC, even when there are no naked people around. That guarantees that the rank in sla_Arousal always matches the arousal of the actor during the last scan.

 

The only other change aside from OnUpdate is in UpdateNakedArousal where I made sure that GetActorArousal is called to update the faction rank even when there is no LOS. This was necessary to prevent GetActorArousal from being called more than once, since the loop inside OnUpdate does not know if UpdateNakedArousal will find LOS or not. I suppose the neater way would be to let GetActorArousal return true or false depending on if it updated the faction rank, but I did not want to change the interface in any way. I added comments to indicate where I made changes.

 

Finally another minor issue I found while debugging: the SLActor08 alias in slaScanAll has the Reuse flag set, and the SLActor14 alias has the Allow Disabled flag set, but the Allow Reserved flag not.

 

 

 

And the fix: attachicon.gifslamainscr.psc

 

Cheers.

 

 

Thank you for your work on this; by the way, where does your fix go?  I was just waiting to hear back to see if fishburger would incorporate it, or if anyone else would comment on how this fix works.  I suppose I could only use this with the loose version, correct?

 

 

I haven't found the time to get this incorporated, yet because it is not just a matter of inserting the code.  This is a pretty big change and it will require significant time for testing.  I will get it done though.  If you want to test it, just drop the psc file in and compile it.

 

Link to comment

 

 

 

Hi fishburger, what NeatLL describes is actually a real issue, but only for the faction rank in sla_Arousal, so if you call GetActorArousal directly you get the correct number (and at that moment of course the faction rank will be updated too, which makes the issue hard to track). The issue basically boils down to the fact that the faction rank is only updated when the actor has LOS of another naked actor, so if an actor doesn't see a naked actor for a day or so their faction rank will be vastly different from their actual arousal as reported by GetActorArousal.

 

Long (technical) description:

 

 

In slaMainScr.OnUpdate(), you call UpdateNakedArousal to update the exposure of all scanned NPCs and the PC for seeing naked people, or for being naked when they are exhibitionist. UpdateNakedArousal in turn calls slaFrameworkScr.UpdateActorExposure to increase the actor's exposure if they have LOS of a naked person. This function in turn calls SetActorExposure, where finally GetActorArousal is called which then updates the sla_Arousal faction rank.

 

The problem is that GetActorArousal is never called for actors who don't have LOS of another naked actor (which can be all of them if there are no naked actors around). As a result the sla_Arousal faction rank is never updated, even though the arousal of the actors will be steadily changing due to the passing of time. This effectively means that sla_Arousal does not contain the arousal value for an actor the last time they were scanned, but rather it shows their arousal the last time they saw a nude person (or if they are exhibitionist, the last time they were seen naked). Since this can be a long time ago, this often causes an actor's sla_Arousal faction rank to jump from 0 to 100 when they finally do see a naked person - or when GetActorArousal is called by other means, like pressing the N hotkey.

 

In order to make the sla_Arousal faction work as a lightweight way to poll arousal values, the faction rank has to be updated on every scanning round for all found actors, even when there are no naked people around, otherwise the only way to get the current arousal of an actor is to call GetActorArousal directly, which I believe is the thing the sla_Arousal faction is meant to prevent in the first place.

 

I have attached a changed version of slamainscr.psc that fixes this issue. I've been running it myself for a few hours now and it works fine for me. I got a bit dizzy of keeping track of actor references with the 3 separate loops you had in the OnUpdate event, so I rolled all 3 of them up into 1 (nested) loop to update all NPCs and the PC in the same loop. It looks a bit different because of that, but functionally speaking the only change is (should be) that on every scan GetActorArousal is now called for every scanned actor and the PC, even when there are no naked people around. That guarantees that the rank in sla_Arousal always matches the arousal of the actor during the last scan.

 

The only other change aside from OnUpdate is in UpdateNakedArousal where I made sure that GetActorArousal is called to update the faction rank even when there is no LOS. This was necessary to prevent GetActorArousal from being called more than once, since the loop inside OnUpdate does not know if UpdateNakedArousal will find LOS or not. I suppose the neater way would be to let GetActorArousal return true or false depending on if it updated the faction rank, but I did not want to change the interface in any way. I added comments to indicate where I made changes.

 

Finally another minor issue I found while debugging: the SLActor08 alias in slaScanAll has the Reuse flag set, and the SLActor14 alias has the Allow Disabled flag set, but the Allow Reserved flag not.

 

 

 

And the fix: attachicon.gifslamainscr.psc

 

Cheers.

 

 

Thank you for your work on this; by the way, where does your fix go?  I was just waiting to hear back to see if fishburger would incorporate it, or if anyone else would comment on how this fix works.  I suppose I could only use this with the loose version, correct?

 

 

I haven't found the time to get this incorporated, yet because it is not just a matter of inserting the code.  This is a pretty big change and it will require significant time for testing.  I will get it done though.  If you want to test it, just drop the psc file in and compile it.

 

 

 

Indeed, any .pex files in the scripts folder will override the scripts in the .bsa file. Just make sure to remember to remove it again when you next update SLA, because otherwise you'll be left with an old scipt overriding the new one.

 

Fishburger, I forgot to mention a good way to reproduce the problem is to be naked yourself and not have sex for a while, but keep all followers (and regular NPCs) clothed. If you track the sla_Arousal faction rank, you'll notice that it gets updated properly for your followers because they frequently see a naked person (you), but your own faction rank will stay rock solid because you never see anyone naked. After a while if you force a faction rank update by pressing the N key you'll see a big jump in the rank. Of course when you press the N hotkey or if another mod calls GetActorArousal, the faction rank will be updated in that function, so the only way to track it is by checking the faction rank without calling GetActorArousal. My SLA Monitor Widget mod does exactly that, which is how NeatLL and I noticed it.

 

Link to comment

Ever since installing this mod, I've been getting "ScanCurrentCell started in so-and-so" appearing on my screen every time it does a scan. Is there any way to just disable the message in the corner of my screen from appearing all the time? 

 

That's from my patches to Lover's Comfort, so you can either uninstall that or go back to redneck2x's last version.

Link to comment

Sorry if this has been asked before, but after doing the listed uninstall of the old aroused and installing v16a, the aroused console still reads version: 15(20140124)

 

Is that right?

 

You have some remaining scripts from the old.  Either delete them manually (sla*.pex and sla*.psc) or install the loose version.

Sorry if this has been asked before, but after doing the listed uninstall of the old aroused and installing v16a, the aroused console still reads version: 15(20140124)

 

Is that right?

 

You have some remaining scripts from the old.  Either delete them manually (sla*.pex and sla*.psc) or install the loose version.

Link to comment

Sorry if this has been asked before, but after doing the listed uninstall of the old aroused and installing v16a, the aroused console still reads version: 15(20140124)

 

Is that right?

I have the same problem with version 16a, but v16 display properly in MCM as v16. And trust me, I have reinstalled all my SexLab mods many times and even fully reinstalled Skyrim, and it's still the same.. And I do not have any older loose files from Aroused mod. The problem is just Aroused v16a.

Link to comment

 

Sorry if this has been asked before, but after doing the listed uninstall of the old aroused and installing v16a, the aroused console still reads version: 15(20140124)

 

Is that right?

I have the same problem with version 16a, but v16 display properly in MCM as v16. And trust me, I have reinstalled all my SexLab mods many times and even fully reinstalled Skyrim, and it's still the same.. And I do not have any older loose files from Aroused mod. The problem is just Aroused v16a.

 

 

16a is not a version upgrade so the MCM was not changed.   16a just includes a missing (and insignificant) pex file in the BSA.

 

If it shows 16, you are good.

Link to comment

 

So what do I need from the download page? 16 Loose?

 

Either one, but if you have some loose sla*.pex files, get the loose version.

 

 

Shouldn't SaveTool fix that? I deleted the scripts from my save file. Sorry. I know enough to be dangerous. :)

 

The loose version would overwrite them where the "non-loose" version has them in the BSA file?

Link to comment

 

 

So what do I need from the download page? 16 Loose?

 

Either one, but if you have some loose sla*.pex files, get the loose version.

 

 

Shouldn't SaveTool fix that? I deleted the scripts from my save file. Sorry. I know enough to be dangerous. :)

 

The loose version would overwrite them where the "non-loose" version has them in the BSA file?

 

 

Savetool is for fixing saves.   It doesnt fix your directory structure and that is what we are talking about here, i.e whether or not there are any sla*.pex files in data\scripts.   So, that is not the concern right now, just which version to choose.  The bsa version installs like 10 less files.  The loose version overwrites any scripts that may be left over from a previous version.  That is the only consideration for you.

 

You may need savetool or PDT is you are getting crashes or slowdowns, but that would be unrelated to your choice here.

 

Link to comment

Ok, thanks. I'll try the loose version and see what happens.

 

Edit: odd, a search of my c drive only shows two files that are sla*.pex and those are for slavetats.

 

Not necessarily odd.  You could have had the bsa version installed and it does not put any pex files on your hard disk.  Only the loose version does and that is the reason for using the bsa.

 

Link to comment

 

 

So what do I need from the download page? 16 Loose?

 

Either one, but if you have some loose sla*.pex files, get the loose version.

 

 

Shouldn't SaveTool fix that? I deleted the scripts from my save file. Sorry. I know enough to be dangerous. :)

 

The loose version would overwrite them where the "non-loose" version has them in the BSA file?

 

If you install the BSA version and a script file from a previous loose version or the original Sexlab Aroused mod is still present then that older "loose" file will be used in preference to the one in the BSA. Installing the "loose" version of this mod means that older "loose" files will get overwritten by the new versions and if you used a Save Game Cleaner then no trace of the old script should be left.

Link to comment

Well, whatever it is, the loose file shows V16 in MCM, so all is good. Thanks.

 

Although, it says 16(20140124)? Shouldn't the date be later than that?

 

The date remains the original date and has to be there for compatibility with a few mods that depend on it.

Link to comment

 

Well, whatever it is, the loose file shows V16 in MCM, so all is good. Thanks.

 

Although, it says 16(20140124)? Shouldn't the date be later than that?

 

The date remains the original date and has to be there for compatibility with a few mods that depend on it.

 

 

Ok, thanks. No more dumb questions. :)

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