SCAR Code:
{*******************************************************************************
function FindWorld(W: integer): Boolean;
by: Narcle
Description: Scrolls to area and returns true if world was found
*******************************************************************************}
function FindWorld(W: integer): Boolean;
Var
WPos, SPos, i, x, y, H, CurW: integer;
BarPos: TPoint;
begin
if not WorldScreen then
Exit;
WS_CurrentWorld(CurW);
if (W = CurW) then
begin
Result := True;
WriteLn('Already on world ' + IntToStr(W));
Exit;
end;
if Length(WorldArray) < 1 then
LoadWorldArrays;
H := High(WorldArray);
for i := 0 to H do
if (WorldArray[i].Number = W) then
begin
WPos := i+1;
Break;
end;
SPos := Round(WPos/(H+1)*100);
if not WorldsOrdered then
begin
Mouse(116, 125, 4, 4, true);//makes them drop down
WorldsOrdered := true;
wait(500+random(500));
end;
case W of
1..15: BarPos:= Point(700, 162);
16..30: BarPos:= Point(700, 192);
31..44: BarPos:= Point(700, 217);
45..57: BarPos:= Point(700, 241);
58..73: BarPos:= Point(700, 267);
74..87: BarPos:= Point(700, 292);
88..102: BarPos:= Point(700, 315);
103..115: BarPos:= Point(700, 338);
116..135: BarPos:= Point(700, 362);
136..153: BarPos:= Point(700, 385);
154..169: BarPos:= Point(700, 409);
end;
Mouse(BarPos.x, BarPos.y, 0, 0, true);
wait(300+Random(100));
Result := IsTextInAreaEx(84, 134, 134, 440, X, Y, IntToStr(W) + ' ', 0, StatChars, False, False, -1, 2, 16579836) or
IsTextInAreaEx(84, 134, 134, 440, X, Y, IntToStr(W) + ' ', 0, StatChars, False, False, -1, 2, 6618364);
end;
and let me know how it goes