Is it safe just to set humanoid walkspeed to zero by client-side and what is the best way to make humanoid unmovable?
Yes, it is completely safe to set humanoid walkspeed to zero by client-side.
But for me, there are 2 better ways to do this:
1. Disable Humanoid States:
local Humanoid = --path.to.humanoid
Humanoid:SetStateEnabled(Enum.HumanoidState.Running, false)
2. Without touching the humanoid or character.
local ContextActionService = game:GetService('ContextActionService')
local blocked = function()
return Enum.ContextActionResult.Sink
end
ContextActionService:BindAction("FreezeMovement", blocked, false,
Enum.PlayerActions.CharacterForward,
Enum.PlayerActions.CharacterBackward,
Enum.PlayerActions.CharacterLeft,
Enum.PlayerActions.CharacterRight,
Enum.PlayerActions.CharacterJump
)
For the safest option set network owner to the server.