Hello
I tried to walk in the wilderness, but when a player is found on the minimap it still continue the path till finished (PascalScript Reflection).
How can i fix it so it stops path, hop world and continues the path??
R_WalkPath([Point(3226, 3217), Point(3232, 3215), Point(3236, 3222), Point(3234, 3229), Point(3226, 3236), Point(3223, 3245), Point(3215, 3251), Point(3206, 3254), Point(3195, 3253), Point(3188, 3257), Point(3184, 3263), Point(3181, 3271), Point(3172, 3275), Point(3162, 3277), Point(3162, 3286), Point(3155, 3293), Point(3145, 3294), Point(3134, 3290), Point(3127, 3295), Point(3117, 3294), Point(3110, 3288), Point(3107, 3280), Point(3106, 3268), Point(3104, 3259), Point(3097, 3249), Point(3092, 3242)]);
Many thanks!
Edit:
Quick-fix for the people who need it... (not tested yet)
Add in MapWalk (Reflection include):
and:Code:function R_WalkPathWildy(Path: TPointArray; Reverse: boolean; DistToMsWalk: integer): boolean; var I, K, H, T, Q, Fails, lP: integer; P, MM, MMF: TPoint; Temp: TPointArray; begin Q := CountDots('white'); Temp := CopyTPA(Path); ColorToleranceSpeed(1); T := GetSystemTime + 10000 + Random(2000); Fails := 0; lP := 0; if Reverse then InvertTpa(Temp); H := High(Path); while (not Result) and (GetSystemTime < T) and (Q = 0) and (Fails < 5) and (R_DistanceFromTile(Temp[H]) >= DistToMsWalk) do begin if (not LoggedIn()) then Exit; if (Q > 0) then Exit; P := R_GetTileGlobal; for I := H downto 0 do begin if ((I - lP) > 3) then Continue else lP := I; MM := R_TileToMM(Temp[I]); if MM = MMF then Inc(Fails); if R_TileOnMM(Temp[i]) then begin R_WalkToTileMM(Temp[i]); MarkTime(K); repeat if not R_IsWalking then break; until((TimeFromMark(K) > 2000) or FFlag(30)); MMF := MM; if (I = H) then FFlag(5) else FFlag(25); T := getSystemTime + 7000 + Random(1000); Break; end; end; Result := (I = H); end; if DistToMsWalk > 0 then Result := R_BlindWalkMS(Temp[H]); end;
Now make a large path like this example:Code:function R_WalkWilderness(Path: TPointArray): boolean; begin Result := R_WalkPathWildy(Path, False, 0); end;
Will exit the walk once a player is found on the Minimap, will hit the HopWorld procedure and pickup the path again until its on the spotCode:repeat if not LoggedIn then LoginPlayer; R_WalkWilderness([Point(2604, 3090), Point(2612, 3092)]); if find the players ........... hop world..... until R_NearTile(point(2612, 3092), Distance);![]()



Reply With Quote




