This script basically is a new controlscript for the character. Instead of moving to where the player's camera is facing, it moves them to the corresponding direction of the button pressed (w = up, a = left, etc.) This script only works once, then stops after that with no error. I think it has something to do with the moveto because all the prints are working fine,
X = 3
W = -3
Q = Vector3.new(3,0,0)
E = Vector3.new(-3,0,0)
game:GetService("RunService").RenderStepped:connect(function()
local Input = game:GetService("UserInputService")
if Input:IsKeyDown(Enum.KeyCode.W) and game.Players.LocalPlayer.Character then
game.Players.LocalPlayer.Character.Humanoid:MoveTo(game.Players.LocalPlayer.Character.Torso.Position + (game.Players.LocalPlayer.Character.Torso.CFrame.lookVector * X))
print(game.Players.LocalPlayer.Character) end
if Input:IsKeyDown(Enum.KeyCode.A) and game.Players.LocalPlayer.Character then
game.Players.LocalPlayer.Character.Humanoid:MoveTo(game.Players.LocalPlayer.Character.Torso.CFrame * E)
print(game.Players.LocalPlayer.Character) end
if Input:IsKeyDown(Enum.KeyCode.S) and game.Players.LocalPlayer.Character then
game.Players.LocalPlayer.Character.Humanoid:MoveTo(game.Players.LocalPlayer.Character.Torso.Position + (game.Players.LocalPlayer.Character.Torso.CFrame.lookVector * W))
print(game.Players.LocalPlayer.Character) end
if Input:IsKeyDown(Enum.KeyCode.D) and game.Players.LocalPlayer.Character then
game.Players.LocalPlayer.Character.Humanoid:MoveTo(game.Players.LocalPlayer.Character.Torso.CFrame * Q)
print(game.Players.LocalPlayer.Character) end
end)
####(sorry for the messy script)

3 comments
This still does not work after the player dies and returns no error.
Did you read my note? You have to write a funtion to re initalize the character when after it dies and respawns.
See the update for an example on one way to do this