For walking speed, you could calculate how many studs the player moved since the last frame and check how much time there has been between the last frame and the current and check if the player moved too much on the X and Y positions of the HumanoidRootPart. Although, for the Y positions, it would be much more complicated because the player can jump and fall. Also, you would have to account for any sort of moving platform (ie. car, train, etc) that moves in your game. If you have basic knowledge of physics, it should be easy. You should get familiar with roblox’s physics system if you want to make an anti-exploit script. That script you made will only prevent the player from changing the walk speed but there are alternatives like changing the position of the humanoid root part directly. If i’m not mistaken, anything that happens to the player’s character on the client side is replicated to the server. I don’t know if that’s entirely true but I’m pretty sure it is since animations are replicated automatically. If I am wrong, please correct me.