Jump to content

Recommended Posts

Posted

still can't resolve the conflict between the rope around the NPC's neck and DD clothing like "shackles" or armbinder. If you put on something that shackles the hands, the rope around their neck immediately disappears.
 

Posted
On 8/4/2026 at 1:32 AM, lordbuttcheese said:

Would it be possible to make the connection backwards?

Like have a leash object connected to (and equipped by) the anchor actor, and then connect it to the leashed actor at NPC Spine2 as normal?

This would allow for a variety of leash-less collars to be compatible. The neck rune leash is great, and I think that could thematically work with a bunch of collars.

 

Some mods are super sensitive about collars getting removed for changing, like Licenses (they do have a setting for that). So having a static collar, but dynamic leash would be useful.
Also with the dynamic leash, I'm thinking of a captive handoff; a leashed slave is then leashed by another handler and then the first leash is removed ensuring the slave never has an opportunity for escape. 

 

krzp's neck runes are awesome, and spell leashes are a great idea for all kinds of scenarios

A mod like PAHE adding a capture spell or something.

In fact, I think PAHE kinda had a world anchor leash spell for NPC slaves, but I can't remember.

 

I'm thinking a mod implementing "leash me" scenes where a character kneels to accept the leash, and then they go on their way.

Awesome work btw. I might actually get off my ass and make something.

It's possible for me to do, but I wouldn't know how to make the model. It could also be a weapon (like a long ass string weapon). 

 

If people want to make models to include in the framework, feel free. 

Posted

Hmm, I might want it enough to try and figure it out.

I'm imagining copying the chain bones off of the included 'neck chain' or 'neck runes' (I hope kzrp would be ok with this as I'd be passing off the files to you directly rather than publishing them myself) and making a new ring/amulet object that has them attached to the left/right hand.

Dunno how long it will take the adhd brain of mine to get around to throw something together, but I'll give it an attempt.

For the leash bones, would you expect the lower number bone at the hand or the neck/collar?

Posted (edited)
4 hours ago, asdt123123 said:

It's possible for me to do, but I wouldn't know how to make the model. It could also be a weapon (like a long ass string weapon). 

 

If people want to make models to include in the framework, feel free. 

 

@hextun wdyt about a SL trigger that triggers a leash event when hitting the target, based on luck + whether the target is exhausted/disarmed etc. ? :D

with a designated weapon equipped e.g. a whip

 

Found a nice chain already:

https://www.nexusmods.com/skyrimspecialedition/mods/74975?tab=description

Edited by Fraying9981
Posted
3 hours ago, Fraying9981 said:

 

@hextun wdyt about a SL trigger that triggers a leash event when hitting the target, based on luck + whether the target is exhausted/disarmed etc. ? :D

with a designated weapon equipped e.g. a whip

 

Found a nice chain already:

https://www.nexusmods.com/skyrimspecialedition/mods/74975?tab=description

 

Sure. You would also need to only do it if not already leashed. And by luck I assume you just mean general RNG.

 

Also, would this be something only the player would be capable of? If not... I'm just imagining with civil war mods or other mods where you have large npc group combat. If they can have whips equipped you could end up with stormcloaks and imperials with leashed opponents. Hunters leashing rabbits (can animals be leashed? I haven't checked). Sounds hilarious if a bit risky on the performance. 

 

As for disarmed... presumably you have some means of disarming? Besides the Zun Haal Viik shout? Or maybe just that? Otherwise I think you'd have a very low probability.

Posted
Just now, hextun said:

Also, would this be something only the player would be capable of?

 

everyone. 

 

1 minute ago, hextun said:

Sounds hilarious if a bit risky on the performance. 

 

YES!

 

1 minute ago, hextun said:

As for disarmed... presumably you have some means of disarming?

 

maybe the chain itself has a chance to disarm. or rely on a third party simple mod that can calculate disarm chance based on hit/strength/character stats for every hit?

 

regarding performance risk: you are still in control of who gets the weapon that can trigger leashing. so it should be limited if you don't give it to anyone

https://www.nexusmods.com/skyrimspecialedition/mods/74975?tab=description

Posted
On 8/7/2026 at 10:07 AM, jc321 said:

Currently the Leashframework DLL throws up an error as I guess it hasn't been written for VR in mind. I'm not sure of the wizardry you've done to make this work, chains (such as prisoner chains) work in VR so I'd be ever hopeful this is portable at some point. Absolute gamechanger of a mod! 

You can help make it compatible with VR by reporting said errors. Those are the easiest to fix, just means VR Address Library for SKSEVR doesn't have the address (yet). 

 

Posted

We were needing this since 15 years ago.

Some suggestion would be to change the skeleton node for the neck leashes, right now you can´t equip the leash if you´re wearing a DD locked collar. 

Posted
4 minutes ago, karayak said:

We were needing this since 15 years ago.

Some suggestion would be to change the skeleton node for the neck leashes, right now you can´t equip the leash if you´re wearing a DD locked collar. 

That's the slot. You'll have to threaten/ask kzrp for that. 

 

My second idea right now is just make a leash a weapon, or something attached to the leasher's hand. But that's on someone more experienced with making models. 

 

Might be able to just make a STATIC object too. Not sure how well Skyrim's culling would handle that though. 

Posted

Making the leasher object a weapon (or a spell) will be a smart move.

About the collar slot, I changed it in creation kit and nifskope and it works with locked collars, but showing two of them. It´s a temporary solution when you play some mod like Submissive Lola unless the creators add your mod in it.

I repeat : we needed this feature since 2011, thanks a lot :D

 

Posted (edited)
1 hour ago, karayak said:

Some suggestion would be to change the skeleton node for the neck leashes

Please not. There are not so many slots and how bad it would look wearing two collars at once! Be a bit patient, I am sure that DD NG will adapt to leash framework soon - as it is a perfect match.

Edited by zaira
Posted
On 8/7/2026 at 6:10 PM, SullenMan said:

still can't resolve the conflict between the rope around the NPC's neck and DD clothing like "shackles" or armbinder. If you put on something that shackles the hands, the rope around their neck immediately disappears.
 

 

I had the same problem with a DD Armbinder and then adding a leash

 

You should experiment with the 'DD Device Hider Settings'  I found that if I changed the very first setting, in the first MCM Hider Menu, to NOT hide all other items when DD restraints are worn, then the visual models of both the armbinder and the leash itself were both visible.  Until I changed that, you would get that 'disappearing trick', where only one would be visible, but not both 

 

There are somewhat similar issues with DOM, and I found that I also had to change the Hider settings (for something else - can't remember which exactly, but I posted about that on one of the DOM, HSH or AYGAS threads)  to get both ZAZ and DD items to appear visually when worn by DOM slaves

 

It's a PITA, really, but may be the only way of getting DD visuals working properly in other settings which don't use the leash, or are outwith DOM    

 

Hope that helps

 

DQW

 

Posted (edited)
2 hours ago, asdt123123 said:

That's the slot. You'll have to threaten/ask kzrp for that. 

 

My second idea right now is just make a leash a weapon, or something attached to the leasher's hand. But that's on someone more experienced with making models. 

 

Might be able to just make a STATIC object too. Not sure how well Skyrim's culling would handle that though. 

In my game I used SSEedit and outfit studio to change the slots to 35 (Amulet) worked for me for quick testing. The Neck runes item looks best over normal collars I think.


As for the leash weapon, I made one!
That was more difficult than expected lol, had to learn how to use blender. My first try failed miserably but I was able to successfully cut off the collar part on the provided neck_chain and move the chain down to the hand and double checked the weights. Should prolly have someone who knows what they're doing take a quick peek to be sure it isn't super fucked.

I added another bone to the end of the leash, Leash1_1_13 to potentially not look like its spearing through your character's neck.

I currently have it taking up the shield slot and I made a patch esl to add the new item.
Physics seem to work fine, it acts like the other leashes do when not connected. I copied the xml and added the relevant bones as I didn't want to mess with your original files.

Dunno how to get it connected using your framework yet though. I thought maybe the current system could work as-is by setting the anchor bone to Leash1_1_13 and the leashed bone to NPC Neck [Neck] > Throat Center 2 but no dice. I think it might need a bigger change under the hood.

hand leash.zip

Edited by lordbuttcheese
Posted
1 hour ago, lordbuttcheese said:

In my game I used SSEedit and outfit studio to change the slots to 35 (Amulet) worked for me for quick testing. The Neck runes item looks best over normal collars I think.


As for the leash weapon, I made one!
That was more difficult than expected lol, had to learn how to use blender. My first try failed miserably but I was able to successfully cut off the collar part on the provided neck_chain and move the chain down to the hand and double checked the weights. Should prolly have someone who knows what they're doing take a quick peek to be sure it isn't super fucked.

I added another bone to the end of the leash, Leash1_1_13 to potentially not look like its spearing through your character's neck.

I currently have it taking up the shield slot and I made a patch esl to add the new item.
Physics seem to work fine, it acts like the other leashes do when not connected. I copied the xml and added the relevant bones as I didn't want to mess with your original files.

Dunno how to get it connected using your framework yet though. I thought maybe the current system could work as-is by setting the anchor bone to Leash1_1_13 and the leashed bone to NPC Neck [Neck] > Throat Center 2 but no dice. I think it might need a bigger change under the hood.

hand leash.zip 273.82 kB · 0 downloads

Verry cool. 

The function doesn't yet exist to have the leasher "own" the leash, but I'll add it and see how well it works with your leash.

Would you like your leash to be included in the mod? I'll credit you of course 

Posted

I think the best solution would be to stay with slot for leash collar but separate the leashes from collars - then DD NG (or others) can provide collars with rings and people can attach leashes to it - similar to the Invicta leash.

Posted

i cant get my character to equip the leash when i put a DDNG chain collar on an npc, there is nothing for me to equip when i leash the npc in the f1 menu, and no leash appears on them, or it doesnt get held by my character, the npc does folow me however. 

Posted (edited)

I got the problem that once I leashed the player to a world coordinate, the player animation freezes, when the player stretches the chain.

 

It is reproducible:
DD NG + LoreFriendlyToys + MariaDevices from MariaEden : coc DDCTestZone - there are two poles

 

[19:04:27.480] [33660] [I] Sent LeashFramework_OnUnleash for 00000014 with reason 'disconnected'
[19:04:27.480] [33660] [I] Disconnected leash 00000000->00000014
[19:04:35.431] [33660] [I] Saved menu settings
[19:04:49.622] [34140] [I] Sent LeashFramework_OnLeash for 00000014 with reason 'applied'
[19:04:49.622] [34140] [I] Applied leash to 00000014
[19:04:49.623] [33660] [W] Unable to bind leash 00000000->00000014: found 0 child bone(s) containing 'Leash1_1' under 'NPC Spine2 [Spn2]'
[19:04:49.633] [33660] [I] Bound 12 leash bones containing 'Leash1_1' under 'NPC Spine2 [Spn2]' for 00000000->00000014
[19:04:49.636] [33660] [I] [PullDiag] leash tick after bind actor=00000014 actorPtr=1BFA58BE080 loaded=true process=1BFA5DA47C0 high=true controller=1C020BF1A00 controllerActor=1BFA58BE080 movementType=1 controlsDriven=true aiDriven=false plannerDirect=false exactDirect=false rawFlags=[c4=false,c5=true,c6=false,c7=false,c8=true,c9=true,ca=false,cb=false] playerControls=true animationDriven=false allowRotation=false ragdoll=false knock=0 sit=0
[19:04:49.636] [33660] [I] [PullDiag] leash tick after bind actorMotion=00000014 position=[846.11,-179.14,2326.34] cell=26007429 package=00000000 packageType=0 procedure=0 procedureIndex=-1 processFlags=[follower=false,escortPlayer=false,skipPathing=false] charController=1C188EA2B10 charFlags=[noSim=false,farAway=false,stuckQuad=false,noCharCollisions=false] outVelocity=[0.000,0.000,-0.046] speedPct=0.000 contacts=0
[19:04:49.636] [33660] [I] [PullDiag] leash tick complete actor=00000014 actorPtr=1BFA58BE080 loaded=true process=1BFA5DA47C0 high=true controller=1C020BF1A00 controllerActor=1BFA58BE080 movementType=1 controlsDriven=true aiDriven=false plannerDirect=false exactDirect=false rawFlags=[c4=false,c5=true,c6=false,c7=false,c8=true,c9=true,ca=false,cb=false] playerControls=true animationDriven=false allowRotation=false ragdoll=false knock=0 sit=0
[19:04:49.636] [33660] [I] [PullDiag] leash tick complete actorMotion=00000014 position=[846.11,-179.14,2326.34] cell=26007429 package=00000000 packageType=0 procedure=0 procedureIndex=-1 processFlags=[follower=false,escortPlayer=false,skipPathing=false] charController=1C188EA2B10 charFlags=[noSim=false,farAway=false,stuckQuad=false,noCharCollisions=false] outVelocity=[0.000,0.000,-0.046] speedPct=0.000 contacts=0
[19:04:58.528] [33660] [I] Exceeded by 0.20776367
[19:04:58.698] [33660] [I] Sent LeashFramework_OnActorPulled for 00000014 at distance 120.7

 

Edited by zaira
Posted
51 minutes ago, natybs said:

i cant get my character to equip the leash when i put a DDNG chain collar on an npc, there is nothing for me to equip when i leash the npc in the f1 menu, and no leash appears on them, or it doesnt get held by my character, the npc does folow me however. 

so ti seems the leashes from this mod do work, jsut the iron chain collar from devious devices seems to have soem issues it does leash thye npc, but the leash does not connect physically, so i assume it eahter doesnt have the right bones in it, or the bones are mismatched, or a keyword is mismatched. also it does seem like the leash conflict with hand restraints from devious devices. 

Posted
2 hours ago, natybs said:

so ti seems the leashes from this mod do work, jsut the iron chain collar from devious devices seems to have soem issues it does leash thye npc, but the leash does not connect physically, so i assume it eahter doesnt have the right bones in it, or the bones are mismatched, or a keyword is mismatched. also it does seem like the leash conflict with hand restraints from devious devices. 

 

If you mean that the hand devices disappear when leashed, have a look at the DD Device Hider settings.  I found that the first one on the MCM 1st Device Hider Menu could be changed so that both would be visible

 

DQW

Posted (edited)

When you sent "Sent LeashFramework_OnActorPulled for 00000014 at distance 120.7" PlayerRef freezes.

I have to call Game.EnablePlayerControls() to continue movement

 

Now crashes as well:

CALL STACK ([P]robable / [S]tack scan):
	[ 0][P] 0x7FFE51D82EFD        LeashFramework.dll+0002EFD	movsd xmm0, qword ptr [rbx+0xA0] |  L:\skyrim_projects\lf\src\Animation\PullPoseController.cpp:263 void LeashFramework::Animation::PullPoseController::CaptureDeferredPose(LeashFramework::Animation::PullPoseController::State &,RE::NiAVObject &,unsigned __int64 &) [?CaptureDeferredPose@PullPoseController@Animation@LeashFramework@@AEAAXAEAUState@123@AEAVNiAVObject@RE@@AEA_K@Z] | params: a_state: LeashFramework::Animation::PullPoseController::State*, a_object: RE::NiAVObject*, a_index: uint64_t*
	[ 1][P] 0x7FFE51D8235C        LeashFramework.dll+000235C	lea r14, [rdi+0x60] |  L:\skyrim_projects\lf\src\Animation\PullPoseController.cpp:190 void LeashFramework::Animation::PullPoseController::Apply(LeashFramework::Animation::PullPoseController::State &,RE::Actor &) [?Apply@PullPoseController@Animation@LeashFramework@@AEAAXAEAUState@123@AEAVActor@RE@@@Z] | params: a_state: LeashFramework::Animation::PullPoseController::State*, a_actor: RE::Actor*
	[ 2][P] 0x7FFE51DA5492        LeashFramework.dll+0025492	mov rdx, [rbx+0x2A8] |  L:\skyrim_projects\lf\src\Leash\LeashManager.cpp:430 void LeashFramework::LeashManager::ApplyDeferredPoses(void) [?ApplyDeferredPoses@LeashManager@LeashFramework@@QEAAXXZ]
	[ 3][P] 0x7FF7497D6881              SkyrimSE.exe+0646881 -> 36564+0x9E1	cmp byte ptr [0x00007FF74C33F6E0], 0x00
	[ 4][P] 0x7FFE4E518EE3            OverlayFix.dll+0008EE3	xor edi, edi |  D:\a\OverlayFix\OverlayFix\src\GameEventHandler.cpp:74 RE::TESObjectREFR * GetUserDataFixed(RE::NiAVObject *) [?GetUserDataFixed@@YAPEAVTESObjectREFR@RE@@PEAVNiAVObject@2@@Z] D:\a\OverlayFix\OverlayFix\src\GameEventHandler.cpp:80 RE::TESObjectREFR * GetUserDataFixed(RE::NiAVObject *) [?GetUserDataFixed@@YAPEAVTESObjectREFR@RE@@PEAVNiAVObject@2@@Z] | params: main: void*, arg2: void*, arg3: void*, arg4: void*
	[ 5][P] 0x7FFE5317395E              hdtsmp64.dll+004395E	mov edx, 0x10 |  D:\a\hdtSMP64\hdtSMP64\src\Hooks.cpp:213 static void Hooks::MainHooks::Update(RE::Main * const) [?Update@MainHooks@Hooks@@SAXQEAVMain@RE@@@Z] | params: a_this: const RE::Main*
	[ 6][P] 0x7FFE544E52B4             DebugMenu.dll+01652B4	call 0x00007FFE5439C2A1 |  C:\Me\my mods\Skyrim\DebugMod\src\Interface\InputHandler.h:95 static void ScaleformUI::Hook_MainUpdate::Update(RE::Main *,float) [?Update@Hook_MainUpdate@ScaleformUI@@CAXPEAVMain@RE@@M@Z] | params: a_this: RE::Main*, a_2: float
	[ 7][P] 0x7FF7497CEAD5              SkyrimSE.exe+063EAD5 -> 36544+0x165	test bl, bl
	[ 8][P] 0x7FF74A6CBB8E              SkyrimSE.exe+153BB8E -> 109636+0x106	mov ebx, eax
	[ 9][P] 0x7FFF4E45E957              KERNEL32.DLL+002E957

 

And this isn't true

 

Both pull events use the leashed Actor as sender
RegisterForModEvent("LeashFramework_OnActorPulled","HandleActorPulled")


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


actually the sender is an object reference and not an actor

 

 

 

Edited by zaira
Posted (edited)

With help of @audhol - unfortunately the default chain is not being attached at the last link - so you see some weird links hanging around...
Released in LoreFriendlyToys for early adopter modders.

wall-leash.jpg

Edited by zaira

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
×
×
  • Create New...