Heya and thanks for the help in advance.
Got a basic script working but whenever I terminate it I am left with a massive list of bitmaps that haven't been freed. The list gets longer the longer I leave it running (so the more loops) and obviously this is not a good thing.
Too save opening another thread if anyone could suggest a better dropping method I could look into it would be much appreciated as this one seems rather slow.
Simba Code:program new;
{$define srl5}
{$loadlib sps}
{$i srl/srl.simba}
{$i sps/sps.simba}
var
full:boolean;
Procedure StartFishing;
begin
Mouse(290, 150, 13, 13, True);
Wait(1000)
End;
Procedure DropInventory;
var
trout, salmon, dropsalmon, droptrout, x, y, x2, y2:Integer;
Begin;
repeat
salmon := BitmapFromString(22, 8, 'meJxjYMAOGBkYgkMzEpIrzWzirJ0' +
'y7D0K3QNqvENbA6J6QuKnRCTPiUqdl16yZeGyQ7i0A5GJZbSlY6qd' +
'e56LT7lHYL1PeEdw7KTQhOlAvXGZS4Ha86oPMeLQDrHXybMUbi9EL' +
'9Dq6PQFiXlrsqv2lracA6pUUDDA1I5sr39EV2B0P9xeoN604k051f' +
'vh2pFNgLgcaDVQL9y/cHvjs5enFmzMLN+ZX3sYl3aIvZ7BTUC9QI1' +
'AXbEZi4D2AvUCrQb6Gmh1SdOZirZLWLVDvAwMK6Cbw5NmAvUm5KxK' +
'yl8HdHNG6fasit0FdUeB2qs6sWt39asCOhuuF2Ij0MFAjUB7gc4ur' +
'D+OSzsQAADvfpLV');
trout := BitmapFromString(30, 26, 'meJytle1OGkEUhuVOvITejH9sot' +
'bEWj9qbay1dv2sWivWWqxVY0UjGlQsLQQiFQMEi5ISIBQJEKIkGE1' +
'6GX3ak2w24o8dwmZ+TDYzz77nPe/MNjTU7bHUD3UHOzW1UHc4wPEJ' +
'69zcJyaNjQ/qiB0de6djayDfWykvtZG3+DD/frU2weza2/dZql4OD' +
'0+KD4sf12sgs2XDvi9kfS/zoaFxfJiZWUTw0pLd8v+lUhNZbLNtOB' +
'zfhawTenpeDAxouAHc6fSuf3Gi3HxCWMbG5eWt3V2PADs6eoWJFWi' +
'enbUB9PvD8mnzfRQzcXJ1baet7UlnZ1/fs1f4II2zWj9TTjT66ygQ' +
'0ZkmscgD0tz8qL29u/fpy8HBUfF24cMahaysOL66A+l0TilyUlpT0' +
'8OW1sddXf39z19r2vTkm3nRSQm01XV4dBw8VcWiE0vRKRnATzIAE5' +
'00C1fxNh5Pq2KxFJ3/Wq9N636i077pgnng8gd+RM/OU0r9ku7D5Ai' +
'gEz9hYik6t7fdpNrjCQZPYqpYY0TJEiIBohMmqaNZZCAWSyYSGSUs' +
'cSJg0iPOlJjJEaBN7m/HPl8oFDo7/ZlQxUqcyC21CxOFXu8JbcJSy' +
'g+Hz8Emk1klrIgkRZSMPEqOROIAEckpwFJ0EtrsRVE1CQQJJ4mZMO' +
'GgUJho1ofqDcx6qR2R0Kg3k8nTJrLKvJpsHivlIxKFqdTF72yhULh' +
'EtsyNZIGbJ9MdFGIjnHy+VCqVy+VrZOdyJf3CZKjKZiVShVMsXl1e' +
'VSqVm9vbP3zCeHfp17Kqz/eOakgNP1CjNuNQgtx5/gKCIdSE');
dropsalmon := BitmapFromString(108, 15, 'meJztlEsOgDAIRDmaR/TGdacEC' +
'oxB/EQmLpDUKbxWxjhEZVrWwZ+6jZAyLrfd6ZVi5MU/iLGaIVVibI' +
'Z5/ZMhG5NDLNaorbwuXncxnZP+q/W5/gSxtQZ1aLvnQ4YCFB6H9ZB' +
'9P0GGSD6Mp+frx2I9TqOCIRkny+t0WDnOvm2SoYjvZKhphMftwLe2' +
'OBt/juGpmLf2fob+9BPJ6UqdRxokdeV4fhpr24p/WTggjWTkoGuBa' +
'oZ5NcO8mmErrw0OOxCU');
droptrout := BitmapFromString(96, 15, 'meJztllEOgCAMQzmaR/TG+KcL3b' +
'qRsGhwjR84oR0vhNj7o5am4+zyyQtarptMKiKJZSGiDNqDp8SSh6j' +
'4xEP34COupXEyYrTqGIo7Uu8l/krWEjfiSRxcPkGSOHYhuE0G+ahB' +
'UxEkOr7TDD7DJ2zSOnWcj1X5OB9Mjxxy8lewH5+psUT6Lh9+26iTX' +
'YdIkw2OiqyrY9XZMseIqboVOiWCpdSKj6fiw1V8/qwLk9O7hA==');
If (FindBitmapToleranceIn(trout, x, y, 546, 184, 753, 453, 15)) then
begin
Mouse(x, y, 3, 3, False);
wait(10)
FindBitmapToleranceIn(droptrout, x2, y2, 546, 184, 753, 453, 15);
Mouse(x2, y2, 3, 3, True);
FreeBitmap(trout);
FreeBitmap(droptrout);
wait(1000 + Random(100));
end else
begin
FreeBitmap(trout);
If (FindBitmapToleranceIn(salmon, x, y, 546, 184, 753, 453, 15)) then
begin
Mouse(x, y, 3, 3, False);
wait(10)
FindBitmapToleranceIn(dropsalmon, x2, y2, 546, 184, 753, 453, 15);
Mouse(x2, y2, 3, 3, True);
FreeBitmap(salmon);
FreeBitmap(dropsalmon);
wait(1000 + Random(100));
end else
begin
Startfishing;
Full := False
end;
end;
until(Full = False)
end;
Procedure CheckFull;
var
trout, salmon, x, y:Integer;
Begin
repeat
salmon := BitmapFromString(22, 8, 'meJxjYMAOGBkYgkMzEpIrzWzirJ0' +
'y7D0K3QNqvENbA6J6QuKnRCTPiUqdl16yZeGyQ7i0A5GJZbSlY6qd' +
'e56LT7lHYL1PeEdw7KTQhOlAvXGZS4Ha86oPMeLQDrHXybMUbi9EL' +
'9Dq6PQFiXlrsqv2lracA6pUUDDA1I5sr39EV2B0P9xeoN604k051f' +
'vh2pFNgLgcaDVQL9y/cHvjs5enFmzMLN+ZX3sYl3aIvZ7BTUC9QI1' +
'AXbEZi4D2AvUCrQb6Gmh1SdOZirZLWLVDvAwMK6Cbw5NmAvUm5KxK' +
'yl8HdHNG6fasit0FdUeB2qs6sWt39asCOhuuF2Ij0MFAjUB7gc4ur' +
'D+OSzsQAADvfpLV');
trout := BitmapFromString(30, 26, 'meJytle1OGkEUhuVOvITejH9sot' +
'bEWj9qbay1dv2sWivWWqxVY0UjGlQsLQQiFQMEi5ISIBQJEKIkGE1' +
'6GX3ak2w24o8dwmZ+TDYzz77nPe/MNjTU7bHUD3UHOzW1UHc4wPEJ' +
'69zcJyaNjQ/qiB0de6djayDfWykvtZG3+DD/frU2weza2/dZql4OD' +
'0+KD4sf12sgs2XDvi9kfS/zoaFxfJiZWUTw0pLd8v+lUhNZbLNtOB' +
'zfhawTenpeDAxouAHc6fSuf3Gi3HxCWMbG5eWt3V2PADs6eoWJFWi' +
'enbUB9PvD8mnzfRQzcXJ1baet7UlnZ1/fs1f4II2zWj9TTjT66ygQ' +
'0ZkmscgD0tz8qL29u/fpy8HBUfF24cMahaysOL66A+l0TilyUlpT0' +
'8OW1sddXf39z19r2vTkm3nRSQm01XV4dBw8VcWiE0vRKRnATzIAE5' +
'00C1fxNh5Pq2KxFJ3/Wq9N636i077pgnng8gd+RM/OU0r9ku7D5Ai' +
'gEz9hYik6t7fdpNrjCQZPYqpYY0TJEiIBohMmqaNZZCAWSyYSGSUs' +
'cSJg0iPOlJjJEaBN7m/HPl8oFDo7/ZlQxUqcyC21CxOFXu8JbcJSy' +
'g+Hz8Emk1klrIgkRZSMPEqOROIAEckpwFJ0EtrsRVE1CQQJJ4mZMO' +
'GgUJho1ofqDcx6qR2R0Kg3k8nTJrLKvJpsHivlIxKFqdTF72yhULh' +
'EtsyNZIGbJ9MdFGIjnHy+VCqVy+VrZOdyJf3CZKjKZiVShVMsXl1e' +
'VSqVm9vbP3zCeHfp17Kqz/eOakgNP1CjNuNQgtx5/gKCIdSE');
wait(10000 + Random(1000));
If (FindBitmapToleranceIn(trout, x, y, 690, 405, 737, 444, 15)) then
begin
FreeBitmap(trout);
Full := True
DropInventory;
end else
begin
FreeBitmap(trout);
If (FindBitmapToleranceIn(salmon, x, y, 690, 405, 737, 444, 15)) then
begin
FreeBitmap(salmon);
Full := True
DropInventory;
end;
end;
until(Full = True)
end;
begin
SetupSRL;
StartFishing;
CheckFull;
end.


Reply With Quote


(26x19)
(6x6)
gold ore has yellow as main color but if you make bitmap from grey/brown < whatever... most of ores has the same color so your bitmap fail (or be universal) depending on what you want to do though

