Jump to content

[Outdated] SexoutXP for SexoutNG


Recommended Posts

Posted

I suspect that the interference with semen levels might be due to my hijacking of the cumming script, I'll have to look for that incompatibility.

 

The 'xp for nearby sex' is also due to the use of the cumming script.

 

Perhaps there is a better place for this code to live?

 

Are any of the sexoutng guru's able to point me to a better place to insert the xp code? (a script that triggers on end-of-pc-sex)?

Posted

I suspect that the interference with semen levels might be due to my hijacking of the cumming script' date=' I'll have to look for that incompatibility.

 

The 'xp for nearby sex' is also due to the use of the cumming script.

 

Perhaps there is a better place for this code to live?

 

Are any of the sexoutng guru's able to point me to a better place to insert the xp code? (a script that triggers on end-of-pc-sex)?

[/quote']

 

No guru here, but perhaps you can bypass changing the cumming script by checking for the actor effect it's attached to with IsSpellTarget, run on the player?

Posted
The 'xp for nearby sex' is also due to the use of the cumming script.

You know, if you/someone do(es) find another way, actually awarding seXP to NPCs (both human and critter) may not be such a bad idea. The amounts are relatively small, and at least it'll add another little dynamic to the world.

Unless it fubars the game's built-in leveling mechanics for NPCs, of course...

Posted

A simple method to (almost) restrict your script to just the Courier is to encapsulate the relevant script segment with:

 

if (player.GetItemCount 00SexoutActor) ; a token given to those actively having sex

...

endif

 

This will skip awarding xp if the Courier is not having sex, but it will probably trigger if the Courier is having sex at the same time as another pair (I suppose a male is required --- hmm, does your mod currently work for female-female sex?) Perhaps ok for an interim fix (after all, FONV already gives xp for kills by companions).

 

A possible starting point for moving this away from the cum effect is to use SexoutNotify as a template - it uses a callback (more efficient and better timing than polling) soon after sex starts. Unfortunately Prideslayer has not yet implemented the callback for when sex ends. Just change the script and variable names within SexoutNotify and stick in your code. You will need to figure out who are "ActorA" and "ActorB" to get this exactly right (i.e., player must be either ActorA or ActorB - I learned that the hard way). If you want to use this approach and get stuck or want a faster start, I can post for you a script snippet here that deciphers the callback actors.

 

(I can barely get my own minor patches to work but what little I know I figured out by reverse engineering SexoutLust - that and SexoutNotify are good mods to study. SexoutNotify shows how to interlink the quest and effects... If I recall correctly, I renamed the SexoutNotify esp and then used FNVEdit to rename the quest and script names, edited the scripts (Notepad++ with the gek plugin), then compiled the scripts using GECK - I try to use GECK as little as possible since it is so non-intuitive.)

Posted

I suspect that the interference with semen levels might be due to my hijacking of the cumming script' date=' I'll have to look for that incompatibility.

 

The 'xp for nearby sex' is also due to the use of the cumming script.

 

Perhaps there is a better place for this code to live?

 

Are any of the sexoutng guru's able to point me to a better place to insert the xp code? (a script that triggers on end-of-pc-sex)?

[/quote']

NEVER modify or overwrite other plugin scripts unless it's absolutely the last option, then you need to notify the original Author and everyone else possible, you are better to talk to the maker of the plugin and get them to modify their script to include your stuff, as it causes a lot of trouble fault finding if people using your mod are using your version and the original script is updated or the other scripts changed in the way they interact with the old version.

You should be able to base you stuff on SexoutNotify. You can see how I've done this with my script in SCR "SexoutS0SexHappening" which is a copy of the SexoutNotify script.

Posted

You can see how I've done this with my script in SCR "SexoutS0SexHappening" which is a copy of the SexoutNotify script.

 

Did you mean SexoutS2SexStartedScript? (Looked in several versions of SCR for SexoutS0SexHappening and could not find it.)

Posted
You can see how I've done this with my script in SCR "SexoutS0SexHappening" which is a copy of the SexoutNotify script.

 

Did you mean SexoutS2SexStartedScript? (Looked in several versions of SCR for SexoutS0SexHappening and could not find it.)

Yep that's the one, sorry I called it "Happening" in Pregnancy.

Posted

Never modify the cumming script. Ever.

 

My bad.

 

Looks like I need to put more points into 'scripting skills' and 'shared project code' on my next levelup.

 

I will have to try to find some time to move this code into a new script and use the right call to trigger it.

 

RL has been distracting me lately... hopefully I'll get back to this soon.

 

-FTC

  • 3 weeks later...
Posted

The lack of activity here probably means there are just a handful of Sexout players actually interested in Courier-sex XP awards; I am among those interested few...

 

Regarding SexoutNGXP, the mod needs several improvements. For me, one problem is that it is based on sex-duration; a feature some like, but I do not. I have already elsewhere voiced my opinion on why using duration did not make sense. Then the mod uses the cum-effect which (1) modifies SexoutNG (as clearly noted by others) and (2) gives the Courier XP for non-Courier sex activity. The mod does not discriminate between types-of-sex (A,O,V) nor the circumstances (rape, enslaved, etc.) Finally, and most importantly, it does not scale the XP awards to the amount needed for each game-level transition - the awards are or can become out of balance in advancing game levels. Yet I do appreciate the effort invested to get this mod going and in the discussion it has started.

 

Several months ago I wrote for myself a different style mod/patch/plugin to generate experience points based on Lust and type-of-sex (I used Lust as a frequency-of-sex meter). It soon evolved to also include my own formula for Lust reduction, but still used SexoutLust for Lust generation and various Lust effects. Next I explored adding mood factors (Arwen's, then Imp's, then my own), but have largely abandoned that endeavor as too much effort for too small an improvement in game-play. Nevertheless, the main theme of my plugin was and is awarding XP for Courier sex.

 

So, perhaps the attached stripped down version of this plugin (SexoutXPM) would be of interest to a few of you since many of the above features already exist within it (if interested, see the included readme file). It might hold you over until something better comes along. For those not using Lust, it's been patched to work with or without SexoutLust (but use with SexoutLust v5.8 is recommended.)

 

EDIT: SexoutXPM updated to support newer Courier SCR lust variable as used by Sexoutlust v6. Only briefly tested with v6. (SexoutXPM is within the SexoutNGXP-Alt attachments... previous version for those still using Sexoutlust v5.8.)

SexoutNGXP-Alt.7z

SexoutNGXP-Alt20120822.7z

Posted

It does sound interesting.. however lust is actually used by SexoutLust (that's what it's there for). Ideally a mod like this would:

 

- Use the global sex notification hook to learn when sex has started, and also when it's stopped if duration is important.

 

- Use Sexout.frequency if you want to track how often sex takes place. That's what it's there for. I don't know if I'm updating it right now, but if not, just let me know what it should calculate.. average over the past 24 game hours? Week? Something else?

 

- Use the sexout counters Sexout.numRape and Sexout.numRaped to determine if the sex was consensual, the courier was a victim, or the courier was a rapist, depending on which one of these (if either) went up.

 

 

Additionally, there are vars (currently unused except by LevelUp -- which nobody should be using in normal play) Sexout.expVag, Sexout.expAnal, Sexout.expOral, Sexout.expExp, Sexout.sexLevel, and Sexout.expLevel. These initially were for "sex experience", separate from actual in-game XP. They could instead be used to set how much experience is gained per act or something like that.

 

I don't have the time to take over the mod myself, but if you need a hand with it, reply here or send a PM.

Posted

Never modify the cumming script. Ever.

 

Also this, except it goes for EVERY script in Sexout.esm, not just the cumming one. Don't fall into the "logical trap." Just because you want to give XP for having sex does not mean you need to actually give it "after" sex. You can give it before or during.

Posted

It does sound interesting... however

 

Thanks for the feedback. Here are some clarifications and a question or two:

 

re: Use sexout counters Sexout.numRape and Sexout.numRaped - SexoutXPM uses "set isRape to (player.GetItemCount 00SexoutRapee)". Would Sexout.numRape be better/easier for some reason? (I do conceptually prefer fetching variables over items. Do wonder why a few Courier-specific Sexout.esm stat bytes (IsRaped, IsRaping, IsActorA, IsActorB, IsSexA, IsSexO, IsSexV, IsSolo, GaySex) don't exist that could be valid during the period between SexoutNGFLGlobalCBStartS and SexoutNGFLGlobalCBEndS?)

 

re: Use global sex notification hook - SexoutXPM uses "ListAddForm SexoutNGFLGlobalCBStartS SOXPMae" with the associated SexoutNGFLGlobalCBStartFLx V,O,A's. (It is I who has been asking/reminding about the timeframe for SexoutNGFLGlobalCBEndS. SexoutXPM-v1.0 used SexoutNGFLGlobalCBStartS within days of your announcement of its release. I found out SexoutNGFLGlobalCBEndS was not implemented when it compiled but functioned as a NOP.)

 

re: Use Sexout.frequency to track how often sex takes place - One could do that, or just track lastGDP and compute the time between events or a weighted average, etc. This mod does not try to reward (encourage) gratuitous sex nor reward a historical slowly moving average - the XP awards are based on nearer term events - type of sex, rape, coerced (enslaved), solo, etc. (For some players wouldn't sexout.frequency (which means rate) and similar values eventually after many encounters average out to a boring almost constant value?)

 

re: Lust - this mod uses lust but does not modify it. SexoutLust controls all aspects of lust; this mod uses those fluctuating values (would be useful if Chase's lust bonuses were in SCR though.) Lust is used because it is the only sex-based player value that fluctuates for a reason related to sex (currently alcohol, drugs, sex, time between sex). IF a player does not use SexoutLust or does not want to use it, the mod still functions by creating an internal lust equivalent value as a (less full featured) substitute. Normally (with a small exception) the player will have little to no knowledge of its existence or use within this mod. It is an input variable in determining a non-linear award XP factor.

 

This variant of SexoutNGXP (i.e., SexoutXPM) predates fritz's SexoutNGXP, and is built from a larger non-public version. It uses none of fritz's technique - it does not use the cum effect, nor does this variant modify any other plugin scripts, effects, values, etc. Its only external impact is awarding XP to the FONV engine. It is a variant for those interested in this type of XP awards where the cum effect is not used nor is sex duration and where XP awards scale properly for all game levels. It rewards infrequent sex (moderate to high lust), rewards sex likely to achieve climax, and partially randomizes probability and size of awards to simulate possible outcomes (since outcome flags do not (yet?) exist.)

 

My thesis is/was: "... there are just a handful of Sexout players actually interested in Courier-sex XP awards." Certainly it has been a neglected aspect of sexout's interaction with the FONV player's progression (i.e., leveling and allowing sexout to be a greater part of the full game.)

Posted

It does sound interesting... however

 

Thanks for the feedback. Here are some clarifications and a question or two:

 

re: Use sexout counters Sexout.numRape and Sexout.numRaped - SexoutXPM uses "set isRape to (player.GetItemCount 00SexoutRapee)". Would Sexout.numRape be better/easier for some reason?

 

No' date=' not really, but the tokens will eventually be removed. For now go ahead and use them, there will be an announcement when the alternative is in place, and at least a few months between the new system being introduced and the tokens being retired.

 

(I do conceptually prefer fetching variables over items. Do wonder why a few Courier-specific Sexout.esm stat bytes (IsRaped, IsRaping, IsActorA, IsActorB, IsSexA, IsSexO, IsSexV, IsSolo, GaySex) don't exist that could be valid during the period between SexoutNGFLGlobalCBStartS and SexoutNGFLGlobalCBEndS?)

 

I'm religiously opposed to putting "one off" things in sexout, beyond what might already be there. Sexout itself can handle an unlimited amount of simultaneous acts, putting special vars in for just one of them is counter to my goals. Trust me when I say I have a solution in the works though! :)

 

I found out SexoutNGFLGlobalCBEndS was not implemented when it compiled but functioned as a NOP.

 

The End* stuff is in the current beta in the NG thread, first post. I haven't tested it yet, so please do and get back to me.

 

re: Lust - this mod uses lust but does not modify it. SexoutLust controls all aspects of lust; this mod uses those fluctuating values (would be useful if Chase's lust bonuses were in SCR though.)

 

If you talk to him about it I'm sure he'd be open to adding support to SCR where required, assuming lust already needs SCR. If it doesn't, which is definitely possible given how simple it is, there is always room in Sexout itself for such things.

 

and partially randomizes probability and size of awards to simulate possible outcomes (since outcome flags do not (yet?) exist.)

 

What sort of outcome flags do you mean / would you like?

 

My thesis is/was: "... there are just a handful of Sexout players actually interested in Courier-sex XP awards." Certainly it has been a neglected aspect of sexout's interaction with the FONV player's progression (i.e., leveling and allowing sexout to be a greater part of the full game.)

 

I think most sexout players aren't really using it in normal gameplay, but this is probably because most of the mods are not really "story driven", and don't present many opportunities for sex until you've at least gained access to the strip.

 

The early areas have been neglected (except NCRCF), sexout modding wise. Goodsprings, Primm, Mojave Outpost, Nipton, Novac, Helios One, etc., all generally occur before getting to the strip or cottonwood if you follow the main quest. None of these really has a "sexout presence". So this means, IMHO, people are probably either using sexout in games where the character is already mostly leveled up and XP doesn't matter, or just "cheating" their way to the areas where the action is and then ignoring XP and so on.

Posted

 

The End* stuff is in the current beta in the NG thread' date=' first post. I haven't tested it yet, so please do and get back to me.

 

[/quote']

You asked for testing of SexoutNGFLGlobalCBEndS, and I did, particularly since currently few use callbacks. SexoutNGFLGlobalCBSEndS itself seems to be working, maybe. Other problems did occur, maybe unrelated. But my testing skills are marginal.

 

Tested with SexoutXPM since it uses callbacks plus familiarity with the corresponding debug messages. For the test, the only changes to SexoutXPM were:

 

 

 

(for this test, no other changes should be necessary?)

 

; ListAddForm SexoutNGFLGlobalCBStartFLA SexoutXPMFLA

; ListAddForm SexoutNGFLGlobalCBStartFLO SexoutXPMFLO

; ListAddForm SexoutNGFLGlobalCBStartFLV SexoutXPMFLV

; ListAddForm SexoutNGFLGlobalCBStartS SOXPMae

; DebugPrint "SexoutXPM: SexoutNGFLGlobalCBStartS Callback initialized "

 

; ListAddForm SexoutNGFLGlobalCBEndS SOXPMaeUpdate ; NOP for now

ListAddForm SexoutNGFLGlobalCBEndFLA SexoutXPMFLA

ListAddForm SexoutNGFLGlobalCBEndFLO SexoutXPMFLO

ListAddForm SexoutNGFLGlobalCBEndFLV SexoutXPMFLV

ListAddForm SexoutNGFLGlobalCBEndS SOXPMae

DebugPrint "SexoutXPM: SexoutNGFLGlobalCBSEndS Callback initialized "

 

 

I outline here the simplest of my five SexoutNGFLGlobalCBEndS test runs. Disabled (via FOMM) all sexout mods except Sexout.esm, SexoutCommonResources, SexoutSex, SmallerTalk, and SexoutXPM. Loaded clean save for female Courier, level 1, at Goodsprings soon after Sunny training.

 

Console SCOF and enable SexoutXPM debugmode (MCM option). Hit Y-key to masturbate. Works, except incorrectly gives random animation (as already mentioned in my post #2623 of Official SexoutNG thread). Obtained expected debug console output from SexoutXPM (shown below). So SexoutNGFLGlobalCBSEndS works (as you predicted, SexoutActorToken=0). SoloSex a second time, still works with incorrect random animation but did log 2nd callback debug messages.

 

Now approach male northwest settler, use SexoutSex to ask for Sex-Type-V. Animation happens, but no console debug output (aborted my script that had just worked?) Seen this in earlier attempts of the SexoutNGFLGlobalCBSEndS test, so expected this.

 

Now try soloSex (twice) using Y-Key, previously worked with debug output. This time no animation, no debug output, but got console message "Aborting due to 8.1" ==> (We are going to bail and tell them not to mix calling conventions)

 

Don't see how SexoutXPM could impact the calling order/convention of other mod's SexoutBegin.

 

(Note, Y-Key response apparently serviced by Sexout.esm. Works until 2 actors involved?)

 

 

 

SetConsoleOutputFilename >> 'aanow.txt'

SCR1Main: Starting at 5 1

SCR1Main: Starting at 5 2

SCR1Main: Starting at 5 3

SCR1Main: Starting at 5 4

SCR1Main: Starting at 5 5

SexoutXPM: Version 4.3-1 DebugMode flipped to (1)

SexoutXPM: Version 4.3-1

SexoutXPM: Initializing (prev vers 3.99)

SexoutXPM: SexoutNGFLGlobalCBSEndS Callback initialized

SexoutNGSAN: random O=1 V=1 A=1 type=1 Anim=0 noAnim=0

SexoutNGRAN: 2 actors anim 231

SexoutNGBES: PCFd: 1 1 1 1 1 1 1

SexoutXPM: Callback Event 1 handled by SOXPMEffectScript

SexoutXPM: self=Sissy Courier's SexoutActorToken=0 ; normal, SexoutXPM script always sets actorB=self

SexoutXPM: actorA=Sissy actorB=Sissy actorC= ; normal, SexoutXPM script sets actorA=actorB if actorA=

SexoutXPM: isSEXV=0 isSEXO=0 isSEXA=0 isrape=0

SexoutXPM: isCoerced=0 isEnslaved=0 isHooker=0 noBabyRisk=1

SexoutXPM: isGaySex=0 strCourier=1 gayCourier=0 bisCourier=0

SexoutXPM: nLuck=5, RandomLUCK=0.981 (Range: High=+1.000 Low=-1.000)

SexoutXPM: SexoutSQVARZPlayer.iIsEnslaved=0

SexoutXPM: Lust=10.1 Lust(noBonus)=10.1 Threshold=10.0 LustFactor=2.2 useSCRLust=0

SexoutXPM: Rolling Dice, iRandom=43 jRandom=8 kRandom=28

SexoutXPM: Female isSoloSex, bonus=0 dimLust=0.922 nLustFactor=2 (1||0)

SexoutXPM: Lust=9.3 Lust(noBonus)=9.3

SexoutXPM: SoloSex throttle XP by half when lust below 60

SexoutXPM: Awarded 1 XP points, gainXP=0.007, gainMCM=2.5, nLevel 1, levelXP=200

SexoutXPM: lastSEX (GDP) value of 0 updated to 6.45281

SexoutNGSAN: random O=1 V=1 A=1 type=1 Anim=0 noAnim=0

SexoutNGRAN: 2 actors anim 236

SexoutNGBES: PCFd: 1 1 1 1 1 1 1

SexoutXPM: Callback Event 2 handled by SOXPMEffectScript

SexoutXPM: self=Sissy Courier's SexoutActorToken=0

SexoutXPM: actorA=Sissy actorB=Sissy actorC= ; normal, expected

SexoutXPM: isSEXV=0 isSEXO=0 isSEXA=0 isrape=0

SexoutXPM: isCoerced=0 isEnslaved=0 isHooker=0 noBabyRisk=1

SexoutXPM: isGaySex=0 strCourier=1 gayCourier=0 bisCourier=0

SexoutXPM: nLuck=5, RandomLUCK=-0.964 (Range: High=+1.000 Low=-1.000)

SexoutXPM: SexoutSQVARZPlayer.iIsEnslaved=0

SexoutXPM: Lust=9.4 Lust(noBonus)=9.4 Threshold=10.0 LustFactor=1.8 useSCRLust=0

SexoutXPM: Rolling Dice, iRandom=53 jRandom=65 kRandom=79

SexoutXPM: Female isSoloSex, bonus=0 dimLust=0.949 nLustFactor=1 (1||0)

SexoutXPM: Lust=8.9 Lust(noBonus)=8.9

SexoutXPM: SoloSex throttle XP by half when lust below 60

SexoutXPM: Awarded 1 XP points, gainXP=0.006, gainMCM=2.5, nLevel 1, levelXP=200

SexoutXPM: lastSEX (GDP) value of 6.45281 updated to 6.45876

SexoutNGSAN: random O=1 V=1 A=1 type=1 Anim=0 noAnim=0

SexoutNGRAN: 2 actors anim 714

SexoutNGBES: PCFd: 1 1 1 1 1 1 1

; missing expected callback debug messages,

SexoutNGSAN: random O=1 V=1 A=1 type=1 Anim=0 noAnim=0

SexoutNGRAN: 2 actors anim 237

; missing expected callback debug messages

SexoutNGSAN: Aborting due to 8.1 ; attempted soloSex

SexoutNGSAN: Aborting due to 8.1 ; attempted soloSex

; Quit

 

 

Footnote1: Reinstalled SexoutNGFLGlobalCBStartS version of SexoutXPM but still using Sexout.esm-beta. The few tests then all worked properly (except for random solosex animation). So either I messed up changing those 4 lines (which did work for the first few soloSex events), or there is something going on when a mod courses through the SexoutNGFLGlobalCBSEndS script.

 

Footnote2: Probably just a one off, but just in case of value or interest - The first test run had most major sexout plugins active; on first sex event (gardening settler), with a fence post positioning problem, the Courier became transparent during sex (expected, known behavior of collsions), BUT upon standing up, the screen snapped to pale blue, everything (buildings, dirt, trees, settlers) disappeared except for the clothed Courier standing in a blue nether-world but otherwise looking normal - stayed that way until I exited FONV a minute later - first time I have had this happen, ever. Of course my note taking was zero since I expected no problems on that first test.

Posted

I will look into the masturbation thing.

 

The 8.2 calling convention thing is indicating that values were set in multiple places, e.g. both sexout.male AND sexoutng.actora were set (not null / 0) when sexout checked the vars. You need to use sexoutl.male/female or sexoutng.actora/b/c. If one or more are set in both groups, you get an 8.2

Posted

I will look into the masturbation thing.

 

The 8.2 calling convention thing is indicating that values were set in multiple places' date=' e.g. both sexout.male AND sexoutng.actora were set (not null / 0) when sexout checked the vars. You need to use sexoutl.male/female [i']or[/i] sexoutng.actora/b/c. If one or more are set in both groups, you get an 8.2

 

Problem is SexoutXPM just awards XP points and does not use sexoutng.actor a/b/c nor sexout.male/female nor does it use SexoutBegin. As noted, only 4 lines were changed to test SexoutNGFLGlobalCBSEndS (changing to SexoutNGFLGlobalCBEndFLA etc.)

 

I'll use FNVEdit to extract the actual scripts of the working SexoutNGFLGlobalCBStartS version and the SexoutNGFLGlobalCBEndS test version, then do a differences compare to see if anything unknown slipped in...

 

From your comment I suppose you are saying plugin-A can, for example, modify (step on) sexout.male thereby breaking plugin B's actor.CIOS SexoutBegin if plugin B is using sexoutng.actora/b? That is understandable. (Just searched on the one quest script (only script modified for the test) that sets up the callbacks - found no references to "sexout." nor "sexoutng."

 

Sexout.male/female, sexoutng.actora/b/c are quest variables - so it is possible for a dirty save to be loaded and cause an 8.2 error?

 

I will have to explore further and perhaps do the conversion and test again from scratch with a new character...

Posted

Ah ok. Well, it could've been sexoutsex or anything else. If a script starts to do setup by setting sexout or sexoutNG vars, and then does not immediately cast SexoutBegin, then another script may set the other vars, and cause a collision and resulting 8.2. Also possible but much less likely is two scripts running at the same time, one that sets the vars on one side, and one that sets them on the other. By default the engine does not run scripts in parallel, but there are INI file hacks some people apply that will allow it to.

 

I don't know what you're talking about with extracting scripts with FNVEdit. There are not different scripts on the sexout side, it's all done in one script (SexoutNGEffectBaseScript). The StartS, StartFLVA, etc are just formlists.

Posted

If a script starts to do setup by setting sexout or sexoutNG vars' date=' and then ...

[/quote']

 

Ok, more testing; took SexoutXPM out of the equation. Using SexoutNotify to test SexoutNGFLGlobalCBEndS and the "Aborting due to 8.1".

 

In short, SexoutNotify using SexoutNGFLGlobalCBStartS (as distributed with SexoutNG) works fine using SexoutSex for M-F sex and Y-key for female masturbation (as was the previous case with SexoutXPM.) BUT SexoutNotify, modified to use SexoutNGFLGlobalCBEndS, only performs masturbation properly until sex with a partner occurs, then masturbation (using Y-key) fails with "Aborting due to 8.1" (as was the previous case with SexoutXPM.)

 

So, based on your previous feedback, the 8.1 error code (not sure an 8.2 code exists) means that SexoutNG is somehow receiving old and new (mixed) style actor references (sexout.male/female vs sexoutNG.actorA/B/C). SexoutNotify monitors exactly these changes in references, including sexout.male/female. Not once in either test did Notify print-to-console that sexout.male or sexout.female were changed. After sex with the settler, I moved the Courier a few feet away, then pressed the Y-key. That should be more than enough frames for SexoutNotify to capture any change in actor references, especially to sexout.female/male. Of course, for both tests (CBStart/CBEnd) SexoutNotify did discover reference changes, but only to SexoutNG.actorA/B.

 

Just did another Notify CBEndS run to check what happens if after the masturbation failure, the settler still works. It does not. Settler and Courier agree to type of sex (V), he looks at the Courier, then walks away. To test further, I immediately send the Courier to Sunny, they agree to sex, sex starts but Courier is invisible, THEN, the Courier appears in a blue screen field - my guess fell through the floor or more likely transported into the sky or something - cannot move or perceive movement, but feet and arms are slowly flailing. That pale blue backgroud sounds like an FONV problem - lost coordinates, but so far I have ONLY seen it during the CBEndS testing (now twice)...

 

Below is the console scof for this second Notify CBEndS test (the one where Y-key masturbation fails after M-F sex, and settler sex has no animation after Y-key masturbation fails, then Sunny ... I have edited with ;comments what was happening on-screen.

 

 

 

SetConsoleOutputFilename >> 'CBend_Notify2.txt'

SCR1Main: Starting at 5 1

SCR1Main: Starting at 5 2

SCR1Main: Starting at 5 3

SCR1Main: Starting at 5 4

SCR1Main: Starting at 5 5

SexoutNGSAN: random O=1 V=1 A=1 type=1 Anim=0 noAnim=0

Notify: Sexout.actorB changed to Sissy

SexoutNGRAN: 2 actors anim 232

SexoutNGBES: PCFd: 1 1 1 1 1 1 1

Notify: Sexout.actorB changed to

; *** Y-key Courier masturbation starts, animation is seen (but random)

Notify: SexoutNotifyEffectScript responding to CallBack ...

Notify: listed so Sissy is masturbating!

SexoutNotify: FLA is 0 after clear

SexoutNotify: FLV is 0 after clear

SexoutNotify: FLO is 0 after clear

; *** Courier hits on Settler (sexoutsex), animation is correct

Notify: Sexout.actorA changed to Goodsprings Settler

Notify: Sexout.actorB changed to Sissy

SexoutNGSAN: random O=1 V=1 A=1 type=1 Anim=0 noAnim=0

SexoutNGRAN: 2 actors anim 607

SexoutNGBES: PCFd: 1 1 1 1 1 1 1

; *** around here Y-key for Courier masturbation ==> no animation, no abort code, no response

Notify: Sexout.actorA changed to

Notify: Sexout.actorB changed to

SexoutNGSAN: random O=1 V=1 A=1 type=1 Anim=0 noAnim=0

Notify: Sexout.actorB changed to Sissy

SexoutNGRAN: 2 actors anim 239

; *** hit Y-key again, get two abort codes

SexoutNGSAN: Aborting due to 8.1

SexoutNGSAN: Aborting due to 8.1

Notify: Sexout.actorB changed to

; *** Courier hits on Settler (sexoutsex sextypeV), no animation

Notify: Sexout.actorB changed to Sissy

Notify: Sexout.actorA changed to Goodsprings Settler

; *** Courier hits on Sunny (sexoutsex sextypeO), animation with invisible Courier

Notify: Sexout.actorA changed to Sissy

Notify: Sexout.actorB changed to Sunny Smiles

SexoutNGBES: PCFd: 1 1 1 1 1 1 1

; *** Courier stands up in blue field floating, nothing else visible

Notify: Sexout.actorA changed to

Notify: Sexout.actorB changed to

; quit

 

 

RE SexoutSex may be the problem - evidence is not strong for that theory. The abort after error code 8.1 should reset all the actor references to zero as a recovery reset. The Y-key is not processed by Sexoutsex, yet it also fails even after the error reset, and the Y-key response script is within Sexout.esm. None of these problems is seen when using SexoutNGFLGlobalCBStartS, so that lessens the chance that two mods are tampering with the actor references (why do they misbehave when CBendS runs but are well behaved for CBStartS runs.) There's always the possibility that I do not understand how to set up the SexoutNGFLGlobalCBEndS callback correctly, but I only changed the Start's to End's - the first few callback print-to-console responses look the same as when using SexoutNGFLGlobalCBStartS (i.e., prior to first ActorA/ActorB sex.)

 

Well I might have to bite the bullet and fire off CIOS from the console running only with sexout.esm and sexoutnotify.esp... never done that, but I squirreled away some notes somewhere...

Posted

My gut right now says this can only be one of two things.

 

1. Error in your testing methodology. Unlikely, it looks pretty sound, and I appreciate it.

 

2. Some typo in the EndS portion of the script is *crashing* the script. Not only would this cause spurious errors, it will also cause the game engine to never run that script again.

 

Since I doubt it's #1 this go around, it must be #2, which usually comes down to a simple typo or something. I'm looking over the relevant part of the code right now.

Posted

Updated BETA release in the NG thread first post.

 

Before visiting the forum today I tested sexout beta-63b1 with nearly all other mods disabled (except for MikotoBeauty, DarNifiedUINV, pipboy2500_edisleado, MCM, and my custom race) and started a new character from scratch with a fresh save as a base-testing-save (I suppose it never hurts to have one of those handy.) Of course I obtained the same result as before.

 

I just finished running the same test sequence using that base save against your newer Sexout-2-3-63b2. As I am sure you now expect, all ran well - no 8.1 abort messages; each sex event occurred as expected; Courier did not vanish nor end up in the blue "sky"... Masturbation still is random, but that is not a callback problem. As far as I can tell SexoutNGFLGlobalCBEndS works as you intended and not much more testing is needed on that feature. (On my private (enhanced) version of SexoutXPM I will switch over to SexoutNGFLGlobalCBEndS, so there will be continuing indirect testing as it will be in active use.)

 

It seems bugs that don't run at all are to be preferred over those that just misbehave (as if one had a choice).

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...