InteractiveRagdoll - Smooth Ragdoll On All Clients [R6 ONLY]


1 Like

I think I found the issue, it seems this resource doesn’t really like streaming enabled, should have it disabled on the demo file :sweat_smile:

demo file also takes your avatar’s rig despite having loadcharacterappearance toggled off. So I initially spawned in as R15

2 Likes

ill fix the streaming enabled feature later tmrw

I updated BodyReplicator and the PlaceDownload. It should work with StreamingEnabled now. It will freeze the joints until the body part as been rendered.

1 Like

Insane suggestion :

  • Add a function like a timer to ragdoll a character for a certain time
1 Like

You can do

-- Ragdoll for 3 seconds and then get back up
Character.InteractiveRagdoll.ToggleRagdoll.Value = true
task.wait(3)
Character.InteractiveRagdoll.ToggleRagdoll.Value = false

If you want the function version

-- Timed ragdoll function
function TimedRagdoll(ragdollTime: number)
  Character.InteractiveRagdoll.ToggleRagdoll.Value = true
  task.wait(ragdollTime)
  Character.InteractiveRagdoll.ToggleRagdoll.Value = false
end

-- Usage
TimedRagdoll(3)
1 Like

Hello! Just wondering how I’d be able to add knockback to a player while using this?

2 Likes
function Knockback(Character: Model, direction: Vector3, ragdollTime: number)
   --You can use AssemblyLinearVelocity, BodyVelocity or LinearVelocity
   Character.InteractiveRagdoll.ToggleRagdoll.Value = true -- ragdoll on
   Character.HumanoidRootPart.AssemblyLinearVelocity = direction -- knockback
   task.wait(ragdollTime) -- wait ragdolltime
   Character.InteractiveRagdoll.ToggleRagdoll.Value = false -- ragdoll off
end

-- get our target (person we want to apply knockback)
local target = workspace.Target
-- get our dealer (the person doing the knockback)
local dealer = workspace.Dealer

-- Calculate the direction from the start to target, (target - start).Unit
local direction = (target.HumanoidRootPart.Position - dealer.HumanoidRootPart.Position).Unit
local strength = 40 -- how powerful their knockback is

Knockback(target, direction * strength, 3) -- apply the knockback on the target

You can use BodyMovers, which are listed below. In the code I shown, I used AssemblyLinearVelocity.

BodyVelocity

LinearVelocity

Added updates to it so its improved

Any plans to add support for r15?

1 Like

I will probably add R15 in the future once I turn this into one module and simplified.

Does this work with the new Character Controllers provided by Roblox if the character’s an R6? Releasing Character Physics Controllers - #272 by Varonex_0 I’ve been searching for a solution to ragdolls with the character controllers for ages

1 Like

I could add support to Character Controller in the future

Thanks for the resources but I was already using body velocity. Don’t know if it’s because I’m replicating to the client or something, but it just doesn’t seem to work. (EDIT - Replicating onto the client seems to be the issue)

Other than that amazing module overall man keep it up!

uhm… I have encountered a very weird bug.
robloxapp-20240629-2109093.wmv (2.9 MB)

I copied all the scripts from the place file to my project. Do you know what’s causing the issue?

Not sure, I’m currently remaking the module so it’s easier to use and way better. It most likely will be done today or tmrw. I’m almost done, I just have to finish replication things.

1 Like

Messing with collision groups seems to do something. I discovered that the ragdoll only works when rigs with the Character tag cannot collide, which is a shame because I am working on a fighting game where character collisions are pretty crucial.

If the remake of your module allows us to have character collisions - then hooray! But for now, I’ll stick to other ragdoll solutions.

You can edit the collision groups to make characters collide with each other

But then the ragdoll completely breaks and glitches, as shown in the video I provided