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 = trueDoesn’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.
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.
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)