This technically does work with R15, but it is very janky and I do not recommend using it for R15. This was intended for R6 only
This module includes NPC and Player support with customizable ragdolls
Module Information
Module Link: https://create.roblox.com/store/asset/17721864077
Example Place: Ragdoll System - Roblox (outdated, I will create another one soon)
NOTE: USING THE TIMER FUNCTION FOR YOUR RAGDOLLS MAKES THE RAGDOLL AND UNRAGDOLL FUNCTIONS USELESS
Secondary Note: if you deload a character using ragdolls, you will have to use loadcharacter to respawn them (very rarely happens)
Functions
m.RigPlayer(character) sets up the ragdoll on a model, the other functions will not work without initializing this (unless using init + auto set up players)
m.Ragdoll(character) forces the model into ragdoll
m.Unragdoll(character) unragdolls the player, ragdolling will not stop until this is called
m.Init() initializes all characters that are NOT players that have the “Ragdoll” tag in the game
m.RunRagdollTimer(character) sets up the attributes used in m.SetRagdollTimer()
m.SetRagdollTimer(character, time) ragdolls entities using the timer
m.AddImpulse(character, direction, force, duration)
Properties
m.UpperLimit determines the UpperLimit for limbs only
m.TwistLimits determines if limbs have twist limits
m.TwistUpper is the upper twist limit for limbs
m.TwistLower is the lower twist limit for limbs
m.NeckUpper determines the neck’s UpperLimit
m.MaxFrictionTorque is the force required to move the constraints
m.ColliderSize determines the size of the collider parts compared to the character parts
m.AutoGetup determines if the character automatically gets up after ragdoll or if jumping is required
m.AutoRigPlayer determines if the module automatically rigs players for you
m.RagdollOnDeath determines if ragdolls automatically happen on death
m.AutoUseTimer determines if the module automatically uses the timer function, which uses attributes to automatically set ragdolled (recommended for more advanced systems, but turned off for simple use)
Usage
local character = script.Parent -- set this to the character you want to ragdoll
local ragdollPackage = require(game.ReplicatedStorage.RagdollPackage.Main)
ragdollPackage.RigPlayer(character)
task.defer(function()
ragdollPackage.Ragdoll(character)
task.wait(1.5)
ragdollPackage.Unragdoll(character)
end)