rendered paste bodyprogram NewScript;
{.include SRL/SRL.scar}
var
x, y: integer;
xB,yB,xBH,yBH:integer;
function InventFullBH: boolean;
var
zx, zy: integer;
begin
Gametab(4);
if not (findcolor(zx, zy, 3818059, 701, 439, 714, 449)) then
Result := True
else
Result := false;
end;
function GetSymbolColorBox(var rx, ry: Integer; Name: string): Integer;
begin //Right Side of MM
Result := GetSymbolColorIn(rx, ry, LowerCase(Name), 632, 83, 651, 102);
end;
function FindSymbolBox(var rx, ry: Integer; Name: string): Boolean;
begin //Right Side of MM
Result := (GetSymbolColorBox(rx, ry, LowerCase(Name)) > 0);
end;
function GetSymbolColorRightHalfMM(var rx, ry: Integer; Name: string): Integer;
begin //Right Side of MM
Result := GetSymbolColorIn(rx, ry, LowerCase(Name), 643, 8, 723, 155);
end;
function FindSymbolR(var rx, ry: Integer; Name: string): Boolean;
begin //Right Side of MM
Result := (GetSymbolColorRightHalfMM(rx, ry, LowerCase(Name)) > 0);
end;
function GetSymbolColorLeftHalfMM(var rx, ry: Integer; Name: string): Integer;
begin //Left Side of MM
Result := GetSymbolColorIn(rx, ry, LowerCase(Name), 558, 5, 642, 165);
end;
function FindSymbolL(var rx, ry: Integer; Name: string): Boolean;
begin //Left Side of MM
Result := (GetSymbolColorLeftHalfMM(rx, ry, LowerCase(Name)) > 0);
end;
procedure ClickLeft;
begin
if FindSymbolL(x, y, 'Tree') then
begin
mouse(x, y, 5, 5, true);
FFlag(1);
end else
Mouse(601, 84, 7, 7, true);
FFlag(0);
if FindSymbolL(x, y, 'Tree') then
begin
mouse(x, y, 5, 5, true);
FFlag(1);
end;
end;
procedure ClickRight;
begin
if FindSymbolR(x, y, 'Tree') then
begin
mouse(x, y, 5, 5, true);
FFlag(1);
end else
Mouse(683, 78, 7, 7, true);
FFlag(0);
if FindSymbolR(x, y, 'Tree') then
begin
mouse(x, y, 5, 5, true);
FFlag(1);
end;
end;
function LoadFallyRoadWalk(WalkNumber: Integer): Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: array[0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
case WalkNumber of
1: begin //Walk To Yews Begins
dtmMainPoint.x := 655;
dtmMainPoint.y := 32;
dtmMainPoint.AreaSize := 2;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindFallyRoadColor;
dtmMainPoint.Tolerance := 0;
dtmSubPoints[0].x := 644;
dtmSubPoints[0].y := 36;
dtmSubPoints[0].AreaSize := 2;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindFallyRoadColor;
dtmSubPoints[0].Tolerance := 0;
dtmSubPoints[1].x := 657;
dtmSubPoints[1].y := 38;
dtmSubPoints[1].AreaSize := 2;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindFallyRoadColor;
dtmSubPoints[1].Tolerance := 0;
dtmSubPoints[2].x := 654;
dtmSubPoints[2].y := 14;
dtmSubPoints[2].AreaSize := 2;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindFallyRoadColor;
dtmSubPoints[2].Tolerance := 0;
dtmSubPoints[3].x := 658;
dtmSubPoints[3].y := 48;
dtmSubPoints[3].AreaSize := 2;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindFallyRoadColor;
dtmSubPoints[3].Tolerance := 0;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
2: begin
dtmMainPoint.x := 653;
dtmMainPoint.y := 21;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindFallyRoadColor;
dtmMainPoint.Tolerance := 0;
dtmSubPoints[0].x := 647;
dtmSubPoints[0].y := 32;
dtmSubPoints[0].AreaSize := 2;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindFallyRoadColor;
dtmSubPoints[0].Tolerance := 0;
dtmSubPoints[1].x := 643;
dtmSubPoints[1].y := 41;
dtmSubPoints[1].AreaSize := 2;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindFallyRoadColor;
dtmSubPoints[1].Tolerance := 0;
dtmSubPoints[2].x := 653;
dtmSubPoints[2].y := 15;
dtmSubPoints[2].AreaSize := 2;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindFallyRoadColor;
dtmSubPoints[2].Tolerance := 0;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
3: begin
dtmMainPoint.x := 625;
dtmMainPoint.y := 40;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindRoadColor;
dtmMainPoint.Tolerance := 0;
dtmSubPoints[0].x := 629;
dtmSubPoints[0].y := 21;
dtmSubPoints[0].AreaSize := 2;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindRoadColor;
dtmSubPoints[0].Tolerance := 0;
dtmSubPoints[1].x := 628;
dtmSubPoints[1].y := 46;
dtmSubPoints[1].AreaSize := 2;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindRoadColor;
dtmSubPoints[1].Tolerance := 0;
dtmSubPoints[2].x := 621;
dtmSubPoints[2].y := 39;
dtmSubPoints[2].AreaSize := 2;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindRoadColor;
dtmSubPoints[2].Tolerance := 0;
dtmSubPoints[3].x := 633;
dtmSubPoints[3].y := 15;
dtmSubPoints[3].AreaSize := 2;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindRoadColor;
dtmSubPoints[3].Tolerance := 0;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end; //Walk To Yews ends.
4: begin //Walk to bank begins.
dtmMainPoint.x := 662;
dtmMainPoint.y := 113;
dtmMainPoint.AreaSize := 2;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindFallyRoadColor;
dtmMainPoint.Tolerance := 0;
dtmSubPoints[0].x := 648;
dtmSubPoints[0].y := 102;
dtmSubPoints[0].AreaSize := 2;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindFallyRoadColor;
dtmSubPoints[0].Tolerance := 0;
dtmSubPoints[1].x := 668;
dtmSubPoints[1].y := 111;
dtmSubPoints[1].AreaSize := 2;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindFallyRoadColor;
dtmSubPoints[1].Tolerance := 0;
dtmSubPoints[2].x := 659;
dtmSubPoints[2].y := 122;
dtmSubPoints[2].AreaSize := 2;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindFallyRoadColor;
dtmSubPoints[2].Tolerance := 0;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
5: begin
dtmMainPoint.x := 635;
dtmMainPoint.y := 128;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindFallyRoadColor;
dtmMainPoint.Tolerance := 0;
dtmSubPoints[0].x := 635;
dtmSubPoints[0].y := 112;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindFallyRoadColor;
dtmSubPoints[0].Tolerance := 0;
dtmSubPoints[1].x := 635;
dtmSubPoints[1].y := 141;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindFallyRoadColor;
dtmSubPoints[1].Tolerance := 0;
dtmSubPoints[2].x := 632;
dtmSubPoints[2].y := 146;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindFallyRoadColor;
dtmSubPoints[2].Tolerance := 0;
dtmSubPoints[3].x := 636;
dtmSubPoints[3].y := 145;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindFallyRoadColor;
dtmSubPoints[3].Tolerance := 0;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
6: begin
dtmMainPoint.x := 647;
dtmMainPoint.y := 138;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindFallyRoadColor;
dtmMainPoint.Tolerance := 0;
dtmSubPoints[0].x := 643;
dtmSubPoints[0].y := 124;
dtmSubPoints[0].AreaSize := 2;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindFallyRoadColor;
dtmSubPoints[0].Tolerance := 0;
dtmSubPoints[1].x := 653;
dtmSubPoints[1].y := 149;
dtmSubPoints[1].AreaSize := 2;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindFallyRoadColor;
dtmSubPoints[1].Tolerance := 0;
dtmSubPoints[2].x := 644;
dtmSubPoints[2].y := 118;
dtmSubPoints[2].AreaSize := 2;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindFallyRoadColor;
dtmSubPoints[2].Tolerance := 0;
dtmSubPoints[3].x := 653;
dtmSubPoints[3].y := 144;
dtmSubPoints[3].AreaSize := 2;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindFallyRoadColor;
dtmSubPoints[3].Tolerance := 0;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
end
end;
function WalkToYews: Boolean;
var
WalkAngle: Extended;
WalkDTM, FRC: integer;
begin
WalkDTM := LoadFallyRoadWalk(1);
FRC := FindFallyRoadColor;
if FindDTM(WalkDTM, X, Y, 561, 1, 717, 78) then
begin
Mouse(X, Y, 3, 3, True);
WriteLn('Walk Main 1. - Complete.');
Wait(6500);
FFlag(0);
Result := True;
end else
if RadialRoadWalk(FindWaterColor, 330, 423, 53, -7, 1) then
begin
Writeln(' Walk Backup 1. - Complete.');
Result := True;
end else
Writeln(' Walk Backup 1. - Failed. Changing Player.');
Result := False;
FreeDTM(WalkDTM);
WalkDTM := LoadFallyRoadWalk(2);
if FindDTM(WalkDTM, X, Y, 561, 1, 717, 78) then
begin
Mouse(X, Y, 3, 3, True);
WriteLn('Walk Main 2. - Complete.');
FFlag(0);
Result := True;
end else
if RadialRoadWalk(FindWaterColor, 1, 66, 68, -28, 1) then
begin
WriteLn('Walk BackUp 2. - Complete.');
FFlag(0);
Result := True;
end else
Writeln(' Walk Backup 2. - Failed. Changing Player.');
Result := False
FreeDTM(WalkDTM);
WalkDTM := LoadFallyRoadWalk(3);
if FindDTM(WalkDTM, X, Y, MMX1, MMY1, MMX2, MMY2) then
begin
Mouse(X, Y, 3, 3, True);
WriteLn('Walk Main 3. - Complete.');
FFlag(1);
Result := True;
end else
if RadialRoadWalk(FindRoadColor, 306, 367, 59, 1, 1) then
begin
WriteLn('Walk Backup 3. - Complete.');
FFlag(1);
end else
Result := False;
ClickLeft;
end;
function WalkToBank: boolean;
var
WalkDTM, BankDTM: integer;
begin
if FindColorTolerance(x, y, FindRoadColor, 567, 81, 719, 132, 0) then
begin
mouse(x, y, 4, 4, true);
FFlag(0);
end;
WalkDTM := LoadFallyRoadWalk(4);
if FindDTM(WalkDTM, X, Y, MMx1, MMy1, MMx2, MMy2) then
begin
Mouse(X, Y, 3, 3, True);
WriteLn('Walk Main 4. - Complete.');
FFlag(0);
Result := True;
end else
if RadialRoadWalk(FindFallyRoadColor, 214, 142, 45, 1, 1) then
begin
Writeln(' Walk Backup 4. - Complete.');
Result := True;
end else
Writeln(' Walk Backup 4. - Failed. Changing Player.');
Result := False;
FreeDTM(WalkDTM);
WalkDTM := LoadFallyRoadWalk(5);
if FindDTM(WalkDTM, X, Y, MMx1, MMy1, MMx2, MMy2) then
begin
Mouse(X, Y, 3, 3, True);
WriteLn('Walk Main 5. - Complete.');
FFlag(0);
Result := True;
end else
if RadialRoadWalk(FindWaterColor, 201, 113, 53, -7, 1) then
begin
Writeln(' Walk Backup 5. - Complete.');
Result := True;
end else
Writeln(' Walk Backup 5. - Failed. Changing Player.');
Result := False;
FreeDTM(WalkDTM);
WalkDTM := LoadFallyRoadWalk(6);
if FindDTM(WalkDTM, X, Y, MMx1, MMy1, MMx2, MMy2) then
begin
Mouse(X, Y, 3, 3, True);
WriteLn('Walk Main 6. - Complete.');
FFlag(0);
Result := True;
end else
if RadialRoadWalk(FindFallyRoadcolor, 232, 148, 49, 1, 1) then
begin
Writeln(' Walk Backup 6. - Complete.');
FFlag(0);
Result := True;
end else
Writeln(' Walk Backup 6. - Failed. Changing Player.');
Result := False;
FreeDTM(WalkDTM);
BankDTM := DTMFromString('78DA635CC3C4C0A0CB8002FEFC61623002D28' +
'C40FC1F081837E05703028C1B816A7450D57CFDCA80AA66256135' +
'00404F1005');
if FindDTM(BankDTM, X, Y, MMx1, MMy1, MMx2, MMy2) then
begin
Mouse(x, y + 10, 3, 2, true);
FFlag(0);
FreeDTM(BankDTM);
end;
end;
function FindYewTreeBH: Boolean;
begin
repeat
if FindObjTPA(xB,yB, 3116158, 10, 25, 35, 35, 3, 'Yew') then
begin
GetMousePos(xB,yB);
GetColor(xBH,yBH);
Result := True;
Break;
Exit;
end;
until (Result = True);
end;
function Chop: Boolean;
var
lol: integer;
begin
If FindYewTreeBH then
Begin
Writeln('Found yew, Clicked IT!');
end;
end;
Function YewThere:boolean;
begin
If FindColor(xBH, yBH,
function FindMe: boolean;
begin
if not FindSymbolBox(x, y, 'Tree') then
begin
if FindSymbol(x, y, 'tree') then
Mouse(x, y, 1, 1, true);
FFlag(1);
end;
end;
function GetFarmColour: boolean;
var
Farm, FarmColour: Integer;
begin
if not LoggedIn then Exit;
Farm := BitmapFromString(2, 1, 'beNp79j/b1/AlAA5DA7g=');
FarmColour := AutoColorThis(Farm, 255, 635, 6, 564, 80);
WriteLn('Farm Colour: ' + IntToStr(FarmColour));
Result := True;
if Farmcolour = 0 then
Result := false;
FreeBitmap(Farm);
end;
function YewLocation(Location: integer): boolean;
begin
case Location of
1: begin // Near Guards
if FindColorTolerance(x, y, FindRoadColor, 553, 7, 650, 159, 0) then
begin
Writeln('We are on the Westest yew tree');
Result := true;
RoadColor := 0;
end else
Result := false;
end;
2: begin // In between Guards and Farm
if FindColorTolerance(x, y, FindRoadColor, 656, 8, 725, 157, 0) then
begin
Writeln('We are at the middle tree');
Result := true;
RoadColor := 0;
end else
Result := false;
end;
3: begin // Near farm symbol
if RoadColor = 0 then
begin
Writeln('At Very End Tree (Near Farm Symbol)');
Result := true;
end else
Result := false;
end;
end;
end;
function CheckPlace: boolean;
begin
if Yewlocation(1) then
begin
Writeln('1 done');
end else
Writeln('1 Not done.');
if Yewlocation(2) then
begin
Writeln('2 done');
end else
Writeln('2 Not done.');
if Yewlocation(3) then
begin
Writeln('3 done');
end else
Writeln('3 Not done.');
end;
procedure Setup;
begin
SetupSRL;
ActivateClient;
MakeCompass('S');
end;
begin
Setup;
Repeat
WalkToYews;
repeat
FindYewTreeBH;
Until(InventFullBH);
end.