this is in a server script not a local script the reason because they can change their client Side.
my server script that gets fired on character added
game.Players.PlayerAdded:Connect(function(plr) plr.CharacterAdded:Connect(function(char) Hum = char:WaitForChild('Humanoid') if Hum then Hum:ChangeState('Ragdoll') end end) end)