So my game has a feature in which you can only move your character by performing a certain action in-game, you are unable to move your character normally by pressing WASD keys.
This works flawlessly in Roblox Studio, but it sometimes doesn’t work and lets me move my character with WASD when I visit the game normally. This problem might be triggered if I tab out while joining the game and tab back in btw.
LocalScript in StarterPlayerScripts:
local Controls = require(game.Players.LocalPlayer.PlayerScripts:WaitForChild("PlayerModule")):GetControls()
repeat wait() until game.Players.LocalPlayer.Character
Controls:Disable()
I think you could fix this issue by removing the line containing “repeat wait() until game.Players.LocalPlayer.Character.” The script would look like this:
local Controls = require(game.Players.LocalPlayer.PlayerScripts:WaitForChild("PlayerModule")):GetControls()
Controls:Disable()
Maybe try literally disabling the script that manages controls.
And if you’re worried about exploiters enabling it again, just kick them if it re-enabled in a certain amount of time.
I think :Move() is used to indicate the direction in which the player should move. By going to the Explorer → StartPlayer → Properties → Character → CharacterWalkSpeed and changing the value to 0, you should be able to accomplish your goal