Jump to content

Recommended Posts

Posted

Leash Framework

View File

Framework that allows you to attach REAL leashes to NPC's and either have them guide you around, or you guide them. No real limitation, you can make a huge train if you wanted. 

 

Important note: FSMP's "Limit rotations" option in it's SKSE Mod Menu/MCM is NOT compatible with Leash Framework and WILL cause visual bugs

 

 

Important Note

This is a FRAMEWORK. Other mods can use its Papyrus API, and you can create and manage leashes yourself through the debug menu.

The framework provides its own pathfinding and direct locomotion for pulling and following, without adding or replacing AI packages. NPCs do not need a dedicated follow package. Pulling temporarily takes control of movement, but animation states, movement restrictions, and other mods controlling the actor can prevent it from starting.

The default setup uses a standalone rope, so neither actor needs leash equipment. Equipped leashes are also supported: the rope can be worn by either the leashed actor or the holder, depending on your configuration.

 

Features

  • Papyrus API for connecting actors to other actors or fixed world positions. Each actor can have one active leash, and a holder can hold multiple leashes.
  • Standalone rope NIFs, leashes equipped on the leashed actor, and holder-equipped leashes.
  • Attachments to either hand, named actor bones with adjustable offsets, or a fixed world position.
  • Custom rope physics with gravity, tension, friction, Havok world-collision queries, and configurable actor-body collision.
  • Navmesh pathfinding and smooth following. NPCs can start following before reaching the maximum distance, then settle when the holder stops.
  • Player pulling with configurable input assistance and resistance, plus procedural leaning as the rope becomes taut.
  • Configurable holder movement limits to help prevent overstretching, ragdoll recovery, and teleport recovery for separated actors.
  • Debug tools for creating leashes, saving presets, adjusting active leashes, equipping armor, inspecting bones, and viewing diagnostics.
  • Optional save persistence, ownership factions, and mod events for leash changes and pull transitions.
  • Includes multiple leash assets by @kzrp.

 

Quick Start - No Papyrus Required

  1. Open SKSE Menu Framework using your configured hotkey, then select Leash Framework > Debug > Test leash.
  2. Fresh settings use the Standalone Neck-leash longish configuration. You can also select it under Saved presets and click Load.
  3. Choose the Leashed actor and Leasher. The leashed actor is the one being pulled; the leasher is the holder. Use Refresh nearby actors if needed.
  4. Keep Physical leash owner set to Standalone NIF and choose the holder's right or left hand under Attach to. No equipment is needed.
  5. Start with Minimum length: 200 and Maximum length: 300. Enable Keep leash in saves if you want this connection restored when loading your save.
  6. Click Apply test leash. Use the Active leashes tab to adjust distances or disconnect it.

 

Using Equipped or Custom Leashes

  • For an equipped leash, set Physical leash owner to Leashed actor or Leasher, and equip the rope on that actor. The Equipment tab provides equipment tools; applying an equipped leash does not automatically equip its armor.
  • For a holder-equipped leash, choose the attachment bone on the leashed actor. The optional closed-hand setting controls the holder's grip.
  • Parent bone is an exact node name containing the rope bones. Leash bone match is text contained in their names, not necessarily a prefix. At least two matching bones are required. Use the Skeleton tab to inspect equipped rope bones.
  • A custom standalone NIF must contain its own rope skeleton and skinned geometry, with no NIF collision objects. Its path is relative to Data/Meshes.
  • Third-party ropes and chains, including suitable Devious Devices meshes, may work when their bones and skinning are compatible. Compatibility depends on the individual mesh; it is not automatic for every collar or chain.

 

Distances and Recovery

Minimum and maximum lengths control movement behavior; they do not change the rope mesh's physical length. NPCs following an actor holder can move before the maximum is reached. Player pulling and world-position pulling begin beyond the maximum and release at the minimum.

 

Under Settings > Behavior > Ragdoll recovery, you can configure physics-based recovery when an actor strays too far. Ragdoll NPCs is enabled by default; Ragdoll player is disabled. The default trigger is attachment separation greater than twice the maximum length. Recovery respects actor eligibility restrictions.

Teleport recovery helps eligible leashed actors follow a player through positioning transitions and lets NPC holders recover actors separated by excessive distance or different cells. Fixed world-position leashes do not use holder teleport recovery.

 

For Mod Authors

See LeashFramework.psc for the documented API, factions, and event contracts. Available events include LeashFramework_OnLeash, LeashFramework_OnUnleash, LeashFramework_OnActorPulled, LeashFramework_OnActorStopPull, and LeashFramework_OnActorRagdollPulled.

 

Known Issues and Limitations

  • Actors can still get stuck on obstacles or fail to find a usable navmesh path.
  • Furniture interactions, scripted animations, restricted movement, or another system controlling locomotion can prevent normal pulling.
  • Rope appearance depends on its bone count, skinning, physical length, and attachment settings. Too few bones or excessive separation can produce sharp bends and stretching.
  • Actor collision uses adjustable simplified body shapes, so some clipping is possible.
  • The default attachment, leaning, and body-collision setup targets humanoid skeletons. Animal and custom-creature compatibility is not guaranteed.

 

 

Requirements

  • Skyrim SE/AE (Doubt VR support works, this required a lot of reverse engineering)
  • SKSE64 and Address Library for SKSE Plugins matching your game runtime.
  • SKSE Mod Menu Framework (Optional for the mod menu)

 

Papyrus API

https://github.com/asdasdduck/Skyrim-Leash-Framework/blob/master/papyrus/source/LeashFramework.psc

 

 

Source code:

https://github.com/asdasdduck/Skyrim-Leash-Framework


  • Submitter
  • Submitted
    07/28/26
  • Category
  • Requirements
  • Regular Edition Compatible
  • Install Instructions

 

Posted

The leash stays attached to the victim as a static object after freeing them. 

 

I was just thinking about why there wasn't a leash mod a few nights ago, seems like someone was working on one. This has loads of potential, good work as always.

ScreenShot1.png

Posted
17 minutes ago, BobaBibba said:

The leash stays attached to the victim as a static object after freeing them. 

 

I was just thinking about why there wasn't a leash mod a few nights ago, seems like someone was working on one. This has loads of potential, good work as always.

 

This is just a framework. It's not designed to handle the equipping/un-equipping that's beyond the scope of the mod. Mods using this framework will do that. 

Posted (edited)

This is delightful and amazing :) Bravo! :)

 

p.s. Hmm, I wonder if someday this leash framework will replace the follow mechanism of mods like Prison Alternative or Slaverun or the like where you're supposed to automatically follow guards to a pama furniture or ZAZ furniture. In my game that follow mechanism has at most a 25% chance of success. Usually the auto-avigation walks me into walls. A leash system might be capable of allowing us to continue walking on our own, limited by the bounds of a leash to the guard.

Edited by Karna5
Posted
9 minutes ago, Karna5 said:

Hmm, I wonder if someday this leash framework will replace the follow mechanism of mods like Prison Alternative

Actually, if this has a "visual only" option (i.e not forcing its own ai packages on actors), this could easily be made into a soft dependency.


But if it works in a completely different way to regular ai packages this might be interesting as well. Looking forward to hearing from the author.
I would actually be willing to implement this on fairly short notice, so he can gather some more organic feedback.

Posted
20 minutes ago, Pamatronic said:

Oh Boy, this is actually VERY interesting.
Mind giving a small explanation on how this works under the hood? 

 

The rope is essentially a custom physics system that I built into Skyrim's havok engine. So it's similar to SMP physics in many ways, but uses havok instead of Bullet physics since I managed to reverse enough of it to make it viable. Then I built the constraint solver just using XPBD physics. The mesh (rope in this case) stretching is just Skyrim's IK system. 

 

The following was ironically the hardest part. Mods kept overriding my package, and the package broke behaviors I didn't want to break. So I reversed Skyrim's locomotion system (Movement controller) and injected a custom one that overlaps on top. So when you see the NPC's and what not walking, it's purely locomotion - zero package. Making it (In theory) compatible with any/all mods. 

 

I also ended up having to create a pathfinder because Skyrim's kept getting NPC's hung up on every tiny thing. So it uses a simple A* algorithm on the navmesh. However I didn't really bother with improving the smoothing pass or the heuristics so it still need more work. 

 

That also should largely answer your other concern, this mod is indeed purely "visual" in the sense that it is largely stateless. The only state it will manage is the PlayerAI toggle. Although if you want to make it entirely visual, you can just set the min/max to some high number and my locomotion system will never take over. 

 

 

16 minutes ago, sacredfire said:

Are we going to get more leash types?  I would love to finally have a good chain lease for a chain gang.

You just use whatever leash already exists. All the smp leashes on here will work out of the box. Just go into NifSckope and figure out a common shared name between all the bones, and a parent. The leashes provided in this mod are no different than any other leash. 

 

Posted (edited)

Does/can this work on LE? I don't use LE, but some mod authors want their mods to work the same on both versions of Skyrim and it would suck if they couldn't/wouldn't use something as awesome as this because of versioning issues.

Edited by shrtjsrtj
Posted (edited)

this is awesome. thanks for sharing

 

  

3 hours ago, asdt123123 said:
  • Zero package interruption, this mod has it's own built-in AI system, pathfinder, and locomotion system. Your mod's packages will never be touched!

 

so if packages are not touched, then it's purely aesthetic?
and it's up to the player, a 3rd party mod to make sure A follows B (B holds the leash)?

 

Edit: can't get it to work: tried the debug menu > equip the item, persistent ticked and untick, tweaked the variation slider. neither PC NPC or NPC NPC version works for me

 

 

Edited by Fraying9981
Posted
1 hour ago, DukeDog said:

would it be possible to reverse it to have the player on the leash

 

In the video the PC was leashed to a guard while 2 NPC was leashed to the PC, so it seems to be very versial.

Posted

Super rad! I didn't get the ragdoll/past range effects as a player on a leash, but the visuals were rad and im super excited to see where it goes, and I'm looking forward to implementing it in my own mod!

Posted (edited)
7 hours ago, asdt123123 said:

Mods using this framework will do that

If it is comparable with the leash in Conan Exiles and the player can be leashed as well I will integrate it into MariaEden asap. I have an invisible leash system (actually based on Vanilla Escort Package) there already and a lot of quests are using it, integrating yours shouldn't be a big deal.

 

Interesting would be if the leash holder can ride a mount - because in MEP the master will buy a horse and escort the player while riding.

Edited by zaira
Posted

Its peak, I'm afraid.

 

The leash gets a little weird when it's pulled taught, there's a weird bend in it near the player:
 

Spoiler

image.thumb.png.383e2cf14d9347f91c5c32e2758bb005.png

 

I know it's probably done like that to avoid some odd clipping but I feel like the bend could be a bit higher up. I saw you talking about that earlier with kzrp so maybe it already got fixed or it's a known problem. Either way not a big deal.

 

Otherwise it works great, whether used as just a visual or with the actual pulling enabled.

 

Any chance we could tether the leash to an object? Like a hook on the wall or something of that sort? Can always just use an invisible inanimate npc to do it but just being able to pass a static object would be neat.

Posted

I looked into the code - as I am not an expert in meshes and bones area, I have no idea what to pass into the bone parameters...
Some examples would be helpful

Posted
1 minute ago, zaira said:

I looked into the code - as I am not an expert in meshes and bones area, I have no idea what to pass into the bone parameters...
Some examples would be helpful

 

If you are using the included leash then the values are listed under the How to use (Without Papyrus API) header.

 

For reference here's what I did, you can see the bone values here:

 

Spoiler

image.png.a93accba4218a4782c7578119fe51273.png

Posted
7 hours ago, Teruke said:

Is someone going to use this to make a degenerate mod, like hand holding?

 

i want this so bad 😭

Posted

Also works with the chain collar from DDNG:

 

Spoiler

 

image.png.3fb9e8f8d4680628fa9f5c15764757dd.png

 

There are some gaps in the chain though which I think is more a problem with the chain mesh and not the mod, as the chain on the collar is split into multiple nodes instead of a single one. The chain also deforms a lot when it's pulled taught but that could probably be mitigated by fine tuning the length settings.

Posted (edited)

I wonder how bad things would break if the rope used Movable Chains....


Would a C api be possible?

Edited by Dowser

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