of     1   

EkoGam3
#144436188Sunday, August 24, 2014 10:15 PM GMT

Anytime the AI's torso collides with another BasePart, it stops moving. I don't know why it has trouble with this, but I know it has something to do with voxel cells. And I already tried coding the AI to where it recalculates another path after collision; however, I probably didn't do this right. Any ideas?
EkoGam3
#144438433Sunday, August 24, 2014 10:46 PM GMT

Bump.
communityescape
#144440514Sunday, August 24, 2014 11:11 PM GMT

Well I bet it loves tree hugging.
EkoGam3
#144453864Monday, August 25, 2014 1:53 AM GMT

Is there a fix to this, guys, or is it a bug in the works of being fixed by ROBLOX?
BJCarpenter
#144455575Monday, August 25, 2014 2:14 AM GMT

It's all in the tutorial, if u read between the lines: Path-finding uses the stardard (Terrain?) grid as the nodes, so every Point is going to be on that grid, 0,0,4; 0,4,8; 16,40,8 So u gotta build your place on that grid, or Humnoid's Shoulders clip the walls. I guees u can get a grid to build on, by just temporarily covering your entire place in Terrain; then deleteing it. 2) This does not entirely solve your second problem, but it tries to massage the Path search, if PathService returns an error. It stops about 99% of non-returns, but after calling it, u should still check Path.Status to make sure u got a path[ else do something else? Jump in a random direction?: function ReturnPath(start, finish, MaxDist) local path = pathfinding:ComputeRawPathAsync(start, finish, MaxDist) print (path.Status) if path.Status == Enum.PathStatus.FailFinishNotEmpty then local dist = (finish - start).magnitude while dist > 8 and path.Status == Enum.PathStatus.FailFinishNotEmpty do wait() finish = start + (finish - start)/1.5 path = pathfinding:ComputeRawPathAsync(start, finish, MaxDist) dist = (finish - start).magnitude local part = Instance.new("Part", Workspace) part.FormFactor = Enum.FormFactor.Custom part.Size = Vector3.new(4,4,4) part.CFrame = CFrame.new(finish) part.Shape = "Ball" part.Anchored = true part.CanCollide = false part.BrickColor = BrickColor.Red() table.insert(Showed, part) end -- room to manuveur? Bot.ShowPath (start, finish) end -- finish error if path.Status == Enum.PathStatus.FailStartNotEmpty or path.Status == Enum.PathStatus.ClosestNoPath then wait() start = start + Vector3.new(0,0,4) path = pathfinding:ComputeRawPathAsync(start, finish, MaxDist) if path.Status == Enum.PathStatus.FailStartNotEmpty or path.Status == Enum.PathStatus.ClosestNoPath then start = start + Vector3.new(4,0,-4) path = pathfinding:ComputeRawPathAsync(start, finish, MaxDist) end if path.Status == Enum.PathStatus.FailStartNotEmpty or path.Status == Enum.PathStatus.ClosestNoPath then start = start + Vector3.new(-4,0,-4) path = pathfinding:ComputeRawPathAsync(start, finish, MaxDist) end if path.Status == Enum.PathStatus.FailStartNotEmpty or path.Status == Enum.PathStatus.ClosestNoPath then start = start + Vector3.new(-4,0,-4) path = pathfinding:ComputeRawPathAsync(start, finish, MaxDist) end Hum:MoveTo(start) wait() end -- start error? return path -- should prolly Return 'finish', as well. Ifinnidh does not equal the 'finnish' that u supplied, then it may have returned a Path, but a truncated path. GL end--Return Path
EkoGam3
#144515599Monday, August 25, 2014 11:00 PM GMT

Where did you get Bot.ShowPath from? Basically, if the PathStatus has a failed path, it'll move the humanoid a voxel away from its current position? I'm having trouble understanding what all the PathStatus enums mean exactly.
jonesj627
#144516336Monday, August 25, 2014 11:08 PM GMT

just make a jump, make the ai jump if the the point y is higher then the ai's torso y, and if it isn't it will go around the wall and the only reason for it to stop is if you don't wait for the ai to reach the current point to start going to the next, i made an ai and it doesn't wall hug, and if walls are low enough, it jumps over them.
BJCarpenter
#144519178Monday, August 25, 2014 11:39 PM GMT

EKo, sorry, that was a function from a Mod of warspykings AI code, so sorry 4 the extra bits.... function ReturnPath(start, finish, MaxDist) local path = pathfinding:ComputeRawPathAsync(start, finish, MaxDist) print (path.Status) if path.Status == Enum.PathStatus.FailFinishNotEmpty then -- THE POINT U SAID TO FINNISH AT HAS "WALL" IN IT; MAYBE EVEN JUST 1/2 A WALL IF U WALLS R NOT ALIGNED ON THE 4 STUD X 4 STUD GRID if path.Status == Enum.PathStatus.FailStartNotEmpty -- START pOINT U SUPPLIED HAS WALL IN IT, OR ai IS SO CRAMMED INTO A CORNER THAT HE IS IN A WALL (tHAT'S WHY THIS SECTION JUST 'BACKS-UP' A BIT...) or path.Status == Enum.PathStatus.ClosestNoPath then -- I DON'T KNOW. BUT IT HAPPENS WHEN AI IS CLOSE TO AN ABYSS (OR START POINT STARTS OVER A vOID?) -- AGAIN: ADJUST STARTING POINT... tHESE R THE ONLY ERRORS WHICH I HAVE SEEN RETURNed SO FAR, SO I DO NOT KNOW WH the others are....
EkoGam3
#144584579Tuesday, August 26, 2014 8:59 PM GMT

I wait for the distance between the point and the AI's torso to be less than three. Should I change or remove that?
Roxer9000
#144584739Tuesday, August 26, 2014 9:01 PM GMT

Ey yo eko! Okay i will look at it bitte ein bier
EkoGam3
#144589180Tuesday, August 26, 2014 10:04 PM GMT

Long time no see!

    of     1