Jump to content

Recommended Posts

These handcuffs are seriously fun, Kharos. Thanks a ton for sharing this mod. I was curious and tried on a high security handcuffs tightly and then found out I didn't have the key. I went around trying to get help taking them off and was completely stuck *Laughs*

 

By chance I tried

a settlement workbench

and found I was able to use that to get free. That's fantastic! It's super immersive.

 

I also love that you let us use the armor workstation to increase the security and difficulty levels of the handcuffs.

 

Thanks :)

Link to comment
Spoiler
11 hours ago, JBpy said:

Am I the only one who has a problem with the third-person camera? It act as if my character was with the arm broken (because the camera vibrates slightly) and the camera in the third person can approach so much that it seems exactly like the first person view.

 

And when my character walks or runs, the camera moves too far away. I have tried disabling a POV mod i have, but it has not worked. I leave some captures. Without hancuffs. Handcuffed Running handcuffed.

  Reveal hidden contents

 

 

2019-06-02.png

2019-06-02 (2).png

2019-06-02 (3).png

 

 

 

Yeah, I've never had that issue with RH or any of my mods, actually.

The only time I get a camera backing that far out is during AAF scenes with the free-cam.

Link to comment
12 hours ago, JBpy said:

Am I the only one who has a problem with the third-person camera? It act as if my character was with the arm broken (because the camera vibrates slightly) and the camera in the third person can approach so much that it seems exactly like the first person view.

 

And when my character walks or runs, the camera moves too far away. I have tried disabling a POV mod i have, but it has not worked. I leave some captures. Without hancuffs. Handcuffed Running handcuffed.

  Reveal hidden contents

 

 

2019-06-02.png

2019-06-02 (2).png

2019-06-02 (3).png

 

 

That's a new issue for me, too. I do need forcefully close the pipboy and (at least temporarily) kick the player out of first-person camera when you equip handcuffs, otherwise various animation bugs would manifest. As soon as the handcuffs are equipped, you should be able to get back to first person though, and I have never seen the third person camera behave as you said. I assume you tried multiple times (i.e. load save game where you are not handcuffed) and the problem happens every time?

 

If you have some time, try the following and tell me what happens:

- add some handcuffs to your favorites menu

- close pipboy and switch to third person camera

- equip the handcuffs using the favorite key

Technical background, in that situation you are already in third person camera when the handcuffs are being equipped, so the mod does not have to monkey with your camera settings.

Link to comment
11 hours ago, Plaguetard said:

I really like this more than the DD side of things. I always felt weird devices were immersion breaking, but this is spot on. Loving how it is working with Violate (I have PC handcuffed at the beginning because well, that makes sense). Only request, would be to try and let the PC submit to a non hostile to help her out of the handcuffs if possible, or some other way besides only being able to wiggle out. Really looking forward to seeing how this develops though. Reminds me of Sexlab Submit on the Skyrim side of things.

I have heard a lot of great suggestions for interactions with NPCs (e.g. player asking friendly NPCs for help, friendly NPCs asking player for help, devious followers, commanding bound NPCs to wait in special poses like on their knees, etc.).

 

Things like that would improve immersion, but they are out of scope for this mod. The scope of Real Handcuffs is to provide the devices. NPC interaction should live in a separate "companion" mod that would probably be tightly integrated with this one and depend on it. If somebody wants to start such a companion mod, I am happy to provide help (e.g. explain how to use the api, add new keywords and events if necessary, etc.). If not I may or may not get around to do it myself, I cannot make any promises.

Link to comment

 

53 minutes ago, Kharos said:

That's a new issue for me, too. I do need forcefully close the pipboy and (at least temporarily) kick the player out of first-person camera when you equip handcuffs, otherwise various animation bugs would manifest. As soon as the handcuffs are equipped, you should be able to get back to first person though, and I have never seen the third person camera behave as you said. I assume you tried multiple times (i.e. load save game where you are not handcuffed) and the problem happens every time?

 

If you have some time, try the following and tell me what happens:

- add some handcuffs to your favorites menu

- close pipboy and switch to third person camera

- equip the handcuffs using the favorite key

Technical background, in that situation you are already in third person camera when the handcuffs are being equipped, so the mod does not have to monkey with your camera settings.

Here, I just tried it.

 

https://www.youtube.com/watch?v=KKPzPo_EP9Q&feature=youtu.be

 

It's probably another mod messing with RealHandcuffs. When I have more time I will deactivate all my mods and try only with RealHandcuffs activated.

 

Yes, when I take them off, the camera returns to normal. I also tried the command: " player.caa animarchetypeplayer ", but the console returns the message" failed "because the camera configuration is already correct.

Link to comment
31 minutes ago, JBpy said:

 

Here, I just tried it.

 

https://www.youtube.com/watch?v=KKPzPo_EP9Q&feature=youtu.be

 

It's probably another mod messing with RealHandcuffs. When I have more time I will deactivate all my mods and try only with RealHandcuffs activated.

 

Yes, when I take them off, the camera returns to normal. I also tried the command: " player.caa animarchetypeplayer ", but the console returns the message" failed "because the camera configuration is already correct.

Ok, this is really strange. RealHandcuffs does not touch the camera when you take the handcuffs off, so if that fixes the problem then it is probably not caused by temporary changes to the camera.

 

It does also not change the animation archetype. It uses a MT animation triggered by multiple keywords, and animation flavors are only switched to kick the animation subsystem - the player should always end up in the default animation flavor. Maybe a mod that changes default animations and makes matching changes to the camera?

 

[Edit] Or a mod that tries to adapt the camera to the current animations and is confused by the animation changes.

Link to comment

Love your mod Kharos! Is a permanent on my load order since I use Just Business so much!

I know this may be impossible but sincerely I believe this script would be very useful as an addon for the skyrim restraint mods too like zaz animation pack and devious devices too, I mean, I hope this would be possible since these other mods have a serious case of....not working that well with NPCs (they randomly stop animating).

Anyways, thank you so much for your splendid work!

Link to comment
16 hours ago, kadsend said:

Love your mod Kharos! Is a permanent on my load order since I use Just Business so much!

I know this may be impossible but sincerely I believe this script would be very useful as an addon for the skyrim restraint mods too like zaz animation pack and devious devices too, I mean, I hope this would be possible since these other mods have a serious case of....not working that well with NPCs (they randomly stop animating).

Anyways, thank you so much for your splendid work!

Thanks for your kind words.

 

I am not sure about all the differences between Skyrim and Fallout 4 (also there are two versions of Skyrim, "oldrim" and SE), but my scripts are full with workarounds for wonky behavior of the Fallout 4 engine and are using script functions from F4SE and from the LL FourPlay Community Plugin. So I am guessing that it would require a lot of changes.

If somebody really does want to try that, all script sources are included and I added comments explaining at least part of what is going on. The license is CC0 and also included in the zip file; in other words, anyone may do with the contents of the zip file whatever they want. But porting a non-trivial codebase like that to a different version of the engine is hard and difficult work, so I would not hold my breath...

Link to comment
  • 2 weeks later...
On 6/13/2019 at 2:55 AM, flofi55 said:

Is there sex animation

17 hours ago, NXTtrain said:

I am not sure why you are asking this question in the support thread of a simple handcuff framework mod. But if you do want sex animations, maybe look into AAF?

 

Yeah, please take a look at AAF and at the various animation packs for AAF.

 

AAF internally uses idle animations to do its magic, so Real Handcuffs is compatible with it; in other words the AAF animation will be "merged" with the "hands bound behind back" animation. Note that this may look bad for some animations (missing support or clipping). You may need to try a few different animations to find the ones that look good.

 

A additional problem is that some of the "aggressive" animations add their own set of handcuffs as part of the animation. This will usually look bad because the additional set of cuffs are not aligned properly.

Link to comment

Just uploaded a new version. No new functionality, but I changed how handcuffs and keys are spawned.

- There should be less potential for conflicts with other mods that can prevent them from spawning.

- There is more variability; 20% of all handcuffs are now hinged, 20% of all handcuffs (either normal or hinged) have high security locks.

- Keys should now be much easier to find. 80% of all handcuffs should spawn with keys. This is also true for handcuffs that show up as loot in containers and at vendors. Note that in the case of vendors, you need to buy the handcuffs (in armor tab) and the keys (in misc objects tab) separately.

The installer also contains the newest version of the community F4SE plugin. Note that the new F4SE plugin requires the newest Fallout 4 runtime (1.10.138)! Real Handcuffs will continue to work with the old runtime, but you need to uncheck the installation of the new community plugin in that case. Depending on circumstances, you may need to manually install a old version of the plugin.

Link to comment

Playing with the ThirdPartyAPI, I've run into a problem.  The GetEquippedRestraints function returns ObjectReference[], but if it's called via CallFunction that array is not retrievable.  CallFunction returns a Var, and Var cannot hold an array (nor can it be cast to an array).  That's why there are VarToVarArray and VarArrayToVar converters in the Utility object.

 

If I do a CallFunction( "GetEquippedRestraints", kArgs ), and print out the result, I get something that looks plausible (i.e. the call worked), but I can't figure out any way to extract the data in usable form.

 

With Var 'result', printing "CallFunction(GetEquippedRestraints) returned " + result,

 

        CallFunction(GetEquippedRestraints) returned
        [[realhandcuffs:handcuffs <Item 2 in container  (00000014)>]]

 

... which looks like an array-of-arrays, but I don't see any way to access the contents.

VarToVarArray produces 'None' on this (which makes sense, the contents weren't packed with VarArrayToVar).

 

Any suggestions?  If I can't call GetEquippedRestraints, I don't have any way to get the arguments I'd need to unequip the cuffs (or create an appropriate key, or...).

Link to comment
6 hours ago, stobor said:

Playing with the ThirdPartyAPI, I've run into a problem.  The GetEquippedRestraints function returns ObjectReference[], but if it's called via CallFunction that array is not retrievable.  CallFunction returns a Var, and Var cannot hold an array (nor can it be cast to an array).  That's why there are VarToVarArray and VarArrayToVar converters in the Utility object.

 

If I do a CallFunction( "GetEquippedRestraints", kArgs ), and print out the result, I get something that looks plausible (i.e. the call worked), but I can't figure out any way to extract the data in usable form.

 

With Var 'result', printing "CallFunction(GetEquippedRestraints) returned " + result,

 

        CallFunction(GetEquippedRestraints) returned
        [[realhandcuffs:handcuffs <Item 2 in container  (00000014)>]]

 

... which looks like an array-of-arrays, but I don't see any way to access the contents.

VarToVarArray produces 'None' on this (which makes sense, the contents weren't packed with VarArrayToVar).

 

Any suggestions?  If I can't call GetEquippedRestraints, I don't have any way to get the arguments I'd need to unequip the cuffs (or create an appropriate key, or...).

 

Hmm... looks like I may have to redesign that part of ThirdPartyAPI. Time to eat my own dogfood and rewrite my debug panel to use that API. I will (hopefully) get back to you with a solution.

Link to comment

Yeah, you are (of course!) right @stobor, that function cannot work when called using CallFunction because of papyrus' wacky type system. "A kingdom for a proper programming language!" (or in other words, I am still not experienced enough to foresee things like that). 

 

I will remove the function and replace it with two new functions:
 

Int Function CountEquippedRestraints(Actor target)

ObjectReference Function GetEquippedRestraintByIndex(Actor target, Int index)

Link to comment

You could also keep the function, but return a Var (copying the ObjectRef[] into a Var[] and then packing the Var[] into a Var for return, using VarArrayToVar).  That'd be more complex for direct callers, but it ought to work through the CallFunction interface.

 

Whichever approach feels cleaner to you, I'm OK with it.  I don't have a good feel for the relative performance of either approach - but this isn't something I'd need to call very often.

Link to comment

The count / getByIndex functions are a good idea, but it's a simple change to make GetEquippedRestraints work with CallFunction:

Var Function GetEquippedRestraints(Actor target)
	...
    Return VarArrayToVar(restraints as Var[])
EndFunction

Callfunction() has significant overhead so my preference would be a single call that returns the whole array, and let the caller deal with enumerating.

Link to comment
2 hours ago, EgoBallistic said:

The count / getByIndex functions are a good idea, but it's a simple change to make GetEquippedRestraints work with CallFunction:


Var Function GetEquippedRestraints(Actor target)
	...
    Return VarArrayToVar(restraints as Var[])
EndFunction

Callfunction() has significant overhead so my preference would be a single call that returns the whole array, and let the caller deal with enumerating.

 

Ah, thanks for the hint @EgoBallistic, I didn't realize that it is possible to cast from typed arrays to Var[] and back, Yeah, in that case forget the count/getByIndex functions, it makes more sense to modify GetEquippedRestraints(Actor) as you propose. The array function is 'nicer', especially as there is no danger of concurrent modification when unequipping restraints from the array as it returns a copy of the original array. The code to get the restraints of an actor then becomes:

Var[] akArgs = new Var[1]
akArgs[0] = akActor
Var restraintsAsVar = ThirdPartyApi.CallFunction("GetEquippedRestraints", akArgs)
ObjectReference[] restraints = Utility.VarToVarArray(restraintsAsVar) as ObjectReference[]

 

Link to comment

Just uploaded version 0.3 RC 2. If no issues are found, this will become the final 0.3 release, and I will start to think about what to add in the 0.4 series.

  • Improve behavior when commanding bound followers to wait, they will now stay even when the player fast travels or uses a elevator.
  • Change signature of ThirdPartyApi.GetEquippedRestraints(Actor) to make it work with Utility.VarToVarArray.
  • Add new function to ThirdPartyApi for equipping handcuffs with non-default settings (tightness, lock facing away from hands).
Link to comment

Love your work, gonna try out the new version soon!

 

Just out of curiosity, what are your plans for the future? More restraints perhaps, like legirons for example as a start?

Whatever it is, I'll probably check it out.

Link to comment
12 hours ago, Rwath said:

Love your work, gonna try out the new version soon!

 

Just out of curiosity, what are your plans for the future? More restraints perhaps, like legirons for example as a start?

Whatever it is, I'll probably check it out.

I am still trying to decide - both what I would like to do and what I am technically able to do, I may need to do some prototyping to find out. Possible candidates include:

- shock collars

- gags

- incremental improvements to handcuffs, for example more animations, other handcuff-like things (e.g. rope bindings), ...

Link to comment
1 hour ago, Kharos said:

- gags

I recommend leaving that out for now, because there is currently no practical way of opening the character's mouth (except for using console mfg commands, or having it animated as part of some animation).
So unless you'd want to make panel gags covering the whole mouth, there is no way to make it look any good.

Link to comment
18 hours ago, EgoBallistic said:

@Kharos the API functions are working great.  I have one really minor request: could you change the bool abSilent parameter in the addItem calls in the API to true?  It's kind of distracting to see "Handcuffs added" etc in the notification area.  Not a huge deal, but you know, immersion.

I set it to true on purpose because it gives the player an additional hint about what happened. But I can see the case for silencing the messages, too.

 

On a "real" programming language I would have some kind of options object that is passed with each api call; this can be used to add more options in the future without changing signatures, therefore keeping compatibility. Is there a pattern like that in Papyrus? I am a bit wary about adding lots of optional parameters.

 

One way would be to pass a int options that consists of added flags (usually you or them, but adding has the same effect if they are powers of two)...

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