View Full Version : Methods to detect fishing spot swirls ?
NickMystre
12-29-2011, 11:38 AM
I know there are a number of fishing scripts out there (and probably very good ones), but at this stage my very limited knowledge prevents me from learning as I am swamped by everything at the moment.
If you have a moment, please can you help me (doesn't have to be coded examples) identify what are the available ways of identifying the fishing spots.
Does one look for-
a unique single pixel color
a bitmap
a dtm
a combination of these
other methods
Does one have to find all pixels that change (and their colors) that make up the fishing spot swirl to reliably ID them or just a few of them ?
On a separate note, especially for folk such as myself, (and here I would be prepared to compile this) would it be useful to generate a tutorial that covers briefly how to do all needed tasks in a script ? eg Find a ladder, click a sink or NPC, locate an object in your bank / inventory. Most if not all of these exist already, but compiling these into one learning doc could be very useful, I think.
Thanks!
onilika
12-29-2011, 11:59 AM
I think is using the method of TPA's. Never used, so can't tell you much.
~onilika
function FishSpot :TPoint;
var
aTPA :T2DPointArray;
TPA :TPointArray;
SpotPoint :TPoint;
I, Hi :Integer;
begin
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.35, 0.78);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 12037285, MSX1, MSY1, MSX2, MSY2, 8);
If Length(TPA) = 0 Then Exit;
aTPA := TPAToATPAEx(TPA, 5, 5);
Hi := High(ATPA);
for I := 0 to Hi do
begin
SpotPoint := MiddleTPA(ATPA[I]);
MMouse(SpotPoint.X, SpotPoint.Y, 0, 0);
If WaitUpTextMulti(['Fish', 'spot', 'ish', 'sh s'], 500) then
begin
Result := SpotPoint;
Exit;
end;
end;
end;
In there I used color conversion methods (You can use Aca for that, pick color of whirl, change world and repeat that for 5 times)
With ACA you get ColorToleranceSpeed modifiers and Tolerance easily (Click BestColor button) It will color best color in mainscreen of RS.
(Bestcolor = All colors that you picked, it will pick one of them to be best)
FindColorsSpiral tolerance (Why spiral, because I wan't it to start search from middle of Mainscreen)
Check if TPA (TPoint Array) is empty then Exit, if not make it to ATPA with TPAToATPAEx, after that just loop whole ATPA array and make ATPA[I] to Middlepoint and mouse over that, if there is correct uptext then Result TPoint.
Ohh and that function is 100 % working, extremely accurate.
~Home
NickMystre
12-30-2011, 05:35 PM
function FishSpot :TPoint;
var
aTPA :T2DPointArray;
TPA :TPointArray;
SpotPoint :TPoint;
I, Hi :Integer;
begin
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.35, 0.78);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 12037285, MSX1, MSY1, MSX2, MSY2, 8);
If Length(TPA) = 0 Then Exit;
aTPA := TPAToATPAEx(TPA, 5, 5);
Hi := High(ATPA);
for I := 0 to Hi do
begin
SpotPoint := MiddleTPA(ATPA[I]);
MMouse(SpotPoint.X, SpotPoint.Y, 0, 0);
If WaitUpTextMulti(['Fish', 'spot', 'ish', 'sh s'], 500) then
begin
Result := SpotPoint;
Exit;
end;
end;
end;
In there I used color conversion methods (You can use Aca for that, pick color of whirl, change world and repeat that for 5 times)
With ACA you get ColorToleranceSpeed modifiers and Tolerance easily (Click BestColor button) It will color best color in mainscreen of RS.
(Bestcolor = All colors that you picked, it will pick one of them to be best)
FindColorsSpiral tolerance (Why spiral, because I wan't it to start search from middle of Mainscreen)
Check if TPA (TPoint Array) is empty then Exit, if not make it to ATPA with TPAToATPAEx, after that just loop whole ATPA array and make ATPA[I] to Middlepoint and mouse over that, if there is correct uptext then Result TPoint.
Ohh and that function is 100 % working, extremely accurate.
~Home
@Home: Thank you for your input. I really appreciate it. I will work through your post and see if I can understand and then apply it.
Powered by vBulletin® Version 4.2.1 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.