Dear Chrisok,
Its not like we are a graveyard, but the people who are active using Stealth working on different things to make Stealth and UO much easyer.
res := CheckLoS(getX(self), getY(self), getZ(self) + 15, getX(Friend[i]), getY(Friend[i]), getZ(Friend[i]) + 15, WorldNum);
I dont know why you add 15 to Z but this will may cause in malfunction.
Whenever you are at a Z Coord ( Like in Cave - 95 ) you check if your Buddy is avaible on Z -80. If you think on a 3 Dimensional Model you will see the that the difference is huge. I would just check
res := CheckLoS(getX(self), getY(self), getZ(self), getX(Friend[i]), getY(Friend[i]), getZ(Friend[i]), WorldNum);
You also not need to declare res : Boolean
if you combine it into an If-Clause
If (CheckLoS(getX(self), getY(self), getZ(self), getX(Friend[i]), getY(Friend[i]), getZ(Friend[i]), WorldNum)) then
begin
// Your Code XY
end;
I also dont understand why you need
begin
c := GetPathArray(PredictedX, PredictedY, PredictedZ, GetX(Host), GetY(Host), 1, True, p);
if c > 0 then StepQ(CalcDir(PredictedX, PredictedY, p[0].X, p[0].Y), True);
end;
This code also miss a lot of references to just check out and understand its sense.
Without the required informations its just a code snipped what could work or not, we dont have a possibility to check it out.