Use FindColorsSpiralTolerance to get a TPA that has all the color co-ordinates stored. Then use SplitTPAEx to make an ATPA that has multiple splitted TPA's stored. Then you can sort the ATPA from size or just from the closest point near your character. Then you can use MiddleTPA to get the middle point, move the mouse there, check for uptext, if the uptext is correct loot the item. Then wait until walking or wait until a new item has been added to your inventory. Then repeat that process.
Example
Simba Code:
function RopeFail: Boolean;
var
X, Y, i: Integer;
LadderCl: TPointArray;
LadderClSplit: Array of TPointArray;
begin
ColorToleranceSpeed(2);
SetColorspeed2Modifiers(0.12, 1.01);
if FindColorsSpiralTolerance(X, Y, LadderCl, 3030082, MSCX-100, MSCY-50, MSCX, MSCY+50, 11) then
begin
SplitTPAExWrap(LadderCl, 1, 1, LadderClSplit);
SortATPASize(LadderClSplit, True);
for i:=0 to High(LadderClSplit) do
begin
MiddleTPAEx(LadderClSplit[i], X, Y);
MMouse(X, Y, RandomRange(-2, 2), RandomRange(-2, 2));
if WaitUpTextMulti(['limb', 'up', 'adder', 'Climb', 'Ladder'], 500) then
begin
ClickMouse2(1);
Wait(4000 + Random(1000));
Result:=True;
Break;
end;
end;
end;
end;