Jump to content

Sexout picks wrong animations


BruceWayne

Recommended Posts

Posted

Nah, unfortunately I get it every time with 2.6.71. Sometimes the weapon is holstered and sometimes it's lodged in as shown above.

Posted

Anyway it's not solved. What you changed is a workaround. There is still the issue of knowing why NGClean is'nt effective. But that has to be corrected into SexoutNG or in the extender.

Posted

Well, it's solved for me, as my script now mostly works as intended.;)

 

Btw, the offer still stands. I'm going to test my plugin a lot, so it wouldn't be a big deal for me, to do more log files. If that helps you or anyone else working on sexout, I'll gladly provide more of them.

  • 6 months later...
Posted

Everything in my little sexout callback debugging brain says that in the dialog script, something "bad" is being done that is screwing up subsequent events. Jaam and I spent a lot of effort into getting the callbacks as bulletproof as they can be back in september or october, and as it stands now, no type should be any more or less reliable than any other. If the callback is fired, sexout is 'convinced' that it's done with the actors and ready to move on.

 

I haven't looked at the download and don't know if it's up to date or not, but I'm curious about a few things.

 

1. The dialog script.

2. The script that's setting 'sexstage' to the next value, if that's not the one from #1.

3. The sexout value (Variable04) and any sexout tokens on the actors involved when that dialog is run.

 

If you could share #1 and #2, remove #1, run the quest and dump #3, it would probably help. If you save the game here, the NX savefile that gets created will also have all the NX variables in it and I can see if any are being left behind or 'wrong'.

 

I don't see any evidence in the trace that NGClean is bombing out or not running to completion.

Posted

No problem.

 

The current quest script with the addition of jaam's suggested resets:

 

 

 
scn SOASexScript

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	
		elseif sexstage == 3 && sextravel == 0
			DebugPrint "SOASex: Sexstage %.0f" sexstage
			sexP.removescriptpackage SOADateTravelSexLocation
			sexP.addscriptpackage SOASexFollow
			sexP.removealltypeditems SOASexWeaponBox 1 0 24
			sexP.removealltypeditems SOASexWeaponBox 1 0 40			
			set sexstage to 4
		elseif sexstage == 4
			DebugPrint "SOASex: Sexstage %.0f" sexstage
			sexP.startconversation playerref 000SOASexBefore
		elseif sexstage == 5																										
			DebugPrint "SOASex: Sexstage %.0f" sexstage	
			sexP.NX_SetEVFl "Sexout:Start::CallVer" 1
			sexP.NX_SetEVFl "Sexout:Start::animA" 0
			sexP.NX_SetEVFl "Sexout:Start::animB" 0
			sexP.NX_SetEVFl "Sexout:Start::animC" 0
			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																										
			DebugPrint "SOASex: Sexstage %.0f" sexstage	
			sexP.NX_SetEVFl "Sexout:Start::CallVer" 1
			sexP.NX_SetEVFl "Sexout:Start::animA" 0
			sexP.NX_SetEVFl "Sexout:Start::animB" 0
			sexP.NX_SetEVFl "Sexout:Start::animC" 0
			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																									
			DebugPrint "SOASex: Sexstage %.0f" sexstage	
			sexP.NX_SetEVFl "Sexout:Start::CallVer" 1
			sexP.NX_SetEVFl "Sexout:Start::animA" 0
			sexP.NX_SetEVFl "Sexout:Start::animB" 0
			sexP.NX_SetEVFl "Sexout:Start::animC" 0
			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
			SOASexWeaponBox.removealltypeditems sexP 1 0		
			sexP.additem Ammo9mm 1
			sexP.removeitem Ammo9mm 1
			sexP.resetai
			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
 

 

#1 and #2 are the same, the dialog result scripts contain only

set soasex.sexstage to 5,6,...
and are the scripts responsible for progression. Btw, in some very rare cases sexout throws a NGSAN 2.0.

 

As for #3, I'm going to attach a "scof" (or a save?) later tonight.

Posted

The SCOF output and the NX save (not the 'real' save, NX makes its own along side them) may help.

 

I should note, these are only really going to 'help' if they are without the 'fix' in place and with the error being demonstrated.. :)

 

There must be more than just those scripts.. or else it would keep setting the same value over and over, since the same dialog (000SOASexAfter) is being called each time.. or are you doing something 'creative' in the dialog topic that leads to different dialog paths and thus different scripts?

 

Slightly off topic, but me being me, I can't help but explain how I'd do this 'differently'..

 

 

Having the dialog script understand the different stages of your quest, in this case, seems like overkill, and definitely error prone as stages change and get renumbered which happens quite often in these kinds of quests. Personally, were I you, I'd simply create a 'continue' type flag and set it to 0 and set the next stage in each stage, and set it to 1 in the dialog script. If that didn't make any sense, I can provide an example. This is basically how sexout itself works, the quest script (and only the quest script) know about or modify the 'stages' internal to that script. External influences just start/stop/pause/delay the action.

 

 

Posted

Something must be really bonkers with the weapons staying equipped. If the latest release introduced the bug for you... makes me wonder why the following code that I added to the last release to the positioning script isn't functioning:

;BEGIN ASTYMMA ATTEMPTED WEAPON FIX
    set refWeapon to actor.GetEquippedObject 5
    if refWeapon
        actor.UnequipItem refWeapon 0 1
    endif
;END ASTYMMA ATTEMPTED WEAPON FIX

That was added into the portion of the script that runs every frame that the script runs during sex to maintain positioning/rotation.

Apparently something else needs to be done to correct this issue.

 

EDIT: Ermm, realizing this may have been a late response to an issue that is multiple versions old. Anyway, Prideslayer, may want to look at the code I listed above anyway to see if it's required/needed in any new releases you make.

Posted

If the weapon thing is still a problem in the current version, I will certainly go digging. If that doesn't fix it, I think I may try creating an invisible weapon and forcibly equipping it (with that no-unequip flag set) for the duration. The every-frame thing may bork up on occasion because, like most graphical things, it takes more than one frame for it to actually get removed.. and removing it also requires the actor to (often) play an animation putting the weapon away.

Posted

The SCOF output and the NX save (not the 'real' save, NX makes its own along side them) may help.

 

I should note, these are only really going to 'help' if they are without the 'fix' in place and with the error being demonstrated.. :)

 

There must be more than just those scripts.. or else it would keep setting the same value over and over, since the same dialog (000SOASexAfter) is being called each time.. or are you doing something 'creative' in the dialog topic that leads to different dialog paths and thus different scripts?

 

Slightly off topic, but me being me, I can't help but explain how I'd do this 'differently'..

 

 

Having the dialog script understand the different stages of your quest, in this case, seems like overkill, and definitely error prone as stages change and get renumbered which happens quite often in these kinds of quests. Personally, were I you, I'd simply create a 'continue' type flag and set it to 0 and set the next stage in each stage, and set it to 1 in the dialog script. If that didn't make any sense, I can provide an example. This is basically how sexout itself works, the quest script (and only the quest script) know about or modify the 'stages' internal to that script. External influences just start/stop/pause/delay the action.

 

 

 

I figured as much.

 

I set them to stage 8 for my "moaning" to create some basic facial animations. :) The script "parks" there and plays moans every 3 seconds (depending on script delay).

 

Okay, went ahead and tried it out. Removed the temporary fix.

 

For the life of me, I couldn't get them to fail. Yay, I guess... It failed in my recent playthrough though even with the fix. I keep trying and see if I catch it again. I have attached the Scof and Extender save file anyway. If you want to see a scof with failing scripts and both my and sexout debug, there is one in post #18, unfortunately without extender save.

 

I'm open to any kind of suggestions as to how make things better though. This was one of my first more complex attempts at fallout scripting. I'm sure there are numerous ways to do it more elegantly. :D I'm in no way fixated on keeping this script in its current shape or form. And since SOSReplacer implements the same method of creating facial animations during sex for NPCs, I wouldn't even need it for that.

 

Something must be really bonkers with the weapons staying equipped. If the latest release introduced the bug for you... makes me wonder why the following code that I added to the last release to the positioning script isn't functioning:

;BEGIN ASTYMMA ATTEMPTED WEAPON FIX
    set refWeapon to actor.GetEquippedObject 5
    if refWeapon
        actor.UnequipItem refWeapon 0 1
    endif
;END ASTYMMA ATTEMPTED WEAPON FIX
That was added into the portion of the script that runs every frame that the script runs during sex to maintain positioning/rotation.

Apparently something else needs to be done to correct this issue.

 

EDIT: Ermm, realizing this may have been a late response to an issue that is multiple versions old. Anyway, Prideslayer, may want to look at the code I listed above anyway to see if it's required/needed in any new releases you make.

 

:)

 

I think I didn't run into stuck weapons with your new version of sexout. I've only been using my mods and SexoutSex though.

Prideslayer.7z

Posted

I looked over that SCOF file from the first page and, to be honest, the output in there looked fine. I did only look closely at NGClean though since that's where the problem was being suggested.. The NX save is honestly no use when everything is working, thanks though. :)

 

If you want, you can try either Sewerslave or the Fiends tryout; both of those have very involved intro sequences using dialog callbacks and were very problematic for the callback system. If anything is going to break them again, it'll be one or both of those. If nothing else, sewerslave will show you how I intended callbacks to work and be used when I added them to NG.

 

You cold use either/both for inspiration, or possibly force a more reliable crash if there is indeed a problem somewhere in sexout.

Posted

Damn...

 

Oh well, I'll keep an eye on it. The whole idea with the quest for this "complex" sex scene was reusability for different characters, without having to create new ones everytime. But since I'm about to do things different with my new characters, I'm going to whip up something new, anyway. I'll check out sewerslave and fiends for inspiration. (what a sentence... :D

 

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