I am not shocked. 1 tile isn't much, not much at all. There are a few things in RSWalker that can be tried.
The issue is possibly that RSW is calculating your position
WHILE you are walking, so it can be a bit off.. You can reduce the
RSW.skipClose to achieve higher accuracy - The default is 10, reduce it 1-2 at a time.
Tho any of the following is probably a better way to go about it:
Once you are done walking (like when you have totally stopped moving), do a final step if it didn't hit the exact tile:
> pt := RSW.GetMyPos()
> if (pt.x <> myGoalPt.x) or (pt.y <> myGoalPt.y) then
>>> RSW.WalkToPos(myGoalPt, True);
>
> if (pt.x <> myGoalPt.x) or (pt.y <> myGoalPt.y) then
>>> WriteLn('Well thats just too bad');
However, RSW have something builtin for the above, but it might not be as effective, as it doesn't wait until you have fully stopped.
But it's just a toggle, so it's simple to test
:
Instead of
>
RSW.WalkPath(myPath);
You call it like this:
>
RSW.WalkPath(myPath, True);
You might wanna disable MemScan, tho it might not really matter, this is done by by initalizing with a negative PID,
RSW.Init(pathToMap, -1), iirc.
I could
_maybe_ do some things to RSWalker to make it more accurate (but also slower) whenever that's needed, but this wont happen any time soon.
Other than that, you can actually do some colorfinding and shit yourself, and do the final correction that way. This is how I would expect people to solve the final correction if they need perfect accuracy, which is rather rare: Just about never happens, unless you are doing something "wrong".
Nope. It's a brand new thingy ^_^
And yeah, I am the one man team, but that's a quite lousy team, and at the same time maintaining other projects, working on lape etc. One can drop by #SRL for more or less interactive support, tho would have to expect some hours of wait-time before I have time for a chat, just be sure to highlight me (by writing
slacky) =)
I have also assigned @
Harrier; as techsupport! Be sure to bother him @ IRC, hehe ;)