Jump to content

Recommended Posts

On 12/24/2019 at 12:21 PM, mushroomcap said:

I made a couple more changes. I added fatigue and frustration. Fatigue is added after every orgasm. It's also added at the end of sex if the actor was raped, unless they're lewd. Frustration is added at the end of sex if the actor did not orgasm. It's not added if the actor was raped, unless they're lewd. Frustration gets added to time rate, and fatigue is subtracted from the both of them. (Time Rate + Frustration) - Fatigue

 

Just until the mod author releases an inevitably better version, anyway

 

SLAX Edits.zip 71.06 kB · 14 downloads

Very cool. Would you consider also adding frustration from DD Edge events? Also, it seems orgasm instantly sets Frustration to 0. Could this be disabled? I mean, Frustration being some sort of lingering state of heightened arousal after a period of denial sounds appealig to me, and the Fatigue value works as a counterfactor to the Frustration factor even without the Frustration reset on orgasm.

Link to comment
9 hours ago, slicksly said:

Very cool. Would you consider also adding frustration from DD Edge events? Also, it seems orgasm instantly sets Frustration to 0. Could this be disabled? I mean, Frustration being some sort of lingering state of heightened arousal after a period of denial sounds appealig to me, and the Fatigue value works as a counterfactor to the Frustration factor even without the Frustration reset on orgasm.

Well, I changed it so you can set the amount of frustration loss on orgasm. I can't, however, figure out how to catch the actors when I hook into DD edge events...

SLAX Edits 2.zip

Link to comment

  Continuing from discussion in SL Adventures thread...

19 minutes ago, legraf said:

So is WornHasKeyword faster than, say, four GetWornForm calls?

It's probably faster than about a thousand GetWornForm calls.

I haven't timed it, but GetWornForm takes human perceptible time for a single call.

Make 32 and the game just sits there, spinning for several seconds. You probably have to wait for a frame end for some random reason, so it ends up taking at least that long, plus the deschedule "opportunity loss" that could leave your script non-executing for yet another frame or two.

 

Being able to obtain this data without massive overhead for all nearby NPCs was the "big problem" in SLAX that I had various threading designs to support.

Just obtaining it from the player is costly (though SLD almost does; it doesn't scan all the slots, just the ones that matter).

 

  

19 minutes ago, legraf said:

One possible elaboration ... should there be even more granularity, or a separate set of keywords, to indicate "blocks this one of the usual three apertures"

I wanted DD to add this - and it is the mod that has to do so - but no traction.

The logic to determine whether there is access is complex. If you look at the code in SLD, it's non-trivial.

Most sex mods do not perform those checks correctly, resulting in sex while wearing a hobble dress, etc.

Link to comment
On 12/27/2019 at 6:43 AM, mushroomcap said:

Well, I changed it so you can set the amount of frustration loss on orgasm.

Very similar to the original "design" proposed back on the weak girl thread.

I added a post that collected all my posts there on my blog: 

 

Link to comment
3 hours ago, Lupine00 said:

Being able to obtain this data without massive overhead for all nearby NPCs was the "big problem" in SLAX that I had various threading designs to support.

Just obtaining it from the player is costly (though SLD almost does; it doesn't scan all the slots, just the ones that matter).

Yes, I see what SLD is doing - unfortunately it is made far more complicated precisely because DD uses the unfortunate, but understandable, shortcut of using keywords to indicate access is permitted on items that otherwise block access (based on type of item), instead of (what seems to me) the harder-up-front but much better in the long run use of keywords to flag blocked access.  You shouldn't have to check if the character has a gag, and then check if the gag is an exceptional type that permits oral (or eating) - it should be one check: is oral blocked?  Or, is eating blocked?

 

 

Quote

I wanted DD to add this - and it is the mod that has to do so - but no traction.

The logic to determine whether there is access is complex. If you look at the code in SLD, it's non-trivial.

Most sex mods do not perform those checks correctly, resulting in sex while wearing a hobble dress, etc.

It seems to me there is a solution, though I'm sure I'm thinking simplistically and from ignorance.  Two solutions in fact, but again, those caveats:

  1. Overwrites for DD that add "blocking" keywords to all appropriate items.  And, eventually, similar overwrites or updates to all other items that block access (the vast majority of armours for instance).  Obviously this is about as far from trivial as can be imagined, and also leads to zillions of patches, all having a dependency on SLAX (which declares the keywords), though in this case I'd recommend declaring the keywords in a separate single-purpose little mod.  Or, for greater flexibility, by general agreement injecting those keywords into update.esm (the way DF does with some globals), so any number of mods can duplicate the declaration.  This seems a bit strange to me, but possible.  It goes hand-in-hand with encouraging general use of such keywords going forward, so all mods can benefit by having this far simpler mechanism to perform a check that many need.
  2. Failing the above, wouldn't it be possible (and without dependencies!) to build a monstrous one-time routine based on the existing keyword-adding functionality of SLAX?  On the player clicking the appropriate trigger in an MCM, at a time when nothing else is going on, this heavy (but one-time) script adds the appropriate blocking keywords to all DD & zaz items (to start with).  It uses the existing checks from SLD to recognize what is "accessible" or "not accessible", but by then placing keywords on the base forms of all those items, SLD itself never has to run those checks again, nor do any other mods.
    1. One can carry this much further, since ideally these keywords wouldn't just be for DD.  To pile even more onto this script it could go through all loaded mods ... no, I take this back.  I don't see any means of returning all forms from a file, which would be needed.
      1. Ah, but the routine could read filenames and formIDs from an external file which players could update relatively easily (and share to make a community resource!) to eventually include all blocking items of any sort, from any mod.

Both of the above are a pain up front, but they eliminate the need for messy and slow checks on characters, including NPCs - certainly for DD items, but this system could grow rapidly beyond DD if its seen to be useful and other mods start using these keywords as a matter of course.  And one could readily build patches or plug-ins to splice keywords into popular item-adding mods.

 

 

  And wow - it would be nice if WornHasKeyword returned the equipped form (or an array of equipped forms) bearing the keyword instead of the current 0/1 int, since this would fit really well with an intelligent "stripping only what is in the way" routine for many mods, but that's just not the case.  But now I'm thinking of a "simple" strip-on-need mod, hmm.  Making notes.  I feel, naively, that I could do some or all of this (the stripping, but also adding keywords based on a file) myself, though others would do a better job.  Certainly I'm picturing the functions I'd use right now, and getting excited ... the doomed excitement of the amateur, no doubt.

Link to comment
1 hour ago, legraf said:

Failing the above, wouldn't it be possible (and without dependencies!) to build a monstrous one-time routine based on the existing keyword-adding functionality of SLAX?

Alas, SLAX keyword add doesn't work like that.

It has to re-add all the keywords on load. It keeps lists so it can do that.

If you modify too many items, you might start to notice.

 

The patch approach would "work" of course. Keeping it up to date would be a bit bothersome, and Kimy insists you aren't allowed to make such a patch, so there's some swampy ground there.

 

1 hour ago, legraf said:

And wow - it would be nice if WornHasKeyword returned the equipped form (or an array of equipped forms) bearing the keyword instead of the current 0/1 int, since this would fit really well with an intelligent "stripping only what is in the way" routine for many mods, but that's just not the case.

Sure, but of course it's not engineered that way.

 

Keywords are special. There's no way to know where the keywords came from, just that you have it. They are a set of forms, and the forms referenced are the keyword forms. I'm not sure how they implemented it, but it's clear there is some hash-table magic going on, or something of that order. There's probably a hard limit to the keywords you can have on an actor, but I never experimented. Fun test. Make an armor item that has every keyword in the CK. See what happens.

 

However. You raise some interesting possibilities for handling NPCs.

 

Instead of updating keywords on load, they could be updated on scan.

So, scan an NPC, find they're wearing X, Y, Z, update the keywords for their items accordingly.

One of the keywords the Actor gets is "Scanned"

Items that have been keyworded get a keyword added so we know.

That actor can now be checked by keyword.

You can detect the equipment changes due to a keyword change - because every worn item gets keywords for its slots - either an item is replaced with a keyworded item, or removed so there's a missing keyword, or gets a non-keyworded item, again a missing keyword. In storage util we can store what slots are filled and update whenever keywords mismatch.

And as long as any items put on a scanned actor get their keywords set, it's all fine.

As time goes by during a session most items in use get keyworded and we don't worry about ones that are never used.

No DD patch is required.

 

I'm not sure how it would perform overall, but it avoids any DD patching completely.

 

Probably best when you don't load much.

Link to comment

On the new keywords for panty slot, there is SLA_PantyNormal plus 3 for thongs.  For my own purposes I've been adding SLA_PantyNormal to any panties.  In the long term is that sufficient, or will there be confusion?  I'd prefer to only have to check for one keyword.  Do we need a more generic SLA_Panty or SLA_ClothingPanty keyword, or is it clear enough that SLA_PantyNormal  does that?

Link to comment

What's always driven me crazy about arousal in Skyrim is that it just never makes much sense. Most mods will treat 90-100% like debilitating arousal, with the PC panting, having blurred vision, begging anyone they come across for sex...even though there's no sane reason for it.

 

Case in point: With SLAX in my game, I'm about 6 days in and my virgin PC is already maxing out. Hasn't come across any devious devices or drugs or anything that make sense for that.

 

In previous versions of SLA I've tried, arousal never goes away on its own, either. Try to ignore it, but, nope, you're stuck like that until you actively do something about it.

 

Personally, I'd like to see something more sane, where arousal won't get past 40-50% without something actively going on to cause it, and will quickly drop back down if there's nothing there to sustain it. The whole handling of arousal has been one of those things that almost always turns me off on Sexlab Skyrim after a while. (Ages ago for Oblivon and FNV, I was able to write my own personal mods to tweak things to my liking, but Skyrim seems like a different animal and I don't have the time I used to.) 

Link to comment
2 hours ago, emes said:

I'm about 6 days in and my virgin PC is already maxing out. Hasn't come across any devious devices or drugs or anything that make sense for that.

The arousal model in SLA(R), which SLAX has carried forward (until Lupine00 can tinker with it) basically treats arousal like hunger.  It increases by the Time Factor each day, even if the actor is not exposed to nudity or subject to a DD arousal bump.  An actor can be locked in a cell never seeing another human and arousal will increase.  However, unlike hunger, arousal is offset by the Decay Rate, so setting that value low (rapid decay) can help keep arousal "sane".

 

You might look at the arousal values for your virgin to see what's causing it.  I've noticed my character's Exposure going very high while adventuring.  The only nudity she's seeing is corpses, but that seems to be causing it.  I keep going into the MCM and yanking Exposure back to zero.  (My character sometimes wears "naked" clothes, but Exhibitionist is turned off so that shouldn't be doing it.)

 

 

A nonlinear formula for arousal increase over time could help, fast at first after orgasm to return to a normal interest in sex, tapering off so that it takes a long while to reach the panting stage without plug stimulation (plugs reasonably would continue to raise arousal a good bit on each event).

 

My wish list includes a fix for naked corpse arousal (assuming that is the problem) and an option to seed NPCs with random time and exposure rates, so that some NPCs are naturally cool to sex and others want it frequently.  Also, a way to set the cap for an actor's Time Rate.  That would help keep arousal sane (or let it rise above 100 if you really want to play a nympho). 

 

On my fantasy (unlikely to happen) wish list is to be able to save and load arousal adjustments that I make with the SLAX puppet master for unique NPCs.  For example, I see Haelga and Mikael (the bard in The Bannered Mare) as having high libidos.  Maven and Sapphire seem frosty; I set them low.  I can manually set their exposure rate and starting time rate to achieve that, but I have to repeat it in every game.

Link to comment
2 hours ago, emes said:

What's always driven me crazy about arousal in Skyrim is that it just never makes much sense. Most mods will treat 90-100% like debilitating arousal, with the PC panting, having blurred vision, begging anyone they come across for sex...even though there's no sane reason for it.

 

Case in point: With SLAX in my game, I'm about 6 days in and my virgin PC is already maxing out. Hasn't come across any devious devices or drugs or anything that make sense for that.

 

In previous versions of SLA I've tried, arousal never goes away on its own, either. Try to ignore it, but, nope, you're stuck like that until you actively do something about it.

 

Personally, I'd like to see something more sane, where arousal won't get past 40-50% without something actively going on to cause it, and will quickly drop back down if there's nothing there to sustain it. The whole handling of arousal has been one of those things that almost always turns me off on Sexlab Skyrim after a while. (Ages ago for Oblivon and FNV, I was able to write my own personal mods to tweak things to my liking, but Skyrim seems like a different animal and I don't have the time I used to.) 

It appears arousal assumes the PC is the kind of women who is very accustomed to sex, so much that chastity can get her out of her mind in matters of hours. It ignores the possiblity of a true virgin or a simply more casual girl who would find chastity belts uncomfortable only because they are heavy on the waist and that can take years (or their entire lives) without being entered and without it bothering them.

Link to comment
18 hours ago, Lupine00 said:

Alas, SLAX keyword add doesn't work like that.

It has to re-add all the keywords on load. It keeps lists so it can do that.

Several things to think about here, but first: now I'm even more impressed with SLAX's keyword add.  I could have sworn I saw a manual page about something like "AddKeywordToForm", but ... is this something you've written from scratch?  I thought this was an SKSE function perhaps.  Very cool, then - but I do see the problem with re-applying keywords on load.  Need to scale back my ambitions.

 

But man ... I could swear I was reading a man page on "form.removekeyword" which discussed how only keywords that had been added with form.addkeyword could be removed ... I feel like my memory's been altered.

 

The add-on-scan has potential I think, though it's not nearly as beneficial as getting to the root of the problem.  I guess I'll ask Kimy about adding keywords - not that this hasn't been tried, but who knows?  Straw, camel's backs, etc.

 

I do see value in adding keywords to all items in the player's possession however, since a lot of scans are on the player specifically.  That wouldn't be quite so sluggish.

Link to comment
3 hours ago, legraf said:

I could have sworn I saw a manual page about something like "AddKeywordToForm", but ... is this something you've written from scratch?

I wrote it in the slax SKSE plugin. There is no built-in SKSE facility to add keywords at runtime. Skyrim never considered it a meaningful action. The designers didn't intend them to be used as they are used in mods now.

 

It isn't from whole cloth though; there was already a mod that let you *swap* one keyword for another (though it was bugged), which sidestepped the issue of reallocating the keyword buffer and copying the data if you needed to grow it. I wasn't sure if it would work, or whether keywords needed to be from some special memory allocator, but it seems they are allocated like everything else. This is one reason I held SLAX back for months after writing it. I was using that keyword functionality in my own game and testing it - a lot.

 

3 hours ago, legraf said:

The add-on-scan has potential I think, though it's not nearly as beneficial as getting to the root of the problem.  I guess I'll ask Kimy about adding keywords - not that this hasn't been tried, but who knows?  Straw, camel's backs, etc.

It solves a whole class of problems, not just DD.

That said, it would still be helpful if DD had those keywords, and also...

 

...a keyword to indicate an actual suit. Suit keyword simply means body replacer, which means you can't identify ... "rubber" bodysuits.

 

The pet suit is not a suit (and doesn't have a suit keyword either), and shouldn't be considered a suit for gameplay either.

It's mis-named, it's a set of arm and leg binders that have to be applied together because there aren't separate animations for them just on arms and just on legs.

Link to comment
20 hours ago, thedarkone1234 said:

It appears arousal assumes the PC is the kind of women who is very accustomed to sex, so much that chastity can get her out of her mind in matters of hours. It ignores the possiblity of a true virgin or a simply more casual girl who would find chastity belts uncomfortable only because they are heavy on the waist and that can take years (or their entire lives) without being entered and without it bothering them.

I cannot speak from experience, but I'd imagine that for women fancying wearing chastity belts, wearing one would be a positive and arousing experience for them. If somebody would be forced into it however, it'd mostly be an inconvenience, sure. In the context of SLAX, I suppose a boolean linked to chastity belt fetish could be applied wether to have belts affect arousal gain or not.

As for people going long times without sex - sure, but there's still the feeling of sexual excitement and arousal, and there's still masturbation. I don't feel the base function of SLA Arousal is too weird, although it obviously is very simplified compared to the complexities of human arousal and its psychological triggers.

Link to comment
10 hours ago, Lupine00 said:

I wrote it in the slax SKSE plugin. There is no built-in SKSE facility to add keywords at runtime. Skyrim never considered it a meaningful action. The designers didn't intend them to be used as they are used in mods now.

 

It isn't from whole cloth though; there was already a mod that let you *swap* one keyword for another (though it was bugged), which sidestepped the issue of reallocating the keyword buffer and copying the data if you needed to grow it. I wasn't sure if it would work, or whether keywords needed to be from some special memory allocator, but it seems they are allocated like everything else.

Yes, I saw that swapper while searching through this.  I've realized where my false memory came from - was mixing up Formlist.AddForm / RemoveAddedForm, totally different thing.

 

That really is excellent - and, in case you didn't know, this is exactly a functionality on the SKSE Wish List, so if you were interested in sharing, perhaps you could do so.

 

10 hours ago, Lupine00 said:

It solves a whole class of problems, not just DD.

That said, it would still be helpful if DD had those keywords, and also...

That's pretty much exactly what I said in my PMs to Kimy and Zadil (from whose DDa the current "Allows" (like AllowsOral) keywords come).  They keywords really shouldn't be DD-dependent, and by using injection into update.esm, they can be defined in multiple places without conflict or any particular dependency other than LE itself.

 

As a proof of concept, I've just written a mod (really a single function) to accept what "targets" are desired (oral/vaginal/anal) which strips only items that block those slots, using 3 Blocking keywords.  This would be plugged into any mod pre-sex, or even during transitions from one "type" of sex to another.  Unfortunately it still has to check the full list of slots to see where the blocking keywords are coming from, which is a bit slow - though I could accelerate it by more intelligently checking just the "usual" subset of slots for particular blocking items.  Now I'm just going to start adding keywords to items willy-nilly and do some testing.

Link to comment
23 hours ago, HexBolt8 said:

I've noticed my character's Exposure going very high while adventuring.  The only nudity she's seeing is corpses, but that seems to be causing it.

The reference aliases for the naked checks are supposed to only be filled by living actors, but I'm not certain how often the game verifies that an alias is still valid. It'd be simple enough for Lupine00 to throw in an IsDead() check before using an actor in the arousal calculations, but that would add overhead that might not be needed.

Link to comment

I'm having a problem with npcs gaining exposure. It goes up with time but is completely unaffected by my character. My character's exposure is affected by seeing nudity but npcs could see my character naked all day and get no exposure gain. maybe she's just ugly. I have slso and made sure it  was overwritten. I uninstalled Slax and reinstalled sla redux and it worked as it should. Since I've seen no other comments on this it must be something I borked. Has anyone run into this before?

Link to comment
1 hour ago, fleabittendog said:

I'm having a problem with npcs gaining exposure. It goes up with time but is completely unaffected by my character. My character's exposure is affected by seeing nudity but npcs could see my character naked all day and get no exposure gain. maybe she's just ugly. I have slso and made sure it  was overwritten. I uninstalled Slax and reinstalled sla redux and it worked as it should. Since I've seen no other comments on this it must be something I borked. Has anyone run into this before?

It has been mentioned somewhere IIRC, it sounds familiar anyway. I have issues with how quickly the player gains arousal as well, it seems much faster in slax then slar, with the same slow reduction of arousal.

Link to comment
21 minutes ago, Tenri said:

It has been mentioned somewhere IIRC, it sounds familiar anyway. I have issues with how quickly the player gains arousal as well, it seems much faster in slax then slar, with the same slow reduction of arousal.

Thanks. My circumstance is kind of reversed. Arousal increases but only as a result of time rate. Exposure is a mystery as npcs have greatly differing results for no apparent reason. Exposure seems all over the place. Maybe I'm just not understanding how exposure works. But I had my character masturbate for a good ten minutes in front of npcs and their exposure didn't budge. It's really killing her self esteem. Oh well. I'll just go back to redux until I can figure it out.

Link to comment
3 hours ago, fleabittendog said:

Thanks. My circumstance is kind of reversed. Arousal increases but only as a result of time rate. Exposure is a mystery as npcs have greatly differing results for no apparent reason. Exposure seems all over the place. Maybe I'm just not understanding how exposure works. But I had my character masturbate for a good ten minutes in front of npcs and their exposure didn't budge. It's really killing her self esteem. Oh well. I'll just go back to redux until I can figure it out.

Ah some miscommunication, I had my lines separate at first, I was saying the the Player's exposure grows faster than I remember in slar making it hard to keep arousal low, though thinking about it I've had this issue before a long time ago too, maybe it is just something with how I had set up that game.

 

NPC's do seem to gain arousal more slowly with slax, but from looking through the code I am having trouble seeing why.

Link to comment
7 hours ago, chaimhewast said:

The reference aliases for the naked checks are supposed to only be filled by living actors, but I'm not certain how often the game verifies that an alias is still valid. It'd be simple enough for Lupine00 to throw in an IsDead() check before using an actor in the arousal calculations, but that would add overhead that might not be needed.

I think there might already be such checks, but I'll verify. By default, the rescan is infrequent, so checks are needed.

Try turning up the scan frequency and see if it reduces the issue?

 

It shouldn't hurt to rescan every 20 seconds or so.

Link to comment
4 hours ago, fleabittendog said:

Thanks. My circumstance is kind of reversed. Arousal increases but only as a result of time rate. Exposure is a mystery as npcs have greatly differing results for no apparent reason. Exposure seems all over the place. Maybe I'm just not understanding how exposure works. But I had my character masturbate for a good ten minutes in front of npcs and their exposure didn't budge. It's really killing her self esteem. Oh well. I'll just go back to redux until I can figure it out.

It's highly dependent on rescan frequency and LOS.

Also, SLA(R) has some bugs in its handling of scans, though it was a while since I worked on SLAX at all, so my memory of what I found is hazy. There were definitely subtle issues.

 

The scan frequency is so low by default in SLA(R) that it's nonsense. Unless you scan more often the results are just junk.

It was written for different times. Though the potato PCs still exist, the high end has extended a long way upwards and the middle ground has shifted.

Also, the many bad non-sex mods that were burning everyone's CPU have been dealt with since then.

SLA(R) ends up being a total non-consumer of resource in a modern game. There's plenty of scope to scan more often.

 

I want to redo scans some more. SLA(R) has two modes for dealing with them - and one existed only for really really slow PCs. I don't think it's helping any more and is just cluttering the code. I retained that mode for now, but you shouldn't use it :) 

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