A very simple yet easy to use physics based ragdoll module.
Get the Module from the Creator Store: https://create.roblox.com/store/asset/98146045328032
Here’s a list containing all the changelogs in this post.
v1.1
v1.1.1
v.1.1.2
v1.2
v1.2.1
You’re free to give feedback and submit bugs you encountered. (That would be pretty helpful)
Showcase
-
Ragdoll Toggle (R6 and R15)
-
Ragdoll Death
Features
- Creates a corpse (ragdoll) of a character / NPC.
- Can be required from client and server.
- Allows you to change the physical properties of the ragdoll.
- Allows you to set a period of time to delete the ragdoll automatically.
- Comes with a fading effect that can be disabled anytime.
- Ragdoll can be called anytime after it’s created. It’s not instant.
- After it’s called, it can auto-destroy itself.
- Autofill included!
- Auto-updates thanks to the package link.
- Supports any rig that uses Motor6Ds!
- Can be used in 2 modes; as trigger (makes your character ragdoll and can be disabled back) or as corpse (recommended for one use only ragdolls)
- Stores ragdoll objects on the module to be accessed by other scripts
- And more!
Usage Example
local Ragdoll = require(path.to.Ragdoll)
local Player = game.Players.LocalPlayer
Player.CharacterAdded:Connect(function(Character)
local Humanoid = Character:FindFirstChildOfClass("Humanoid")
if Humanoid then
local CharRagdoll = Ragdoll.new(Character, {
RemovalTime = 10,
CollisionsEnabled = true,
Player = Player
RagdollType = "DeathBody"
})
Humanoid.Died:Once(function()
CharRagdoll:doRagdoll()
end)
end
end)
Documentation
new(Character:Model, RemovalTime:number, CollisionsEnabled:boolean, Player:Player):Ragdoll
Creates a new Ragdoll
handler.
Ragdoll:doRagdoll(toggle:boolean):boolean
Starts the ragdoll simulation and removes it after the time specified.
![]()
toggle
only works if theRagdoll.RagdollType
is"Toggle"
.
clearAll()
Forcefully removes the active ragdolls from the workspace.
Character:Model
The source character for the ragdoll.
RemovalTime:number
The time in seconds until the ragdoll is removed once created.
CollisionsEnabled:boolean
Whenever the ragdoll will have collisions enabled with the world (Default CollisionGroup)
DoFadeOnRemovalReached:boolean
Whenever the fade effect will be ran when RemovalTime
is reached.
FadeTime:number
How much the fade effect will last before removing the ragdoll.
Friction:number
The friction of the ragdoll.
Elasticity:number
The elasticity / bounciness of the ragdoll.
Density:number
The density of the ragdoll.
Player:Player?
The owner of the ragdoll’s source Character
. Allows the player to take ownership of the physics in the ragdoll if the module is ran on the server.
AutoDestroy:boolean
Whenever the ragdoll object will be destroyed after Ragdoll:doRagdoll()
is finished.
Ragdoll:setRagdollType(Type:RagdollType):boolean
Sets the Ragdoll
type to either one of the options; “DeathBody” or “Toggle”.
RagdollType:RagdollType
The Ragdoll
’s Type (DeathBody / Toggle)
DebugMode:boolean
shows nerdy stuff (and hitboxes)
TwistAngleRange:number
Maximum twist angle range for the ragdoll’s joints.
360 would be a full joint rotation.
Ragdoll:destroy()
Destroys the ragdoll object.
Ragdoll:isRagdolling():boolean
Checks if the ragdoll is currently activated.
getRagdoll(id:string):Ragdoll|false
Gets the ragdoll object if registered.