I’m developing a system which allows Characters with that are not “Downed” carry characters that are “Downed”
When the player that is downed gets carried, they become a ragdoll and their torso is welded to the right arm of the player who is carrying them, which I’ll call Carrier.
However, the ragdoll keeps slightly rotating the Carrier, which is something I don’t wish to happen.
I’ve tried creating a collision group, but It did not work. anyways, here’s the code:
script.Parent.GrabREvent.OnServerEvent:Connect(function(player, C)
-- C is the character being carried
-- PService is Physics Service
PService:SetPartCollisionGroup(script.Parent.Parent.Head, "CarrierCollision")
PService:SetPartCollisionGroup(script.Parent.Parent.Torso, "CarrierCollision")
PService:SetPartCollisionGroup(script.Parent.Parent.HumanoidRootPart, "CarrierCollision")
PService:SetPartCollisionGroup(script.Parent.Parent["Right Arm"], "CarrierCollision")
PService:SetPartCollisionGroup(script.Parent.Parent.Head, "CarriedCollision")
PService:SetPartCollisionGroup(C.HumanoidRootPart, "CarriedCollision")
PService:SetPartCollisionGroup(C["Right Arm"], "CarriedCollision")
PService:SetPartCollisionGroup(C["Left Arm"], "CarriedCollision")
PService:SetPartCollisionGroup(C["Right Leg"], "CarriedCollision")
PService:SetPartCollisionGroup(C["Left Leg"], "CarriedCollision")
M.Ragdoll(C)
WeldGrab = Instance.new("Weld")
WeldGrab.Parent = player.Character["Right Arm"]
WeldGrab.Part0 = player.Character["Right Arm"]
WeldGrab.Part1 = C.Torso
WeldGrab.C1 = CFrame.new(0, -0.5, 1) * CFrame.Angles(90, 0, 0)
end)
I know the collision group code is not reliable, but I haven’t found how to make the script check for a body part and add them to the collision group.
I also tried making the head and limbs from the CarriedCharacter massless, didn’t work
If anyone can find a solution, I would appreciate it