Humanoid Flinging Problem

I’m happy I’ve finally achieved Member role in the forums, I was so lost with so much things
Ok so I have this problem with a ragdoll system I have, the humanoids keep flinging with no clear reason at all and I want to stop that because it might be a fatal gameplay problem for the game.

This is what always happens when I ragdoll someone with one of the moves from the moveset

Some of the code I’ve used actually stopped the fling to continue, but didn’t stop at all the fling to start
The code that I used was in one of the forum topics I’ve found before doing this post
https://devforum.roblox.com/t/how-do-you-prevent-humanoid-flinging/206170/3?u=0ii00i0

It did work with a while true loop on a server dummy (in which you’ve seen from the video) but in a real player the loop doesn’t fix the fling and the player flings anyways

I’ve also tried to put the Ragdoll and FallingDown state in false values inside the humanoid following the instructions from this another post I’ve found
https://devforum.roblox.com/t/best-way-of-preventing-humanoid-tripping/71101?u=0ii00i0
But this solution didn’t affect in anything about the fling

Can someone tell me what’s actually going on? And any possible solution to this?

As additional information the ragdoll script is based on the popular anime game called “A Bizarre Day” which replaces the Motor6D for Glue, to Unragdoll it loops through the ragdolled player removing the glue and re-enabling the Motor6D (Because the Motor6D is disabled when ragdolling)

If you analyze the first video at around 4 seconds when the ragdoll is disabled you can see the problem which I took a picture of below.

As seen the humanoid is inclined at a sharp angle when the ragdoll script is disabled at the floor. Consequently, because of how the default humanoid orientates itself by trying to apply as much force as possible relative to the floor yeah it will collide with the floor and cause the fling.

Seems like a custom orientation via BodyGyro or Align Orientation will be necessary before disabling ragdoll to prevent the harsh nature of the default humanoid orientation.

1 Like

At first I thought this was overall the problem that was occurring but after some testing I found out the Humanoid is just acting in a really weird way in which now is not even the problem of my code, With some prints and testing it’s no longer flinging issues and it’s now about the Humanoid State

With the BodyGyro I got to stop the humanoid from flinging too much, but for some reason the Humanoid RAGDOLLS itself FOR NO REASON, even if I gave it a while true loop setting it’s Ragdoll State and Falling Down State false the Humanoid keeps ragdolling

This is the “Unflinger” I’ve made to prevent that, it’s a piece of a code since everything else is the unragdolling

		local Unragdoll = true
		spawn(function()
			wait(2)
			Unragdoll = false
		end)
		
		local BodyGyro= Instance.new("BodyGyro", HumanoidRootPart)
		game.Debris:AddItem(BodyGyro, 0.1)
		wait(0.001)
		
		spawn(function()
			while Unragdoll do
				wait()
				print(Humanoid:GetState())
				Humanoid:SetStateEnabled(stateType.FallingDown, false)
				Humanoid:SetStateEnabled(stateType.Ragdoll, false)
			end
		end)
		Humanoid.PlatformStand = false
		Humanoid.AutoRotate = true

This is a video I took to show that the ragdoll still occurrs


And this is a screenshot took from my prints (A While true loop that lasts 2 seconds printing Humanoid:GetState() )
It mostly prints PlatformStanding state, but some other times it prints FallingDown and even only Running state which confuses me even more
image

I’m in high confusion since this error now might seem like Roblox just originated it

Hmm, by the way is the script you made a local or server side script?

There might be a network ownership problem where the player gains network ownership over the dummy but IDK just a possibility.

For this I believe the body gyro is still harsh and exerts force on the humanoid causing it to ragdoll itself just like when you get hit by a flying part in natural disasters survival, it’s the force magnitude that matters I believe. Maybe a CFrame Tween approach for the humanoid root part to an upright position will be more reliable and not exert force on the humanoid as well.

2 Likes

im not that experienced in ragdoll but i would reccomend adding a body velocity before making it stand up, i tried it before and it completly nulls platformstand’s wacky flinging (sadly it will make the character/player stand on the ground for a while before standing up)