What method should I use to stop a player from moving, even with exploits?

I want to make sure that the player can’t move before they click the play button, even if they are using exploits. I know how to do the first part myself, but I have never made any anticheats, so guidance here would be appreciated.

Considering that exploits are heavily used to make the character do things because server-client replication, thats probably not your best way to go about it.

Instead, I would use anticheats to protect the button from being pressed before it’s supposed to

The reason I want to make the player unable to move before they press the play button is so that the anticheat doesn’t flag the player teleporting to the map, but I realized what I said makes no sense. So, how would I make the anticheat not flag the player teleporting to a map?

I’m not sure how your anticheat works, but maybe have it make some value called Teleporting change to true, and when that value is true the anticheat ignores any “suspicious” behavior

Try this:

game.Players.LocalPlayer.Character.Humanoid:GetPropertyChangedSignal("WalkSpeed"):Connect(function()
game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = 0 end)

sorry for the incorrect formating

An exploiter could easily just disable this script as it has to be local to detect it on the client