Jump to content

Adding some dialogue and making some additions to Sexout NCRCF, and have some questions getting animations to player after dialogue is complete.


Recommended Posts

Posted

So I really like the NCRCF mod and the conversion of it to use Sexout for certain scenes makes a lot of sense to me, and I'm looking to make some additions and dialogue tweaks of my own to flesh it out as much as I think I can.

To start with, I wanted to add a piece of dialogue to Chavez when Eddie sends you to either kill him or make him and his powder gangers leave the area. The dialogue I've added triggers when you try to leave the conversation and results in Chavez demanding you (a female PC in this case) have sex with him or he'll turn hostile and attack.

Problem is that I've added what I think is the necessary script fragment to trigger any rough animations from Sexout, but it isn't working. The dialogue is there, but leaving the conversation results in him acting like the confrontation is over and he's going to leave peacefully.

Screenshot 2026-07-10 195216.png

Posted

 

When you applied your script in GECK, did you get any compilation errors?

Cause when I try to insert your script into a dialogue, I get a compilation error. Then, when I open it again and go back to the Topic, the script is there, and I can click 'OK' without getting a compilation error, but that doesn’t mean the script is working. The GECK simply didn’t try to recompile it because there were no changes.

 

array_Flags Flags

...

let Flags := Ar_List "fast", "rape"

Call fnSexoutActRunFull (Ar_Map "ActorA"::NCRCFChavezREF, "ActorB"::PlayerREF)

SetStage VMS02 15

GECK doesn't know '...' and can't compile this script. Removing this line should allow your script to compile.

 

 

__________________________________________________

 

 

Next, you declare a list of flags that you don't use in the query. Perhaps you're doing this on purpose to make the query less ambitious so you can test it first (and in that case, it’s a good idea: you should always try to keep things as simple as possible when you don’t know how it supposed to work). If you want to add the flags to the sexout request, you need to write the following script:

array_Flags Flags

let Flags := Ar_List "fast", "rape"

Call fnSexoutActRunFull (Ar_Map "ActorA"::NCRCFChavezREF, "ActorB"::PlayerREF, "Flags"::Flags)

SetStage VMS02 15

Flags = Ar_Null

 

 

*Flags = Ar_Null : Clean up the Flags array. Otherwise, this array will continue to take up memory space, which could eventually cause save game bloat. Tbh, I don’t know whether newer versions of NVSE now handle the automatic clearing of arrays, but in the absence of any indication to the contrary, it’s best to assume they don’t.

You can also use the following query so that you don’t have to declare an array

 

Call fnSexoutActRunFull (Ar_Map "ActorA"::NCRCFChavezREF, "ActorB"::PlayerREF, "Flags"::(Ar_List "fast", "rape"))

SetStage VMS02 15

 

__________________________________________________

 

 

 

Generally speaking, I’d even advise you to start with even less ambitious goals

MessageBoxEx "Am I using the right topic for my sexout request?"

SetStage VMS02 15

 

*MessageBoxEx is a native GECK function, so it requires no plugins or loaded mods and is designed only to display text. So if your text appears you can try the sexout command

Posted

Honestly, I wasn't sure. When I did compile the script, it didn't seem to throw any obvious errors back at me. I had no clue that it still didn't mean the script was compiled, so I think that's definitely the case. Big thanks for bringing that up!

But anyway, I'll make the edits you suggested and see how they work out :)

And yeah with the flags, I just went into the sexout documentation that I could find and copied the script fragment it mentions for calling animations between actors. And I basically just went with a generic flag so any animation with that keyword was available, since I wasn't intending to go for anything specific.

Posted

After some testing with script fragments, I was able to get my dialogue result working :)
Just need to figure out how to delay the pop up message that appears and how to make Chavez and his gang flee from the area.

Posted (edited)

 

 

To delay:

If it's a pop-up window that you're calling using a MessageBox or something similar, you can use either
- 'CallAfterSeconds' with a lambda or a UDF
- A quest variable that you set to a specific value when you reach the desired conversation (e.g.: iStage = 10). Then all you have to do is specify in a quest script: if iStage = 10, then I start a countdown (using GetSecondsPassed), if the countdown reaches 0, I display the pop-up window.

 

Using `CallAfterSeconds` with a lambda is too complex for beginners, and using it with an UDF instead might be simpler, but I don't recommend it because if you do this every time, you'll end up with a bunch of UDFs just to display pop-up message. Unless you create a generic UDF for this with a variable as a parameter, but that will be a hassle to manage and maintain if you have to go back to your code years later.

 

Using a quest variable seems like a better approach to me and will help you get familiar with scripts, which will open up a lot more possibilities for you in the future.

 

 

To make Chavez and his gang flee:

- Using ForceFlee (but need hostile target around) or AI package

 

That will be much harder to do. Not only must you succeed in making Chavez and his gang flee, but you must also put an end to their escape.

 

You'll need to create an AI package that you've configured to make an NPC flee from the player (let's call it MyModnameFleeingPlayer).

You must then scan all the actors around Chavez, note all those who are of the same faction, and assign them the MyModnameFleeingPlayer AI package. Sometimes they may re-evaluate their AI package on their own and lose it, so you need to check regularly to see if they still have it and reactivate it if necessary. Finally, you must remove it when this AI package is no longer needed.

 

To scan all valid sexout actors, you can use the sexout scanner using fnSexoutGetLocalActors (supported by any Sexout version) or fnSexoutGetLocalActorsRange (supported only with SexoutNG 2.10.98 beta 3 and higher)

To add an AI package you need AddScriptPackage and possibly EvaluatePackage

To checkk current AI package you need GetIsCurrentPackage (eg: NCRCFChavezREF.GetIsCurrentPackage MyModnameFleeingPlayer  ; checks whether Chavez still has the ‘MyModnameFleeingPlayer’ AI Package active)

 

 

You’ll need a quest script to handle this properly.

I realise this might seem confusing and complicated at first. But there’s no getting round it, you’ll have to spend hours trying things out and studying mods that do similar things to understand and get the result you want.

Edited by Machiavelique
  • 2 weeks later...
Posted (edited)

Alright, apologies for the delay - was busy trying out a few things. So, I'll start with writing the quest script for the pop up message to be delayed. Is it possible to set it to trigger when that particular dialogue topic has finished instead of a quest stage being reached? Just curious because the quest the dialogue appears in is VFreeFormNCRCF and it doesn't seem to have any separate stages to use.

As a alternative, can I use the animation ending as a place for the delay timer to start?

I am thinking I'll get rid of the quest fragment script I've made and just make a dedicated quest script that triggers a scene after the dialogue choice is picked and the dialogue exits. It'll be more work, but it seems a bit more manageable at the end of the day - given I can take a look at the existing sex scene scripts NCRCF already has.
 

Anyway, this is the quest script I have so far. The intent is that this script is supposed to trigger the sex scene between the player and Chavez/ his men - and when the sexout scene ends a fade to black is triggered, and AFTER that the message then shows up and the quest (I Fought the Law, in this case) progresses.

So the script at the moment is adapted from one of the existing scenes in the mod. I have copied and pasted the structure, removed what I think is a attempt to any potential faction armour being worn from affecting hostility (which I did because in this case wearing faction armour seems a bit odd given the mod already takes your equipment away before this). and replaced the sexout scene trigger at the end with the modern framework's example of calling a scene as per the documentation. 
 

Quote

aaNCRCFSEXChavezScript01
========================
scn aaNCRCFSEXChavezScript01

begin gamemode

Player.MoveTo aaXMarkerSexSceneChavez01REF
aaNCRCFMurrayREF.MoveTo aaXMarkerSexSceneChavez01REF 50 0 0
Set GameHour to (GameHour + 2)
set VNPCFollowers.fFollowerWaitingLeaveDay to  ( GameDaysPassed + FollowerWaitTime )

;--Companions

If (VNPCFollowers.bVeronicaHired == 1) && (VeronicaREF.Waiting == 0)
    VeronicaREF.moveto aaXmarkerCompanionStorage
    set VeronicaREF.Waiting to 1;
    VeronicaREF.evp;
    aaNCRCFAreaAfterRapeDialogCompanion01.enable                                        ; Companion do comment after rape
endif

If (VNPCFollowers.bCassHired == 1) && (RoseofSharonCassidyREF.Waiting == 0)
   RoseofSharonCassidyREF.moveto aaXmarkerCompanionStorage
    set RoseofSharonCassidyREF.Waiting to 1;
    RoseofSharonCassidyREF.evp;
endif

If (VNPCFollowers.bBooneHired == 1) && (CraigBooneREF.Waiting == 0)
   CraigBooneREF.moveto aaXmarkerCompanionStorage
    set CraigBooneREF.Waiting to 1;
    CraigBooneREF.evp;
endif

If (VNPCFollowers.ArcadeHired == 1) && (ArcadeREF.Waiting == 0)
   ArcadeREF.moveto aaXmarkerCompanionStorage
    set ArcadeREF.Waiting to 1;
    ArcadeREF.evp;
    aaNCRCFAreaAfterRapeDialogCompanion01.enable                                        ; Companion do comment after rape
endif

If (VNPCFollowers.bLilyHired == 1) && (LilyRef.Waiting == 0)
   LilyRef.moveto aaXmarkerCompanionStorage
    set LilyRef.Waiting to 1;
    LilyRef.evp;
endif

If (VNPCFollowers.RaulHired == 1) && (RaulRef.Waiting == 0)
   RaulRef.moveto aaXmarkerCompanionStorage
    set RaulRef.Waiting to 1;
    RaulRef.evp;
endif

If (VNPCFollowers.RexHired == 1) && (RexREF.Waiting == 0)
   RexREF.moveto aaXmarkerCompanionStorage
    set RexREF.Waiting to 1;
    RexREF.evp;
endif

If (VNPCFollowers.bEDEHired == 1) && (EDE1Ref.Waiting == 0)
   EDE1Ref.moveto aaXmarkerCompanionStorage
   set EDE1Ref.Waiting to 1;
   EDE1Ref.evp;
endif

If (VNPCFollowers.bEDEHired == 1) && (EDE2Ref.Waiting == 0)
   EDE2Ref.moveto aaXmarkerCompanionStorage
    set EDE2Ref.Waiting to 1;
   EDE2Ref.evp;
endif

If (VNPCFollowers.bEDEHired == 1) && (EDE3Ref.Waiting == 0)
   EDE3Ref.moveto aaXmarkerCompanionStorage
    set EDE3Ref.Waiting to 1;
   EDE3Ref.evp;
endif

If (aaaPGCompanionLEONREF.HasBeenHired == 1) && (aaaPGCompanionLEONREF.Waiting == 0)
   aaaPGCompanionLEONREF.moveto aaXmarkerCompanionStorage
    Set aaaPGCompanionLEONREF.PGIsFollowingDefault to 0
    Set aaaPGCompanionLEONREF.IsFollowingLong to 0
    Set aaaPGCompanionLEONREF.Waiting to 1
    aaaPGCompanionLEONREF.evp
endif

If aaNCRCFFrankDIALOG.aaNCRCFFRANKdialogVariable01 == 1
    If aaPGNCRCF01REF.getdead == 0
        If aaNCRCFFrankDIALOG.aaNCRCFFRANKdialogVariable02 == 0
            aaPGNCRCF01REF.moveto aaXmarkerCompanionStorage
            Set aaNCRCFFrankDIALOG.aaNCRCFFRANKdialogVariable02 to 1
        endif
    endif
Endif

If (aaDogDeanCompanion01REF.HasBeenHired == 1) && (aaDogDeanCompanion01REF.Waiting == 0)
   aaDogDeanCompanion01REF.moveto aaXmarkerCompanionStorage
    Set aaDogDeanCompanion01REF.IsFollowingDefault to 0
    Set aaDogDeanCompanion01REF.IsFollowingLong to 0
    Set aaDogDeanCompanion01REF.Waiting to 1
    aaDogDeanCompanion01REF.evp
endif

;---Sex Mods

    ;Sexout.esm
array_var Flags 
Call fnSexoutActRunFull (Ar_Map "ActorA"::NCRCFChavezREF::RaperREF, "ActorB"::PlayerREF, "Flags"::Ar_List "fast", "rape","spitroast", "dp")
Flags = Ar_Null
aaNCRCFChavezREF.evp
enableplayercontrols
stopquest aaChavezSexScene01
SetStage VMS02 15
rewardxp 40
end

;---Message Box After Sex Timer Delay
  if bMessagePending == 1
MessageBoxEx "...Well, they didn't stop fucking your holes for 2 hours, but at least they're gone."
        ; First update after dialogue closes:
        ; reset the GetSecondsPassed baseline without counting
        ; the time spent listening to the dialogue.
        if bTimerStarted == 0

            set fElapsed to GetSecondsPassed
            set fMessageTimer to 0
            set bTimerStarted to 1

        else

            set fElapsed to GetSecondsPassed
            set fMessageTimer to fMessageTimer + fElapsed

            if fMessageTimer >= 5.0

                ; Prevent the box from appearing repeatedly
                set bMessagePending to 0
                set bTimerStarted to 0
                set fMessageTimer to 0

            endif

        endif

    endif
end

 

Edited by Darkflip95
Posted (edited)

 

From what I can gather from your code, I think you've attached a quest script aaNCRCFSEXChavezScript01 to the quest aaChavezSexScene01.  
The first part of the code appears to be from the NCRCF mod, and your modifications begin at 

 

;---Sex Mods

    ;Sexout.esm
array_var Flags 
Call fnSexoutActRunFull (Ar_Map "ActorA"::NCRCFChavezREF::RaperREF, "ActorB"::PlayerREF, "Flags"::Ar_List "fast", "rape","spitroast", "dp")
Flags = Ar_Null
aaNCRCFChavezREF.evp
enableplayercontrols
stopquest aaChavezSexScene01
SetStage VMS02 15
rewardxp 40
end

;---Message Box After Sex Timer Delay
  if bMessagePending == 1
MessageBoxEx "...Well, they didn't stop fucking your holes for 2 hours, but at least they're gone."
        ; First update after dialogue closes:
        ; reset the GetSecondsPassed baseline without counting
        ; the time spent listening to the dialogue.
        if bTimerStarted == 0

            set fElapsed to GetSecondsPassed
            set fMessageTimer to 0
            set bTimerStarted to 1

        else

            set fElapsed to GetSecondsPassed
            set fMessageTimer to fMessageTimer + fElapsed

            if fMessageTimer >= 5.0

                ; Prevent the box from appearing repeatedly
                set bMessagePending to 0
                set bTimerStarted to 0
                set fMessageTimer to 0

            endif

        endif

    endif
end

 

 

1) end

I don't understand what does this end that I have colored in red. You have a begin block in 

scn aaNCRCFSEXChavezScript01

begin gamemode                             ; here is the begin gamemode block

Player.MoveTo aaXMarkerSexSceneChavez01REF
aaNCRCFMurrayREF.MoveTo aaXMarkerSexSceneChavez01REF 50 0 0
 

And the end block should be the one I have colored in green

                set fMessageTimer to 0

            endif

        endif

    endif
end                   ; here is the end gamemode block

 

So I don't understand why there is an end between "rewardxp 40" line and ";---Message Box After Sex Timer Delay" line

 

 

 

2) Call fnSexoutActRunFull (Ar_Map "ActorA"::NCRCFChavezREF::RaperREF, "ActorB"::PlayerREF, "Flags"::Ar_List "fast", "rape","spitroast", "dp")

I think you mean to write:

Call fnSexoutActRunFull (Ar_Map "ActorA"::NCRCFChavezREF, "ActorB"::PlayerREF, "Raper"::NCRCFChavezREF, "Flags"::Ar_List "fast", "rape","spitroast", "dp")

 

 

3) stopquest aaChavezSexScene01

So if I'm right and the script aaNCRCFSEXChavezScript01 is managed by the quest aaChavezSexScene01, when you run  stopquest aaChavezSexScene01, you stop the quest aaChavezSexScene01 which lead to stop script iterations of aaNCRCFSEXChavezScript01, therefore this script will never run again unless you do startquest aaChavezSexScene01  (From another script that is still running). But if you reactivate aaChavezSexScene01, you'll trigger Call fnSexoutActRunFull (Ar_Map "ActorA"::NCRCFChavezREF, "ActorB"::PlayerREF, "Raper"::NCRCFChavezREF, "Flags"::Ar_List "fast", "rape","spitroast", "dp") again

 

 

 

 

From you 1rst post, in your result script, you had written:

array_Flags Flags

...

let Flags := Ar_List "fast", "rape"

Call fnSexoutActRunFull (Ar_Map "ActorA"::NCRCFChavezREF, "ActorB"::PlayerREF)

SetStage VMS02 15

 

 

What I was just suggesting was that you write in this result script:

SetStage VMS02 15                                                                       ; You need to keep this part and never change value of VMS02 stage cause is used by NCRCF mod 

set aaChavezSexScene01.aNewVariableThatIcreatedMySelf to 1  ; Put your own variable to a specific value

 

 

;---- Then, in aaNCRCFSEXChavezScript01 script -----;


scn aaNCRCFSEXChavezScript01

 

int aNewVariableThatIcreatedMySelf    ; Declare your variable here (and before to save your result script otherwise it won't knows 'aNewVariableThatIcreatedMySelf')

 

begin gamemode

Player.MoveTo aaXMarkerSexSceneChavez01REF
aaNCRCFMurrayREF.MoveTo aaXMarkerSexSceneChavez01REF 50 0 0
Set GameHour to (GameHour + 2)
set VNPCFollowers.fFollowerWaitingLeaveDay to  ( GameDaysPassed + FollowerWaitTime )

;--Companions

If (VNPCFollowers.bVeronicaHired == 1) && (VeronicaREF.Waiting == 0)
    VeronicaREF.moveto aaXmarkerCompanionStorage
    set VeronicaREF.Waiting to 1;
    VeronicaREF.evp;
    aaNCRCFAreaAfterRapeDialogCompanion01.enable                                        ; Companion do comment after rape
endif

If (VNPCFollowers.bCassHired == 1) && (RoseofSharonCassidyREF.Waiting == 0)
   RoseofSharonCassidyREF.moveto aaXmarkerCompanionStorage
    set RoseofSharonCassidyREF.Waiting to 1;
    RoseofSharonCassidyREF.evp;
endif

If (VNPCFollowers.bBooneHired == 1) && (CraigBooneREF.Waiting == 0)
   CraigBooneREF.moveto aaXmarkerCompanionStorage
    set CraigBooneREF.Waiting to 1;
    CraigBooneREF.evp;
endif

If (VNPCFollowers.ArcadeHired == 1) && (ArcadeREF.Waiting == 0)
   ArcadeREF.moveto aaXmarkerCompanionStorage
    set ArcadeREF.Waiting to 1;
    ArcadeREF.evp;
    aaNCRCFAreaAfterRapeDialogCompanion01.enable                                        ; Companion do comment after rape
endif

If (VNPCFollowers.bLilyHired == 1) && (LilyRef.Waiting == 0)
   LilyRef.moveto aaXmarkerCompanionStorage
    set LilyRef.Waiting to 1;
    LilyRef.evp;
endif

If (VNPCFollowers.RaulHired == 1) && (RaulRef.Waiting == 0)
   RaulRef.moveto aaXmarkerCompanionStorage
    set RaulRef.Waiting to 1;
    RaulRef.evp;
endif

If (VNPCFollowers.RexHired == 1) && (RexREF.Waiting == 0)
   RexREF.moveto aaXmarkerCompanionStorage
    set RexREF.Waiting to 1;
    RexREF.evp;
endif

If (VNPCFollowers.bEDEHired == 1) && (EDE1Ref.Waiting == 0)
   EDE1Ref.moveto aaXmarkerCompanionStorage
   set EDE1Ref.Waiting to 1;
   EDE1Ref.evp;
endif

If (VNPCFollowers.bEDEHired == 1) && (EDE2Ref.Waiting == 0)
   EDE2Ref.moveto aaXmarkerCompanionStorage
    set EDE2Ref.Waiting to 1;
   EDE2Ref.evp;
endif

If (VNPCFollowers.bEDEHired == 1) && (EDE3Ref.Waiting == 0)
   EDE3Ref.moveto aaXmarkerCompanionStorage
    set EDE3Ref.Waiting to 1;
   EDE3Ref.evp;
endif

If (aaaPGCompanionLEONREF.HasBeenHired == 1) && (aaaPGCompanionLEONREF.Waiting == 0)
   aaaPGCompanionLEONREF.moveto aaXmarkerCompanionStorage
    Set aaaPGCompanionLEONREF.PGIsFollowingDefault to 0
    Set aaaPGCompanionLEONREF.IsFollowingLong to 0
    Set aaaPGCompanionLEONREF.Waiting to 1
    aaaPGCompanionLEONREF.evp
endif

If aaNCRCFFrankDIALOG.aaNCRCFFRANKdialogVariable01 == 1
    If aaPGNCRCF01REF.getdead == 0
        If aaNCRCFFrankDIALOG.aaNCRCFFRANKdialogVariable02 == 0
            aaPGNCRCF01REF.moveto aaXmarkerCompanionStorage
            Set aaNCRCFFrankDIALOG.aaNCRCFFRANKdialogVariable02 to 1
        endif
    endif
Endif

If (aaDogDeanCompanion01REF.HasBeenHired == 1) && (aaDogDeanCompanion01REF.Waiting == 0)
   aaDogDeanCompanion01REF.moveto aaXmarkerCompanionStorage
    Set aaDogDeanCompanion01REF.IsFollowingDefault to 0
    Set aaDogDeanCompanion01REF.IsFollowingLong to 0
    Set aaDogDeanCompanion01REF.Waiting to 1
    aaDogDeanCompanion01REF.evp
endif

 

;---Sex Mods

    ;Sexout.esm
array_var Flags 

if aNewVariableThatIcreatedMySelf == 1

    Call fnSexoutActRunFull (Ar_Map "ActorA"::NCRCFChavezREF, "ActorB"::PlayerREF, "Raper"::NCRCFChavezREF, "Flags"::Ar_List "fast", "rape","spitroast", "dp")

    Flags = Ar_Null
    aaNCRCFChavezREF.evp
    enableplayercontrols
    stopquest aaChavezSexScene01
    SetStage VMS02 15                       ; Except if this line comes from NCRCF mod you also should delete this line
    rewardxp 40
    end1

    set aNewVariableThatIcreatedMySelf to 2

elseif aNewVariableThatIcreatedMySelf == 2

 

    ;---Message Box After Sex Timer Delay
      if bMessagePending == 1
        MessageBoxEx "...Well, they didn't stop fucking your holes for 2 hours, but at least they're gone."
        ; First update after dialogue closes:
        ; reset the GetSecondsPassed baseline without counting
        ; the time spent listening to the dialogue.
        if bTimerStarted == 0

            set fElapsed to GetSecondsPassed
            set fMessageTimer to 0
            set bTimerStarted to 1

        else

            set fElapsed to GetSecondsPassed
            set fMessageTimer to fMessageTimer + fElapsed

            if fMessageTimer >= 5.0

                ; Prevent the box from appearing repeatedly
                set bMessagePending to 0
                set bTimerStarted to 0
                set fMessageTimer to 0

            endif

        endif

    endif
end

 

 

In the orange part ;---Message Box After Sex Timer Delay etc, I don't see where you declare bMessagePending, bTimerStarted, fMessageTimer, fElapsed and where you set bMessagePending to 1. So I guess you use another quest script and you didn't pu all the code. If that's the case, you're right, it's better to create your own quests and scripts than to modify the ones in the NCRCF mod. It's not always possible, but the less you modify a mod, the better.

But the code in orange is not intented to display a message after sex. You'll need to use Sexout Events for this to work correctly

Edited by Machiavelique
Posted (edited)

That first End was my misunderstanding. I had copied my quest fragment script over and forgotten to remove the End. As for the ref I added for Chavez, I was assuming it had to be placed in the same bracket as his Editor ID, since I thought it was some kind of descriptor that you just add to a existing actor's section. Thank you for the corrections.

And as for the message box, I'll keep looking into the documentation for Sexout's events and figure out how to make the message box appear after the act concludes.

Edit: Also just to keep updating this, I've moved my dialogue topic addition and the scene into its own separate ESP from NCRCF - Sexout - now just trying to make the script work best I can.

Shortened it to remove the Companion reactions as well to make things simpler for me to keep track of, and essentially just trying to work it all out.

 

;aaNCRCFSEXChavezScript01
;========================
scn aaNCRCFSEXChavezScript01

int aNewVariableThatIcreatedMySelf
short bMessagePending
short bTimerStarted
float fElapsed
float fMessageTimer
short bSceneSetup

;--Player moved to Marker for Scene
begin gamemode

if bSceneSetup == 0

Player.MoveTo aaXMarkerSexSceneChavez01REF
NCRCFChavezREF.MoveTo aaXMarkerSexSceneChavez01REF 50 0 0
Set GameHour to (GameHour + 2)
set aNewVariableThatIcreatedMySelf to 1
set bSceneSetup to 1

Endif

End
;---Sex Mods
begin gamemode
    ;Sexout.esm
if aNewVariableThatIcreatedMySelf == 1
Call fnSexoutActRunFull (Ar_Map "ActorA"::NCRCFChavezREF, "ActorB"::PlayerREF,"Raper"::NCRCFChavezREF, "Flags"::Ar_List "fast", "rape","spitroast", "dp")
NCRCFChavezREF.evp
SetStage VMS02 15 
startquest aaChavezSexScene01
rewardxp 40
  set aNewVariableThatIcreatedMySelf to 2

Endif

end
;---Message Box After Sex Timer Delay
begin gamemode  
if bMessagePending == 1

        ; First update after dialogue closes:
        ; reset the GetSecondsPassed baseline without counting
        ; the time spent listening to the dialogue.
        if bTimerStarted == 0

            set fElapsed to GetSecondsPassed
            set fMessageTimer to 0
            set bTimerStarted to 1

        else

            set fElapsed to GetSecondsPassed
            set fMessageTimer to fMessageTimer + fElapsed

            if fMessageTimer >= 5.0

               MessageBoxEx "...Well, they didn't stop fucking your holes for 2 hours, but at least they're gone."

                ; Prevent the box from appearing repeatedly
                set bMessagePending to 0
                set bTimerStarted to 0
                set fMessageTimer to 0

            endif

        endif

    endif
end

Edited by Darkflip95
Posted (edited)

 

 

;aaNCRCFSEXChavezScript01
;========================
scn aaNCRCFSEXChavezScript01

int aNewVariableThatIcreatedMySelf
short bMessagePending
short bTimerStarted
float fElapsed
float fMessageTimer
short bSceneSetup

;--Player moved to Marker for Scene
begin gamemode

if bSceneSetup == 0

Player.MoveTo aaXMarkerSexSceneChavez01REF
NCRCFChavezREF.MoveTo aaXMarkerSexSceneChavez01REF 50 0 0
Set GameHour to (GameHour + 2)
set aNewVariableThatIcreatedMySelf to 1
set bSceneSetup to 1

Endif

End
;---Sex Mods
begin gamemode
    ;Sexout.esm
if aNewVariableThatIcreatedMySelf == 1
Call fnSexoutActRunFull (Ar_Map "ActorA"::NCRCFChavezREF, "ActorB"::PlayerREF,"Raper"::NCRCFChavezREF, "Flags"::Ar_List "fast", "rape","spitroast", "dp")
NCRCFChavezREF.evp
SetStage VMS02 15 
startquest aaChavezSexScene01
rewardxp 40
  set aNewVariableThatIcreatedMySelf to 2

Endif

end
;---Message Box After Sex Timer Delay
begin gamemode  
if bMessagePending == 1

        ; First update after dialogue closes:
        ; reset the GetSecondsPassed baseline without counting
        ; the time spent listening to the dialogue.
        if bTimerStarted == 0

            set fElapsed to GetSecondsPassed
            set fMessageTimer to 0
            set bTimerStarted to 1

        else

            set fElapsed to GetSecondsPassed
            set fMessageTimer to fMessageTimer + fElapsed

            if fMessageTimer >= 5.0

               MessageBoxEx "...Well, they didn't stop fucking your holes for 2 hours, but at least they're gone."

                ; Prevent the box from appearing repeatedly
                set bMessagePending to 0
                set bTimerStarted to 0
                set fMessageTimer to 0

            endif

        endif

    endif
end

 

 

 

That sounds pretty good to me. In orange are the elements that might cause you problems.

 

1°) SetStage VMS02 15

As far as I understand, VMS is already set to 15 during the calling dialogue. So if the NCRF mod then changes its value (to 16, for example) before your script runs, you’ll break the NCRF mod’s quest progression (because your aaNCRCFSEXChavezScript01 script sets it back to 15).

 

 

2°) startquest aaChavezSexScene01

 

From what I understand, your aaNCRCFSEXChavezScript01 script is managed by the quest aaChavezSexScene01. So you seem to run a startQuest on a quest which is already running.

 

 

3°) begin gamemode 

 

From what I understand, you’ve opened two ‘begin game mode’ blocks in the same script aaNCRCFSEXChavezScript01. I’m not sure if that works (it’s better to have just one).  

 

 

4°) if bMessagePending == 1

 

I suppose the idea here is that when the ‘sexout’ animation ends, you set bMessagePending to 1 (on a ‘Sexout-end’ or ‘Sexout-ended’ event, for example)

Edited by Machiavelique

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