Darkflip95 Posted July 10 Posted July 10 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.
Machiavelique Posted July 12 Posted July 12 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
Darkflip95 Posted July 12 Author Posted July 12 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.
Darkflip95 Posted July 13 Author Posted July 13 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.
Machiavelique Posted July 14 Posted July 14 (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 July 14 by Machiavelique
Darkflip95 Posted July 24 Author Posted July 24 (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 July 25 by Darkflip95
Machiavelique Posted July 25 Posted July 25 (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 July 25 by Machiavelique
Darkflip95 Posted July 26 Author Posted July 26 (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 July 29 by Darkflip95
Machiavelique Posted August 2 Posted August 2 (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 August 2 by Machiavelique
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