Jump to content

[Req] hands stay bound.


Kapes

Recommended Posts

So I like to have my hands bounds when running around, however whenever I have sex or use crafting or something it reverts to the default Idol. It's worse with Serana as she likes to wonder off and fiddle with stuff magically popping out of her cuffs. I've been hoping this would be fixed sooner or later but I haven't seen anything yet so I just wanted to nudge maybe the creation of one. I'm thinking maybe a script that checks for the animation or equipment and refreshes every few seconds. Alternatively maybe a menu like hdt heels that lets you attach a refresh to a specific armor. 

Link to comment

I'm sure someone can figure it out. Too bad, during sex scenes, the hands come unbound.

 

Armbinders don't! :P.

 

I was considering expanding that functionality to other types of restraints as well...

Link to comment

 

I'm sure someone can figure it out. Too bad, during sex scenes, the hands come unbound.

 

Armbinders don't! :P.

 

I was considering expanding that functionality to other types of restraints as well...

 

Aww lucky armbinder users, I prefer the zaz iron cuffs and collar, they're my favorite, but they never stay bound.. I for one would be grateful if you did expand it though.

Link to comment

Zap can do this (Prison Overhaul uses that feature), but it's also quite annoying to have this functionality when you're trying to pose characters for other animations. :)

 

I could easily add this to the existing esm if that is something you wanted to see. Though, it would interfere with posing for other animations, of course.

Link to comment

Zap can do this (Prison Overhaul uses that feature), but it's also quite annoying to have this functionality when you're trying to pose characters for other animations. :)

 

I could easily add this to the existing esm if that is something you wanted to see. Though, it would interfere with posing for other animations, of course.

I'm alright with that, I've never been big into posing, as long as it doesn't interfere with the sex animations.

 

But thats why I'm suggesting maybe a separate esm that can be disabled when people want to do posing, or even better an addition to the mcm menu to turn it on/off.

Link to comment

Zap can do this (Prison Overhaul uses that feature), but it's also quite annoying to have this functionality when you're trying to pose characters for other animations. :)

 

I could easily add this to the existing esm if that is something you wanted to see. Though, it would interfere with posing for other animations, of course.

Ummmmmmm if you need to add an automatic refresh can there pretty please be a way to scriptly disable it without making ZAP or its scripts a requirement? Because if you implement refresh my plan to make Defeat compatible with restraints will go out the window n_n
Link to comment

 

Zap can do this (Prison Overhaul uses that feature), but it's also quite annoying to have this functionality when you're trying to pose characters for other animations. :)

 

I could easily add this to the existing esm if that is something you wanted to see. Though, it would interfere with posing for other animations, of course.

Ummmmmmm if you need to add an automatic refresh can there pretty please be a way to scriptly disable it without making ZAP or its scripts a requirement? Because if you implement refresh my plan to make Defeat compatible with restraints will go out the window n_n

 

I'll PM you...

Link to comment

Hm,

 

I  added a

if PlayerRef.WornHasKeyword(zbfWornWrist)
	PlayerRef.PlayIdle(zbfIdleHandsBound)
endif

into my SexLab finished callbacks...

 

Maybe SexLab allows to add system wide hooks where a code like this can be added?

 

And about cuffs during scenes - I'll do something like this:

if PlayerRef.WornHasKeyword(zbfWornWrist) && SexLab.GetAnimationByName("$ZazAP_SexLabRoughMissionary") != none
	anims[0] = SexLab.GetAnimationByName("$ZazAP_SexLabRoughMissionary")
else
	anims[0] = SexLab.GetAnimationByName("Rough Missionary")
endif 

but I thought, ZAP would do something like this automatically?

 

About bound poses during normal walk around - for this ZAP would need to track the players pose. But is it really possible for mods to detect that a bound pose has been left? I don't like my PC to be a fidget and I don't like script lags caused by so many trackers.

Link to comment

Hm,

 

I  added a

if PlayerRef.WornHasKeyword(zbfWornWrist)
PlayerRef.PlayIdle(zbfIdleHandsBound)
endif
into my SexLab finished callbacks...

 

Maybe SexLab allows to add system wide hooks where a code like this can be added?

 

And about cuffs during scenes - I'll do something like this:

if PlayerRef.WornHasKeyword(zbfWornWrist) && SexLab.GetAnimationByName("$ZazAP_SexLabRoughMissionary") != none
anims[0] = SexLab.GetAnimationByName("$ZazAP_SexLabRoughMissionary")
else
anims[0] = SexLab.GetAnimationByName("Rough Missionary")
endif 
but I thought, ZAP would do something like this automatically?

 

About bound poses during normal walk around - for this ZAP would need to track the players pose. But is it really possible for mods to detect that a bound pose has been left? I don't like my PC to be a fidget and I don't like script lags caused by so many trackers.

 

SexLab allows you to hook into animation start and done events, so it's possible to reapply bound poses on actors afterwards.

 

I have tried to make sure that the default scripting in ZAP stays as unintrusive as possible to other mods. For instance, that's part of why I made the decision to not by default reapply the bindings offset. That is also why I'm a bit hesitant to tie ZAP too closely together with SexLab. Maybe hooking into those events wouldn't be an issue. I'll have to try and see ....

 

May I suggest instead of using the above code, that you call ::ApplyOffsetIdle

zbf.ApplyOffsetIdle(PlayerRef) ; Assuming zbf points to the object returned by zbfUtil.GetMain()
That will look at what you have equipped and play a suitable animation. Now that ZAP has support for yokes and armbinders, that code is a lot more flexible, and does not require you to maintain it. Of course, if you know that you'll not equip anything but cuffs, what you use works equally well.

 

I suggest, though, that you look at zbfEffectWrist instead of zbfWornWrist. zbfWornWrist is a marker to tell other mods that wrist restraints (of some kind) are worn by the player, and not something that should be used to trigger playing animations. It's supposed to be safe, more or less.

 

 

When it comes to playing SexLab animations, what you describe works well if the user has registered an animation. That said, 5.60 has a new animation system that let's you select and build suitable animations for when you need them. Those animations do not need to be registered in advance, which has the added advantage of not filling users animation lists with things that don't make sense (and of which other mods are normally unaware of).

 

Not all animations are available as registered SexLab animations, you get more flexibility, and as more animations are added, you get the benefit that your mod can still use them. If you set up animation fetching correctly, which is easy to do, then those animations will make sense depending on the bindings your character has.

 

Snippet how selection is handled:

sslBaseAnimation anim ; Need to point to a sslBaseAnimation object, out of scope for this example.
zbfBondageShell zbf = zbfUtil.GetMain()
zbfSexLab zbfSL = zbfUtil.getSL()
zbfSexLabBaseEntry[] list = zbfSL.GetEntries()
zbfSL.FilterEntries(list, 1, zbfSL.StrList("Wrists"), zbfSL.StrList()) ; Replace "Wrists" here with "Yoke" if you want Yoke compatible animations
zbfSexLabBaseEntry entry = zbfSL.GetRandomEntry(list)
zbfSL.DefineAnimationFromEntry(entry.BaseId, anim, "MyAnimation", zbf.GetSexLabAnimationName(entry, zbf.iBindWrists), zbf.GetSexLabAnimationName(entry, zbf.iBindUnbound))
The code sets up a random animation where the first actor's hands are bound (with the cuffs animation).

 

If you wanted to, say, play missionary animations (as in your example):

zbfSexLabBaseEntry entry = zbfSL.GetEntryById("Missionary01")
zbfSL.DefineAnimationFromEntry(entry.BaseId, anim, "MyAnimation", zbf.GetSexLabAnimationName(entry, zbf.iBindWrists), zbf.GetSexLabAnimationName(entry, zbf.iBindUnbound))
And if you feel that using an api is too limiting or you want more control, just intercept the control flow at any point. The code below works equally well for the Missionary01 scenario.

zbfSL.DefineAnimationFromEntry("Missionary01", anim, "MyAnimation", "ZapWriMissionary01", "AggrMissionary")
... or you can go the other way, and just don't care how you're filtering your animations ... (from the top example)

zbfSexLabBaseEntry[] list = zbfSL.GetEntries()
zbfSL.FilterEntries(list, 1, zbf.GetRequiredSexLabTags(PlayerRef), zbf.GetBlockedSexLabTags(PlayerRef))
zbfSL.FilterEntries(list, 2, zbf.GetRequiredSexLabTags(otherActor), zbf.GetBlockedSexLabTags(otherActor))
zbfSexLabBaseEntry entry = zbfSL.GetRandomEntry(list)
Now you're set up with an animation that can play on both actors, and you don't need to keep track of how or if they're bound, wearing belts, gags and so on.

 

All of the functions I've used here are documented in the source files, so you can look in those files or just ask me. I'm happy to help if this is something you'd like to use ... :)

Link to comment

For fun I created a patch for Zaz Animation Pack 5.62, that should contain what you want. These should work better on followers.....

 

It will not be perfect, but better, I think. I proper integration would also gracefully handle SexLab for instance.

This is more of what I was looking for thank you :D

 

It pulls you out of sexlab animations but its definitely a start.

Link to comment

 

For fun I created a patch for Zaz Animation Pack 5.62, that should contain what you want. These should work better on followers.....

 

It will not be perfect, but better, I think. I proper integration would also gracefully handle SexLab for instance.

This is more of what I was looking for thank you :D

 

It pulls you out of sexlab animations but its definitely a start.

 

Yes, it's certainly not perfect. I just put that together really quick. :)

Link to comment

May I suggest instead of using the above code, that you call ::ApplyOffsetIdle

zbf.ApplyOffsetIdle(PlayerRef) ; Assuming zbf points to the object returned by zbfUtil.GetMain()
That will look at what you have equipped and play a suitable animation. Now that ZAP has support for yokes and armbinders, that code is a lot more flexible, and does not require you to maintain it. Of course, if you know that you'll not equip anything but cuffs, what you use works equally well.

What will happen, if the Player does not wear any ZAZ restraint? Do I still have to check what the player is wearing?

Link to comment

 

May I suggest instead of using the above code, that you call ::ApplyOffsetIdle

zbf.ApplyOffsetIdle(PlayerRef) ; Assuming zbf points to the object returned by zbfUtil.GetMain()
That will look at what you have equipped and play a suitable animation. Now that ZAP has support for yokes and armbinders, that code is a lot more flexible, and does not require you to maintain it. Of course, if you know that you'll not equip anything but cuffs, what you use works equally well.

 

What will happen, if the Player does not wear any ZAZ restraint? Do I still have to check what the player is wearing?

 

If the player is not wearing any items with zbfEffectWrist, then the actor will play the idle animation.

Link to comment

The rest looks a way to complicated for me - I never use random animations for my mod.

:(

 

Maybe it is too hard to use. I'll PM you .... I'd like modders to start using it, so I'll ask you to help me figure out the right utility functions that you need. :)

Link to comment

 

The rest looks a way to complicated for me - I never use random animations for my mod.

:(

 

Maybe it is too hard to use. I'll PM you .... I'd like modders to start using it, so I'll ask you to help me figure out the right utility functions that you need. :)

 

Throw me an invite to that PM; I wouldn't mind getting a better grasp on the new features you've exposed as well.

Link to comment

 

If the player is not wearing any items with zbfEffectWrist, then the actor will play the idle animation.

 

Tried - this command wont do anything  :s

I'll stuck with my woodcutter solution.

 

How do you mean it won't do anything? It's the command that is used internally by ZAP to play animations, so it does do something. I'll PM you ....

Link to comment
  • 7 months later...

 

Zap can do this (Prison Overhaul uses that feature), but it's also quite annoying to have this functionality when you're trying to pose characters for other animations. :)

 

I could easily add this to the existing esm if that is something you wanted to see. Though, it would interfere with posing for other animations, of course.

Ummmmmmm if you need to add an automatic refresh can there pretty please be a way to scriptly disable it without making ZAP or its scripts a requirement? Because if you implement refresh my plan to make Defeat compatible with restraints will go out the window n_n

 

 

Definitely. This is currently a problem with Devious Devices. I have a lot of mods that will hogtie you for various reasons, but if you have an armbinder on, it keeps trying to refresh the armbinder, so you end up bouncing up and down every 3 seconds.  Don't have to tell you how ridiculous that looks. There should really be a *universal* way for mods to tell other mods like DD/Zaz to temporarily stop refreshing.

 

Link to comment

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

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

Important Information

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