- No setup, plug and play
- Supports R6, R15 and custom rigs. Comes with pre-made configs for both R6 and R15
- Works on both NPCs and players out of the box
- Supports humanoid-less characters
- Comes with ragdoll on death example
- Automatically fixes a lot of the issues that arise from humanoids and ragdolls
- No external dependencies
- Strictly typed
Uncopylocked Place
- Put the module in ReplicatedStorage
- Require the module from both client and server
Note: To call from client the rig must be locally created by the calling client.
-- Sets up ragdoll constraints and activates it
RagdollService.Ragdoll(character: Model, rig_type: string?): (success: boolean)
-- Deactivates ragdoll constraints and deletes them
RagdollService.Unragdoll(character: Model): (success: boolean)
-- Sets up ragdoll constraints
RagdollService.SetupRagdoll(character: Model, rig_type: string?): (success: boolean)
-- Activates the ragdoll constraints fails if ragdoll is not setup yet
RagdollService.ActivateRagdoll(character: Model): (success: boolean)
-- Deactivates the ragdoll constraints fails if ragdoll is not setup yet
RagdollService.DeactivateRagdoll(character: Model): (success: boolean)
TIP: By default R6 and R15 is detected automatically. If you donât want to pass in the rig_type for other rigs you can either use the rig_type parameter or set an attribute on the character named âRigTypeâ.
Rig Config Documentation
TIP: Each config is a single module script. Name of the module script is the rig_type.
Parameters
Animator â Path to animator (optional)
Humanoid â Path to humanoid (optional)
CameraSubject â Path to camera subject during ragdoll (optional)
BreakJointsOnDeath â BreakJointsOnDeath state if humanoid exists (optional)
RootPart â RootPart of the character that carries the network ownership
Joints â Each motor6d in the rig
Limbs â Each limb in the rig
Sockets â Socket config for each joint
NoCollisionConstraints â No collision constraints between limbs
TIP: Everything works on
PathArrays. A PathArray is simply the directory from the character model.
For example directory of theAnimatorin default humanoid rigs is{"Humanoid", "Animator"}
1.0
- Initial release
1.1
- Fixed: Memory leak due to roblox not firing .Destroying signal on the character. Thanks to @eclipse6273094
- Network ownership decisions are now left to the user
- Cleaned up few unused variables and functions
- Small tweaks to default configs
1.2
- Fixed: Humanoid being able to walk while ragdolled.
- Fixed: A workaround to default animate script using PlatformStanding state of humanoid.
1.3
- Fixed: On death jagginess.
1.4
- Added client sided ragdoll for locally created rigs
- Added: Better humanoid death state handling
- Fixed: NPC death jagginess. Thanks to @LucieKitsuneko
- Fixed an issue where exiting PlatformStand state disables platform stand.
- Fixed an issue where enabling PlatformStand would drive humanoid into PlatformStanding state and prevent it from going into Physics state.
- Fixed: Increased safety for network owner operations
2.0
- Full Animate script compatibility
- Proper local character humanoid state management
- Generic ragdolls with no config
- No network ownership transfers
- Client can now import the module without waiting for server
- Improved R6 and R15 configs
- Bunch of other small fixes and refactor
DISCLAIMERS
- This is a passive ball socket constraint ragdoll module.
- Roblox refuses to approve assets I publish to creator store. If the roblox download link doesnât work you can always get the latest version from the Github Download
