How can I disable the player in an efficient way? Other methods have problems

its not working… I did Humanoid:Move(Vector3.new(0, 0, 0)) and the player can still move… theres no difference

If you only did that method, that’s not my implication. My implication is simply applying that after the ContextActionService method. Simply run that line after the freeze is applied.

what will it do then???

If the controls are disabled after that and somehow the player just keeps moving in one direction, check the player’s movement through whatever velocity and its magnitude. If the magnitude is above 0, force Player:Move(Vector3.new(0,0,0)).

The humanoid method is just an alternative, depending on the code.

1 Like

also on this method why does it not work for mobile people? how can i fix it

The mobile user has its controls disabled and that did not trigger the “stop” for the movement. Forcing the player to not move through means of script and not by the hand of the user should resolve this.

1 Like

Can you explain what you mean?

but i dont want to use walkspeed

can you explain how i would disable mobile people? walkspeed? but i dont want to use walkspeed

Connection = RunService.Heartbeat:Connect(function()
   player.position = player.position
end

--when you dont need it anymore
Connection:Disconnect()

--if you didnt know already RunService fires every single frame

this way they can not move even if they did they cant

also by player.position i meant HumanoidRootPart.Position

just setting the HumanoidRootPart Position Itself will be enough and moves the entire model