In my game I have a script which acts as a sort of 'GPS' system. It seems to work, except for when I go under terrain. Under the terrain it starts throwing some errors at me, Enum.PathStatus.ClosestOutOfRange a lot. This happens when I am only 5 studs away from the destination. Neither ComputeRawPathAsync or ComputerSmoothPathAsync fixes this error. Here are the main parts involved:
Contextual information: x is the x cordinate, y is the z coordinate, and pathw is a frame for inputting the values.
(the triggering event)
coords = CFrame.new(pathw.x.Text,math.floor(pathw.depth.Text)+218,pathw.y.Text)
print(coords)
path = game:GetService("PathfindingService"):ComputeRawPathAsync(game.Players.LocalPlayer.Character.Torso.CFrame.p,coords.p,512)
(the loop)
local model = Instance.new("Model",game.Workspace.CurrentCamera)
while wait() do
model:ClearAllChildren()
if started then
--path = game:GetService("PathfindingService"):ComputeRawPathAsync(game.Players.LocalPlayer.Character.Torso.CFrame.p,coords.p,512)
if path.Status~=Enum.PathStatus.Success then
game.StarterGui:SetCore("SendNotification", {
Title = "Error!";
Text = "Something went wrong in your path.. it might fix itself though, so just ignore this message";
Icon = "";
Duration = 5;
})
end
pathc = path:GetPointCoordinates()
for i=1,20 do
if pathc[i] then
local part = Instance.new("Part",model)
part.Size= Vector3.new(1,1,1)
part.CanCollide=false
part.Transparency = 1
part.TopSurface= "Smooth"
part.BottomSurface = "Smooth"
part.Transparency = 0.5
part.Material ="Neon"
part.Anchored=true
part.Shape="Ball"
part.CFrame = CFrame.new(pathc[i])
end
end
end
end
Thanks
