riveth Posted April 13 Author Posted April 13 11 hours ago, Darkmind_mc said: As a thought, one other thing that would cover a lot of 'annoyance' cases would be to disable approaches for say 60 seconds upon discovering a new location. That would hit a lot of the 'you arrive as something happens, and someone tries to approach you at the same time' cases, and would make it feel more like you're only approached once you're known a bit. Hmm, aiming gun in their face is not enough? This is easy solution for this kind of problems and fixing all of them is impossible.( for me)
riveth Posted April 13 Author Posted April 13 7 hours ago, deathmorph said: I am absolutely delighted that development on this mod is continuing. And I believe my request aligns perfectly with your intentions. If my Lady is captured and played with by Violate during a firefight, she is usually equipped with DD or KFT afterwards. She then has the opportunity to distance herself from her tormentors during the cooldown phase. However, since those tormentors are not classified as hostile during that cooldown phase, they naturally use a dialogue interaction to remove her DD or KFT. Consequently, I always have to remember to deactivate SH immediately after the AAF scenes conclude, and then reactivate it again afterwards. If you had a solution for this, that would be fantastic. Seems like serious problem here, I will put this on fixlist 1
Franco Cozzo Posted April 13 Posted April 13 (edited) 3 hours ago, riveth said: Do You know how Violate manage this pacification timer? Is there something like global value I could call? I think I could add another condition to SH approach ai package so it can start only when timer is 0 I just figured theres a timer that is in the MCM, which would mean it would likely be a global value that could be accessed. The idea I have is to just add that value on top of the current SH approach timer, or reset the current SH timer then add that time from the global. I think by default SH is disabled and the timer is only paused and not reset during AAF (but I could be wrong, I never looked into it, I'm just running off how it feels). Failing that, it may just be simpler to make a new global with a slider bar in MCM and let the player choose the post-violate harasser cooldown to some figure of their own to get added to the basic SH timer instead of getting messy going cross-mod but I haven't looked at all into detecting violate events, which may just be harder than reading Violates globals. there's an AVF_Global_Pacification_Time 0x01945C in Violate which seems to be in the FPV_OnHit.psc in Function Outcome(Int akOutcome = 0) Utility.Wait(2.0) AFVNotify(true,"I need to retreat!") PlayerRef.Say(AFV_PlayerRetreatTopic) timerSecs += AFV_Global_Pacification_Time.getValue() pretty sure this is where the the "lets get out of here" line plays after a violate session as well. Seems to have a low timer by default, but I think that is because the default setting is to just "teleport the player to a safe location". If AFV_Global_Teleport.getValue() == 0 PlayerRef.Say(AFV_PlayerGaspTopic) EndIf So you could probably check to see if that is 0 or 1, and if it is 0, then change the timer in SH to be SHtimer + AVF_Global_Pacification_Time value. Edited April 13 by Franco Cozzo
Darkmind_mc Posted April 13 Posted April 13 6 hours ago, riveth said: Hmm, aiming gun in their face is not enough? This is easy solution for this kind of problems and fixing all of them is impossible.( for me) More it's just that holding a gun on the Mayor really feels counter-productive (and immersion-breaking) to getting in to Diamond City, even if he is deciding that harassing me is more important that keeping Piper out...
riveth Posted April 13 Author Posted April 13 3 hours ago, Franco Cozzo said: I just figured theres a timer that is in the MCM, which would mean it would likely be a global value that could be accessed. The idea I have is to just add that value on top of the current SH approach timer, or reset the current SH timer then add that time from the global. I think by default SH is disabled and the timer is only paused and not reset during AAF (but I could be wrong, I never looked into it, I'm just running off how it feels). Failing that, it may just be simpler to make a new global with a slider bar in MCM and let the player choose the post-violate harasser cooldown to some figure of their own to get added to the basic SH timer instead of getting messy going cross-mod but I haven't looked at all into detecting violate events, which may just be harder than reading Violates globals. there's an AVF_Global_Pacification_Time 0x01945C in Violate which seems to be in the FPV_OnHit.psc in Function Outcome(Int akOutcome = 0) Utility.Wait(2.0) AFVNotify(true,"I need to retreat!") PlayerRef.Say(AFV_PlayerRetreatTopic) timerSecs += AFV_Global_Pacification_Time.getValue() pretty sure this is where the the "lets get out of here" line plays after a violate session as well. Seems to have a low timer by default, but I think that is because the default setting is to just "teleport the player to a safe location". If AFV_Global_Teleport.getValue() == 0 PlayerRef.Say(AFV_PlayerGaspTopic) EndIf So you could probably check to see if that is 0 or 1, and if it is 0, then change the timer in SH to be SHtimer + AVF_Global_Pacification_Time value. Actually we dont even need to check that teleportation option. Not like that + 60 sec cooldown for sh timer actually changes anything in case of teleport, right? i'll look into SH scripts today and see how to tie this pacification timer in.
riveth Posted April 13 Author Posted April 13 55 minutes ago, Darkmind_mc said: More it's just that holding a gun on the Mayor really feels counter-productive (and immersion-breaking) to getting in to Diamond City, even if he is deciding that harassing me is more important that keeping Piper out... Isn't there an option to diable unique actors in SH?
Franco Cozzo Posted April 13 Posted April 13 (edited) 16 minutes ago, riveth said: Actually we dont even need to check that teleportation option. Not like that + 60 sec cooldown for sh timer actually changes anything in case of teleport, right? i'll look into SH scripts today and see how to tie this pacification timer in. Yeah I don't think you would need to check it really, I was just over thinking it because the option existed, but at the end of the day its just a few seconds so it wouldn't matter really. 15 minutes ago, riveth said: Isn't there an option to diable unique actors in SH? Even if the mayor was disabled with the setav fpsh_noteligible 1 the mod would then just go to the guards instead and he'd have the same issue again I think. But I can't see a "good" way to implement that outside of making specific stops for specifically diamond city piper scene and maybe the covenant entry-test and also probably the Memory Den parts with Nick when you're tracking down Kellog, since in some areas you can be discovering new locations every few seconds which in turn would reset the timer over and over and over again, granted those areas typically have less non-hostile NPCs but its still a "thing". Otherwise you'd need to track the location like settlement or whatever and then arrive and etc, but I don't know how/if you can do "just the first time only". Personally I just use the hotkey and disable the mod for those parts, or any part I know I'm going to be "questing" and want to just get that part over with. There's a way to detect if the player is in conversation with someone (at least who they're talking to) and the mod timer could maybe be paused then, as an option (since I personally don't think most mods should stop just because the player is talking to someone, time is still ticking until a trade window pops up). I'm just typing ideas here though, I personally don't care about this part haha. Edited April 13 by Franco Cozzo
Samhsay Posted April 13 Posted April 13 30 minutes ago, Franco Cozzo said: There's a way to detect if the player Player.isInScene() 2
riveth Posted April 13 Author Posted April 13 33 minutes ago, Franco Cozzo said: Yeah I don't think you would need to check it really, I was just over thinking it because the option existed, but at the end of the day its just a few seconds so it wouldn't matter really. Even if the mayor was disabled with the setav fpsh_noteligible 1 the mod would then just go to the guards instead and he'd have the same issue again I think. But I can't see a "good" way to implement that outside of making specific stops for specifically diamond city piper scene and maybe the covenant entry-test and also probably the Memory Den parts with Nick when you're tracking down Kellog, since in some areas you can be discovering new locations every few seconds which in turn would reset the timer over and over and over again, granted those areas typically have less non-hostile NPCs but its still a "thing". Otherwise you'd need to track the location like settlement or whatever and then arrive and etc, but I don't know how/if you can do "just the first time only". Personally I just use the hotkey and disable the mod for those parts, or any part I know I'm going to be "questing" and want to just get that part over with. There's a way to detect if the player is in conversation with someone (at least who they're talking to) and the mod timer could maybe be paused then, as an option (since I personally don't think most mods should stop just because the player is talking to someone, time is still ticking until a trade window pops up). I'm just typing ideas here though, I personally don't care about this part haha. What about ai package condition to detect dialogue? It worked for workshop menu and it's 5 minutes work
Franco Cozzo Posted April 13 Posted April 13 6 minutes ago, riveth said: What about ai package condition to detect dialogue? It worked for workshop menu and it's 5 minutes work Samhsay above has it I believe, but I also have no idea about how to make / use AI packages correctly really.
riveth Posted April 13 Author Posted April 13 3 hours ago, Franco Cozzo said: Samhsay above has it I believe, but I also have no idea about how to make / use AI packages correctly really. Ok, so I just added isInScene run on player as condition to fire up force greet from every harasser type. This way we don't touch script itself and we won't mess up any timers. Harasser would get close to player, but won't get too close or start any dialogue as long as player is in any dialogue scene. file to test this out FPSH+v0.5.zip
riveth Posted April 13 Author Posted April 13 (edited) 9 hours ago, Franco Cozzo said: I just figured theres a timer that is in the MCM, which would mean it would likely be a global value that could be accessed. The idea I have is to just add that value on top of the current SH approach timer, or reset the current SH timer then add that time from the global. I think by default SH is disabled and the timer is only paused and not reset during AAF (but I could be wrong, I never looked into it, I'm just running off how it feels). Failing that, it may just be simpler to make a new global with a slider bar in MCM and let the player choose the post-violate harasser cooldown to some figure of their own to get added to the basic SH timer instead of getting messy going cross-mod but I haven't looked at all into detecting violate events, which may just be harder than reading Violates globals. there's an AVF_Global_Pacification_Time 0x01945C in Violate which seems to be in the FPV_OnHit.psc in Function Outcome(Int akOutcome = 0) Utility.Wait(2.0) AFVNotify(true,"I need to retreat!") PlayerRef.Say(AFV_PlayerRetreatTopic) timerSecs += AFV_Global_Pacification_Time.getValue() pretty sure this is where the the "lets get out of here" line plays after a violate session as well. Seems to have a low timer by default, but I think that is because the default setting is to just "teleport the player to a safe location". If AFV_Global_Teleport.getValue() == 0 PlayerRef.Say(AFV_PlayerGaspTopic) EndIf So you could probably check to see if that is 0 or 1, and if it is 0, then change the timer in SH to be SHtimer + AVF_Global_Pacification_Time value. ok, so I looked into FPSH scripts and found this: Function OnTick() Each hour ~= 0.04200 float curtime = Utility.GetCurrentGameTime() float cooldown = 0.042 * FPSH_Setting_ApproachCooldown.GetValue() how about changing this to: Function OnTick() GlobalVariable AVF_Global = Game.GetFormFromFile(0x0001945C, "AAF_Violate.esp") as GlobalVariable float curtime = Utility.GetCurrentGameTime() float cooldown = 0.042 * FPSH_Setting_ApproachCooldown.GetValue() if (AVF_Global) cooldown += AVF_Global.GetValue() endif it actually copiles: @deathmorph - could You test it out ? edit: just realised it's no use. This will only pickupt delay set up in violate and add it to FPSH cooldown. FPSH_Main.pex Edited April 13 by riveth
deathmorph Posted April 14 Posted April 14 (edited) 4 hours ago, riveth said: t actually copiles: @deathmorph - could You test it out ? edit: just realised it's no use. This will only pickupt delay set up in violate and add it to FPSH cooldown. I don't quite understand. Should I test or not?Should I test this, or is it pointless? (because of the edit) I just experienced something else. On the bridge in Sanctuary, my character was approached by a hunter—sex for money. She declined, weapon in hand. However, she then found herself unable to move. She can draw and holster her weapon, and she can switch between first- and third-person views (and vice versa), but she cannot take a single step. Has anyone else noticed this? PS: The lady cannot be moved even with TCL in the console. Edited April 14 by deathmorph
Darkmind_mc Posted April 14 Posted April 14 11 hours ago, riveth said: Isn't there an option to diable unique actors in SH? Looks like you're already looking into it - but not through MCM at least. 11 hours ago, Franco Cozzo said: Yeah I don't think you would need to check it really, I was just over thinking it because the option existed, but at the end of the day its just a few seconds so it wouldn't matter really. Even if the mayor was disabled with the setav fpsh_noteligible 1 the mod would then just go to the guards instead and he'd have the same issue again I think. But I can't see a "good" way to implement that outside of making specific stops for specifically diamond city piper scene and maybe the covenant entry-test and also probably the Memory Den parts with Nick when you're tracking down Kellog, since in some areas you can be discovering new locations every few seconds which in turn would reset the timer over and over and over again, granted those areas typically have less non-hostile NPCs but its still a "thing". Otherwise you'd need to track the location like settlement or whatever and then arrive and etc, but I don't know how/if you can do "just the first time only". Personally I just use the hotkey and disable the mod for those parts, or any part I know I'm going to be "questing" and want to just get that part over with. There's a way to detect if the player is in conversation with someone (at least who they're talking to) and the mod timer could maybe be paused then, as an option (since I personally don't think most mods should stop just because the player is talking to someone, time is still ticking until a trade window pops up). I'm just typing ideas here though, I personally don't care about this part haha. I don't necessarily see resetting the delay over and over being a problem - as long as it's fully reset, it just means that as long as you're traveling you're not getting harassed as much. Once you stop and explore someplace it'll time out - it's just that being harassed won't be the *first* thing that happens to you. (As it quite often is at the moment, since you've likely not been around NPC's for a while, so the mod is basically waiting for a chance...) And the game must track it, as it gives XP for discovering locations. (I don't see this being needed for any location that you wouldn't get XP for discovering.)
Darkmind_mc Posted April 14 Posted April 14 Oh, and I should mention that there is an advantage for it being the mayor who approaches you instead of the guard - If it's the mayor, he can't take any other actions until he's done. If it's a guard, the conversation that the mayor and Piper are having just goes on anyway... 1
Franco Cozzo Posted April 14 Posted April 14 4 hours ago, deathmorph said: I don't quite understand. Should I test or not?Should I test this, or is it pointless? (because of the edit) I just experienced something else. On the bridge in Sanctuary, my character was approached by a hunter—sex for money. She declined, weapon in hand. However, she then found herself unable to move. She can draw and holster her weapon, and she can switch between first- and third-person views (and vice versa), but she cannot take a single step. Has anyone else noticed this? PS: The lady cannot be moved even with TCL in the console. Try " player.pushactoraway " or " pushactoraway 14 1 " in the console failing that, player.moveto player should work, it re-loads the area and places the player where they are/were , it also un-sticks you from workbenches a lot of the time. 1
riveth Posted April 14 Author Posted April 14 5 hours ago, deathmorph said: I don't quite understand. Should I test or not?Should I test this, or is it pointless? (because of the edit) I just experienced something else. On the bridge in Sanctuary, my character was approached by a hunter—sex for money. She declined, weapon in hand. However, she then found herself unable to move. She can draw and holster her weapon, and she can switch between first- and third-person views (and vice versa), but she cannot take a single step. Has anyone else noticed this? PS: The lady cannot be moved even with TCL in the console. No, I tested it and harrasmennt never happens. So scrap that script change. If you ever happen to get stuck like this type diel in console. It will show you what mod disables movement. You can post printscreen. To enable movement type riel and number corresponding to locked layer (ie riel 3). 1
riveth Posted April 14 Author Posted April 14 19 hours ago, Franco Cozzo said: I just figured theres a timer that is in the MCM, which would mean it would likely be a global value that could be accessed. The idea I have is to just add that value on top of the current SH approach timer, or reset the current SH timer then add that time from the global. I think by default SH is disabled and the timer is only paused and not reset during AAF (but I could be wrong, I never looked into it, I'm just running off how it feels). Failing that, it may just be simpler to make a new global with a slider bar in MCM and let the player choose the post-violate harasser cooldown to some figure of their own to get added to the basic SH timer instead of getting messy going cross-mod but I haven't looked at all into detecting violate events, which may just be harder than reading Violates globals. there's an AVF_Global_Pacification_Time 0x01945C in Violate which seems to be in the FPV_OnHit.psc in Function Outcome(Int akOutcome = 0) Utility.Wait(2.0) AFVNotify(true,"I need to retreat!") PlayerRef.Say(AFV_PlayerRetreatTopic) timerSecs += AFV_Global_Pacification_Time.getValue() pretty sure this is where the the "lets get out of here" line plays after a violate session as well. Seems to have a low timer by default, but I think that is because the default setting is to just "teleport the player to a safe location". If AFV_Global_Teleport.getValue() == 0 PlayerRef.Say(AFV_PlayerGaspTopic) EndIf So you could probably check to see if that is 0 or 1, and if it is 0, then change the timer in SH to be SHtimer + AVF_Global_Pacification_Time value. this method wont work. Adding violate pacification timer to sh delay would only prolonge delay for sh. But we do not know when violate happen as this pacification time is simply a value set in MCM and not current value that is set just after violate event. To make this we should edit violate. Add new global violatefinish. Change its value to 1 after violate scenario. Set timer for it to reset back to 0. Then call this global in SH as condition to fire up approach. This is simply too much 1
riveth Posted April 14 Author Posted April 14 (edited) 3 hours ago, Darkmind_mc said: Oh, and I should mention that there is an advantage for it being the mayor who approaches you instead of the guard - If it's the mayor, he can't take any other actions until he's done. If it's a guard, the conversation that the mayor and Piper are having just goes on anyway... Try v5 from post above. i disabled sh aproaches while layer is in scene. I looked into sh scripts and I think I got a lead how to add delay on new location discovery. i will test it out tonight Edited April 14 by riveth
Franco Cozzo Posted April 14 Posted April 14 1 hour ago, riveth said: this method wont work. Adding violate pacification timer to sh delay would only prolonge delay for sh. But we do not know when violate happen as this pacification time is simply a value set in MCM and not current value that is set just after violate event. To make this we should edit violate. Add new global violatefinish. Change its value to 1 after violate scenario. Set timer for it to reset back to 0. Then call this global in SH as condition to fire up approach. This is simply too much Any solution that works is the best solution at the end of the day for this stuff haha.
deathmorph Posted April 14 Posted April 14 (edited) 6 hours ago, riveth said: No, I tested it and harrasmennt never happens. So scrap that script change. I don't understand this. If the Lady is captured via the "Violate" option and fitted with devices, then in 90% of all cases, a Raider or Super Mutant "harasser" comes running over and asks if he should remove the devices. After the scene/cooldown period, the harassers become hostile again, and the Lady is either dead or gets recaptured. Spoiler Edited April 14 by deathmorph
riveth Posted April 14 Author Posted April 14 1 hour ago, deathmorph said: I don't understand this. If the Lady is captured via the "Violate" option and fitted with devices, then in 90% of all cases, a Raider or Super Mutant "harasser" comes running over and asks if he should remove the devices. After the scene/cooldown period, the harassers become hostile again, and the Lady is either dead or gets recaptured. Hide contents Problem is idk how to know that violate scenario just ended. If there would be something like global variable that is set at violate scenario end, I could use it as trigger to add some timer to Sh. At current state, pacifed captors from violate are non hostile and are picked up by SH as bondage harassers. Maybe there is a way to know id AAF scene was played and then I could add timer after last AAF scene as cooldown to SH. That way any harassment could start after set time from anu AAF scene. I cant think of any other option that doesnt involve edits in violate itself.
Franco Cozzo Posted April 14 Posted April 14 Another hope for this mod: Some method to reset the approach if it fails or maybe an approach time out that resets it. I just have the function ResetNPCApproach bound to a hotkey at this point instead of needing to go through the MCM every time, it's pretty much my biggest peeve of the original mod. FPSH_Main.psc Function ResetNPCApproach(string msg) 13 minutes ago, riveth said: Problem is idk how to know that violate scenario just ended. If there would be something like global variable that is set at violate scenario end, I could use it as trigger to add some timer to Sh. At current state, pacifed captors from violate are non hostile and are picked up by SH as bondage harassers. Maybe there is a way to know id AAF scene was played and then I could add timer after last AAF scene as cooldown to SH. That way any harassment could start after set time from anu AAF scene. I cant think of any other option that doesnt involve edits in violate itself. there looks to be : float lastSexTime = 0.0 in FPSH_Main.psc and looks to be used by the function " Function OnSexComplete(Actor nonPlayerActor) " which may be using " Function OnTick() " to actually track it
riveth Posted April 14 Author Posted April 14 6 hours ago, deathmorph said: I don't understand this. If the Lady is captured via the "Violate" option and fitted with devices, then in 90% of all cases, a Raider or Super Mutant "harasser" comes running over and asks if he should remove the devices. After the scene/cooldown period, the harassers become hostile again, and the Lady is either dead or gets recaptured. Reveal hidden contents Lol I just looked ins SH MCM and to solve your problem there are actually 2 options you can set: - under gerneral options pick cooldown after sex. This option allows SH aproaches after cooldown timer after any AAF scene (for example from Violate) This was the fix I tried to do, but it was already there, 8| - secondly, under eligible NPC, tick off Mutants and raiders I think that it doesnt require any more work 1
riveth Posted April 14 Author Posted April 14 4 hours ago, Franco Cozzo said: Another hope for this mod: Some method to reset the approach if it fails or maybe an approach time out that resets it. I just have the function ResetNPCApproach bound to a hotkey at this point instead of needing to go through the MCM every time, it's pretty much my biggest peeve of the original mod. FPSH_Main.psc Function ResetNPCApproach(string msg) there looks to be : float lastSexTime = 0.0 in FPSH_Main.psc and looks to be used by the function " Function OnSexComplete(Actor nonPlayerActor) " which may be using " Function OnTick() " to actually track it turns out idea I had is already implemented in SH, there is a cooldown slider after sex (from any mod), lol Personally I never had to reset aproaches, so I think this is just some niche problem I guess.
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