Jump to content

Recommended Posts

Posted
On 2/8/2026 at 4:00 PM, Neutron_rus said:

turn off mutations in mcm, close pause menu to reset mutations, then turn them back on

 

you just get mutations, order of getting them doesn't matter, level of each mutation will affect the final look and applied buff
bloat fly mutation doesn't stack with any

all combos are
wolf + ant
deathclaw + wolf
deathclaw + ant
deathclaw + wolf + ant

Okay...so if you wanted the deathclaw mutation to have the most visual effect while having the others you would want it last?

That is a touch tricky to do...while I know you can easily get the wolf and ant mutations; cannot seem to get the ants acid and deathclaw claw combination perk at this stage, I seem to have missed the trigger or quest to cure myself of the deathclaw mutation. Which is needed to get the in gaem ability to get it back, because idealy I have the ant womb visual but with deathclaw horns and wings.

Oh well! No maximum mutant for me this run!

 

Thanks for the mutation fix tip! That is quite helpful.

Posted
On 2/14/2026 at 11:17 PM, Valarien said:

Okay...so if you wanted the deathclaw mutation to have the most visual effect while having the others you would want it last?

That is a touch tricky to do...while I know you can easily get the wolf and ant mutations; cannot seem to get the ants acid and deathclaw claw combination perk at this stage, I seem to have missed the trigger or quest to cure myself of the deathclaw mutation. Which is needed to get the in gaem ability to get it back, because idealy I have the ant womb visual but with deathclaw horns and wings.

Oh well! No maximum mutant for me this run!

 

Thanks for the mutation fix tip! That is quite helpful.

Order doesn't matter, mutation level order doesn't matter too, maximum level of mutations can be achieved at any time (getting infected from fenris for wolf, using cacoon for ant). Exception is DC mutation, as this mutation progression is linked to quest progression (can't be fully cured, only suppressed).
You can also find mutation checker in pip boy at aid category to see what you have.
Ant and wolf mutations can be removed at any time too (cacoon/fenris).

Posted

So (2) issues im having and need some help with. 

 

1: (not an actual issue just need help) At the supermutant tribe how do you gain Resolve?

 

2: (an actual game issue) I have attempted the coyote/fenris chapters in several save games. I talk to Nicky the NPC, I am forced into the sex, but the coyote never spawns to intervene. I have tried fresh saves as sometimes my sexout breaks bc I accidentally hit a hotkey and forgot to turn something off. After the sex animation ends everyone stands around. I have used the free camera to see if I can spot the coyote. there was just the normal wild coyotes on the hill. I then went to the actual coyote cave and there was no approaching coyotes or anything outside the normal prompts. after leaving and fast traveling to Primm and walking back to the starlight drive in the Bandit NPC's where still there not doing anything. the Giant Gecko never spawned for the next step of the quest either. I am at a loss on what is not activating on the scripts end. I also used a condom prior to the raider sex knowing that Nicky wont talk to you but she still just bugs out and talks about the player being pregnant. even when tests register as not pregnant. I have used the medical scanner and even with 0.00000 sperm Nicky is stuck in the dialogue loop (after the forced sex had happened, I was just trying to see if it could be triggered a second time and get the script working). Any help would be appreciated. So far the Coyote/Fenris and the Ant Cave episodes are the only storylines that dont work for me. 

Posted
On 2/19/2026 at 1:22 AM, TyphoeusSilver said:

i was wondering if you ever planned on releasing any content for TTW from the FB section or some compat for them 

 

Development has nearly stopped. If we are going to work with it, it will be in base fnv game

  • 3 weeks later...
Posted

hi im having an issue with sara when were done with the gecko and have to go to my home she walks a bit then stops and just stays there

 

Posted
47 minutes ago, Canno420 said:

hi im having an issue with sara when were done with the gecko and have to go to my home she walks a bit then stops and just stays there

 

nvm i got it working by teleporting her

 

  • 4 weeks later...
Posted

Hi, i've recently installed breeder after buying fallout new Vegas, i haven't played since 2021 when i had a pretty bad pc and my game was pirated, so my question is, how can in impregnate females as the bloatfly Queen, also does being the Queen make the character permanently pregnant? (sorry for my bad english) 

  • 2 weeks later...
Posted
On 4/19/2018 at 11:07 AM, trees said:

Alright, so I did some testing and there does seem to be a stuck sexout token. Except there's a problem - the capture scene adds these stuck tokens EVERY time, and removing them with the player.removeitem command and reloading my save does nothing to fix the issue. I then tried starting a sex scene with Lucy (easiest available test) and any time I tried to start a sex anim, that last line in the console came up: the "SexoutActRunFull: Aborting, actor is invalid code: 1" line. Any ideas on how to proceed form here?image.thumb.png.c4521b5c723ac95e21633feb7f920233.png

 

 

I'm also having a similar problem expect it's for the coyote one, the gang initiates it goes through the first two rounds, and than the second he gives me the dialog and than he does do anything, and whenever I look into the console it says SexoutActRunFull: Aborting, actor is invalid, code 1 I've done everything but it keeps failing

LoadOrder_FalloutNV_2026-04-20T03-58-09.txt

Posted

The message displayed in console is wrong, code 1 means actor is valid.

So act as been denied for an other reason.

 

Need SexoutNG debug message to figure out what's going wrong. Can you post your SexoutNG_Log.txt using SexoutNG Debug Logger ?

 

  • 1 month later...
  • 4 weeks later...
Posted

So I got done with the deathclaw quest pt1 but It won't let me continue to part two and I had no dialogue options from any of them Is there a fix for this. 

 

(Also been a long time since I played around with new Vegas mods and I have a bad experience with Bethesda mods)

  • 3 weeks later...
  • 3 weeks later...
Posted
On 2/18/2026 at 5:13 PM, NotBobcat said:

I have attempted the coyote/fenris chapters in several save games. I talk to Nicky the NPC, I am forced into the sex, but the coyote never spawns to intervene. I have tried fresh saves as sometimes my sexout breaks bc I accidentally hit a hotkey and forgot to turn something off. After the sex animation ends everyone stands around. 


I'm having this same issue with the Coyote episode. Sex with the first npc (Bro) goes as normal, then Vince runs up and says "We're just getting started" and then, he runs back to his starting position and everyone just stands around doing nothing.
At this point, I have 'A7CallBackToken' in my inventory, but getting rid of it or triggering the sexoutcleanup from MCM doesn't do anything.
In the console I see the error message 

[00000000] SexoutActRunFull: Aborting, actor is invalid, code: -12


Debug file attached

SexoutBreeder-BDEE-Debug-Dump--2026-8-20--15-55-42.txt

Posted

It seems a problem from SexoutNG, not breeder even if I have no clues in your log.
It's possible that this issue is normal and that Breeder is trying to call a new act too soon.

 

Can you enable the SexoutNG logs and restart the Coyote episode from the animations that are working fine until you get:

[00000000] SexoutActRunFull: Aborting, actor is invalid, code: -12

Then I should be able to tell you exactly what's going on. 

Posted (edited)

My intuition was right: the calling mod didn’t wait for the act to finish and requested a new animation. Both actors (Nova and Bro) are still ‘SexoutInUse’ and are therefore not available for a new act.
Note that this act would also have been rejected by version 2.10.97. So it's not a problem relative to 2.11.6 (Version 2.11.6 is more flexible and can even release actors earlier than version 2.10.97)

 

Here, the mod should check that the request has been rejected and should try again later. I haven’t analysed Breeder, but just based on your logs, I get the impression that it’s calling a new act on the ‘Sexout-end’ event of the previous act, when it should instead call it on a ‘Sexout-ended’ event. 

 

 

[15:04:19.0287] [2A0D0E47] [ A ] : Bro (2E039EA6)
[15:04:19.0287] [2A0D0E47] [ B ] : Nova (00000014)
[15:04:19.0288] [2A0E327B] SexoutNGAMR[1]: SEU: Stage 10 -> 11 (tElapsed 0.02)
[15:04:19.0305] [2A0E327B] SexoutNGAMR[1]: SEU: Stage 11 -> 12 (tElapsed 0.01)
[15:04:19.0511] [2A0E327B] SexoutNGAMR[1]: SEU: Stage 12 -> 13 (tElapsed 0.21)
[15:04:19.0522] [2A0E327B] SexoutNGAMR[1]: SEU: Stage 13 -> 14 (tElapsed 0.01)
[15:04:19.0530] [2A0A4B47] SNGUndress (1): Found Black Combat Armor (0010D8DC) on Nova (00000014)
[15:04:19.0530] [2A0A4B47] SNGUndress (1): Added Black Combat Armor (0010D8DC) on Nova (00000014)
[15:04:19.0530] [2A0A4B47] SNGUndress (1): Found Ratslayer (000E5B17) on Nova (00000014)
[15:04:19.0530] [2A0A4B47] SNGUndress (1): Added Ratslayer (000E5B17) on Nova (00000014)
[15:04:19.0531] [2A0A4B47] SNGUndress (1): Found Ranger Brown Hat (0011F87E) on Nova (00000014)
[15:04:19.0531] [2A0A4B47] SNGUndress (1): Added Ranger Brown Hat (0011F87E) on Nova (00000014)
[15:04:19.0531] [2A0A4B47] SNGUndress (1): Found Ranger Brown Hat (0011F87E) on Nova (00000014)
[15:04:19.0531] [2A0A4B47] SNGUndress (1): Added Ranger Brown Hat (0011F87E) on Nova (00000014)
[15:04:19.0531] [2A0A4B47] SNGUndress (1): Found Authority Glasses (0011F881) on Nova (00000014)
[15:04:19.0531] [2A0A4B47] SNGUndress (1): Added Authority Glasses (0011F881) on Nova (00000014)
[15:04:19.0532] [2A0A4B47] SNGUndress (1): Nova (00000014) undress stage transition from 0 -> 10
[15:04:19.0532] [2A0A4B47] SNGUndress (1): Removing 'Black Combat Armor' from Nova (00000014)
[15:04:19.0532] [2A0A4B47] SNGUndress (1): Removing 'Ratslayer' from Nova (00000014)
[15:04:19.0532] [2A0A4B47] SNGUndress (1): Removing 'Ranger Brown Hat' from Nova (00000014)
[15:04:19.0532] [2A0A4B47] SNGUndress (1): Removing 'Ranger Brown Hat' from Nova (00000014)
[15:04:19.0532] [2A0A4B47] SNGUndress (1): Removing 'Authority Glasses' from Nova (00000014)
[15:04:19.0535] [2A0A4B47] SNGUndress (1): Found Merc Grunt Outfit (000A3045) on Bro (2E039EA6)
[15:04:19.0535] [2A0A4B47] SNGUndress (1): Added Merc Grunt Outfit (000A3045) on Bro (2E039EA6)
[15:04:19.0535] [2A0A4B47] SNGUndress (1): Found Hunting Rifle (00004333) on Bro (2E039EA6)
[15:04:19.0535] [2A0A4B47] SNGUndress (1): Added Hunting Rifle (00004333) on Bro (2E039EA6)
[15:04:19.0535] [2A0A4B47] SNGUndress (1): Bro (2E039EA6) undress stage transition from 0 -> 10
[15:04:19.0536] [2A0A4B47] SNGUndress (1): Removing 'Merc Grunt Outfit' from Bro (2E039EA6)
[15:04:19.0536] [2A0A4B47] SNGUndress (1): Removing 'Hunting Rifle' from Bro (2E039EA6)
[15:04:19.0541] [2A0E327B] SexoutNGAMR[1]: SEU: Stage 14 -> 15 (tElapsed 0.02)
[15:04:19.0730] [2A0A4B47] SNGUndress (1): Nova (00000014) undress stage transition from 10 -> 20
[15:04:19.0730] [2A0A4B47] SNGUndress (1): Nova - Bodytype 1
[15:04:19.0731] [2A0A4B47] SNGUndress (1): Not SexoutSLOutfitNaked
[15:04:19.0731] [2A0A4B47] SNGUndress (1): Nova - Body Nude Body (P0B3)
[15:04:19.0732] [2A0A4B47] SNGUndress (1): Bro (2E039EA6) undress stage transition from 10 -> 20
[15:04:20.0034] [2A0A4B47] SNGUndress (1): Nova (00000014) undress stage transition from 20 -> 100
[15:04:20.0036] [2A0A4B47] SNGUndress (1): Bro (2E039EA6) undress stage transition from 20 -> 100
[15:04:20.0046] [2A0A4B47] SNGUndress (1): Nova (00000014) undress stage transition from 100 -> 110
[15:04:20.0047] [2A0A4B47] SNGUndress (1): Bro (2E039EA6) undress stage transition from 100 -> 110
[15:04:20.0056] [2A0E327B] SexoutNGAMR[1]: SEU: Stage 15 -> 16 (tElapsed 0.52)
[15:04:20.0067] [2A0E327B] SexoutNGAMR[1]: SEU: Stage 16 -> 17 (tElapsed 0.01)
[15:04:21.0061] [2A0D16E2] soAPs: Done Init for Nova
[15:04:21.0062] [2A0D16E2] soAPS - Plugin: Sexout.esm, anim: 716
[15:04:21.0062] [2A0D16E2] soAPS: ActorB is: Nova. mX: 0, mY: 0, mZ: 0, angleZ: 0
[15:04:21.0062] [2A0D16E2] Sexout: Nova(00000014) PlayIdle 716 B - Sexout.esm
[15:04:21.0072] [2A0E327B] SexoutNGAMR[1]: SEU: Stage 17 -> 18 (tElapsed 1.02)
[15:04:21.0330] [2A0D16E2] soAPs: Done Init for Bro
[15:04:21.0330] [2A0D16E2] soAPS - Plugin: Sexout.esm, anim: 716
[15:04:21.0330] [2A0D16E2] soAPS: ActorA is: Bro. mX: 0, mY: -16, mZ: 2, angleZ: 180
[15:04:21.0331] [2A0D16E2] Sexout: Bro(2E039EA6) PlayIdle 716 A - Sexout.esm
[15:04:21.0339] [2A0E327B] SexoutNGAMR[1]: SEU: Stage 18 -> 19 (tElapsed 0.27)
[15:04:21.0350] [2A0E327B] SexoutNGAMR[1]: SEU: Stage 19 -> 100 (tElapsed 0.01)
[15:04:21.0606] [2A0D16E2] Sexout: Nova(00000014) PlayIdle 716 B - Sexout.esm
[15:04:21.0608] [2A0D16E2] Sexout: Bro(2E039EA6) PlayIdle 716 A - Sexout.esm
[15:04:21.0617] [2A0E327B] SexoutNGAMR[1]: SEU: Stage 100 -> 101 (tElapsed 0.27)
[15:04:21.0618] [2A0D16E2] Sexout: Nova(00000014) PlayIdle 716 B - Sexout.esm
[15:04:21.0620] [2A0D16E2] Sexout: Bro(2E039EA6) PlayIdle 716 A - Sexout.esm
[15:04:34.0404] [2A0E327B] SexoutNGAMR[1]: Finish now triggered on Nova (00000014).
[15:04:34.0415] [2A0E327B] SexoutNGAMR[1]: SEU: Stage 101 -> 200 (tElapsed 12.96)
[15:04:34.0415] [2A0E327B] SexoutNGAMR[1]: Finish now triggered for this anim.
[15:04:34.0424] [2A0E327B] Sexout: Begin legacy hooks event: 

[15:04:34.0424] [2A0E327B] ** Dumping Array #2067 **
Refs: 1 Owner 2A: Sexout.esm
[15:04:34.0424] [2A0E327B] [ ActorA ] : Bro (2E039EA6)
[15:04:34.0424] [2A0E327B] [ ActorB ] : Nova (00000014)
[15:04:34.0424] [2A0E327B] [ ActorC ] : <?NAME?> (00000000)
[15:04:34.0425] [2A0E327B] [ Anim ] : 716.000000
[15:04:34.0425] [2A0E327B] [ CallingMod ] : 
[15:04:34.0425] [2A0E327B] [ CallingScript ] : <?NAME?> (00000000)
[15:04:34.0425] [2A0E327B] [ Duration ] : 15.000000
[15:04:34.0425] [2A0E327B] [ eventName ] : Sexout-End
[15:04:34.0425] [2A0E327B] [ eventSender ] : Sexout.esm
[15:04:34.0425] [2A0E327B] [ IsAnal ] : 0.000000
[15:04:34.0425] [2A0E327B] [ IsMasturbation ] : 0.000000
[15:04:34.0426] [2A0E327B] [ IsNonGenital ] : 0.000000
[15:04:34.0426] [2A0E327B] [ IsOral ] : 0.000000
[15:04:34.0426] [2A0E327B] [ IsVaginal ] : 1.000000
[15:04:34.0426] [2A0E327B] [ nActID ] : 1.000000
[15:04:34.0426] [2A0E327B] [ Plugin ] : Sexout.esm
[15:04:34.0426] [2A0E327B] [ Raper ] : Bro (2E039EA6)
[15:04:34.0426] [2A0E327B] Sexout Legacy hooks: Casting spunk spell end hook (38005E16) on Nova (00000014)
[15:04:34.0427] [2A0E327B] Sexout Legacy hooks: Casting Sex End Event (2C036F6F) on Nova (00000014)
[15:04:34.0437] [2A0E327B] SexoutNGAMR[1]: SEU: Stage 200 -> 201 (tElapsed 0.02)
[15:04:34.0504] [2A0D0E47] Pos: Clean up
[15:04:34.0622] [2A07499E] SexoutNGPCQ: PCFe1: 0 0 0 0 0 0 0
[15:04:34.0622] [2A07499E] SexoutNGPCQ: PCFe2: 0 0 0 0 0 0 0
[15:04:34.0623] [2A0E327B] SexoutNGAMR[1]: SEU: Stage 201 -> 300 (tElapsed 0.19)
[15:04:34.0937] [2A0E327B] SexoutNGAMR[1]: Rescaling ActorA to 1.00
[15:04:34.0938] [2A0E327B] SexoutNGAMR[1]: Rescaling ActorB to 1.00
[15:04:34.0941] [2A041306] NGK Knockdown Nova 552
[15:04:34.0942] [2A041306] NGK Knockdown Bro 194

[15:04:34.0948] [2A0E327B] SexoutNGAMR[1]: SEU: Stage 300 -> 301 (tElapsed 0.33)
[15:04:35.0059] [2A0E327B] SexoutNGAMR[1]: SEU: Stage 301 -> 302 (tElapsed 0.11)
[15:04:37.0523] [2A0A4B47] SNGUndress (1): Nova (00000014) undress stage transition from 110 -> 200
[15:04:37.0537] [2A0A4B47] SNGUndress (1): Nova (00000014) undress stage transition from 200 -> 1000
[15:04:37.0537] [2A0A4B47] SNGUndress (1): Nova (00000014) undress stage transition from 1000 -> 2000
[15:04:41.0471] [00000000] SexoutActRunFull (v2025-09-29) Called by: 00000000
[15:04:41.0471] [00000000] ** Dumping Array #84 **
Refs: 1 Owner 00: FalloutNV.esm
[15:04:41.0471] [00000000] [ ActorA ] : Vince (2E039EA8)
[15:04:41.0471] [00000000] [ ActorB ] : Nova (00000014)
[15:04:41.0471] [00000000] [ CBItemB ] : A7CallBackToken (2E039EBC)
[15:04:41.0471] [00000000] [ raper ] : Vince (2E039EA8)
[15:04:41.0472] [00000000] SexoutActRunFull: Aborting, actorB (Nova) is in use
[15:04:41.0472] [00000000] SexoutActRunFull: Aborting, actor is invalid, code: -12

[15:04:42.0011] [2A0E327B] fnSAU: 00000014 (Nova) initial lock flag state: 1
[15:04:42.0012] [2A0E327B] fnSAU: 00000014 (Nova) final lock flag state: 0   returning: 0
[15:04:42.0158] [2A0A4B47] SNGUndress (1): Bro (2E039EA6) undress stage transition from 110 -> 200
[15:04:42.0160] [2A0A4B47] SNGUndress (1): Equipping 'Merc Grunt Outfit' on Bro (2E039EA6)
[15:04:42.0160] [2A0A4B47] SNGUndress (1): Equipping 'Hunting Rifle' on Bro (2E039EA6)
[15:04:42.0173] [2A0A4B47] SNGUndress (1): Bro (2E039EA6) undress stage transition from 200 -> 1000
[15:04:42.0173] [2A0A4B47] SNGUndress (1): Bro (2E039EA6) undress stage transition from 1000 -> 2000
[15:04:42.0190] [2A0E327B] fnSAU: 2E039EA6 (Bro) initial lock flag state: 1
[15:04:42.0190] [2A0E327B] fnSAU: 2E039EA6 (Bro) final lock flag state: 0   returning: 0
[15:04:42.0211] [2A0E327B] SexoutNGAMR[1]: SEU: Stage 302 -> 303 (tElapsed 4.58)
[15:04:42.0212] [2A0E327B] fnSoNXClr Sexout:Start: Bro (2E039EA6)
[15:04:42.0212] [2A0E327B] fnSoNXClr Sexout:Conditions: Bro (2E039EA6)
[15:04:42.0212] [2A0E327B] fnSoNXClr Sexout:Started:: Bro (2E039EA6)
[15:04:42.0212] [2A0E327B] fnSoNXClr Sexout:TFlags: Bro (2E039EA6)
[15:04:42.0212] [2A0E327B] fnSoNXClr Sexout:Flags: Bro (2E039EA6)
[15:04:42.0213] [2A0E327B] fnSoNXClr Sexout:LockTime Bro (2E039EA6)
[15:04:42.0213] [2A0E327B] fnSoNXClr Sexout:Start: Nova (00000014)
[15:04:42.0213] [2A0E327B] fnSoNXClr Sexout:Conditions: Nova (00000014)
[15:04:42.0213] [2A0E327B] fnSoNXClr Sexout:Started:: Nova (00000014)
[15:04:42.0213] [2A0E327B] fnSoNXClr Sexout:TFlags: Nova (00000014)
[15:04:42.0213] [2A0E327B] fnSoNXClr Sexout:Flags: Nova (00000014)
[15:04:42.0213] [2A0E327B] fnSoNXClr Sexout:LockTime Nova (00000014)

[15:04:42.0223] [2A0E327B] SexoutNGAMR[1]: SEU: Stage 303 -> 304 (tElapsed 0.01)

 

 

 

The points highlighted in yellow show:
- The end of the animation
- The dispatch of the ‘Sexout-end’ event
- The application of the rape knowdown 

 

The points highlighted in red show:

- The call for the new animation by Breeder 

- The animation request was rejected by Sexout (reason: ‘actor is invalid’, code -12)

 

The points highlighted in green show:

- The release of actors by Sexout (they are therefore no longer ‘SexoutInUse’ after this step)

 

 

 

As you can see, it’s a matter of a hair’s breadth. If Breeder’s request for the new act had been made just a little bit later, or if it checked that Sexout had refused the act and tried again later, it would have gone through.

I’ll try to speak to Dborg2 about fixing Breeder.

In the meantime, in Sexout’s MCM ‘KO and camera’ menu, try disabling ‘Enable Rapist KO’ and ‘Enable Victim KO’.  It should help actors to be released from 'SexoutInUse' earlier.

 

Edited by Machiavelique
Posted

I already had the Rapist and Victim KO settings unchecked because it was recommended for another mod (soliciting I think?) 
So I tried unchecking the 'Enable Knockdown(WIP)' and that *did* allow the next animation to fire, but then the animation after that runs into the same problem as before.
I guess I'll just wait and hope for a fix.

Thanks for helping me with this

Posted (edited)

@Machiavelique
not sure where it can be broken on breeder side, code itself barely changed much since forever. can add small delay if that's the problem, though package evaluation should have gave enough time to do so

packages are regular forced dialogs, already included in npcs. only player related acts matters to continue quest script.

round 1 end dialog script, dialog starts when player gets close enough to npcs. A7CFQ.iQuestState remains 0.

call fnSexoutActRunFull (Ar_Map "ActorA"::A7BroRef, "ActorB"::playerREF, "raper"::A7BroRef, "CBItemB"::A7CallBackToken)

 

round 2 end dialog script, dialog triggers after evp, A7CFQ.iQuestState is 1

call fnSexoutActRunFull (Ar_Map "ActorA"::A7VinceRef, "ActorB"::playerREF, "raper"::A7VinceRef, "CBItemB"::A7CallBackToken)


round 3 end dialog script, A7CFQ.iQuestState is 2

call fnSexoutActRunFull (Ar_Map "ActorA"::A7BroRef, "ActorB"::playerREF, "raper"::A7BroRef, "CBItemB"::A7CallBackToken)


token

scn A7CallBackTokenSCRIPT

int init1
float ftemp

Begin GameMode

if init1 == 0
    init1 = 1
    fTemp = GetAv Fatigue

    if A7CFQ.iQuestState == 2
        A7CFQ.iQuestState = 3
        A7BroRef.evp
        showmessage A7PreBlackOutMessage
        player.additem A7BlackOutToken 1 1
        imod FadeToBlackAndBackISFX
        ;player.pushactoraway player 10
        ;player.setunconscious 1
        ;DisablePlayerControls
    endif

    if A7CFQ.iQuestState == 1
        A7CFQ.iQuestState = 2
        A7BroRef.evp
    endif


    if A7CFQ.iQuestState == 0
        A7CFQ.iQuestState = 1
        A7VinceRef.evp
    endif
    
endif

if init1 == 1
    removeme
    init1 = 2
endif

End


 

Edited by Neutron_rus
Posted
1 hour ago, nukulardan2 said:

I already had the Rapist and Victim KO settings unchecked because it was recommended for another mod (soliciting I think?) 
So I tried unchecking the 'Enable Knockdown(WIP)' and that *did* allow the next animation to fire, but then the animation after that runs into the same problem as before.
I guess I'll just wait and hope for a fix.

Thanks for helping me with this

try turning on knockdown instead of disabling, set to like 3 seconds regular, 7s after rape

Posted
3 hours ago, Neutron_rus said:

try turning on knockdown instead of disabling, set to like 3 seconds regular, 7s after rape

I don't see a setting for knockdown duration anywhere, regular or rape. (using SexoutNG 2.11.6b4)

I did try permutations of knockdown, rapist KO and victim KO on/off and with different KO durations but the only thing that seems to work to get to round 2 is to have knockdown off and it doesn't matter if either or both KOs are on or off or what durations they have.

Don't ask me why I tried this, but after round 2 finished and everyone was just standing around, I left the area and came back and that triggered round 3 and I was able to finish the whole sequence, So at least I have a method to get through to the rest of the episode, though it's not ideal.

For completeness, I tried just  standing there for a few minutes to see if the trigger was just massively delayed, but that didn't work, only leaving the area and coming back.
Also tried reenabling knockdown to see if leaving the area and coming back could start round 2 after getting stuck after round 1, but that didn't work either.

Posted (edited)

  

20 hours ago, Neutron_rus said:

not sure where it can be broken on breeder side, code itself barely changed much since forever. can add small delay if that's the problem, though package evaluation should have gave enough time to do so

packages are regular forced dialogs, already included in npcs. only player related acts matters to continue quest script.



I could reduce the processing times in NG and reorder certain operations, but I don’t think that’s the solution, as the handling of sexout calls in Breeder would remain somewhat fragile and could once again compromise possible future developments of NG.

Here the 2.10.97 CB stuff management (SexoutNGCleanupEffectSCRIPT = script effect casted on each actor):

Spoiler

  if (1000 == iStage)
    ; waiting on dispel

  elseif (200 == iStage)
    ; mark cleanup
    set iStage to 1000

    SetRestrained wasRestrained

    NX_SetEVFl "Sexout:Core:Cleanup" 2

  elseif (40 == iStage)
    set iStage to 200

    ; actor only has to run this stage if callbacks exist for them
    if (self != cbActor)
      Return
    endif

    if (self != playerREF)
      if (CBPack)
        AddScriptPackage CBPack
      endif
    endif

    if (CBItem)
      AddItem CBItem, 1, 1
    endif

    if (CBSpell)
      CIOS CBSpell
    endif

    if (CBDispel)
      Dispel CBDispel
    endif


  elseif (31 == iStage)
    ; Do stuff not common to X

    ; Wait for redress to be complete
    if IsSpellTarget SexoutNGUndress
      let fDelay := 0.1
    else
      let iStage := 40
    endif

  elseif (30 == iStage)
    ; Do stuff not common to X
    set iStage to 31

    if GetIsCurrentPackage SexoutDoNothing
      RemoveScriptPackage
    endif

    ; reset sporeplants
    if eval (call fnSexoutGetSkeleton self) == "nvsporeplant" 
      self.SetAlert 1
      self.SetAlert 0
    endif

    if IsSpellTarget SexoutNGUndress
      if (0 == bDontRedress)
        call fnSexoutSetFlag self "Undress" 1 0 1
      else
        call fnSexoutSetFlag self "Undress" 2 0 1
      endif

      let fDelay := 0.1
    endif

    if (CBMoveTo > 0)
      set fDelay to 0.1
      MoveTo CBMoveTo
    endif

  elseif (20 == iStage)
    ; Actor a/b/c waiting period
    ; wait for cumspell expire and consciousness
    if ((0 == GetUnconscious) && (0 == GetKnockedState) && (0 == IsSpellTarget SexoutNGCum))
      set iStage to 30
      set fDelay to 0.2
    else
      set fDelay to 0.2
    endif

 

Then in 2.10.97 SexoutNGEffectBaseScriptF

Spoiler

; * Main
  if 3001 == nSetupStage
    ; Set player controls back to previous state
    set nSetupStage to 3002
    if bPlayer
      set SexoutNGPlayerControlQ.bPlayerControls to 2
    endif

    foreach Entry <- Actors
      let actor := *Entry
      call fnSexoutNXClr actor, "Sexout:TFlags"
      call fnSexoutActorUnlock actor
      call fnSexoutNXClr actor, "Sexout:Core:Cleanup"
      let fScale := actor.NX_GetEVFl "Sexout:Started::fScale"
      if fScale > 0
        PrintD "Rescaling "+$(Entry["key"])+" to "+$fScale
        actor.SetScale fScale
      endif
    loop

    if actorX
      call fnSexoutNXClr actorX, "Sexout:TFlags"
      call fnSexoutActorUnlock actorX
      call fnSexoutNXClr actorX, "Sexout:Core:Cleanup"
    endif
  
    if Abort == 0
      DispatchEvent "Sexout-Ended", (Ar_Map "actorA"::actorA, "actorB"::actorB, "actorC"::actorC)
    endif

    let Dispeled := 1
    let Actors := Entry := Ar_Null
    Dispel SexoutNGStartSex
    return

  elseif 1000 == nSetupStage
    ; Wait for cleanup
    set nSetupStage to 3001

    foreach Entry <- Actors
      let actor := *Entry
      let cleanup := actor.NX_GetEVFl "Sexout:Core:Cleanup"
      if 1 == cleanup
        set nSetupStage to 1000
        set fLoopDelay to 0.1
        break
      elseif 2 == cleanup
        actor.NX_SetEVFl "Sexout:Core:Cleanup", 3
        actor.Dispel SexoutNGCleanup
      endif
    loop

    if actorX && nSetupStage != 1000
      let cleanup := actorX.NX_GetEVFl "Sexout:Core:Cleanup"
      if 1 == cleanup
        set nSetupStage to 1000
        set fLoopDelay to 0.1
        return
      elseif 2 == cleanup
        actorX.NX_SetEVFl "Sexout:Core:Cleanup", 3
        actorX.Dispel SexoutNGCleanup
      endif
    endif

  elseif 301 == nSetupStage
    set nSetupStage to 1000

    call fnSexoutNXClr self, "Sexout:Start::"

    foreach Entry <- Actors
      let actor := *Entry
      actor.NX_SetEVFl "Sexout:Core:Cleanup", 1
      actor.CIOS SexoutNGCleanup
    loop
    if actorX
      actorX.NX_SetEVFl "Sexout:Core:Cleanup", 1
      actorX.CIOS SexoutNGCleanup
    endif

 

 

 

SNG 2.11.6 (SexoutNGCleanupEffectSCRIPT and SexoutNGEffectBaseScriptF has been merged into fnSexoutNGRunAnim)

Spoiler

 elseif iStage == 302

    iStage = 303

    foreach Entry <- Anim["Actors"]
      rActor = Entry["Value"]
      sKey   = Entry["Key"]

      if eval Anim["Vars"]["Actors"][sKey]["fUnderStage"] != 302.7
        iStage = 302
      endif

      Anim["Vars"]["Actors"][sKey]["fUnderElapsed"] += fSecondPassed

      if eval Anim["Vars"]["Actors"][sKey]["fUnderLastStage"] != Anim["Vars"]["Actors"][sKey]["fUnderStage"]
        Anim["Vars"]["Actors"][sKey]["fUnderElapsed"]   = 0
        Anim["Vars"]["Actors"][sKey]["fUnderLastStage"] = Anim["Vars"]["Actors"][sKey]["fUnderStage"]
        Anim["Vars"]["fLifeTime"] = 5
      endif

      if eval Anim["Vars"]["Actors"][sKey]["fUnderDelay"] > 0
        Anim["Vars"]["Actors"][sKey]["fUnderDelay"] -= fSecondPassed
        iStage = 302
        continue
      else
        Anim["Vars"]["Actors"][sKey]["fUnderDelay"] = 0
      endif

      ;___________________________________________________________
      if eval Anim["Vars"]["Actors"][sKey]["fUnderStage"] == 302.1

        Anim["Vars"]["Actors"][sKey]["fUnderStage"] = 302.2

        if rActor.GetKnockedState || rActor.IsSpellTargetAlt SexoutNGCum
          if eval fElapsed < Anim["Vars"]["fMaxKODelay"] + 5
            Anim["Vars"]["Actors"][sKey]["fUnderStage"] = 302.1
            Anim["Vars"]["fLifeTime"]   = 5
          endif
        endif

      ;_______________________________________________________________
      elseif eval Anim["Vars"]["Actors"][sKey]["fUnderStage"] == 302.2

        Anim["Vars"]["Actors"][sKey]["fUnderStage"] = 302.3
        Anim["Vars"]["Actors"][sKey]["fUnderDelay"] = 0.1

        if rActor.GetIsCurrentPackage SexoutDoNothing
          rActor.RemoveScriptPackage
        endif

        ; reset sporeplants
        if eval (Call fnSexoutGetSkeleton rActor) == "nvsporeplant" 
          rActor.SetAlert 1
          rActor.SetAlert 0
        endif

      ;_______________________________________________________________

      elseif eval Anim["Vars"]["Actors"][sKey]["fUnderStage"] == 302.3

        Anim["Vars"]["Actors"][sKey]["fUnderStage"] = 302.4
        Anim["Vars"]["Actors"][sKey]["fUnderDelay"] = 0.5

        rCBDialogue = Anim["Params"][sKey]["rCBDialogue"]
        if IsFormValid rCBDialogue
          iSize = Ar_Size SexoutNGConvCBQuest.arTodoAdd
          SexoutNGConvCBQuest.arTodoAdd[iSize] = Ar_Construct "stringmap"
          SexoutNGConvCBQuest.arTodoAdd[iSize]["Actor"] = rActor.RefToString
          SexoutNGConvCBQuest.arTodoAdd[iSize]["Topic"] = RefToString rCBDialogue
          SexoutNGConvCBQuest.arTodoAdd[iSize]["Actid"] = nActId
        elseif rCBDialogue
          PrintC "SexoutNGAMR[%g] (Stage %g): CBD %n (%i) has not been added for Actor %n (%i) cause this CBDialog doesn't have a valid Form" nActId, iStage, rCBDialogue, rCBDialogue, rActor, rActor
        endif
        if eval Anim["Params"][sKey]["rCBItem"]
          rActor.AddItem (Anim["Params"][sKey]["rCBItem"]), 1, 1
        endif
        if eval Anim["Params"][sKey]["rCBSpell"]
          rActor.CIOS (Anim["Params"][sKey]["rCBSpell"])
        endif
        if eval Anim["Params"][sKey]["rCBDispel"]
          rActor.Dispel (Anim["Params"][sKey]["rCBDispel"])
        endif
        if eval Anim["Params"][sKey]["rCBPack"] && rActor != PlayerREF
          rActor.AddScriptPackage (Anim["Params"][sKey]["rCBPack"])
        endif
        if eval Anim["Params"][sKey]["rCBMoveTo"]
          rActor.MoveTo (Anim["Params"][sKey]["rCBMoveTo"])
        endif
        iDontRedress = Anim["Params"][sKey]["iDontUndress"] + 1     ;<======== ADD FOR LEGACY SUPPORT
        rActor.NX_SetEVFl "Sexout:TFlags:Undress", iDontRedress     ;<======== ADD FOR LEGACY SUPPORT

      ;_______________________________________________________________
      elseif eval Anim["Vars"]["Actors"][sKey]["fUnderStage"] == 302.4

        Anim["Vars"]["Actors"][sKey]["fUnderStage"] = 302.6
        
        if rActor == PlayerREF
          Anim["Vars"]["Actors"][sKey]["fUnderStage"] = 302.5
          Anim["Vars"]["Actors"][sKey]["fUnderDelay"] = 1.8 * Sexout.bEnableKOCons
        endif

      ;_______________________________________________________________
      elseif eval Anim["Vars"]["Actors"][sKey]["fUnderStage"] == 302.5

        Anim["Vars"]["Actors"][sKey]["fUnderStage"] = 302.6
        i1stPerson = Anim["Params"]["1stPerson"]

        if IsPC1stPerson != i1stPerson
          Anim["Vars"]["Actors"][sKey]["fUnderStage"] = 302.5
          Anim["Vars"]["Actors"][sKey]["fUnderDelay"] = 0.1
          ToggleFirstPerson i1stPerson
        endif

      ;_______________________________________________________________
      elseif eval Anim["Vars"]["Actors"][sKey]["fUnderStage"] == 302.6

        Anim["Vars"]["Actors"][sKey]["fUnderStage"] = 302.7
        Call fnSexoutActorUnlock rActor

      ;_______________________________________________________________
      elseif eval Anim["Vars"]["Actors"][sKey]["fUnderStage"] == 302.7
        ; Wait all actors reach fUnderStage 302.7
      endif
    loop

 

 

Yellow: Nx var used for communication between SexoutNGCleanupEffectSCRIPT and SexoutNGEffectBaseScriptF 

Orange: Wait for KO ends

Green: Reset the 'SexoutActorInUse' flag

 

 

Whether it is version 2.10.97 or 2.11.6, calling a sexout act on the assumption that the act is completed cause the CBitem/CBspell from the previous act has been added remains unreliable.

 

Example, using Rapist KO duration: 5, victim KO duration: 1 with NG 2.10.97 and this Breeder episode: 

round 1 end dialog script, dialog starts when player gets close enough to npcs. A7CFQ.iQuestState remains 0.

call fnSexoutActRunFull (Ar_Map "ActorA"::A7BroRef, "ActorB"::playerREF, "raper"::A7BroRef, "CBItemB"::A7CallBackToken)

WILL SUCCESS

round 2 end dialog script, dialog triggers after evp, A7CFQ.iQuestState is 1

call fnSexoutActRunFull (Ar_Map "ActorA"::A7VinceRef, "ActorB"::playerREF, "raper"::A7VinceRef, "CBItemB"::A7CallBackToken)

WILL PROBABLY SUCCES

- Once player KO duration has been ended (set to 1 second):

- istage from Player SexoutNGCleanupEffectSCRIPT will go from 20 to 30 -> 31 -> 40 

- At istage = 40, A7CallBackToken will be added on Player

- Breeder wil set A7CFQ.iQuestState to 1, then will set evp on  A7VinceRef (so that Vince will reevalute its A7VinceGreetingPackage)

- But here Vince will remain KO during 4 s again, its iStage SexoutNGCleanupEffectSCRIPT is still to 20, so SexoutNGEffectBaseScriptF is still to nSetupStage 1000 (cause need all actors get "Sexout:Core:Cleanup" to 2 to go to nSetupStage 3001 and clearing 'SexoutInUseFlag'. I don't think FalloutNV prevent Greeting dialog  when actor is KO, but it seems to me actors can't speak when restrained, and Vince is still restrained by Sexout until iStage 200 of  SexoutNGCleanupEffectSCRIPT

 

So it probalby works but this is thanks to a combination of circumstances. The mechanism itself is fragile and would not work under different circumstances. If, for example, this greeting were triggered by an actor other than Vince, it would not work. Player and Vince would remain in the ‘SexoutInUse’ state until both have completed their KOs.

 

 

Sexout only ensures that an actor(s) is/are available(s) using call to:
(bool) fnSexoutActorInuse ref
(bool) fnSexoutAnyInUse array

 

Although API 2.10.97 stated that the CB stuffs were carried out once the action was complete, it is clear that this is an inaccuracy and that Odessa actually meant ‘once the animation had finished’ (cause we can see NG’97 still performs numerous actions once the CB stuffs have been carried out, and the “SexoutInUse' flags are cleared much later, which clearly means that the act is not yet complete).

 

 

Quote

 

Callbacks: Post Act Hooks

For each actor involved in an act, sexout allows for several per-act callbacks that you can provide, for a total of 16. These callbacks are:

Name Contains What it does
CBDialogA A reference to a dialog topic Starts the given conversation between the player.
CBSpellA A spell Casts the given spell on actor A
CBPackA A package Adds the script package to actor A
CBItemA An Item Adds the given item to actor As inventory
refMoveATo A reference

Moves actorA to the specified ref

 

All of these tasks are done when the act completes, and the trailing letter can be either A, B, C or X for the given actor.

 

ActorX is a special case. This actor is not undressed or involved in the animation, but can be involved in these callbacks. An example use is to set A and B to two NPCs such as Boone and Cass, and X to a third NPC such as Veronica, and CBDialogX to one of Veronicas conversation topics. When the sex act between Boone and Cass completes, the conversation between Veronica and the player will be started. Use your imagination.

 

 

 

 

NG' 97 fnSexoutActrunFull ActorInUse check:

Spoiler

    foreach pos <- "ABCX"
        let actor_key := "actor"+pos
        if eval Ar_HasKey Params, $actor_key
            if eval "Form" != (TypeOf Params[actor_key])
                let Params[actor_key] := GetSelf
            endif
            let actor := Params[actor_key]
            let Validity := call fnSexoutActorValid actor
            if Validity != 1
                let Abort := 1
                break
            endif
            if 0 == (GetInGrid actor, -1)
                PrintD "SexoutActRunFull: Aborting, "+$actor+" is not the the uGrid!"
                let Abort := 1
                break
            endif
            if eval (call fnSexoutActorInUse actor)
                PrintD "SexoutActRunFull: Aborting, "+actor_key+" ("+$actor+") is in use"
                let Abort := 1
                break
            endif

            if eval (Ar_Find actor, Actors) > -1
                PrintD "SexoutActRunFull: Erasing duplicate actor "+actor_key+" ("+$actor+")"
                Ar_Erase Params, actor_key
            else
                Ar_Append Actors, actor
                if eval (PlayerREF == actor) ; if player involved, make them the spell target
                    let rTarget := PlayerREF
                endif
            endif
        endif
    loop

 

 

In conclusion:

- Adding timings in Breeder would temporarily fix the problem but would not guarantee reliable operation in the future (NG may continue to evolve and add actions between the CB stuffs and the release of the actors).

- Checking fnSexoutActorInuse / fnSexoutAnyInUse or checking the return value of fnSexoutActRunFull so that calling the act again until this function return '1' will permanently solve the problem.

 

Edited by Machiavelique
Posted
43 minutes ago, Machiavelique said:

- Checking fnSexoutActorInuse / fnSexoutAnyInUse or checking the return value of fnSexoutActRunFull so that calling the act again until this function return '1' will permanently solve the problem.

tried timers and this before got to read this comment, fnSexoutActorInuse did work well, but now need to restructure like whole mod from calling the same dialog over and over again, as variable changes not as fast enough, and also most of breeder's sexout calls do rely on tokens that now may not work correctly

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
×
×
  • Create New...