Getting up my from my ragdoll

I made a custom reversible R6 ragdoll and it works beautifully but the thing I’m wondering is how to make my player get back up smoothly from the ground since when I re-enable my motor’s to get back up my player flings a little bit so I can’t get up for a while but I want a smooth get up that doesn’t involve animations/tweening/anchoring because I’ve seen in many games how your player flawlessly gets up without anchoring or CFraming the player and from what I see no tweening, I tried body gyro but got weird results and the player still sometimes fell over so I’m kinda stuck.

Heres a clip of what happens when I go from Ragdolling to Unragdolling

https://gyazo.com/5ca84335993c360696025af1dd988a9e embed

2 Likes

What about using a AlignOrientation/AlignPosition?

2 Likes

I can try that thanks will see.

1 Like

How would I use AlignOrientation to set the character upright with the same Y axis orientation? Is that possible? I haven’t used this before and see it needs attachments so not sure how I could use it in this situation specifically but I do understand how it works?

1 Like

Cant u jsut destroy the stuff that makes the ragdoll, or u can just make it stop.

1 Like

I enabled and disable motors to do the ragdoll but theres a weird fling, I’m working with BodyGyro right now and testing still not sure the exact answer to the flinging though but I’m working on the getting up part.

1 Like

I mean like destorying it by using the :destroy function

1 Like

Why are you using physics to counteract physics just CFrame the humanoidrootpart to a valid rotation. It has always been a valid solution for me. Also, pretty sure the flinging is caused by the ragdoll humanoid state.

2 Likes

I’m not using the Ragdoll Humanoid state and CFrame is not a solution in any sense because you will be able to unragdoll mid air and or while moving in certain cases wich will stop you mid air the same way tweening does.

1 Like

I don’t think you get me, anyways you will be able to unragdoll midair? You’re just CFraming their rotation in a time step. CFraming will not make objects lose velocity therefore they will still move. Also, CFrame isn’t tweening?

1 Like

CFraming,Lerping,Tweening CFrame all stop the player mid air

1 Like

Guess what? Using body movers doesn’t do anything as there’s already an extreme force acting on the player and it would be pointless. Let me tell you if YOU set the CFrame on the correct render stepped priority then the player will not visually look like it stopped and it won’t even affect the velocity. You don’t LERP or TWEEN the CFrame just SET it.

2 Likes

I cant be setting the player a whole 90 degrees upright it would look unatural so bodygyro fixes that, the issue now is that ragdolled and unragdolling causes the player to fling and then when they get up they cant move for a total of like 2 to 4 seconds and I’m not doing that, I believe the flinging has something to do with state type or PlatformStand not sure.

2 Likes

That’s what i’ve literally been hinting. It’s the ragdoll state and it’s default enabled if you know about humanoids. If you’re using bodygyro then there will also be a chance of it flinging due to the extreme force. I literally don’t know what else you want.

1 Like

Body Gyro is not causing the fling, the fling happens with bodygyro disabled It happens either when I re enable motors or something

1 Like

So mark a solution for the bodygyro???

2 Likes

Still got the probelm, the body gyro was half the issue I still cant get up

1 Like

You’d have to enable the getup state and disable the ragdoll humanoid state? However, they’ve only worked for me by being set on the client.

1 Like

Yikes that would mean I’d have to fire to the client for that alone, heres a clip of what happens. I’m not too familiar with what the Ragdolled state does since I’ve never changed the state to that or messed with it and I’m currently not using it but here

Once I actually get on my feet after flinging a few times I have ZERO control over the player and their limbs very slowly move back and forth a little amount for like 5 seconds then I regain control?

https://gyazo.com/33afe232222af415b3e9e639833209f6

1 Like

heres the code where my character ragdolls and gets up from the ragdoll if this helps

I tried bodyposition but that doesn’t seem fluid also obviously stops your player and fixes flinging but still gives the issue of no control on my player after getting up

		local function Ragdoll ()
			if not Character:GetAttribute("Dead") and not Character:GetAttribute("BeingCarried") and not Character:GetAttribute("BeingExecuted") then
				if not Character:GetAttribute("Ragdolled") then
					local YOrientation = HumanoidRootPart.Orientation.Y
					
					local BodyGyro = Library.Functions.BodyGyro(HumanoidRootPart, CFrame.Angles(0, math.rad(YOrientation), 0), 10000, 500)
					BodyGyro.Name = "BodyOrientation"
					Debris:AddItem(BodyGyro, .25)
					
					--local BodyPosition = Library.Functions.BodyPosition(HumanoidRootPart, HumanoidRootPart.Position)
					--Debris:AddItem(BodyPosition, .25)
				end
				
				for _,v in pairs(Character:GetDescendants()) do
					for _,v in pairs(CollisionGroup[Character]) do
						v.CanCollide = Humanoid.PlatformStand
					end
					
					if v:IsA("Motor6D") and v.Name ~= "RootJoint" and not CollectionService:HasTag(v.Parent, "Accessories") and not CollectionService:HasTag(v.Parent.Parent, "Accessories") then
						v.Enabled = not Humanoid.PlatformStand
					end
				end
			end
		end
		Humanoid:GetPropertyChangedSignal("PlatformStand"):Connect(Ragdoll)
2 Likes