Can't Force PlatformStand on Humanoid While Jumping

Hi!

I’m currently revising an old ragdoll script I made a while back. Everything else is working just fine. You can even jump on it, if you’re not holding the space bar.

EXCEPT: If you are holding spacebar when it activates, you can fly.

I’ve tried almost every iteration of forcing PlatformStand I can think of.

humanoid.PlatformStand = true Doesn’t work. Still flies.
humanoid:ChangeState(Enum.HumanoidStateType.PlatformStanding) Doesn’t work. Still flies.
humanoid:ChangeState(Enum.HumanoidStateType.Physics) Doesn’t work. Still flies.

Disabling jumping altogether does work. HOWEVER, I don’t want to disable jumping completely. I only want it disabled once the Ragdoll is activated. But if jumping is enabled at all, holding spacebar causes this to happen.

Anyone got any ideas? I’m at a loss.

1 Like

Can’t you set Humanoid.Jump = to false?

Edit: I just tested turning on PlatformStand while holding space and it seems to be working

Tried that, along with humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping, false). Both didn’t work if you’re holding the space bar.

1 Like

I’ve had this problem in multiple ragdoll functions and still can’t figure out how to fix it.

You can make a variable for the original jump power (in case you change it to an unwanted amount)
So once Ragdolled: it will change the Variable (The Original amount of jump power) to the current amount of jump power, and then set the humanoid’s JumpPower to 0, then once UnRagdolled: it will change it back to it original JumpPower if that makes sense, this worked for me.

local hum = script.Parent:FindFirstChildWhichIsA("Humanoid")
local originalJP = hum.JumpPower
local function activate()
    originalJP = humanoid.JumpPower
	humanoid.JumpPower = 0
end

local function deactivate()
    humanoid.JumpPower = originalJP 
end

hopefully this helped, I’m not the best at making stuff.
I know I’m pretty late, you probably already found a solution to this problem but I’m still here.

2 Likes

I encountered the same problem, however I wrote a code on a separate script (serversided, inside startercharacterscripts) that checks if the a ragdoll bool value is set to true or false and then runs a loop that constantly changes the state between true and false and it kinda solved my problem

ragdoll:GetPropertyChangedSignal("Value"):Connect(function()
	if not ragdoll.Value then return end
	repeat
		ownerHumanoid.PlatformStand = false
		ownerHumanoid.PlatformStand = true
		task.wait()
	until ragdoll.Value == false
	ownerHumanoid.PlatformStand = false
end)