All pastes #823175 Raw Edit

Something

public text v1 · immutable
·published 2007-12-19 05:55 UTC
rendered paste body
program 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.