I’m making a wandering NPC but there movement is choppy. I cant seem to fix it. Hoping you can tell me what’s wrong.
local myHuman = script.Parent:WaitForChild(“Humanoid”)
local myRoot = script.Parent:WaitForChild(“HumanoidRootPart”)
local head = script.Parent:WaitForChild(“Head”)
local lowerTorso = script.Parent:WaitForChild(“Torso”)
local clone = script.Parent:Clone()
function walkRandomly()
local xRand = math.random(-50,50)
local zRand = math.random(-50,50)
local goal = myRoot.Position + Vector3.new(xRand,0,zRand)
local path = game:GetService("PathfindingService"):CreatePath()
path:ComputeAsync(myRoot.Position, goal)
local waypoints = path:GetWaypoints()
if path.Status == Enum.PathStatus.Success then
for _, waypoint in ipairs(waypoints) do
if waypoint.Action == Enum.PathWaypointAction.Jump then
myHuman.Jump = true
end
myHuman:MoveTo(waypoint.Position)
local timeOut = myHuman.MoveToFinished:Wait(1)
if not timeOut then
print("Got stuck")
myHuman.Jump = true
walkRandomly()
end
end
else
print("Path failed")
wait(1)
walkRandomly()
end
end
function main()
walkRandomly()
end
while wait(5) do
main()
end