BruceWayne Posted October 30, 2012 Posted October 30, 2012 Hello my fellow modders and moddees! I'm hunting this bug since I've started working on Sexout Affairs. The problem is , that even after defining a specific sextype, the wrong animations get picked. The sequence should be M->F oral, F->M oral, M->F vaginal. The problem I'm having now is, that in around 3/4 of the cases, I get duplicate sextypes. For instance, after an eating out animation in the first act, I get the same animation for 2nd and 3rd too. Sometimes it picks the right one for the 2nd step, but it goes on and plays the 2nd animation for step 3. This is somehow not reproducable for me. It isn't dependant on the animation, as sometimes it works and sometimes it doesn't when playing specific anims. It happens independantly of Sexout Version too, at least for the newest version and the one that came before that. I tried calling for exact anims (by picking their number in the script) and it still does it. As I'm running out of ideas what to do, I turn to you, in the hopes that someone might have an answer. I attached my script below. The magic starts at stage 5. Stages progress with callback-dialogue from that point on. Script processing delay is 3 secs. scn SOASexScript ;Quest script ref sexP ;SexPartner ref sexhl ;Sex at partner's home location ref sexhere ;Sex at current location int sexstage int sextravel int afsex int sextracker Begin gamemode if (GetGameLoaded || GetGameRestarted) if ( 0 !=sexP && 0 != sexhl && sexstage < 5) sexP.removescriptpackage SOADateTravelSexLocation sexP.removescriptpackage SOASexFollow sexP.evp set sextracker to 0 set afsex to 0 MarkerRat02.moveto rathome MarkerRat02.disable set sexstage to 0 endif endif if (0 == sexP || 0 ==sexhl || (sexP.getdead == 1) ) DebugPrint "SOASex: no partner or no location or sexpartner died, aborting quest" set sexstage to 0 set sextracker to 0 set sexP to 0 set sexhl to 0 set afsex to 0 MarkerRat02.moveto rathome MarkerRat02.disable stopquest SOASex elseif (0 != sexP && 0 != sexhl) if sexstage == 0 set afsex to 1 DebugPrint "SOASex: Sexstage %.0f" sexstage MarkerRat02.enable MarkerRat02.moveto sexhl printc "SOASex: Sexpartner %n, Sex location %n" sexP sexhl set sexstage to 1 elseif sexstage == 1 DebugPrint "SOASex: Sexstage %.0f" sexstage sexP.addscriptpackage SOADateTravelSexLocation set sexstage to 2 elseif sexstage == 2 && sextravel == 1 DebugPrint "SOASex: Sexstage %.0f" sexstage set sexstage to 3 elseif sexstage == 3 && sextravel == 0 DebugPrint "SOASex: Sexstage %.0f" sexstage sexP.removescriptpackage SOADateTravelSexLocation sexP.addscriptpackage SOASexFollow set sexstage to 4 elseif sexstage == 4 DebugPrint "SOASex: Sexstage %.0f" sexstage sexP.startconversation playerref 000SOASexBefore elseif sexstage == 5 ;Eating out DebugPrint "SOASex: Sexstage %.0f" sexstage sexP.NX_SetEVFl "Sexout:Start::CallVer" 1 sexP.NX_SetEVFo "Sexout:Start::ActorA" sexP sexP.NX_SetEVFo "Sexout:Start::ActorB" playerRef sexP.NX_SetEVFl "Sexout:Start::isOral" 1 sexP.NX_SetEVFo "Sexout:Start::CBDialogA" 000SOASexAfter sexP.CIOS SexoutBegin set sextracker to 1 set sexstage to 8 elseif sexstage == 6 ;Blowjob DebugPrint "SOASex: Sexstage %.0f" sexstage sexP.NX_SetEVFl "Sexout:Start::CallVer" 1 sexP.NX_SetEVFo "Sexout:Start::ActorA" playerRef sexP.NX_SetEVFo "Sexout:Start::ActorB" sexP sexP.NX_SetEVFl "Sexout:Start::isOral" 1 sexP.NX_SetEVFo "Sexout:Start::CBDialogB" 000SOASexAfter sexP.CIOS SexoutBegin set sextracker to 2 set sexstage to 8 elseif sexstage == 7 ;vaginal sex DebugPrint "SOASex: Sexstage %.0f" sexstage sexP.NX_SetEVFl "Sexout:Start::CallVer" 1 sexP.NX_SetEVFo "Sexout:Start::ActorA" playerRef sexP.NX_SetEVFo "Sexout:Start::ActorB" sexP sexP.NX_SetEVFl "Sexout:Start::isVaginal" 1 sexP.NX_SetEVFo "Sexout:Start::CBDialogB" 000SOASexAfterNew sexP.CIOS SexoutBegin set sextracker to 3 set sexstage to 8 elseif sexstage == 8 DebugPrint "SOASex: Sexstage %.0f, Moaning" sexstage sexP.sayto sexP 000SOASexMoans elseif sexstage == 9 DebugPrint "SOASex: Sexstage %.0f, last stage" sexstage sexP.removescriptpackage SOASexFollow sexP.evp sexP.additem SOASex24CDToken 1 1 set sexstage to 0 set sextracker to 0 set sexP to 0 set sexhl to 0 set afsex to 0 MarkerRat02.moveto rathome MarkerRat02.disable stopquest SOASex endif endif end Here is an example of eating out gone horribly wrong! After playing that animation with reversed Actors at stage 5, it produced this at stage 6 and 7 in the script.
zippy57 Posted October 30, 2012 Posted October 30, 2012 I've been having a similar issue myself. Calling an oral animation in a callback after a vaginal animation is resulting in an oral animation being played. The same code that plays the animation works as intended if it's called after the dialogue tree is closed and re-opened. I've also had an issue where A&B are not assigned to the proper roles when running an oral animation. The API says that B should be the one getting the blowjob but Sexout is assigning A to that role.
BruceWayne Posted October 30, 2012 Author Posted October 30, 2012 The most frustrating part is, that it sometimes works as intended... If that weren't the case, I'd know that I am doing something wrong. Well, I most likely am, but still...
DoctaSax Posted October 30, 2012 Posted October 30, 2012 Whatever it is seems to be connected to calling the NG stuff from the quest script & presumably setting the stages through the end result scripts of the callback dialog - maybe you should try calling the NG stuff directly from the end result scripts? I'm guessing with a quest delay timer at 3 secs, maybe sometimes things don't get set as they should. With result scripts, the effect is always immediate.
BruceWayne Posted October 30, 2012 Author Posted October 30, 2012 Whatever it is seems to be connected to calling the NG stuff from the quest script & presumably setting the stages through the end result scripts of the callback dialog - maybe you should try calling the NG stuff directly from the end result scripts? I'm guessing with a quest delay timer at 3 secs' date=' maybe sometimes things don't get set as they should. With result scripts, the effect is always immediate. [/quote'] Well, it's the same for a 0.1, 1, 5 and 10 sec. delay, because I tried those too. It could be worth a try, but with zippy reporting similar issues for his dialogue-induced calls, I fear the result will be the same. Is there by any chance a method I could call, that clears out all sexout variables, so that they have to be set anew? Maybe clearing out the variables, before progressing, would do the trick.
DoctaSax Posted October 30, 2012 Posted October 30, 2012 Well, maybe I was barking up the wrong tree... so, what else could it be... Probably not leftover tokens, otherwise you'd have 2 people doing the same anim. But could be worth it to check the actors' inventories anyhow for something that shouldn't be there. Could be something in the Randomizer script that isn't doing what it should. In what I'm working on I've always set the anims directly, being a control freak & all that, & never seen problems that way. Or maybe something from some other mod is hooked into the global callbacks & messes things up that way. Does the error persist with no other sexout mods loaded? There's a spell called SexoutNGCleanup that's cast after sex that resets variables & handles callbacks. But if it's something there that doesn't work, force-casting it yourself will probably not help or even make things worse. Just guessing, of course.
zippy57 Posted October 30, 2012 Posted October 30, 2012 I've checked inventories multiple times (trying to figure out why an NPCs melee weapon is being equipped before sex but after they're stripped, causing them to perform sex animations while being stabbed in the hip), but never disabled all other Sexout mods because this is a personal mod of mine that I work on when I run into dead-ends with Agent and it contains a bunch of game-specific tweaks to other mods; I actually can't run without them. I'll have to strip it down to test.
BruceWayne Posted October 30, 2012 Author Posted October 30, 2012 Well' date=' maybe I was barking up the wrong tree... so, what else could it be... Probably not leftover tokens, otherwise you'd have 2 people doing the same anim. But could be worth it to check the actors' inventories anyhow for something that shouldn't be there. [/quote'] Hmm, I haven't checked that. Might be worth a try, to see what's going on Could be something in the Randomizer script that isn't doing what it should. In what I'm working on I've always set the anims directly, being a control freak & all that, & never seen problems that way. Or maybe something from some other mod is hooked into the global callbacks & messes things up that way. Does the error persist with no other sexout mods loaded? I currently have SCR, SOStore, SOSex, SOCompanions, SOFadeToBlack, SOConsequences, SODiscounts and SOZaz loaded. IIRC those don't hook directly into an act. Here is a complete Loadorder: FalloutNV.esm DeadMoney.esm HonestHearts.esm OldWorldBlues.esm LonesomeRoad.esm GunRunnersArsenal.esm ClassicPack.esm iHUD.esm CINEMATECH.esm Primary Needs HUD.esm Project Nevada - Core.esm Project Nevada - Equipment.esm rePopulated Wasteland.esm Sexout.esm SexoutCommonResources.esm Project Nevada - Rebalance.esp Project Nevada - Cyberware.esp SexoutStore.esm Lings.esm ELECTRO-CITY - CompletedWorkorders.esm ELECTRO-CITY - Highways and Byways.esm New Vegas Redesigned II.esm Mission Mojave - Ultimate Edition.esp MMUE-CP-Electrocity.esp DarNifiedUINV.esp CASM.esp Readius_NV.esp The Mod Configuration Menu.esp The Weapon Mod Menu.esp SmallerTalk.esp populatedcasino.esp Project Nevada - Dead Money.esp Project Nevada - Honest Hearts.esp Project Nevada - Old World Blues (No Cyberware).esp Project Nevada - Lonesome Road.esp Project Nevada - Gun Runners' Arsenal.esp Project Nevada - Extra Options.esp Casino Exchange All.esp DragonskinTacticalOutfit.esp DragonskinBonusPack.esp SecretStash80.esp Goodsprings Filler.esp TheCollector.esp GRA - The Right to Bear Arms.esp DTO-ProjectNevada.esp CNR_Beta.esp housemod.esp iL-Camouflage Ghost Bodysuit.esp merccustom.esp jotoughgirl.esp SalvagedCourierDLC04.esp SGD's Black Bandana.esp VegasOutfits.esp WastelandCourier.esp ManualReload.esp New Vegas redesigned- Honest Hearts.esp BlackMountainThugArmorT6m.esp MMUE-CP-PNCore.esp NewVegasBounties.esp Type 6.esp T6M Combat Uniform NV.esp MojaveDelight.esp MediumBeard.esp SideburnsBeardShort.esp Sideburns.esp NVWillow.esp dD - Enhanced Blood Main NV.esp dD-Reduced Ragdoll Force.esp MCL_Weapon_Pack_1.4.esp WeaponModsExpanded.esp WMX-ModernWeapons.esp WMX-DeadMoney.esp WMX-HonestHearts.esp WMX-OldWorldBlues.esp WMX-LonesomeRoad.esp WMX-GunRunnersArsenal.esp WMX-PreOrderPackClassic.esp SexoutCompanions.esp SexoutSex.esp SexoutFadeToBlack.esp SexoutConsequences.esp SexoutDiscounts.esp SexoutZAZ.esp SexoutAffairs.esp SexoutAffairsMojaveDelight.esp Project Nevada - WMX.esp ProjectRealityMkIv5HDR.esp DYNAVISION 2 - Dynamic Lens Effect.esp ELECTRO-CITY - Imaginator.esp Directors Chair.esp Bashed Patch, 0.esp FlashlightNVSE.esp Total active plugins: 92 Total plugins: 108 No sexout mods are in the Bashed patch. (Except SOWillow) I haven't cleaned up the LO for a while, so it's a little messy. There is a merged Patch that got bashed in. Game runs very stable. There's a spell called SexoutNGCleanup that's cast after sex that resets variables & handles callbacks. But if it's something there that doesn't work, force-casting it yourself will probably not help or even make things worse. Just guessing, of course. I'll look into that. Maybe doing a second cleanup, might do the trick. Maybe I shouldn't do that in the same frame, as the SO-call, though. I've checked inventories multiple times (trying to figure out why an NPCs melee weapon is being equipped before sex but after they're stripped' date=' causing them to perform sex animations while being stabbed in the hip), but never disabled all other Sexout mods because this is a personal mod of mine that I work on when I run into dead-ends with Agent and it contains a bunch of game-specific tweaks to other mods; I actually can't run without them. I'll have to strip it down to test. Yeah, that bug got somehow reintroduced with the new SexoutNG. I didn't have it with the previous version. It's any sort of weapon. My male PC doesn't seem to be affected, but all the female NPCs never unequip their weapons or in the worst case, have them sticking out of them, like shown in your pic.
jaam Posted October 30, 2012 Posted October 30, 2012 Did you try to enable sexoutNG debug mode and write everything out with SCOF ? If your parameters are not taken into account or if something else interfere it should show up.
BruceWayne Posted October 30, 2012 Author Posted October 30, 2012 Did you try to enable sexoutNG debug mode and write everything out with SCOF ? If your parameters are not taken into account or if something else interfere it should show up. No, I did not. But I have done it now. I can't make anything of it. First sex sequence was correct and the second one played the same animation three times in a row. Here's the file. After the 2nd message ("SOASex: Sexpartner Inga, Sex location Ruined Couch") the corrupted sequence begins.
srayesmanll Posted October 31, 2012 Posted October 31, 2012 Looking at the debug text, I see a pattern where NGClean text shows the dialog callback. Usually these are followed by 3 more NGClean calls: NGClean (59): Startconversation: Inga (53001F4F) 1 NGClean (59, 59) (53001F4F) : stage 110 -> 120 'Inga' NGClean (59, 59) (53001F4F) : stage 120 -> 200 'Inga' NGClean (59, 0) (53001F4F) : stage 200 -> 1000 'Inga' The numbers increment from 57 to 59, and they appear to be some counter. After the random animation number 236 is performed (not sure what the anim is, but probably the oral repeating that you mentioned), the dialog callback was done BUT the 3 NGClean calls were not done: NGClean (60): Startconversation: Inga (53001F4F) 1 (only this one, no following NGCleanup) Something caused the Cleanup code to crap out. Once that happened, it appeared to repeat that last anim (236) every time, as if you had passed it in: NGSAN: 2 actors O=30 V=60 A=10 type=3 AnimA=236 AnimB=236 AnimC=236 noAnim=0 So instead of getting the randomized sex, it continually repeated the last anim (which is what you are seeing). It also continued to skip those other NGClean calls once it started repeating. I'm not somewhere I can look this up, but I'd look at the cleanup script searching for the "Startconversation" and see if it has any conditions after that NBCleanup call for skipping the other cleanup calls. By the way, as for the picture in the OP - she's just tossing a little salad, that's all .
BruceWayne Posted October 31, 2012 Author Posted October 31, 2012 Looking at the debug text' date=' I see a pattern where NGClean text shows the dialog callback. Usually these are followed by 3 more NGClean calls: [b']NGClean (59): Startconversation: Inga (53001F4F) 1 NGClean (59, 59) (53001F4F) : stage 110 -> 120 'Inga' NGClean (59, 59) (53001F4F) : stage 120 -> 200 'Inga' NGClean (59, 0) (53001F4F) : stage 200 -> 1000 'Inga'[/b] The numbers increment from 57 to 59, and they appear to be some counter. After the random animation number 236 is performed (not sure what the anim is, but probably the oral repeating that you mentioned), the dialog callback was done BUT the 3 NGClean calls were not done: NGClean (60): Startconversation: Inga (53001F4F) 1 (only this one, no following NGCleanup) Something caused the Cleanup code to crap out. Once that happened, it appeared to repeat that last anim (236) every time, as if you had passed it in: NGSAN: 2 actors O=30 V=60 A=10 type=3 AnimA=236 AnimB=236 AnimC=236 noAnim=0 So instead of getting the randomized sex, it continually repeated the last anim (which is what you are seeing). It also continued to skip those other NGClean calls once it started repeating. I'm not somewhere I can look this up, but I'd look at the cleanup script searching for the "Startconversation" and see if it has any conditions after that NBCleanup call for skipping the other cleanup calls. By the way, as for the picture in the OP - she's just tossing a little salad, that's all . Lol. I just had a quick glance at the cleanup script and found the debug you mentioned. (NGClean (60): Startconversation: Inga (53001F4F) 1) I'm not going to lie, but this is way above my head. I think I'm getting the gist of it, but reverse-engineering Sexout is not my strong suit, nor my idea of fun. If I'd have to guess: the callback happens to quick (sometimes), the conversation starts, the cleanup script runs only in gamemode, it doesn't finish, my script fires a new sexout call after the conversation ends, sexout is confused and takes the parameters it already knows, because it doesn't know a new scene started (or that the old one ended) and the old one is still in memory, hilarity ensues... Or something to that effect.
srayesmanll Posted October 31, 2012 Posted October 31, 2012 Maybe instead of doing a dialog callback, you do a spell callback? Inside the spell callback you start the dialog (StartConversation). Maybe this will delay the dialog enough for the cleanup script to finish out. I've never used the dialog cb before so I'm not very versed on it.
BruceWayne Posted October 31, 2012 Author Posted October 31, 2012 Maybe instead of doing a dialog callback' date=' you do a spell callback? Inside the spell callback you start the dialog (StartConversation). Maybe this will delay the dialog enough for the cleanup script to finish out. I've never used the dialog cb before so I'm not very versed on it. [/quote'] Interesting. It's the other way for me around, actually. I've never used anything, but dialogue callback. I'm going to give this a shot and report, if it resolves it.
jaam Posted October 31, 2012 Posted October 31, 2012 The issue with the last two acts is that they are not randomized because the sex anim number is already set when calling CIOS SexoutBegin. I suppose they should have been cleared before. What are the scripts called by the conversations ? Depending on the calling convention debugging will change.
BruceWayne Posted October 31, 2012 Author Posted October 31, 2012 The issue with the last two acts is that they are not randomized because the sex anim number is already set when calling CIOS SexoutBegin. I suppose they should have been cleared before. What are the scripts called by the conversations ? Depending on the calling convention debugging will change. I'm not sure if that's what you mean, but I don't call Sexout with dialogue. All calls are in the quest script and I progress to the next stage with callback dialogue. They are all using the new calling convention (see OP, stage 5 onwards).
jaam Posted October 31, 2012 Posted October 31, 2012 Sorry forgot the script was posted. Could you run another debug session, but this time with both NG and your module in debug mode ? The various DebugPrint in your script do not show.
BruceWayne Posted October 31, 2012 Author Posted October 31, 2012 Sorry forgot the script was posted. Could you run another debug session' date=' but this time with both NG and your module in debug mode ? The various DebugPrint in your script do not show. [/quote'] Here you go. It contains 4 scenes. 1st sequence: played every part correct. 2nd sequence: 3rd act is the same as the 2nd. 3rd sequence: 2nd is the same as first, 3rd act is correct 4th sequence: 2nd and 3rd act are the same as the first I had to progress my script with the console in two cases, because I did some changes to the way the travel package works and it doesn't work correctly at the moment. This shouldn't be a factor, as it doesn't affect the sex scene and it happened before too.
jaam Posted October 31, 2012 Posted October 31, 2012 As a possible workaround, try adding sexP.NX_SetEVFl "Sexout:Start::animA" 0 as part of sexstage 5, 6 and 7 It should be done by NGClean, but seems not.
BruceWayne Posted November 1, 2012 Author Posted November 1, 2012 As a possible workaround' date=' try adding sexP.NX_SetEVFl "Sexout:Start::animA" 0 as part of sexstage 5, 6 and 7 It should be done by NGClean, but seems not. [/quote'] Unfortunately that doesn't fix it. The only thing that changes, is that ActorA doesn't play an animation at all, if the problem occurs. Erected body gets equipped fine, but he just stands there doing nothing. She (ActorB) proceeds on playing the eating out animation.
jaam Posted November 1, 2012 Posted November 1, 2012 This is "explained" here: NGSAN: 2 actors O=30 V=60 A=10 type=1 AnimA=0 AnimB=401 AnimC=401 noAnim=0 My bad for not opening the script: SexoutNGRAN only checks animA, but NGSAN controls A, B and C. So can you also set animB and animC to 0 ?
BruceWayne Posted November 1, 2012 Author Posted November 1, 2012 Okay, on to round two. Actually I was wondering, why it only had to be animA. But if I knew how Sexout works, I wouldn't have to ask... Does it matter at which point I inject those lines? Or is it just part of the standard call and has to come between CallVer and SexoutBegin like all the others?
jaam Posted November 1, 2012 Posted November 1, 2012 As long as it is between CallVer and CIOS it is ok.
BruceWayne Posted November 1, 2012 Author Posted November 1, 2012 As long as it is between CallVer and CIOS it is ok. Okay' date=' very first try resulted in playing a blowjob animation for the 3rd stage. BUT all subsequent tries were succesful! I can live with that... I made a scof file, but botched it up somehow, while viewing with notepad. I'll make a new one later, if there is interest. Thank you very much! While we are at it... The new Sexout version somehow introduced the "weapons don't get unequipped" bug for me. I read somewhere that Prideslayer is aware of its existence. The problem is, I never encountered this bug before updating Sexout to 2.6.71. I guess I could remove the weapons on my end for scenes in my mod. But the problem would still persist for the rest. [img']http://imageshack.us/a/img717/3240/weaponbug01.jpg[/img]
ChancellorKremlin Posted November 1, 2012 Posted November 1, 2012 Nice to see that the wrong animation but seems to have been hunted down and destroyed without mercy or let. The weapon bug is infrequent and not something really in your control. I do wonder why it vanishes in some updates, only to re-appear in others.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now