Jump to content

Recommended Posts

21 minutes ago, Hugh Reckum said:

I noticed in the logs that it was producing some none callstacks, this script should fix that at least:

 

SPPlayerAliasBaseScript.pex

 

As for the timer, there is a function where if something broke for some reason it will cycle through a couple of times before resetting... Don't see why running would cause an issue though.

I'll give that a try but I may have stumbled onto the problem

 

As an extra test I went to my normal test place at Fort Greymoor which is wilderness and waited a couple of times for a few hours and nothing happened and no debug messages. Tried drinking some water which gave me a new pheromone for Hagraven and everything started working normally. I was originally infected while in Whiterun so I'm wondering if that is the problem and the infection place of origin is causing the problem

 

We are tantalisingly close, I can feel it in my water

Link to comment

By Jove I think we have it, a Buggity Bug Bug

 

I commenced the test from scratch, clean pc no pheromones, debug on stealth off equipped with a hagraven and skeever pheromone.

 

I was in Whiterun and to prove my theory took the Hagraven pheromone (which worked last time) COC'd to Fort Greymoor waited for 3 hours and the same as before no debug messages. I then took the skeever pheromone and it started working immediately and in a few seconds a Hagraven appeared.

 

So if a pheromone is imbibed in a safe place it seems that it doesn't work even in an unsafe place (like wilderness) until another pheromone is triggered. The one thing I don't know is if the skeever pheromone still works or if it takes on the issue with the pheromone ingested in Whiterun.

 

I've attached another log

 

Papyrus.0.log

 

I love it 100% reproducible not one of those nasty stinky intermittent bugs

Link to comment

I'm going to call it a night but before I go I did some further testing and you'll not like this I'm afraid though it does confirm my posting above.

 

I started clean pc in wilderness (Fort Greymoor) and took skeever pheromone. Skeevers spawned immediately and had some fun. Ran towards Fort Amol after an hour or so gametime stopped near Hillgrund's Tomb (confirmed wilderness) but no further attacks. Waited 1 hour 3 times in a row still nothing. I then took hagraven pheromone, immediately process fired and skeevers appeared.

 

To sum up, if pheromone is ingested in a safe area then nothing happens until another is ingested in an unsafe area.

 

If pheromone is ingested in an unsafe area it will fire once only but not again until another pheromone is ingested.

 

Interpolating the above I would say that a pheromone is only firing once on ingestion. As it can't operate in a habitable area (Whiterun) nothing happens, in wilderness it will just fire the once and no longer until another pheromone is ingested.

 

Here's another log, now I'm going to bed, nighty night :classic_smile:

 

Papyrus.0.log

Link to comment
6 hours ago, Hugh Reckum said:

I initially had disableplayercontrols running throughout sex scenes, and that has a built in feature to disable attacks vs the Player. But, apparently it was messing with SLSO UI, so I renabled it more quickly so it would fix that compatibility. But, I guess I could add a check so it will only reenable early if SLSO is installed. In that case, without SLSO you will be safe from attacks during sex, but with SLSO attacks could happen but there won't be a UI issue... Guess that's the best I can do atm.

Thank you SO much.  I know it's a pain in the ass getting the balance right, but the creativity and hard work is very much appreciated. 

Link to comment

I'm still on version 1.2.1 of this mod.  Somewhere between Markarth and Broken Tower Redoubt my PC ingested giant spider pheromones.  On the bridge approaching Broken Tower from Karthwasten a giant frozen spider appeared and attacked from behind (i.e. I didn't see it approach).  It did some minor attacks, but instead of running a sex scene as I expected it continued to do its minor attacks until it accidentally hit my follower, who then attacked and killed it.  Inside the final zone of Broken Tower (where the Sybil is being held) another spider appeared and the same thing happened.

 

I've never had a giant spider attack before, so I don't know how long the initial attack should take.  But it did seem like it was taking a lot longer than it should.  One thing that could have messed things up is that in both cases my PC had been in combat immediately before the spider showed up and had a flame cloak spell active, so the spider could have taken damage from that.  Don't know if that would have made a difference.

Link to comment

@Slorm Quick question, when you were starting Pheromones for the first time, was it done by drinking a specific pheromones potion in all cases?

 

I looked through the scripts, and if the first pheromones were started by an attack or by a proc from a random drink, it looked like it was hooking into the loop correctly. But the specific potions may not have been, so I updated the script...

 

Try this script out and see if your issue goes away:

 

SPPlayerAliasBaseScript.pex

 

3 hours ago, nigwriter said:

Thank you SO much.  I know it's a pain in the ass getting the balance right, but the creativity and hard work is very much appreciated. 

YW :)

 

1 hour ago, PubliusNV said:

I'm still on version 1.2.1 of this mod.  Somewhere between Markarth and Broken Tower Redoubt my PC ingested giant spider pheromones.  On the bridge approaching Broken Tower from Karthwasten a giant frozen spider appeared and attacked from behind (i.e. I didn't see it approach).  It did some minor attacks, but instead of running a sex scene as I expected it continued to do its minor attacks until it accidentally hit my follower, who then attacked and killed it.  Inside the final zone of Broken Tower (where the Sybil is being held) another spider appeared and the same thing happened.

 

I've never had a giant spider attack before, so I don't know how long the initial attack should take.  But it did seem like it was taking a lot longer than it should.  One thing that could have messed things up is that in both cases my PC had been in combat immediately before the spider showed up and had a flame cloak spell active, so the spider could have taken damage from that.  Don't know if that would have made a difference.

I guess there's a couple possiblities. One is, make sure that you have some animations installed for giant spiders, otherwise the SexLab scene will fizzle out before ever launches.

 

The other is, once a creature is attacked, sometimes the base game behavior will override the AI, and the creature can become hostile 'for real', which could potentially keep things from firing up.

 

One other thing is, the scenes starting is based on how close the creatures gets to the Player. But, the 'hitbox' of the creatures, as designed by Bethesda, may not match the actual creature model very well, so certain bigger creatures will have a little bit harder time getting close enough to the Player. (Mammoths for instance). I made the range requirement more generous to the creatures in an earlier update to compensate for this, bumped it from 125 to where it is right now at 250 distance units, and that seems about right. Mammoths and Giant Spiders would work OK in my testing. But I don't want to make the distance too much larger for balance reasons, or creatures might capture the Player from clear accross the room, and that feels less fun. But, depending on how the hitboxes are designed compared to the model, it's possible that some bigger creatures might have a little bit of a harder time getting close enough to the Player... Just something to watch out for.

Link to comment
28 minutes ago, Hugh Reckum said:

But, depending on how the hitboxes are designed compared to the model, it's possible that some bigger creatures might have a little bit of a harder time getting close enough to the Player... Just something to watch out for.

While I haven't tested this recently, I did notice on earlier test runs that on occasion a creature would get stuck in "attack" mode but not actually be close enough to trigger a sex scene, unless the player actively moved into their hitbox.  This typically happened with the larger creatures like mammoths or giants, altho I could also see it being an issue with "longer" creatures like horses and giant spiders (which often have issues with Sexlab itself as they tend to push the player away when trying to walk close enough to start a sex scene, until Sexlab gives up and teleports both actors).  It was also the type of thing that is more obvious in test mode than actual gameplay, since a PC standing still is more likely to have the creature stop just out of trigger range and start flailing than a PC running around doing other stuff and getting suprised. 

 

Seems to be one of those things where there may be a trade-off.  Personally I wouldn't mind the capture zone to be big enough to dodge the issue, but it certainly could make it unfair to dodge some of the faster creatures.  The slow-walking giants and mammoths however IMO need all the help they can get catching the player.

Link to comment
6 hours ago, Hugh Reckum said:

@Slorm Quick question, when you were starting Pheromones for the first time, was it done by drinking a specific pheromones potion in all cases?

 

I looked through the scripts, and if the first pheromones were started by an attack or by a proc from a random drink, it looked like it was hooking into the loop correctly. But the specific potions may not have been, so I updated the script...

 

Try this script out and see if your issue goes away:

 

SPPlayerAliasBaseScript.pex

 

Thanks Hugh

 

I tried the new script and it's definitely an improvement as the cycle now repeats correctly after taking a pheromone. Unfortunately it led to another problem which I was able to test both with pheromones and by getting one through drinking water (results seem to be the same for both.

 

Taking a Pheromone (attack time set at 2 hours)

 

First ! took a skeever pheromone, skeevers appeared immediately and had fun.

Waited 2 hours cycle repeated correctly again

I then took hagraven pheromone, it shows in the effects menu but nothing happens

Advanced time 1 hour nothing

Advanced time 1 hour skeevers spawn

Advanced time 2 hours skeever spawn.

 

I then reloaded and repeated the test but (taking the hagraven pheromone first and got the same result except this time only the hagravens would spawn

 

Drinking Water (Chance set to 100%)

 

Deactivated all creatures except skeevers and drank water, skeevers appeared immediately and had fun.

Waited 2 hours cycle repeated correctly again

Deactivated skeevers, activated hagraven in menu and drank water, again it shows in the effects menu but nothing happens

Advanced time 1 hour nothing

Advanced time 1 hour skeevers spawn

 

So it looks like only the first ingested pheromone time cycle is operating rather than having multiple cycles (one for each infection)

 

 

 

Link to comment
25 minutes ago, Slorm said:

Thanks Hugh

 

I tried the new script and it's definitely an improvement as the cycle now repeats correctly after taking a pheromone. Unfortunately it led to another problem which I was able to test both with pheromones and by getting one through drinking water (results seem to be the same for both.

Don't think that's enough for confirming a mathematical pattern. I've flipped quarters before that have come up heads 10 times in a row for instance...

 

They were added to the active Formlist or they wouldn't be spawning, and it literally does this if in a wilderness cell:

 

int RndCreature = SPActiveCreatures.GetSize() - 1
RndCreature = utility.RandomInt(0, RndCreature)
If PlayerRef.GetCurrentLocation() == None
    (SPCurrentCreature.AddForm(SPActiveCreatures.GetAt(RndCreature)))
    Utility.Wait(2.0)
    EvaluateForms()
    Return

 

That's grabbing the size of the Formlist and getting a fully random result out of the index. It works the same no matter how the pheromones get applied... So it should be fully random in wilderness cells.

 

I'd suggest trying it in a wilderness cell with more pheromones active simultaneously, maybe 7-8, if you got the same result 4-5 times in a row, then there's more likely a mathematical pattern.

 

Link to comment
35 minutes ago, Hugh Reckum said:

Don't think that's enough for confirming a mathematical pattern. I've flipped quarters before that have come up heads 10 times in a row for instance...

 

They were added to the active Formlist or they wouldn't be spawning, and it literally does this if in a wilderness cell:

 

int RndCreature = SPActiveCreatures.GetSize() - 1
RndCreature = utility.RandomInt(0, RndCreature)
If PlayerRef.GetCurrentLocation() == None
    (SPCurrentCreature.AddForm(SPActiveCreatures.GetAt(RndCreature)))
    Utility.Wait(2.0)
    EvaluateForms()
    Return

 

That's grabbing the size of the Formlist and getting a fully random result out of the index. It works the same no matter how the pheromones get applied... So it should be fully random in wilderness cells.

 

I'd suggest trying it in a wilderness cell with more pheromones active simultaneously, maybe 7-8, if you got the same result 4-5 times in a row, then there's more likely a mathematical pattern.

 

 

Ahh spot on, that did the trick, RNG has always been prone to clustering in Skyim. Tried with 8 active and got something different each time, so looks like we're running well now (I'm assuming there's only one time cycle running for all active creatures rather than each having their own separate cycle)

 

I've attached a log as there are still some of those "ERROR: Cannot call Delete() on a None object, aborting function call" items, not sure if they matter or not

 

Papyrus.1.log

 

 

Link to comment
34 minutes ago, Slorm said:

Ahh spot on, that did the trick, RNG has always been prone to clustering in Skyim. Tried with 8 active and got something different each time, so looks like we're running well now (I'm assuming there's only one time cycle running for all active creatures rather than each having their own separate cycle)

Yeah, they're all running on the same timer, because otherwise it would be... madness... lol.

 

I mean, if you had a couple dozen pheromones at once, they'd be waiting in line like a department store on black Friday. :classic_laugh:

 

I don't think those errors would effect much, but, it's also a bit cleaner to not have them... Probably makes the script slightly more efficient too... So here you go:

 

SLPheromonesControlScript.pex

Link to comment
1 hour ago, Hugh Reckum said:

Yeah, they're all running on the same timer, because otherwise it would be... madness... lol.

 

I mean, if you had a couple dozen pheromones at once, they'd be waiting in line like a department store on black Friday. :classic_laugh:

 

I don't think those errors would effect much, but, it's also a bit cleaner to not have them... Probably makes the script slightly more efficient too... So here you go:

 

SLPheromonesControlScript.pex

Thanks Hugh

 

Just tested and everything is working. There are still a couple of stack error warnings but most are gone now. I tested with chance at 100% skeever only in Breezehome so there's no spawn at that point (Habitable), then COC'd to wilderness test spot and waited 3 hours when it fired. Attached log below

 

Papyrus.0.log

Link to comment

Oh no, it's me again, not a bug just a suggestion :classic_smile:

 

I think the chase speed needs to be faster as it's very easy for the pc to outrun the attacker. For example, I drank some water and got a hagraven but as I'd run on before she spawned she was a long way behind me and was moving quite slowly so never had a chance to get me . Tried again and got a troll and although it spawned closer as I'd dawdled I could easily out run it and the only way for some fun was to let it catch me

 

I remember having this issue with the bandit chase in DH and from memory we got round it by speeding up the chasers to 125% of the pc speed. The idea was that the pc could still escape (barely) but she would need to use sprint a hell of a lot to get away with it.

 

The other alternative might be to spawn directly where the pc is (or in front of the pc if it's possible to detect the direction she's facing)

Link to comment
21 minutes ago, Slorm said:

I think the chase speed needs to be faster as it's very easy for the pc to outrun the attacker. For example, I drank some water and got a hagraven but as I'd run on before she spawned she was a long way behind me and was moving quite slowly so never had a chance to get me . Tried again and got a troll and although it spawned closer as I'd dawdled I could easily out run it and the only way for some fun was to let it catch me

lol, careful what you wish for... Try this script out:

 

SLPheromonesControlScript.pex

 

 

22 minutes ago, Slorm said:

The other alternative might be to spawn directly where the pc is (or in front of the pc if it's possible to detect the direction she's facing)

It is possible to get the exact angle and position of the Player. That's actually why the creatures all show up behind the Player because I'm positioning them with stuff like this:

 

CreatureAlias.GetActorRef().MoveTo(PlayerRef, -900.0 * Math.Sin(PlayerRef.GetAngleZ()), -900.0 * Math.Cos(PlayerRef.GetAngleZ()))

 

Initially, when there was a group I was doing a 'surround the Player' type thing, but, there's a bit of a delay between placing them and enabling them, so I thought it was cheap if they spawn when the Player might happen to run right on top of them.

 

So, instead I made it so they're always behind the Player when they spawn, part of this is I like the tension because they are potentially out of sight and able to sneak up on the Player. Also, the Player should always have a legit chance to 'escape'.

 

Creature speed is a little hard to perfectly balance, partly because it's all over the place... A Chaurus Hunter is pretty hard to outrun on a good day, whereas a Horker has no chance... But I ramped the speed up in the script, so let me know what you think.

Link to comment

@Hugh Reckum

 

That's much better Hugh, it gives the hagraven some chance to catch me. The troll could pace me but I could just about outrun it. Tried it with wolves and they got me pretty quick though I probably could escape if sprinting. I'd say it's a pretty good change to the mod, though it would also be useful to hear the comments from other users as well

Link to comment

Ok, added slider, it's kinda fun :classic_tongue:

 

What's New in Version 1.2.4 October 20, 2018

Released Just now

  • Fixed the Khajiit potions so they would correctly trigger the timer functions.
  • Added an MCM Slider so Creature speed can be controlled.
    • Creature speed starts at normal (100%), and the slider starts at 0 (default), anything added will add to the speed of the creatures. So slider at 100 is 100 + 100 or 200% speed, you can go all the way up to 400 (500% speed). A Horker can actually give the Player a run for their money at 500% speed! It's kinda scary lol ?
  • A few other fixes to clean up some script areas.
Link to comment
12 hours ago, Hugh Reckum said:

I guess there's a couple possiblities. One is, make sure that you have some animations installed for giant spiders, otherwise the SexLab scene will fizzle out before ever launches.

 

The other is, once a creature is attacked, sometimes the base game behavior will override the AI, and the creature can become hostile 'for real', which could potentially keep things from firing up.

I have Billyy's animations installed and the SLAL MCM menu shows a giant spider animation active, so I don't think that was the problem.  It was probably accidental combat or the hit box thing.  While the spider was attacking there was still enough room between it and my PC for my follower to walk between them and get hit accidentally.

Link to comment
54 minutes ago, Hugh Reckum said:

It's just a value, so I suppose that I could just slider it in the MCM... That could give people options... They could have 10% faster of 300% faster that way, heh.

Haven't tried the updated script yet, but I do think this would be a good toggle to have (trolls pacing the character and wolves being super fast sounds good to me actually).  I doubt a speed boost would help horkers or giants much, but for lots of other creatures a player could have some control over what chance they have of evading an attack without assistance.  Horker pheromones are more about the ridiculous factor of making horkers so horny they will track you across sea and land than them actually being able to "catch" the player IMO - if they actually get to boink the character it was probably their own decision to allow it.

 

There are always other in-game options to assist the player if they want to try to escape other than the creature just being unreasonably slow (Unrelenting force or ice form shout off the top of my head could be really good escape tools, or offer a chance to outright kill creatures before they get in range).

 

Edit: Ninja'd by the update that installed the slider anyway, only on the Sexlab Pheromones thread. :classic_tongue:  Now to try it out.

Link to comment
16 minutes ago, Reesewow said:

There are always other in-game options to assist the player if they want to try to escape other than the creature just being unreasonably slow (Unrelenting force or ice form shout off the top of my head could be really good escape tools, or offer a chance to outright kill creatures before they get in range).

 

Edit: Ninja'd by the update that installed the slider anyway, only on the Sexlab Pheromones thread. :classic_tongue:  Now to try it out.

lol, well at 500% speed, you'd definitely have to figure something out! :classic_laugh:

 

I'm not sure how fast I could go, 500% didn't seem to cause any problems... But I didn't want to go so fast that the game would crash because it's trying to play animations too fast or something... So let me know if you guys run into any issues.

 

500% max should 'probably' be fast enough for 'most' of you though. :classic_tongue: 

 

 

Edit:

One note on the speed function, in case anyone is curious. It will set the value once upon creature spawn, so it won't change speed dynamically on an existing spawn, but any increase/decrease will be inherited by the next group of creature spawns.

Link to comment

Speed modifier works great - set it at 50 to start and may up it to 100.  It really helps mitigate the derpy pathfinding creatures sometimes encounter.

 

I do think the creature "capture" radius could probably use a bump in size (or a slider I suppose) - in testing I found that I was 100% safe from small frostbite spiders if I remained perfectly still, as they would run up and then stop to start attacking, and never get within trigger distance under their own power.  To actually trigger scenes with them I had to move slightly towards them.

 

 

Unfortunately, I do have to report the creature arousal on spawn is still a problem for me using Aroused Creatures - they are spawning at 84 arousal despite having SLAC installed, which the patch notes lead me to believe should disable this feature.  It ends up being a pretty bad conflict, as I got near an animating troll which caused a fatal sexlab error and seemed to break the creature spawning going forward (altho I did not test this extensively other than killing the troll and waiting in the wilderness a bunch of times to see if anything else would attack).  This is after a clean save and restarting the game after installing, so I *think* the mod should have had opportunity to detect SLAC.

 

If I could make a suggestion on a possibly better fix - if the arousal level on spawn was a value that could be set in the MCM menu (1-100) then it would be very easy for users to choose a value that is compatible with any arousal-based mods they have (SLAC/Scent of Sex ect).  For instance I have Creature Framework set to make creatures get raging hard-ons if they are above 40 arousal - but SLAC is set so creatures will only try to find a partner for sex if they are over 50 arousal.  So for me 41 arousal is just as good as 84 for the purposes of having the spawned creatures be aroused, but would cause no issues with them getting distracted by nearby NPCs.  Barring that, I think just having a few versions of the script for people to hot-swap with different arousal values could be a good stopgap.

 

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