Jump to content

SexoutNG - Beta (2.10.93b10) release thread


Recommended Posts

I do not understand what you mean.

 

You select a specific animation with Sexout.anim (old way) or the 'anim' NX/UDF var (new ways).

 

If you provide refSurface as well, pointing to the pillory, sexout will use it. If you don't provide refSurface, it will use the AO version of the animation, which 'spawns' the pillory temporarily.

Link to comment

Below screenshot of error I had today with current beta:

 

post-45831-0-49773900-1414243526_thumb.jpg

 

Error occured after initiating sex thru dialogue by quest aaraiderDialogue of FalloutTTWQuestoverhaul.

Sex initiated from dialogue result script as follows:

 

 

call aaraiderFunctionSex "Vaginal"

 

Related function script:

 

 

ScriptName aaraiderFunctionSex

String_var SexType
ref Raider
int SexExperience

Begin function{SexType}
let Raider := GetSelf
cios aaasexspellraider
let aaquest.aaraidersex += 1
let SexExperience :=Rand 10 30
player.rewardxp SexExperience


call fnSexoutActPrep

if eval SexType == "Oral"
call fnSexoutActSetRef "actora" Raider
call fnSexoutActSetRef "actorb" playerRef
call fnSexoutActSetRef "CBDialogA" aaaraidersOralafter
call fnSexoutActSetInt "IsOral" 1


elseif eval SexType == "Vaginal"
call fnSexoutActSetRef "actora" Raider
call fnSexoutActSetRef "actorb" playerRef
call fnSexoutActSetRef "CBDialogA" aaaraidersVaginalafter
call fnSexoutActSetInt "IsVaginal" 1


elseif eval SexType == "Anal"
call fnSexoutActSetRef "actora" Raider
call fnSexoutActSetRef "actorb" playerRef
call fnSexoutActSetRef "CBDialogA" aaaraidersAnalAfter
call fnSexoutActSetInt "IsAnal" 1


elseif eval SexType == "OralRev"

call fnSexoutActSetRef "actora" PlayerRef
call fnSexoutActSetRef "actorb" Raider
call fnSexoutActSetRef "CBDialogB" aaaraidersOralAfterReverse
call fnSexoutActSetInt "IsOral" 1

endif


call fnSexoutActRun

If GetquestRunning aaraider
let aaraider.timerday := GameDaysPassed + 1
let aaraider.raiderday := 0
endif

if aaquest.aaraidersex == 25
If player.getav endurance != 10
showmessage aaquestendurance
player.modav endurance 1
endif

endif

sv_destruct SexType ; DESTROY STRING! DON'T FORGET JUST IN CASE.
end

 

 

No issues with current Stable version (2.7.88).

 

 

 

Link to comment

Yep, running with lastest version of NVSE and NX.

After I got the error, I only deactivated SexoutNG beta in FOMM, run the same scene again, no problems.

Activated the beta again, ran the same scene again and the error came up again

 

EDIT.

 

Weird, very weird ..

 

continued playing with the beta, completed the GNR sequence and all of a sudden everything with the raiders is now working as expected.

So forget about this.

Link to comment

Wow that's really strange. Nothing in that particular script (fnSexoutActPrep) has changed since v85, and the script that initializes the array hasn't changed either except to bump version #s. It is odd that there are three errors from prep showing in the screenshot, all with the same offset -- that would indicate that the UDF is being called three timess and failing on the same line. That UDF should only be called once per act, and I only see it once in your script.

 

Are you sure you're not calling it more than once somewhere else? If you open sexout.esm in FNVEdit, does the ID match? The one in the log "xx08C337" should be fnSexoutActPrep.

Link to comment

Well, I don't know what to say. It looks like something is calling that script more than once in that case. If it happens again, stick some logging lines in it so you can see if that's the case. Maybe something in your save corrupted the sexout array and caused some of these problems, I really can't say.

Link to comment
  • 3 weeks later...

Currently I have a formlist in SCR that Odessa and myself have be adding any actors using NX variables to so that SCR would clear their NX variables for those mods if they failed an IsModLoaded check. We just have a line in our mods that adds actors using Pregnancy, Wear & Tear, Assault etc to the list.

We just realised it doesn't work because the formlists empty, so Odessa suggested we use an array instead, this got me thinking further, that maybe Sexout itself should have an array that stores all the actors engaging in sex animations and we could pull our data from that instead? I'm not sure if it would also be handy for debugging or something perhaps to have such an array.

 

Maybe you could have an MCM button to clear the SexoutNG variables or remove tokens using that list too.

 

scn SexoutSCRS00ResetNXVar

; *** Reset NX variables for mods not detected

; *** use this to add actors to list for variable clearing, add this to plugins when NX variables are used
;	if NX_IsInList SexoutSFLDataActorsUsingNX rZActor == 0
;		ListAddForm SexoutSFLDataActorsUsingNX rZActor
;	endif

ref rZActor
int iCnt
int iCounter

BEGIN GameMode

	Set iCounter to iCounter + 1
	if iCounter > 999
		Set iCounter to 0
		Set iCnt to ListGetCount SexoutSFLDataActorsUsingNX
		Label 1
		if iCnt > 0
			Set iCnt to iCnt - 1
			Set rZActor to ListGetNthForm SexoutSFLDataActorsUsingNX iCnt

; *** Reset NX in SexoutPregnancy
			if IsModLoaded "SexoutPregnancyV3.esm" == 0
				rZActor.NX_ClrEVFl "SOP" 2
				rZActor.NX_ClrEVFo "SOP" 2
				DebugPrint "SCR: Pregnancy NX Variables Reset %3.0f" iCnt
			endif

; *** Reset NX in SexoutDrugging
			if IsModLoaded "SexoutDrugging.esm" == 0
				rZActor.NX_ClrEVFl "SOD" 2
				rZActor.NX_ClrEVFo "SOD" 2
				DebugPrint "SCR: Drugging NX Variables Reset %3.0f" iCnt
			endif

; *** Reset NX in Another Kick in the Head
			if IsModLoaded "Another-Kick-In-The-Head.esm" == 0
				rZActor.NX_ClrEVFl "AKH" 2
				rZActor.NX_ClrEVFo "AKH" 2
				DebugPrint "SCR: Another Kick NX Variables Reset %3.0f" iCnt
			endif

; *** Reset NX in Wear & Tear
			if IsModLoaded "Sexout-Wear-And-Tear.esp" == 0
				rZActor.NX_ClrEVFl "AKH" 2
				rZActor.NX_ClrEVFo "AKH" 2
				DebugPrint "SCR: Wear & Tear NX Variables Reset %3.0f" iCnt
			endif

			ListRemoveForm SexoutSFLDataActorsUsingNX rZActor
			goto 1
		endif ; *** End Actor list loop
		StopQuest SexoutSQResetNXVAR
	endif

END

Link to comment
  • 3 weeks later...

Beta7 in OP

Changes:

 

Features done, available in the beta, and fully tested:

- startconversation retry delay set to 1.5s

 

Features done, available in the beta, partially tested:

- SexoutNG.bSexoutReady actually works now. Use it! This var is set to 0 every time sexout starts, and set back to 1 once any sexout update is stuff. You MAY need a small delay in your script, initially, to wait for the sexout quest to set it from 1 to 0 on game load. This will be augmented at a later date with a UDF or something that you can call whenever you want, to provide it with a udf/spell of your own, for it to call/cast when it's ready.

 

Features done, available in the beta, untested:

- Stop casting SexoutCumming if bUseLust == 1

Link to comment
  • 2 weeks later...
  • 2 weeks later...
Guest tomm434

Prideslayer, does it mean that I have the right to cast "CleanUP" function on actors and they will be clean up even if they are in another cell?

Link to comment

I still don't know what's causing the FinishNow problem.  But removing the tokens didn't really solve the issue.  The problem of it killing the callback dialog on the actor it happens on still persists.  Makes me wonder what all mods are using FinishNow?  I'm going to try and find out if FinishNow is in fact being cast more than once somehow, will report back.

 

EDIT: Tried the same save several times.  The first time it failed so I came back and posted this as a result.  The next 5 tries while testing for multiple instances worked as expected.  This was previously 100% reproducible on this particular save, so something good must have happened.  No multiple casts as far as I can tell either.  Thanks.

 

EDIT EDIT:  Quick question.  I did notice during a 3way that Spunk casts FinishNow one time on both NPC actors involved (A and C in this case).  In my own script I only ever cast it on one individual in the act, including 3ways.  Should I cast FinishNow on all of the parties involved instead?

 

 

Edited by t3589
Link to comment

Prideslayer, does it mean that I have the right to cast "CleanUP" function on actors and they will be clean up even if they are in another cell?

Heh.. what? :) Cleanup is a UDF not a spell, sexout automatically calls it when the act is over. You shouldn't need to call it yourself, but doing so shouldn't do any harm.

 

 

I still don't know what's causing the FinishNow problem.  But removing the tokens didn't really solve the issue.  The problem of it killing the callback dialog on the actor it happens on still persists.  Makes me wonder what all mods are using FinishNow?  I'm going to try and find out if FinishNow is in fact being cast more than once somehow, will report back.

 

EDIT: Tried the same save several times.  The first time it failed so I came back and posted this as a result.  The next 5 tries while testing for multiple instances worked as expected.  This was previously 100% reproducible on this particular save, so something good must have happened.  No multiple casts as far as I can tell either.  Thanks.

 

EDIT EDIT:  Quick question.  I did notice during a 3way that Spunk casts FinishNow one time on both NPC actors involved (A and C in this case).  In my own script I only ever cast it on one individual in the act, including 3ways.  Should I cast FinishNow on all of the parties involved instead?

You "should" only cast it once on one actor in the act, but I realize (now) that multiple mods might want to stop the same act, unaware of each other -- or that even one mod might do it multiple times because keeping track of "have I done this anywhere before now, for this particular act?" is difficult.

 

So the fix in the beta is to make casting it multiple times on the same (or different) actors in a single act harmless, rather than potentially harmful.

Link to comment
Guest tomm434
Heh.. what? :) Cleanup is a UDF not a spell, sexout automatically calls it when the act is over. You shouldn't need to call it yourself, but doing so shouldn't do any harm.

I haven't been in this thread for too long. I thought you found the solution for actors who stucked locked by Sexout in another cell. :)

Link to comment

Oh... no. I don't think there is a damn thing I can do about them as long as they remain in that cell, but I DO have a plan for fixing them when they reenter the current cell.

 

What I can do is keep track of all the actors currently engaged by sexout in a masterlist, an array or formlist. The main sexout effect I can set to update an NX var (a timestamp) on all the actors every so often. If my watchdog quest script sees an actor in the current cell that is locked, and their timestamp is not increasing, it can forcibly release/unlock them.

 

This is going to be a little tricky to get right outdoors since you can have two actors touching and working properly, but still in separate cells, so some getdistance stuff while outdoors will be required instead of the cell check.

 

I believe this will work.

Link to comment

Not even sure if you can consider this a bug, but using sexout system and exit and load another save game will transport you to room with no floor. :D so the only fix is fully exout fallout new vegas and and then run it again. Can something be done about this or is it something we need to live with ??

Link to comment
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use