Open Source Ragdoll Module (Sean's Ragdoll V 1.0)

Ragdoll Module V 1.0 is out.

(Don’t mind the formatting currently, this was originally meant for Discord, I will add some more to this later).

This module was originally going to cost a couple USD, although I have decided to just put it open source since I am not doing much scripting anymore, pretty much lost all encouragement and energy to open up a script anymore, a lot of recent Roblox updates, starting with the 2 week payouts really changed everything (most people only ever would pay me in Robux, instead of USD!!). So enjoy, leave feedback or report bugs and I will try to fix it. All of the other ragdoll modules that were open source don’t seem to work properly anymore.

The first public version of our module is out, enabling an easy ragdolling system, along with the ability to unragdoll.

Read more to see features, and the presentation test videos.

Features:
Ragdolling
Unragdolling (reconstruction of joints)
Works for both R6 and R15
Support for custom rigs (read bugs and patches for more information)
Easy Implementation
Basic support to add the module to your game if needed

PRESENTATION TEST VIDEOS:
https://youtu.be/WdqH-uN9rJk - Basic Quick r15 test
https://youtu.be/2eMeEBRKrvY - Basic Quick r6 test
https://youtu.be/-_KJARi3GyY - Basic Quick Custom Rig test

File:
SeansRagdollModule V1.0 Public Release.rbxm (5.7 KB)

QUICK START: https://youtu.be/2wGsApGwgCg
The sample script included alongside the module in ServerScriptService should give a good idea on how to use it, I will include a more in depth guide at a later time if people actually use this thing.

KNOWN BUGS (Read Patches to verify integrity):

UNPATCHED: 11/24/2022 - Custom Rig Issues - Custom Rigs must have a specified “Head” in their model, or else the module will error after it has ragdolled the character.

PATCHING (IN PROGRESS): 12/16/2022 - R6 Rig Issues - R6 Rigs, may exhibit twitching of the head while it is ragdolled.

Find any bugs? Leave a comment.

PATCHES (FIXED BUGS):

12/02/2022 - R15 Head Twitching - R15 Rigs would have their head twitch VERY violently.

10/17/2022 - R6 Rebuilding Error - Module would error to find certain motor 6ds in r6 rigs.

8/13/2022 - Decapitation - Characters would be decapitated upon ragdolling.

2/09/2022 - Flight - Characters would “fly away” upon ragdolling.

12/28/2021 - Fling - Characters would be “flinged” upon ragdolling.

UPDATE:

Hello everyone!

I got a new job, and have been rather busy for the past few years.
I will be working on fixes and improving this dramatically, along with code cleanup to help with efficiency.
Thanks for support.

(Also, please don’t message my socials about this, it was rather a tad bit annoying)

29 Likes

i typed this into a server script inside of serverscriptstorage and it didnt work
it gave me an error that said "ServerScriptService.RagdollModule:8: attempt to index nil with ‘Humanoid’ "

local ragdoll = require(game.ServerScriptService:WaitForChild("RagdollModule"))
game.Players.PlayerAdded:Connect(function(player)
	player.CharacterAdded:Connect(function(char)
		wait()
		ragdoll.Ragdoll(char)
	end)
end)
3 Likes

This is my personal opinion, but do we really need to create the ragdoll constraints this way? I noticed that the limbs don’t have any specific limits set, and new attachments are being made instead of using the existing RigAttachments for the motors. All you’re doing is creating two attachments for the C0 and C1 of any motor, then throwing a BallSocketConstraint onto the character with limits and twist limits enabled. I know this was probably so any rig would work, but it would be nice if this could change.

4 Likes

I don’t really know how to explain this, but I remember from a different post that you need to do
ragdoll:Ragdoll(char)
It would be nice if someone could explain why use :Ragdoll and not .Ragdoll.

3 Likes

I fling to the air using this, and I agree with MichaelTheCat9 would be nice to have thatchange

2 Likes

Errors like this also occurs:https://gyazo.com/b70b9edd767203f343905dc35d67fd73

Im kinda late, but im bored so ye

1 Like

m:function() is the same as m.function(m), with a colon you implicitly pass self to the function, whereas with a period, you pass it explicitly if at all. The reason it doesn’t work here is because there is one less argument so each argument gets shifted to the left one.

2 Likes

oh that makes sense because your running a function inside of the module

Having the exact same issue, found a fix?

It looks like a network ownership bug.

I have an issue. For some reason when i ragdoll it makes my character float.

heres the script

local ragdollModule = require(game.ServerScriptService:WaitForChild("RagdollModule"))
game.ReplicatedStorage:WaitForChild("RagdollToServer").OnServerEvent:Connect(function(player,char)
	ragdollModule:Ragdoll(char)
	print(char.Humanoid:GetState())
end)

its a server script in serverscriptservice
image

1 Like

question 1: Why are you letting the client fire ragdoll???

Maybe his game is singleplayer, but that doesn’t make sense because at that point why not just create stuff locally on the client + including ragdolls and NPCs

2 Likes

For context action service. If you click R it is supposed to ragdoll. Its fine though because i found a different ragdoll module to use

1 Like

Hey man! Thanks for the report. Left this project for a while as I started a new job.

Will hope to do some bug fixing and cleanup soon.

I’ll be working on a fix and cleanups soon to improve this dramatically. Started a new job and forgot all about the existence of my projects.

Definitely seems so, was a bug I thought I worked out a while ago, but it may not have been pushed.

Now that I have been reminded of this (I haven’t been on studio or the forums since 2021).

I will begin to work on improving this dramatically soon once I have time- which I don’t when that might be.

Ill update you once I begin.

didnt see when this was made haha, no problem!

1 Like