Jump to content

[Compatibility] How does DHLP suspend exactly work?


Recommended Posts

TLDR:

1. which mod does DHLP mod event belong to/why does it work even with Deviously helpless not installed?

2. how can I make a script / quest respect DHLP suspend and prevent the mod from firing while Suspended = true

 

 

I recently noticed, that alot of threads talk about DHLP suspend but that I have no idea what this actually does.

 

What I know:

- I use the DHLP suspend/resume events on Naked Defeat.

The mod events cover the WHOLE length of the mod, not only sex scenes. Meaning:

---- DHLP starts at defeat

---- lot of rape, whipping and then furniutre escape game

---- DHLP ends when player escapes

 

- this prevents mods like Sexlab Adventures to approach/do anything and also some other mods which I THINK use DHLP suspend (they respect when it is active).

 

But now for the problems:

- I have no idea which mod actually USES the mod event? I mean I think its from deviously helpless, but I dont even have that mod installed. Still the mod event seems to work.

- does the mod event belong to sexlab?

 

- how do I modify a mod to respect DHLP suspend flags? 

I found this from @HexBolt8

if Mods.dhlpSuspendStatus
    return false
endif

 

 

Event OnSuspend(string eventName, string strArg, float numArg, Form sender)
   dhlpSuspendStatus = true
    if (sender != self); suspend from another mod
        PlayMonScript.forceGreetIncomplete = false; stop clear_force_variables() from sending dhlp-resume
        PlayMonScript.setCRDEBusyVariable(false)
        PlayMonScript.clear_force_variables(true)
    endif
EndEvent

 

but I dont know how to make it work? 
do i have to replace "mods." with something else? 

 

I m also asking since I want to make my own Civil Rape and punishment quests respect DHLP suspend.

I also want to add that into Sexlab Pheromones, which at the moment respects running Sexlab Scenes but NOT DHLP suspend/resume

 

I found this in its script but I dont understand why it looks for an installed mod first?

 

If SPMCM.installed_DeviouslyHelpless == true
	SendModEvent("dhlp-Suspend")

 

and, also important question: is DHLP suspend even the universal flag that is still commonly used? 

I thought it is, but I have my doubts since more and more mods started fucking each other up...

 

Link to comment

DHLP Suspend and Resume seem to be used by most mods that would care about "deviously helpless" events.  However, not all mods use this system, and others are only concerned with sending the events, though they don't listen for them. 

 

For example, one popular peril mod sends DHLP Suspend and Restore to lock or claim the PC during an approach (to warn other mods to stay away during that time because this mod is claiming "dibs" on the PC), but that mod doesn't adequately handle receiving the events.  Therefore, if another mod had first sent DHLP Suspend, this mod would ignore that and start its own approach.  I'm not picking on any mod, just using that as an example of how the system isn't smoothly and universally implemented.  That said, it's the closest thing to a standard, and it is used by many mods.

 

Some mods aren't peril mods, so they don't have to listen for the events.  For instance, Simple Slavery handles peril outcomes.  The player is already helpless.  It sends Suspend when the PC arrives in the slave market (so that rape mods won't have the bidders assault the PC during the auction), and it sends Resume just before sending the PC off to an enslavement mod.  It doesn't care if another mod sends Suspend because there is no approach or pursuit phase and the PC is already deemed to be helpless on arrival.  Unlike a peril mod, it does not expect to ever be competing with any other mod to do things to the PC.

 

To make a mod aware of these events, it must register for them:

 

RegisterForModEvent("dhlp-Suspend", "OnDhlpSuspend")

RegisterForModEvent("dhlp-Resume", "OnDhlpResume")

 

then implement functions to handle the events:

 

Bool Property DhlpSuspended Auto Conditional

 

Event OnDhlpSuspend(string eventName, string strArg, float numArg, Form sender)

   if (sender != self); suspend from another mod
      DhlpSuspended = true

   endif
EndEvent


Event OnDhlpResume(string eventName, string strArg, float numArg, Form sender)
  DhlpSuspended = false
EndEvent

 

The mod would have to check its DhlpSuspended property before treating the PC as "helpless" and starting a rape, imprisonment, enslavement, or otherwise assaulting the PC.  It might also choose to abort an approach if it receives a Suspend before its own force greeting or whatever it's doing actually starts.

 

It's a mod's responsibility to be very sure that it always sends Resume when it's finished with whatever it's doing to the PC, or the status will end up permanently suspended and the player will have much too easy a time.

Link to comment
23 minutes ago, HexBolt8 said:

DHLP Suspend and Resume seem to be used by most mods that would care about "deviously helpless" events.  However, not all mods use this system, and others are only concerned with sending the events, though they don't listen for them. 

 

For example, one popular peril mod sends DHLP Suspend and Restore to lock or claim the PC during an approach (to warn other mods to stay away during that time because this mod is claiming "dibs" on the PC), but that mod doesn't adequately handle receiving the events.  Therefore, if another mod had first sent DHLP Suspend, this mod would ignore that and start its own approach.  I'm not picking on any mod, just using that as an example of how the system isn't smoothly and universally implemented.  That said, it's the closest thing to a standard, and it is used by many mods.

 

Some mods aren't peril mods, so they don't have to listen for the events.  For instance, Simple Slavery handles peril outcomes.  The player is already helpless.  It sends Suspend when the PC arrives in the slave market (so that rape mods won't have the bidders assault the PC during the auction), and it sends Resume just before sending the PC off to an enslavement mod.  It doesn't care if another mod sends Suspend because there is no approach or pursuit phase and the PC is already deemed to be helpless on arrival.  Unlike a peril mod, it does not expect to ever be competing with any other mod to do things to the PC.

 

To make a mod aware of these events, it must register for them:

 

RegisterForModEvent("dhlp-Suspend", "OnDhlpSuspend")

RegisterForModEvent("dhlp-Resume", "OnDhlpResume")

 

then implement functions to handle the events:

 

Bool Property DhlpSuspended Auto Conditional

 

Event OnDhlpSuspend(string eventName, string strArg, float numArg, Form sender)

   if (sender != self); suspend from another mod
      DhlpSuspended = true

   endif
EndEvent


Event OnDhlpResume(string eventName, string strArg, float numArg, Form sender)
  DhlpSuspended = false
EndEvent

 

The mod would have to check its DhlpSuspended property before treating the PC as "helpless" and starting a rape, imprisonment, enslavement, or otherwise assaulting the PC.  It might also choose to abort an approach if it receives a Suspend before its own force greeting or whatever it's doing actually starts.

 

It's a mod's responsibility to be very sure that it always sends Resume when it's finished with whatever it's doing to the PC, or the status will end up permanently suspended and the player will have much too easy a time.

 

 

thx alot for this explanation. exactly what I wondered how to achieve this. make a mod "listen" not just protect itself :D

 

I will try to insert this part into may own scripts and try to make patches for mods that do not respect it. maybe I can finally suceed to have more than one sexlab starting mod in the LO without the need to smash my keyboard because OF COURSE all mods happen at once all the time ^^

 

Link to comment
  • 2 weeks later...
20 minutes ago, Pamatronic said:

Just out of curiosity, do you know which of the more popular combat Defeat mods DO listen to this DHLP-Suspend?

I don't know that, but as a guess, probably no "defeat" mod does, because if you were just in combat you clearly weren't helpless.  Listening for DHLP events is more for "peril" mods that will take advantage of a situation that they didn't directly create (you happen to be naked and there's an aroused NPC nearby, so if no other mod has sent DHLP-Suspend, then a rape mod sees an opportunity, sends its own DHLP-Suspend, and starts a rape).

 

On the flip side, defeat mods probably do send DHLP-Suspend when they start a post-combat defeat scene, though again I'm just guessing.

Link to comment
15 minutes ago, HexBolt8 said:

I don't know that, but as a guess, probably no "defeat" mod does, because if you were just in combat you clearly weren't helpless.  Listening for DHLP events is more for "peril" mods that will take advantage of a situation that they didn't directly create (you happen to be naked and there's an aroused NPC nearby, so if no other mod has sent DHLP-Suspend, then a rape mod sees an opportunity, sends its own DHLP-Suspend, and starts a rape).

 

On the flip side, defeat mods probably do send DHLP-Suspend when they start a post-combat defeat scene, though again I'm just guessing.

Hmm.. Makes sense I guess.

I could think of some more theoretical applications for the OnEnterBleedout Event. Kinda unfortunate that its factually reserved by Defeat mods.

Link to comment
7 hours ago, Pamatronic said:

Hmm.. Makes sense I guess.

I could think of some more theoretical applications for the OnEnterBleedout Event. Kinda unfortunate that its factually reserved by Defeat mods.

 

they need it too I think. And I was not very successful to implement checks before bleedout to do other stuff (for example check for DDs).
Bleedout seems to be a very unreliable thing that does strange stuff which require special attention (for example some stuff just does not fire after repeated bleedout, utility wait seems to be just ignored, health damage to the PC also, its very strange.

 

Other than that and with thinking about your mods too I was thinking about an "Afterlife" Framework that sends the PC to "I m dead now" Scenarios similar to Simple Slavery but with different tonality. 
By that I hoped of circumventing that problem and send the PC first into bleedout, then defeat, then insert outcomes like Simple SLavery or in this case: -> send to your gallow hanging scenario -> then send to afterlife framework (framework is too much maby,e its more of a bridgemod. Will call it Simple Death or Simple Resurrection maybe. 

 

What kind of Bleedout devents did you think about? 

 

Link to comment
On 5/8/2021 at 12:25 PM, Nymra said:

Bleedout seems to be a very unreliable thing that does strange stuff which require special attention (for example some stuff just does not fire after repeated bleedout, utility wait seems to be just ignored, health damage to the PC also, its very strange.

Are you sure about this? From my experience, the Event itself fires absolutely reliably. I'm suspecting that mods which put more ambitious stuff into the Event just have a lot more room for errors. So I´m pretty sure the problems you mentioned would be caused by the contents of the Event, rather than the Event itself. I took a look at naked defeat, and that's absolutely something i would call ambitious. (Don´t get me wrong here, I have great respect for anyone who puts this much effort into his work).

 

 

On 5/8/2021 at 12:25 PM, Nymra said:

By that I hoped of circumventing that problem and send the PC first into bleedout, then defeat, then insert outcomes like Simple SLavery

Call me pessimistic, but I somewhat doubt that you can chain 3 different mods into each other. I mean, that would be like coupling Daymoyl->Defeat->Simple Slavery.

While this is of course possible on a technical level, Its just not practical since there just aren't enough people who are capable and willing to adhere to such framework-ish mods or implement hooks for other mods to catch on.

Just look at the (nonexisting) amount of plugins for Daymoyl.

And i feel this is even more true for Fetish based stuff. People care about their preferences and not much else (cannot blame them). Your Ideas might be noble, but I'm afraid you are a stark minority.

 

On 5/8/2021 at 12:25 PM, Nymra said:

What kind of Bleedout devents did you think about? 

I was working on a escape mechanic for my upcoming prison mod.

Recapture the player on bleedout seems like the obvious choice, but people will have a defeat mod installed, so... no.

I eventually settled on: get recaptured after X hits from Guards, while simultaneously nullifying actual hp damage from them. This seems to do the trick.

Link to comment
19 minutes ago, Pamatronic said:

Are you sure about this? From my experience, the Event itself fires absolutely reliably. I'm suspecting that mods which put more ambitious stuff into the Event just have a lot more room for errors. So I´m pretty sure the problems you mentioned would be caused by the contents of the Event, rather than the Event itself. I took a look at naked defeat, and that's absolutely something i would call ambitious. (Don´t get me wrong here, I have great respect for anyone who puts this much effort into his work).

 

in this case:
 

bleedout 1:

everything workes as intended

Bleedout 2:

- utility wait no longer works

- health healed after bleedout is always 100% instead of the 40% in the scripts.

 

its the exact same code, just the fact that bleedout fires two times in, dunno, minutes or 10 minutes -> fails 

 

 

Quote

 

Call me pessimistic, but I somewhat doubt that you can chain 3 different mods into each other. I mean, that would be like coupling Daymoyl->Defeat->Simple Slavery.

While this is of course possible on a technical level, Its just not practical since there just aren't enough people who are capable and willing to adhere to such framework-ish mods or implement hooks for other mods to catch on.

Just look at the (nonexisting) amount of plugins for Daymoyl.

And i feel this is even more true for Fetish based stuff. People care about their preferences and not much else (cannot blame them). Your Ideas might be noble, but I'm afraid you are a stark minority.

 

well, all loverslab is about chaining mods to each other. its what makes anything here worthwhile. While in fact (and sadly), majority of mods do not respect each  others existence or care for compatibility, including some more important frameworks.

 

My plans are rather limited. I plan on making small scenarios for Simple Slavery and Simple Death only, not complex quest mods. They will be meant as "get fucked good and play on" kind of style only.

I dont care if others take up the Simple Death as outcome scenario. There are no major quest mods anymore and probably never will be. And the ones that exist are either unmaintained and old or never were finished (majority of mods linked to SS++ are basically broken). 

 

Quote

I was working on a escape mechanic for my upcoming prison mod.

Recapture the player on bleedout seems like the obvious choice, but people will have a defeat mod installed, so... no.

I eventually settled on: get recaptured after X hits from Guards, while simultaneously nullifying actual hp damage from them. This seems to do the trick.

EDIT (maybe insert an autosurrender to the guards? or do you want the PC to fight his way out? Just imagine having no weapons and face guards might lead to a "ok you got me" surrender?

 

hmm 

I am actually trying to make Naked Defeat Guard compatible. 

At the moment if the PC is sent to bleedout and Naked Defeat fires, it will check if any of the actors nearby is a guard. If so, Naked Defeat will terminate itself.

I want to refine this method even more, possibly scanning for the "last actor that hit the PC" to make sure its really a gurad scenario and not jsut a guard anywhere in the cell.

 

For Defeat users, making a corresponding Daymol scenario for your prison mod might help.

Peril and Dragonborn in Distress have (I think) prison outcomes if there is a bounty. But not sure. 


May I ask which direction the prison mod is taking? Just vanilla prison + executions? 
why not opt to make new scnearios for Prison Overhaul instead? its already 2 prison mods that fight to the death (cursed loot and pop), with a third one now, hmmm, might be very hard to decide which one to take.

and do you plan any compatibility with POP? like the option to decide which one will fire when imprisoned?

 

Or are you more like Raven Beak prison which is somewhat different entirely? 

Link to comment
24 minutes ago, Nymra said:

in this case:
 

bleedout 1:

everything workes as intended

Bleedout 2:

- utility wait no longer works

- health healed after bleedout is always 100% instead of the 40% in the scripts.

 

its the exact same code, just the fact that bleedout fires two times in, dunno, minutes or 10 minutes -> fails 

Doesn't disprove my point. An Event is effectively just a Function call. It doesn't care whats written inside it. Its just an entry point.

If stuff doesn't work properly. Then the code inside it is faulty. even when the code is the same, it draws from a lot of internal and external variables which might have changed after the first trigger. If Bleedout had the capability of crippling utility.wait(), no one could and would use it.

 

35 minutes ago, Nymra said:

My plans are rather limited. I plan on making small scenarios for Simple Slavery and Simple Death only, not complex quest mods. They will be meant as "get fucked good and play on" kind of style only.

I dont care if others take up the Simple Death as outcome scenario. There are no major quest mods anymore and probably never will be. And the ones that exist are either unmaintained and old or never were finished (majority of mods linked to SS++ are basically broken). 

Fair enough

 

49 minutes ago, Nymra said:

May I ask which direction the prison mod is taking?

A very lightweight And modular thing. basically: Be in prison for x amount of days (depending on crime severity).

Every day you´ll get a daily event. If you try to escape and get captured, you´ll get a punishment event, if you make it to the end of your Sentence, you´ll get a release event.

 

I'm using a plugin system for the Events, a bit like the system used by Daymoyl. So events can very easily be added or removed without dependency´s in either direction.

 

 

56 minutes ago, Nymra said:

why not opt to make new scnearios for Prison Overhaul instead? its already 2 prison mods that fight to the death (cursed loot and pop), with a third one now, hmmm, might be very hard to decide which one to take.

and do you plan any compatibility with POP? like the option to decide which one will fire when imprisoned?

I think I already mentioned this somewhere, but its impossible (or at least extremely impractical) to make new scenarios for POP. Its a closed system which wasn't made with expansion in mind. Besides that, POP is (in my humble opinion) Extremely bloated and just broken beyond repair. Tried it once (on an pretty much clean game install). Scenes got stuck more often than not, so i threw it out again. It just tries to do to many things at once and most of them don't work properly.

So no, Im not gonna bother with compatibility with that wreck.

 

Similar Problem with cursed loot (or anything else DD related).

The entire DD family is incredibly bloated and intrusive. Say i want the DCL prison, then I´m required to install SL Aroused, as well as DD integration and DD expansion.

3 mods which I really don't want to have in my setup. And than i still have the 30 other features included in DCL which i simply have no need for.

 

 

I´m making something for those who want a slightly more engaging prison system and nothing more.

which means just the framework + Default events (which basically are: nothing happens / no punishment just go back to your cell / normal release - respectively) If people want some crazy DD/BDSM stuff, they can put that and their requirements into a plugin rather than the base mod.

 

1 hour ago, Nymra said:

For Defeat users, making a corresponding Daymol scenario for your prison mod might help.

Peril and Dragonborn in Distress have (I think) prison outcomes if there is a bounty. But not sure. 

I'm using the vanilla prison event as trigger. So there´s no need for a dedicated outcome.

 

1 hour ago, Nymra said:

EDIT (maybe insert an autosurrender to the guards? or do you want the PC to fight his way out? Just imagine having no weapons and face guards might lead to a "ok you got me" surrender?

Depending on the prison, the Prisoners belongings chest isn't far away from the players cell. so fighting is an option.

and even without your stuff. just taking the chance and start running seems to be preferable to just giving up right away. So i didn't want to include a surrender option.

Also, again, i want to keep things simple.

 

Actually, its basically finished and will be up somewhere next weekend. I´m just adding more API functions right now.

If you´re interested, i could pm you the current version. Opinions of other modders are quite usefull.

 

1 hour ago, Nymra said:

I want to refine this method even more, possibly scanning for the "last actor that hit the PC" to make sure its really a gurad scenario and not jsut a guard anywhere in the cell.

I don't want to say that this is the standard, but as far as i know that's how SL defeat does it (checking last attacker that hit the player.)

Link to comment
7 hours ago, Pamatronic said:

I think I already mentioned this somewhere, but its impossible (or at least extremely impractical) to make new scenarios for POP. Its a closed system which wasn't made with expansion in mind. Besides that, POP is (in my humble opinion) Extremely bloated and just broken beyond repair. Tried it once (on an pretty much clean game install). Scenes got stuck more often than not, so i threw it out again. It just tries to do to many things at once and most of them don't work properly.

So no, Im not gonna bother with compatibility with that wreck.

 

hm, interesting. POP never failed me unless something was very broken in my Load Order. If Scenes got stuck is was mostly other mods interfering. It sometimes can take some time to integrate mods into a load order, maybe you should have given it a second chance. 

 

Other than that: POP is quite nice in my oppinion, but I started to look for alternatives because POP is no longer adding content or options and it can get quite repetetive (no group scenes, no creature options, no different punishments like DCL prison has (forced labour). 

Also, I dont really like the crime system in general, which is a problem for all prison mods I guess. Crimes can mostly be avoided and I found no good way of implementing them (at the moment I play around with Sexlab Adventures crime system. many crimes, but low report chances, so there is a constant threat but not guarantee). 
Hence why I like mods linked to SS++ (meaning mods that SS++ can send you to) for different approachs than just the crime system. 

 

Quote

 

Similar Problem with cursed loot (or anything else DD related).

The entire DD family is incredibly bloated and intrusive. Say i want the DCL prison, then I´m required to install SL Aroused, as well as DD integration and DD expansion.

3 mods which I really don't want to have in my setup. And than i still have the 30 other features included in DCL which i simply have no need for.

 

what is the problem with SL aroused? there are also 2 mods that came out that update Aroused (SLAX and another which I forogt the name). 

 

agree with DD intrusiveness, tho. While I think in DCL u can disable most of the features. At least I heard good things about the prison, since it is more active than POP. 

 

Quote

 

I´m making something for those who want a slightly more engaging prison system and nothing more.

which means just the framework + Default events (which basically are: nothing happens / no punishment just go back to your cell / normal release - respectively) If people want some crazy DD/BDSM stuff, they can put that and their requirements into a plugin rather than the base mod.

 

hmm, same question then: you think anybody will ever make events for it? 

 

Quote

Actually, its basically finished and will be up somewhere next weekend. I´m just adding more API functions right now.

If you´re interested, i could pm you the current version. Opinions of other modders are quite usefull.

 

cool, always nice to try out stuff. If you sent it to me I ll give it a shot.

 

some questions still tho:

- are there tasks in prison? Like forced labour?

- do you plan on adding your prison also as a Simple Slavery outcome? Adding a mod event entry point for SS++?

- I am playing with timescale 5 to 10 usually, making days two or four times as long as normal. 
POP has a dynamic system to adjust gamespeed while imprisoned to remove the need for immersion breaking "wait" function.

 

 

Link to comment
9 hours ago, Nymra said:

hm, interesting. POP never failed me unless something was very broken in my Load Order. If Scenes got stuck is was mostly other mods interfering. It sometimes can take some time to integrate mods into a load order, maybe you should have given it a second chance. 

might be pure bad luck, but as mentioned, i used it on my almost vanilla installation which i normally use for developing. Was nothing which could have interfered.

-First i got stuck on the middle of the road while being escorted to prison by bounty hunters

-the I got Stuck during the whipping scene

-then I got stuck during the walk of shame scene.

 

After that first impression, my patience was gone.

But it doesn't really matter. even when assuming it runs perfectly, its still nothing i´d have to see more than once. Its way to long-winded for regular use (at least for me)

 

9 hours ago, Nymra said:

Also, I dont really like the crime system in general, which is a problem for all prison mods I guess. Crimes can mostly be avoided and I found no good way of implementing them (at the moment I play around with Sexlab Adventures crime system. many crimes, but low report chances, so there is a constant threat but not guarantee). 

Agree with that, you need something to make getting arrested easier. nexus has a few adjusting mods for this as well. But regarding LL, SL Adventures seems to be the to go option.

 

9 hours ago, Nymra said:

what is the problem with SL aroused? there are also 2 mods that came out that update Aroused (SLAX and another which I forogt the name). 

I find the constant messages annoying. And the Debuffs to xp-gain become infuriating at higher Levels. Not sure about the performance hit ( i believe the Redux version made it a lot more reasonable), but its still not worth it.

 

9 hours ago, Nymra said:

hmm, same question then: you think anybody will ever make events for it? 

Not really, But if nothing else, it makes it easier for myself to expand it.

I also want to stress here, if POP featured this option, i would have gladly used it.

 

9 hours ago, Nymra said:

cool, always nice to try out stuff. If you sent it to me I ll give it a shot.

 

some questions still tho:

- are there tasks in prison? Like forced labour?

- do you plan on adding your prison also as a Simple Slavery outcome? Adding a mod event entry point for SS++?

- I am playing with timescale 5 to 10 usually, making days two or four times as long as normal. 
POP has a dynamic system to adjust gamespeed while imprisoned to remove the need for immersion breaking "wait" function

moved to PM. I don't really like talking about non-released stuff in public.

Link to comment

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

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