power fisher/cooker

Discussion in 'Script Requests' started by cubfan, Oct 20, 2007.

power fisher/cooker
  1. Unread #1 - Oct 20, 2007 at 12:58 AM
  2. cubfan
    Referrals:
    0

    cubfan Guest

    power fisher/cooker

    hey can someone make me a power firsherand cooker like at barbaian village?
    if not just a power fisher?
     
  3. Unread #2 - Oct 20, 2007 at 1:22 PM
  4. the scar noob
    Joined:
    Jan 21, 2007
    Posts:
    620
    Referrals:
    0
    Sythe Gold:
    0

    the scar noob Forum Addict

    power fisher/cooker

    There's one on SRL-forums, someone even made a 70+ hour proggy.
    It's made by Wizzup? the master of object finding!
    It's a Barbarian Fly Fisher and banker.

    -Tsn.
     
  5. Unread #3 - Oct 24, 2007 at 1:20 AM
  6. cubfan
    Referrals:
    0

    cubfan Guest

    power fisher/cooker

    ok??? wats website then or watev
     
  7. Unread #4 - Nov 1, 2007 at 6:07 PM
  8. poisson105
    Joined:
    Apr 27, 2007
    Posts:
    114
    Referrals:
    0
    Sythe Gold:
    0

    poisson105 Active Member
    Banned

    power fisher/cooker

    niceee
     
  9. Unread #5 - Nov 1, 2007 at 11:16 PM
  10. quest rs
    Referrals:
    0

    quest rs Guest

    power fisher/cooker

    This script is made by The Claw from SRL-Forums.com,this can fish ANY fish ANYWHERE in Free To Play (F2P), if you need to see the original thread, it is located here; (http://www.srl-forums.com/forum/any-fish-power-t21162.html), otherwise use it wisely...

    Code:
    {===================================================================]
    [                The Claws Any-Fish Power Fisher                    ]
    [                                                                   ]
    [           NAME        : Any-Fish Power Fisher                     ]
    [           WRITER      : The Claw                                  ]
    [           CATEGORY    : Fishing                                   ]
    [           DESCRIPTION : Power fishes any F2P fish, anywhere       ]
    [           USAGE       : Start near a fishing spot                 ]
    [           AUTOCOLOR   : Yes                                       ]
    [           SRL Used    : 4                                         ]
    [           Released    : 25/8/2007                                 ]
    [                                                                   ]
    [===================================================================]
    [                           Instructions.                           ]
    [===================================================================]
    [ 1. USE Runescape with Low Detail, Very Bright.                    ]
    [ 2. Set your Screen to 32 bit TRUE color.                          ]
    [ 3. Use SRL 4 BETA and SCAR 3.11.                                  ]
    [ 4. Setup the constants to your liking.                            ]
    [ 5. Setup your player array.                                       ]
    [ 6. Position your players near fishing spots.                      ]
    [ 7. If Strings[0] is set to Auto, have higher level equipment as   ]
    [    well. See thread for more details about Auto.                  ]
    [ 8. Hit run!                                                       ]
    [ 9. Post proggies and feedback please! ;)                          ]
    [===================================================================}
    
    program PowerFisher;
    {.include SRL/SRL.scar}
    
    const
      PlayerLoads      = 2;             //Loads to do per player before switching
      MaxLoadTime      = 15;            //Maximum time for 1 load, in minutes
      RunDirec         = 'S';           //Direction to run if attacked
      CompassDirection = 'N';           //Direction for compass. Try to find one where the player will be side on when it fishes, at all locations you are using.
      CheckForSymbol   = True;          //Calibrate around fishing symbol? not reccommended on crowded places, like karamja
      DropRandomItems  = False;         //Would you like to drop the items you get from random events, such as gems and coins?
      MSpeed           = 35;            //Mouse speed?
    
      Version          = '0.02';        //Script Version
      YourSRLID        = '';            //Your SRL User ID
      YourSRLPass      = '';            //Your SRL User Pass
      
    {-----------------------------------------------
    
     Declare Players
    
    ------------------------------------------------}
    
    procedure DeclarePlayers;
    begin
      HowManyPlayers := 6;
      CurrentPlayer := 0;
     // HowManyBooleans := 1;
      NumberOfPlayers(HowManyPlayers);
      
      Players[0].Name       := '';
      Players[0].Pass       := '';
      Players[0].Nick       := '';
      Players[0].Rand       := 'Fishing spot';
      Players[0].Strings[0] := 'Auto';   //Auto, Net, Bait, Lure, Harpoon or Cage
      Players[0].Booleans[0]:=  False;    //Check for auto retaliate off once?
      Players[0].Active     :=  True;
      
      Players[1].Name       := '';
      Players[1].Pass       := '';
      Players[1].Nick       := '';
      Players[1].Rand       := 'Fishing spot';
      Players[1].Strings[0] := 'Auto';   //Auto, Net, Bait, Lure, Harpoon or Cage
      Players[1].Booleans[0]:=  False;    //Check for auto retaliate off once?
      Players[1].Active     :=  True;
      
      Players[2].Name       := '';
      Players[2].Pass       := '';
      Players[2].Nick       := '';
      Players[2].Rand       := 'Fishing spot';
      Players[2].Strings[0] := 'Auto';   //Auto, Net, Bait, Lure, Harpoon or Cage
      Players[2].Booleans[0]:=  False;    //Check for auto retaliate off once?
      Players[2].Active     :=  True;
      
      Players[3].Name       := '';
      Players[3].Pass       := '';
      Players[3].Nick       := '';
      Players[3].Rand       := 'Fishing spot';
      Players[3].Strings[0] := 'Auto';   //Auto, Net, Bait, Lure, Harpoon or Cage
      Players[3].Booleans[0]:= False;    //Check for auto retaliate off once?
      Players[3].Active     := True;
      
      Players[4].Name       := '';
      Players[4].Pass       := '';
      Players[4].Nick       := '';
      Players[4].Rand       := 'Fishing spot';
      Players[4].Strings[0] := 'Auto';   //Auto, Net, Bait, Lure, Harpoon or Cage
      Players[4].Booleans[0]:= False;   //Check for auto retaliate off once?
      Players[4].Active     := True;
      
      Players[5].Name       := '';
      Players[5].Pass       := '';
      Players[5].Nick       := '';
      Players[5].Rand       := 'Fishing spot';
      Players[5].Strings[0] := 'Auto';   //Auto, Net, Bait, Lure, Harpoon or Cage
      Players[5].Booleans[0]:=  False;    //Check for auto retaliate off once?
      Players[5].Active     :=  True;
      
      Writeln('Using '+IntToStr(HowManyPlayers)+' Player[s].');
    end;
    
    {///////////////////////////////////////////////////////////////////////
    || No need to change anything below this line.                        ||
    \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\}
    
    var
      HarpoonBmp, SmallNetBmp, CageBmp, FlyFishingRodBmp, FishingRodBmp, TunaBmp,
      LobsterBmp, SwordfishBmp, FishNotFound, ShrimpBmp, AnchoviesBmp, SardineBmp,
      HerringBmp, TroutBmp, PikeBmp, SalmonBmp, BmpType, RandomMark, IdleMark1,
      IdleMark2, Count, Ix, Iy, Fx, Fy, SearchForFish, CurrentFishingLevel, EquipInWater,
      BaitBMP, FeatherBMP, I, Shrimp, Sardine, Herring, Anchovies, Tuna, Trout,
      Pike, Salmon, Lobster, SwordFish, TotalFish, Exp, PickedEquip,
      PlayerLoadsC, TotalLoadsC, Cc: Integer;
      SearchOnGround, ClickedSpot: Boolean;
      SpotType, EquipmentType, EquipColourName: String;
      EquipmentColour: Array of Integer;
      DoWeLookFor: Array[0..4] of Boolean;
      MyTBoxArray : TBoxArray;
      CAr: TPointArray;
    
    {-----------------------------------------------
    
     AutoColouring
    
    ------------------------------------------------}
    
    {--------------------------------
     AutoColourEquip - Stores colours of the fishing equipment that we are using
     into an Array, EquipmentColours. Autocolouring 1.
    ---------------------------------}
    
    function AutoColourEquip(var EquipToColour: Integer): Array of Integer;
    var
      TempEquipmentColour, C, x, y: Integer;
      EquipmentColours: Array of Integer;
    begin
      if not LoggedIn then Exit;
      GameTab(4)
      if FindBitmapToleranceIn(EquipToColour, x, y, MIX1, MIY1, MIX2, MIY2, 50) then
      begin
        TempEquipmentColour := GetColor(x, y);
        FindColorsSpiralTolerance(x, y, CAr, TempEquipmentColour, x - 15, y - 15, x + 15, y + 15, 25);
        SetArrayLength(EquipmentColours, GetArrayLength(CAr));
        for C := 0 to GetArrayLength(CAr) - 1 do
          EquipmentColours[C] := GetColor(CAr[C].x, CAr[C].y);
        Result := EquipmentColours;
      end;
    end;
    
    {-----------------------------------------------
    
     AntiRandoms, AntiBan + Supporting Functions -
     From here down until LoadBitmaps, apart from CheckEquipment.
    
    ------------------------------------------------}
    
    {--------------------------------
     FindRandoms - Our main Anti-random procedure which is called.
    ---------------------------------}
    
    procedure FindRandoms;
    begin
      FindNormalRandoms;
      if FindFight then
      begin
        RunTo(RunDirec, True);
        Wait(15000 + random(5000));
        RunBack;
        ActivateClient;
      end;
    end;
    
    {--------------------------------
     AntiBan - This is called during WaitWhilstFishing. The MarkTimes for IdleMarks
     etc are made at the beginning of WaitWhilstFishing.
    ---------------------------------}
    
    procedure AntiBan;
    var
      Z: Integer;
    begin
      if not LoggedIn then Exit;
      if TimeFromMark(IdleMark1) > (40000+Random(5000)) then
      begin
        Writeln('Performing antiban 1 to avoid logging out.');
        Z := Random(13) + 1;
        if Z = 4 then
        begin
          GameTab(2);
          HoverSkill('Fishing', False);
        end else
          GameTab(Z);
        GameTab(4);
        MarkTime(IdleMark1);
      end;
      if TimeFromMark(IdleMark2) > (85000 + Random(5000)) then
      begin
        Writeln('Performing antiban 2 to avoid logging out.');
        case Random(2) of
          0: HoverSkill('Fishing', False);
          1: PickUpMouse;
        end;
        HighestAngle;
        MarkTime(IdleMark2);
      end;
    end;
    
    {--------------------------------
     ClickToContinueScreen - Simple check to see if we have gotten a click to continue
     screen, indicating a level up which would stop us from fishing. Called in
     WaitWhilstFishing.
    ---------------------------------}
    
    function ClickToContinueScreen: Boolean;
    begin
      if not LoggedIn then Exit;
      FindRandoms;
      if not (GetColor(505, 453) = 1778730) and
         not (GetColor(499, 346) = 6456731) and
         not (GetColor(276, 459) = 6321792) then
      begin
        Writeln('Found a click to continue screen');
        Result := True;
      end;
    end;
    
    {--------------------------------
     CheckEquipment - Checks fishing level and determines what it can fish. It
     then checks if the fishing equipment which it has the level to use is in
     the inventory. Returns True if some equipment it can use is found, False if not.
    --------------------------------}
    
    function CheckEquipment: Boolean;
    var
      EquipmentInfo: Array of Array [0..1] of Integer;
      Rx, Ry: Integer;
    begin
      if Players[CurrentPlayer].Strings[0] = 'Auto' then
      begin
        SetArrayLength(EquipmentInfo, 5);
    
        EquipmentInfo[0][0] := 1;
        EquipmentInfo[0][1] := SmallNetBmp;
    
        EquipmentInfo[1][0] := 5;
        EquipmentInfo[1][1] := FishingRodBmp;
    
        EquipmentInfo[2][0] := 20;
        EquipmentInfo[2][1] := FlyFishingRodBmp;
    
        EquipmentInfo[3][0] := 35;
        EquipmentInfo[3][1] := HarpoonBmp;
    
        EquipmentInfo[4][0] := 40;
        EquipmentInfo[4][1] := CageBmp;
    
        GameTab(4);
        Writeln('Current fishing level is ' + IntToStr(CurrentFishingLevel) + '.');
        for I := 4 downto 0 do
        begin
          if not LoggedIn then Exit;
          if DoWeLookFor[I] then
          begin
            GameTab(4);
            Wait(500);
            if CurrentFishingLevel >= EquipmentInfo[I][0] then
            begin
              if FindBitmapToleranceIn(EquipmentInfo[I][1], Rx, Ry, MIX1, MIY1, MIX2, MIY2, 20) then
              begin
                Writeln('Found equipment - ' + IntToStr(I));
                case I of
                  0: begin
                       SpotType        := 'Net'           //Used in UpText
                       EquipmentType   := 'mall'          //Used in finding equip on the ground
                       EquipColourName := 'smallnet'      //Used in finding equip on the ground
                       BmpType         := SmallNetBmp     //Used in making sure we have equip
                       EquipInWater    := 1780531         //Used for checking that we are fishing
                     end;
                  1: begin
                       SpotType        := 'Bait'
                       EquipmentType   := 'od'
                       EquipColourName := 'fishingrod'
                       BmpType         := FishingRodBmp
                       EquipInWater    := 7208
                     end;
                  2: begin
                       SpotType        := 'Lure'
                       EquipmentType   := 'od'
                       EquipColourName := 'flyfishingrod'
                       BmpType         := FlyFishingRodBmp
                       EquipInWater    := 7208
                     end;
                  3: begin
                       SpotType        := 'Harpoon'
                       EquipmentType   := 'arpoon'
                       EquipColourName := 'harpoon'
                       BmpType         := HarpoonBmp
                       EquipInWater    := 872813
                     end;
                  4: begin
                       SpotType        := 'Cage'
                       EquipmentType   := 'obster'
                       EquipColourName := 'cage'
                       BmpType         := CageBmp
                       EquipInWater    := 7365986
                     end;
                end;
                Result := True;
                Writeln(SpotType);
                EquipmentColour := AutoColourEquip(BmpType);
                Break;
              end;
            end;
          end;
        end;
      end else
      begin
        case Players[CurrentPlayer].Strings[0] of
          'Net' :     begin
                        SpotType        := 'Net'           //Used in checking for UpText
                        EquipmentType   := 'Small'         //Used in finding equip on the ground
                        EquipColourName := 'smallnet'      //Used in finding equip on the ground
                        BmpType         := SmallNetBmp     //Used in making sure we have equip
                        EquipInWater    := 1780531         //Colour of the equipment in water
                      end;
          'Bait'    : begin
                        SpotType        := 'Bait'
                        EquipmentType   := 'Fishing'
                        EquipColourName := 'fishingrod'
                        BmpType         := FishingRodBmp
                        EquipInWater    := 7208
                      end;
          'Lure'    : begin
                        SpotType        := 'Lure'
                        EquipmentType   := 'Fishing'
                        EquipColourName := 'flyfishingrod'
                        BmpType         := FlyFishingRodBmp
                        EquipInWater    := 7208
                      end;
          'Harpoon' : begin
                        SpotType        := 'Harpoon'
                        EquipmentType   := 'Harpoon'
                        EquipColourName := 'harpoon'
                        BmpType         := HarpoonBmp
                        EquipInWater    := 1383198
                      end;
          'Cage'    : begin
                        SpotType        := 'Cage'
                        EquipmentType   := 'Lobster'
                        EquipColourName := 'cage'
                        BmpType         := CageBmp
                        EquipInWater    := 1383198
                      end;
        end;
        Result := True;
        EquipmentColour := AutoColourEquip(BmpType);
      end;
    end;
    
    {--------------------------------
     FindWhirlPool - Checks for a whirlpool at x, y. The co-ords of the whirlpool, if
     found, are also stored into x, y. Called in WaitWhilstFishing.
    ---------------------------------}
    
    function FindWhirlPool(var x, y: Integer): Boolean;
    var
      Points: TPointArray;
      Rx, Ry: Integer;
    begin
      if not LoggedIn then Exit;
      ColorToleranceSpeed(2);
      FindColorsSpiralTolerance(Ry, Rx, Points, 12103079, x - 30, y - 30, x + 30, y + 30, 20);
      if GetArrayLength(Points) > 90 then
      begin
        if (Rx > 0) or (Ry > 0) then
        begin
          MMouse(Rx, Ry, 0, 0);
          Wait(1000);
          Result := True;
          ColorToleranceSpeed(1);
          Exit;
        end;
      end;
      Result := False;
      ColorToleranceSpeed(1);
    end;
    
    {--------------------------------
     MyHandleWhirlPool - called if a whirlpool is found.
    ---------------------------------}
    
    procedure MyHandleWhirlPool;
    begin
      TakeScreen('Whirlpool');
      Mouse(MMCX - 10, MMCY - 10, 5, 5, True);
      WhirlPools := WhirlPools + 1;
      ReportVars[3] := 1;
      SendSRLReport;
    end;
    
    {--------------------------------
     FindEquipment - Uses the EquipmentColour array from AutoColourEquip to search
     the ground for the equipment we are using, if it's not found in inventory.
     As usual, called in WaitWhilstFishing. Classified as an AntiRandom.
    ---------------------------------}
    
    function FindEquipment(var UpText: String): Boolean;
    var C, SearchForEquip, Xx, Yy: Integer;
    begin
      if not LoggedIn then Exit;
      FindRandoms;
      UpText := EquipmentType;
      Writeln('Equipment type is ' + UpText);
      MarkTime(SearchForEquip);
      repeat
        for C := 0 to GetArrayLength(EquipmentColour) - 1 do
        begin
          if not LoggedIn then Break;
          FindRandoms;
          if TimeFromMark(SearchForEquip) > (2 * 60000) then Break;
          if FindColorSpiralTolerance(Xx, Yy, EquipmentColour[C], MSX1, MSY1, MSX2, MSY2, 6) then
          begin
            MMouse(Xx, Yy, 5, 5);
            Wait(300);
            if IsUpText(UpText) then
            begin
              Mouse(Xx, Yy, 0, 0, True);
              TakeScreen('Found equipment');
              Flag;
              Writeln('Found equipment');
              Result := True;
              PickedEquip := PickedEquip + 1;
              ReportVars[4] := 1;
              SendSRLReport;
              Break;
            end;
            Xx := MSCX;
            Yy := MSCY;
            if Result = True then Break;
          end;
          Wait(500);
          if Result = True then Break;
        end;
        if Result = True then Break;
      until TimeFromMark(SearchForEquip) > (2 * 60000);
      if Result = True then Exit;
      Writeln('Equipment not found');
      Result := False;
    end;
    
    {--------------------------------
     SearchForEquipment - Searches for the fishing equipment on the ground.
    ---------------------------------}
    
    procedure SearchForEquipment;
    begin
      if not LoggedIn then Exit;
      SearchOnGround := False;
      Writeln('Searching on ground for equipment');
      if not FindEquipment(EquipmentType) then
      begin
        if not CheckEquipment then
        begin
          Writeln('No equipment left! :(');
          Players[CurrentPlayer].Rand := 'Lost Equipment';
          TakeScreen('No equipment');
          Logout;
          Exit;
        end;
        Writeln('Lost equipment but found some in invent');
        Exit;
      end;
      Writeln('Found our equipment on the ground');
    end;
    
    {--------------------------------
     AreWeFishing - Checks to see if we have stopped fishing - by talking to a
     mysterious old man, for example.
    ---------------------------------}
    
    function AreWeFishing(var x, y: Integer): Boolean;
    var
      Equips: TPointArray;
      Rx, Ry: Integer;
    begin
      ColorToleranceSpeed(2);
      FindColorsSpiralTolerance(Rx, Ry, Equips, EquipInWater, x - 20, y - 20, x + 20, y + 20, 20);
      if GetArrayLength(Equips) > 15 then
        Result := True
      else Result := False;
      ColorToleranceSpeed(1);
    end;
    
    {-----------------------------------------------
    
     LoadBitmaps / LoadDTMs / LoadDDTMs
    
    ------------------------------------------------}
    
    procedure LoadBitmaps;
    begin
        
      HarpoonBmp := BitmapFromString2(False, 'a23A7378DA4D8F590EC430' +
           '0843AF4401B37CA66972FF23155A693A587A41C8188588687981C' +
           '65190DD2D74154D66937B62077F242D723481F660DBCFA933BAF7' +
           '4EF3EC913FF18EFDF1C93F289BD2BBF54606F9F6CBD5D59655612' +
           '391718586C40E049CED2C010B57C95117A22A112386B10E4A13CC' +
           'D28042DF643B4194B2B8AE4274EAAC28063BC36841EAD3F93AFF7' +
           '903FC8');
    
      SmallNetBmp := BitmapFromString2(False, 'a535CE78DA558D4112C3200C03' +
           'BF642C99DA4708C9FF9F541B72682F3B46B34822228184D00A64D' +
           '2BC27BB79527D2776159F9D6BE9A677DDB37E7D66390DF76627D0' +
           '35BAF0A1302899FC72E002D890B316F90A538A2EDC50ED58305D3' +
           '520EDD024FB5E3FEDA1C1953D0D13A23467C039D2197FBF1A099E' +
           'FB34E78AC14E527636B8CEF6EE7E01BB4');
    
      CageBmp := BitmapFromString2(False, 'a2380678DA658E490EC430080' +
           '4BF44581A7CC413E7FF4F0A387398C548A556B9654C449451207B' +
           '1524B3A3AE66723350E4D0CEBB63571BF425A94B673F9AA737A71' +
           '58FEDE90A4C0D1A5F84DA8FD954E5DA8A853A219E355CFF58FFD4' +
           '14A6E184403C4D3BCDCD7549BF3CC0E0C73FC61913F3DD0CE31A9' +
           '151CD8F5D37847');
    
      FlyFishingRodBmp := BitmapFromString2(False, 'a958CC78DA65914B12C' +
           '4200844AF84F2D3A589F1FE471A1AA73293CA06F1358DA84454DA' +
           'A288DA23F294887AB588D62FF093407AF203C464644E3F42A98E7' +
           'AD71B63B102A28E6EB5658D82EB32A810490672AFE08D30434D6E' +
           '67D62C101F8C7C4FB589E4B9D3EF7AEF585C71171B38AB64B7725' +
           '4555E046FEC982A653D6E7C8951FB5777B4A595A61CDC9EDC8F98' +
           '7EEA90FAE45F97CB8C6E2FD5592D5CAF191AC7034C63E9D4B6D7E' +
           '299F317EE19DEDDB6F70355D');
    
      FishingRodBmp := BitmapFromString2(False, 'aB3D4678DA65904B0E03210C43' +
           'AF14629BCF92A1CCFD8FD464E8A255B1F48412470E98990D048C4' +
           'A9041F51AACEA41EF4F452B793F754FBB7CE7FDCAA976A5A7202B' +
           'A551E00A353A1D130A6D9F764E392CB578F18F676360F8F6E5EBD' +
           'BA32E977352A1828575A64EB7550DDB9AD9E466670761F84979D6' +
           '1B7AA9858C17E777B7CD78D5AE91101E60C447FCED596F215280D' +
           'BC61BC91');
        
      AnchoviesBmp := BitmapFromString2(False, 'aE453578DA7D90490E43' +
           '310843AF049F21B0CC78FF2315A75D74D362E949711C40212266A' +
           '6AA790A12BBE8A445F30E0E5C3A3F60BBFE40C6C2E128324F5CDF' +
           '2678AE8F38A9A173D3DB3305DC01C730ABAD9B3C090E83D391618' +
           '2C377164E3F18B5418FF4AC57DFF4E9AB993FA5742D4D476D3D7A' +
           'CC0515366CB87C9896CEDA4A5B5A69BE93BA749968D76EACF5216' +
           'AD24BE7FF562F3A3');
           
      HerringBmp := BitmapFromString2(False, 'a33BE478DA658D4B0E0421' +
           '0805AF84C87789DADCFF480D2E3A938C2F292B429E00008F16204' +
           '661662B9B1465EE8FBC9E76A0F6C022DA75BED3BCFBFD0CB4AD7D' +
           '71511D3F4A7A3BDD9E737F3CDD3094689390F0A0A06063AC1C565' +
           '651CEAADED2E347EA28888919EBD6656EA069CBD0869D22FA72A8' +
           '1CC74A3A39C570768E0CAC64CCCA0F57D49DFF7C0120A');
           
      LobsterBmp := BitmapFromString2(False, 'a240B978DA6590490EC430' +
           '0804BFC46AF09138C9FF9F34EEA0C9253E945A05086422A22B36A' +
           '878C3243707CBA6FB42B6021DDE73202BBCA4BD3D7E3F1E43E404' +
           '137EC32454948207FAC7E1C8139E698261997689B0F37EBE54D94' +
           '34DF88C30E5731E9E32C6D2936BA42EAEF64DAC246E9F62C5F7B7' +
           'DAB9B74C7115DBC78C7FB5A7DAF7AE32BF9E7F7867BFFE0724B');
           
      PikeBmp := BitmapFromString2(False, 'a067C678DA6D90496E4031084' +
           '3AF4406B05992E9FE476A86BFA8D42EF284D093B1222212DC10ED' +
           '1BD5EED8E6E188439E55663DF375749D8DE56BEAA12DDF446A676' +
           'E6795C6386C579254BBCEDAEBB05CA78A5515CD06CD1A481A96D1' +
           '2C1B598C3619363FF339C55CCB5F13C20141F1FD50BD40D5ACAB6' +
           '947D1AE0BDC458D3BE3653E07E61580BB23D03C4EDECD7C66276D' +
           '7C9974033F73F8C0A0845058A2EEFBCF4C9CC89F79D3307D61FD3' +
           '659C3581931D922F7122576CDC0CBFC87BF123C35780E740B3E7E' +
           'B76E43671BBB5EB4E9E1BD2D1F3EBBF87A7FFE030CD');
           
      SalmonBmp := BitmapFromString2(False, 'a6463078DA4D8F5B8E05210' +
           '844B7446315E0A7F1B1FF250DB43799FE39D1E250461191A50989' +
           '91C04B621777148F25ED29C704498D2239FFA76F01A3D5D99FA46' +
           'B4DBDAD224FF1ED7C562572AA396F36193473926AA0526EFEA501' +
           'D2C21F783BBFE4E37363637262A25FD336AC2DB74C5A2835F38F6' +
           'F0E6DE3B679C702AF13CEDC88C941E9E066FBF5001D7A4D3FCCBD' +
           '00891183F9A36BF69DDD6368BE33FF0060A');
           
      SardineBmp := BitmapFromString2(False, 'aF3D6378DA258EC7110031' +
           '08035BC281F424D8FD9774E0FB2C1A01020080C305B051D86245D' +
           'CA7482B5AB334FD39B05B0B15A73C8D6FE6B643135E77B5E64E63' +
           '6D8BAC27E96A3B7FB26371403B63F56E57C45CB899EF5664F53A8' +
           '33E89F695C041E49BD820868151A0B1798885865F4DB71CEE7EB3' +
           'DE618CCB95924B8665989DBFCB918B8F70A208CF50DEEEB93C423' +
           '3C2E4A468BD17C9F4DFFD00ABE');
    
      ShrimpBmp := BitmapFromString2(False, 'a43E7278DA758E4B8E03310' +
           '844AF841B8ACFD2E0EEFB1F29C6C92619CDE6A9EAA98420225AD7' +
           '06F9DC9043640BE53AF96E3EDAE60C2F9736A81F0FE7CEB76F5AB' +
           '4D2273AF36A5A6F06B519D617BAFD61E6BC028B8AD2D6A891B1B8' +
           '242B6B4A58988B455284AF4857ABDD5943130551C031BEBC23C0C' +
           'A50B9B130647EFC59E201CB42CA2D069110FEEFAB375F861');
           
      TroutBmp := BitmapFromString2(False, 'a0630678DA2D90590E452108' +
           '43B7E400163E19AEFB5FD2C3A72139066853B5B5D63C0B0DB3402' +
           'AC535E3B08FC3B50EF9CC875091F96C79FFE747D258CF1C7A1AF0' +
           '3E0C3EF4331F84629F475F2778E50A283A1A1204920E81C82724A' +
           '4265B3E23551573DDBA6DDBB0E1DDD8188E51B5B1B064C2609232' +
           '65AAD499CF75F5A39670363773B1CFD2B72F676104FC652D09391' +
           '9A474B39CAC2EF0F4EEBDEA73728A599D650B0B7B595D59D9A0A1' +
           'FEB2AE2BBCB2A3B938AEABE2B6EFEC51AB32CE1CA6FA69DE173DD' +
           '74DB92E2E618444ABF2A8EC9C9191694949F70F7FEE4');
           
      SwordfishBmp := BitmapFromString2(False, 'aA41CB78DA2D8DCB15C0' +
           '2008045BC2F8018EECAAFD971431F130F2960144A49422E7711F3' +
           '48BC3614FB25C561E76B5A4B72456E62D6E9DA38FDDBC5F738FEC' +
           'E6A874AB87BA34D973BFFADD19E90F5E737BE691E658794566768' +
           'B361F237CFD6CC31D1FA36A0F86AAA2C454E2FCBA8008753CA826' +
           '20A61995DD9D2BB64E1868E722C53683D51B09B3CAE737C5269D8' +
           '6CAF9E79F0F0CEE8F2F175');
           
      TunaBmp := BitmapFromString2(False, 'a132D178DA85CC4B0E8030080' +
           '4D02B4D7F7458B6D5DEFF4802AE5CA8217999F0038041036D1955' +
           '3D8B888BEAED7A9A999163A7ED98E63852EFF7D5DCD8949ECC543' +
           'C63C76724152ECE87E4C1E39E5A2A566F4E66260585F263E5A07E' +
           '7B01756');
        
        BaitBmp := BitmapFromString2(False, 'a2384E78DA658E510EC420080' +
           '5AF843CB0F2D95A7AFF231564B371B32119CC632012119D23403A' +
           '03B0A48A27AF64D79CF2904C96A34FCF9C734956EB474B3E163CA' +
           'E341B7CB1CB804353A5568CE46617C5048A954F98342B7ECDD815' +
           '130A0227FB6ED61BC4511FF3CFF9B9B6A6127FE27B37F73BC5178' +
           '16');
    
        FeatherBmp := BitmapFromString2(False, 'aF358478DA658D4B0EC530' +
           '0803AF443E04BAC434BDFF911E247A6DA56631B2AC8921229A122' +
           '02B8176F620EB48F6191CAC9941773F9A07AB2E9333F3B5FA9A4E' +
           'B795C149C94D419A63EADDCBB1D475ABB4E10C07BC01B0CD9CA7F' +
           'DCABB81DAB4F36B42CC0D5E7140FF7F9F8577B34DB0C1EC07E93');
    end;
    
    {-----------------------------------------------
    
     Fishing Procedures/Functions
    
    ------------------------------------------------}
    
    {--------------------------------
     FindFish - Finds the fishing spot and stores the location to (Fx, Fy).
    ---------------------------------}
    
    function FindFish(var x, y: Integer; Cx1, Cy1, Cx2, Cy2: Integer): Boolean;
    var Rx, Ry: Integer;
    begin
      if not LoggedIn then Exit;
      FindRandoms;
      X := MSCX;
      Y := MSCY;
      ColorToleranceSpeed(2);
      if FindColorSpiralTolerance(x, y, 16248793, Cx1, Cy1, Cx2, Cy2, 30) then
      begin
        Writeln('Fishing spot found at ' + IntToStr(X) + ', ' + IntToStr(Y));
        Result := True;
        Players[CurrentPlayer].Rand := 'Fishing Spot';
        Writeln(IntToStr(X));
        Writeln(IntToStr(Y));
        ColorToleranceSpeed(1);
        Wait(1000);
        Exit;
      end else
      begin
        Writeln('Fishing spot not found.');
        Result := False;
      end;
      if not Result then
      begin
        Cc := Cc + 1;
        if Cc > 4 then
        begin
          if CheckForSymbol then
          begin
            if FindSymbol(Rx, Ry, 'Fishing spot') then
            begin
              if Distance(MMCX, MMCY, Rx, Ry) > 8 then
              begin
                Writeln('Walking to fishing symbol');
                Mouse(Rx, Ry, 5, 5, True);
                FFlag(0);
              end;
            end else
            begin
              Writeln('No symbol found');
              Players[CurrentPlayer].Rand := 'No symbol';
              Logout;
              Exit;
            end;
          end;
          Cc := 0;
        end;
      end;
      Wait(500);
      ColorToleranceSpeed(1);
    end;
          
    {--------------------------------
     FollowFishingSpot - Tracks the fishing spot across the screen as we move.
     Refreshes the location into (Fx, Fy). Custom Procedure/Function 1.
    ---------------------------------}
    
    function FollowFishingSpot(var x, y: Integer): Boolean;
    begin
      if not LoggedIn then Exit;
      ColorToleranceSpeed(2);
      if (x - 20) < 0 then x := 20;
      if (y - 20) < 0 then y := 20;
      if FindColorSpiralTolerance(x, y, 14398100, x - 20, y - 20, x + 20,  y + 20, 50) then
      begin
        Result := True;
      end else
      begin
        Result := False;
        x := MSCX;
        y := MSCY;
      end;
      ColorToleranceSpeed(1);
    end;
    
    {--------------------------------
     ClickTheSpotText - Checks if we have found the fishing spot that we want to fish.
     Custom Procedure/Function 2.
    ---------------------------------}
    
    function ClickTheSpotText(var x, y: Integer): Boolean;
    begin
      if not LoggedIn then Exit;
      MMouse(x, y, 5, 5);
      Wait(500);
      if IsUpText(SpotType) then
      begin
        Mouse(x, y, 0, 0, True);
        ClickedSpot := True;
        Result := True;
        Exit;
      end else
      begin
        Mouse(x, y, 0, 0, False);
        Wait(500);
        if ChooseOption(SpotType) then
        begin
          ClickedSpot := True;
          Result := True;
          Exit;
        end else
          if not ChooseOption('ancel') then MMouse(MSCX - Random(200), MSCY + Random(200), 200, 200);
          ClickedSpot := False;
          Result := False;
      end;
    end;
    
    {--------------------------------
     WaitWhilstFishing - This is called while we are fishing.
     It makes sure the fishing spot is still there, and performs AntiBan to
     make sure the script doesnt log out, while constantly checking for randoms.
    ---------------------------------}
    
    procedure WaitWhilstFishing;
    var
      GetOutOfHere: Boolean;
      EquipCheck, FishingCheck, FollowingSpot, Rx, Ry: Integer;
    begin
      if not LoggedIn then Exit;
      MarkTime(RandomMark);
      MarkTime(IdleMark1);
      MarkTime(IdleMark2);
      MarkTime(EquipCheck);
      MarkTime(FishingCheck);
      MarkTime(FollowingSpot);
      repeat
        if not LoggedIn then Break;
        if InvFull then Break;
        Cc := 0;
        
        { AntiRandoms + AntiBan }
        AntiBan;
        if TimeFromMark(RandomMark) > 750 then
        begin
          FindRandoms;
          MarkTime(RandomMark);
        end;
    
        { Looking for our equipment in inventory }
        if TimeFromMark(EquipCheck) > 2000 then
        begin
          GameTab(4);
          if not FindBitmapToleranceIn(BmpType, Rx, Ry, MIX1, MIY1, MIX2, MIY2, 15) then
          begin
            Writeln('Didnt find the equipment that we are using');
            SearchOnGround := True;
            Break;
          end;
          MarkTime(EquipCheck);
        end;
    
        { Checking for ClickToContinue screen }
        if ClickToContinueScreen then
          begin
            repeat
              if not LoggedIn then Break;
              Wait(1000);
              Mouse(319, 448, 3, 3, True);
            until GetColor(253, 459) = 6321792;
          end;
    
        { Checks if we are actually fishing }
        if not AreWeFishing(Fx, Fy) then
        begin
          Count := Count + 1;
        end else
        begin
          Count := 0;
        end;
        if Count > 20 then
        begin
          Writeln('Currently not fishing. Going to click again');
          Count := 0;
          if not ClickTheSpotText(Fx, Fy) then Break;
        end;
    
        { Makes sure we still have some bait }
        if (I = 1) or (Players[CurrentPlayer].Strings[0] = 'Bait') then
        begin
          GameTab(4);
          if not FindBitmapToleranceIn(BaitBmp, Rx, Ry, MIX1, MIY1, MIX2, MIY2, 20) then
          begin
            Writeln('No bait found, so we cannot use rod');
            GetOutOfHere := True;
            if I = 1 then
            begin
              DoWeLookFor[I] := False;
              CheckEquipment;
              Break;
            end else
            begin
              Players[CurrentPlayer].Rand := 'No bait';
              Logout;
              Break;
            end;
            Exit;
          end;
        end;
    
        { Makes sure we still have feathers }
        if (I = 2) or (Players[CurrentPlayer].Strings[0] = 'Lure') then
        begin
          GameTab(4);
          if not FindBitmapToleranceIn(FeatherBmp, Rx, Ry, MIX1, MIY1, MIX2, MIY2, 20) then
          begin
            Writeln('No feathers found, so we cannot use fly fishing rod');
            GetOutOfHere := True;
            if I = 2 then
            begin
              DoWeLookFor[I] := False;
              CheckEquipment;
              Break;
            end else
            begin
              Players[CurrentPlayer].Rand := 'No feathers';
              Logout;
              Break;
            end;
            Exit;
          end;
        end;
        
        if GetOutOfHere then Break;
    
        { WhirlPool }
        if FindWhirlPool(Fx, Fy) then MyHandleWhirlpool;
    
      Wait(100);
      until (not FollowFishingSpot(Fx, Fy)) or (TimeFromMark(FollowingSpot) > (180000));
      if not LoggedIn then
      begin
        Writeln('Not logged in after WaitWhilstFishing.');
        Exit;
      end;
      if InvFull then Writeln('Inventory is full.');
      if not FollowFishingSpot(Fx, Fy) then Writeln('Fish is not there.');
    end;
    
    {--------------------------------
     FindAllFishSpots - Finds the fishing spots and checks the uptext to see if it's
     the one that we want. If it's not, it skips that one using FindColorSkipBoxArray
     the next time it searches.
     Custom Procedure/Function 3.
    ---------------------------------}
    
    function FindAllFishSpots(var x, y: Integer): Boolean;
    var
      A: Integer;
    begin
      Writeln('FindAllFishSpots;');
      FindRandoms;
      ColorToleranceSpeed(2);
      SetArrayLength(MyTBoxArray, 0);
      if FindColorSpiralTolerance(x, y, 16248793, MSX1, MSY1, MSX2, MSY2, 30) then
      begin
        repeat
          if not LoggedIn then Exit;
          FindRandoms;
          if FindColorSkipBoxArrayTolerance(x, y, 16248793, MSX1, MSY1, MSX2, MSY2, 30, MyTBoxArray) then
          begin
            if ClickTheSpotText(x, y) then
            begin
              FollowFishingSpot(x, y);
              Break;
            end;
            SetArrayLength(MyTBoxArray, A + 1);
            MyTBoxArray[A].x1 := x - 40;
            MyTBoxArray[A].y1 := y - 40;
            MyTBoxArray[A].x2 := x + 40;
            MyTBoxArray[A].y2 := y + 40;
            A := A + 1;
            Wait(500);
          end else
          begin
            x := MSCX;
            y := MSCY;
          end;
        until ClickTheSpotText(x, y) or not FindColorSkipBoxArrayTolerance(x, y, 16248793, MSX1, MSY1, MSX2, MSY2, 30, MyTBoxArray);
        if ClickedSpot then
        begin
          Result := True;
          FollowFishingSpot(x, y);
        end else
        begin
          Result := False;
        end;
      end;
      for A := 0 to GetArrayLength(MyTBoxArray) - 1 do
      begin
        MyTBoxArray[A].x1 := 0;
        MyTBoxArray[A].y1 := 0;
        MyTBoxArray[A].x2 := 0;
        MyTBoxArray[A].y2 := 0;
      end;
      ColorToleranceSpeed(1);
    end;
    
    {--------------------------------
     Fish - Collaborates all of the fishing Procedures/Functions to fish.
    ---------------------------------}
    
    procedure Fish;
    var
      FollowingSpot, RandomMark: Integer;
    begin
      if not LoggedIn then Exit;
      FindRandoms;
      if FindFish(Fx, Fy, MSX1, MSY1, MSX2, MSY2) then
      begin
        FishNotFound := 0;
        if FindWhirlPool(Fx, Fy) then MyHandleWhirlpool;
        ClickTheSpotText(Fx, Fy);
        if not ClickedSpot then FindAllFishSpots(Fx, Fy);
        if not ClickedSpot then
        begin
          Writeln('No fishing spot found - in fish');
          Writeln(IntToStr(I));
          DoWeLookFor[I] := False;
          if not DoWeLookFor[I] then Writeln('We have set DoWeLookFor[I] to false');
          if not CheckEquipment then
          begin
            Writeln('No fishing equipment found.');
            Players[CurrentPlayer].Rand := 'No Equipment';
            LogOut;
            Exit;
          end;
        end;
        MarkTime(FollowingSpot);
        MarkTime(RandomMark);
        while TimeFromMark(FollowingSpot) < 7000 do
        begin
          if not LoggedIn then Exit;
          if TimeFromMark(RandomMark) > 250 then
          begin
            FindRandoms;
            MarkTime(RandomMark);
          end;
          Wait(50);
          FollowFishingSpot(Fx, Fy);
        end;
        WaitWhilstFishing;
      end else
      begin
        FishNotFound := FishNotFound + 1;
        Writeln('FishNotFound := ' + IntToStr(FishNotFound));
        if FishNotFound > 10 then
        begin
          FishNotFound := 0;
          Writeln('No fish spot');
          Players[CurrentPlayer].Rand := 'No Fish Spot';
          LogOut;
          Exit;
        end;
      end;
    end;
    
    {--------------------------------
     DropAllFish - Drops all the fish it finds in inventory.
    ---------------------------------}
    
    procedure DropAllFish;
    var
      FishToDrop, PlzDontDropMe: Array of Integer;
      F, ShrimpCount, SardineCount, HerringCount, AnchoviesCount, TroutCount,
      PikeCount, SalmonCount, TunaCount, LobsterCount, SwordFishCount, Rx, Ry,
      DroppingSingleFish, I, C: Integer;
      P: TBox;
      DropIt: Boolean;
    begin
      Writeln('Counting all fish, and then dropping.');
      GetAllLevels;
      GameTab(4);
    
      ShrimpCount    := CountItemBmpTol(ShrimpBmp, 20);
      SardineCount   := CountItemBmpTol(SardineBmp, 20);
      HerringCount   := CountItemBmpTol(HerringBmp, 20);
      AnchoviesCount := CountItemBmpTol(AnchoviesBmp, 20);
      TroutCount     := CountItemBmpTol(TroutBmp, 20);
      PikeCount      := CountItemBmpTol(PikeBmp, 20);
      SalmonCount    := CountItemBmpTol(SalmonBmp, 20);
      TunaCount      := CountItemBmpTol(TunaBmp, 20);
      LobsterCount   := CountItemBmpTol(LobsterBmp, 20);
      SwordFishCount := CountItemBmpTol(SwordFishBmp, 20);
    
      Shrimp    := Shrimp + ShrimpCount;
      Sardine   := Sardine + SardineCount;
      Herring   := Herring + HerringCount;
      Anchovies := Anchovies + AnchoviesCount;
      Trout     := Trout + TroutCount;
      Pike      := Pike + PikeCount;
      Salmon    := Salmon + SalmonCount;
      Tuna      := Tuna + TunaCount;
      Lobster   := Lobster + LobsterCount;
      SwordFish := SwordFish + SwordFishCount;
    
      Exp       := (Shrimp * 10) + (Sardine * 20) + (Herring * 30) + (Anchovies * 40) + (Trout * 50) +
                   (Pike * 60) + (Salmon * 70) + (Tuna * 80) + (Lobster * 90) + (SwordFish * 100);
      TotalFish := Shrimp + Herring + Anchovies + Trout + Pike + Salmon + Lobster + SwordFish + Tuna + Sardine;
    
      Players[CurrentPlayer].Integers[0] := Players[CurrentPlayer].Integers[0] + (ShrimpCount * 10) + (SardineCount * 20) + (HerringCount * 30) + (AnchoviesCount * 40) + (TroutCount * 50) +
                                           (PikeCount * 60) + (SalmonCount * 70) + (TunaCount * 80) + (LobsterCount * 90) + (SwordFishCount * 100);
      Players[CurrentPlayer].Integers[1] := Players[CurrentPlayer].Integers[1] + ShrimpCount + SardineCount + HerringCount + AnchoviesCount + TroutCount + PikeCount + SalmonCount + TunaCount + LobsterCount + SwordFishCount;
      Players[CurrentPlayer].Integers[2] := Players[CurrentPlayer].Integers[2] + 1;
    
      ReportVars[0] := ShrimpCount + SardineCount + HerringCount + AnchoviesCount + TroutCount + PikeCount + SalmonCount + TunaCount + LobsterCount + SwordFishCount;
      ReportVars[1] := 1;
      ReportVars[2] := (ShrimpCount * 10) + (SardineCount * 20) + (HerringCount * 30) + (AnchoviesCount * 40) + (TroutCount * 50) +
                       (PikeCount * 60) + (SalmonCount * 70) + (TunaCount * 80) + (LobsterCount * 90) + (SwordFishCount * 100);
    
      ReportVars[10] := SardineCount;
      ReportVars[11] := HerringCount;
      ReportVars[12] := AnchoviesCount;
      ReportVars[13] := TroutCount;
      ReportVars[14] := PikeCount;
      ReportVars[15] := SalmonCount;
      ReportVars[16] := TunaCount;
      ReportVars[17] := LobsterCount;
      ReportVars[18] := SwordFishCount;
      ReportVars[19] := ShrimpCount;
      SRLRandomsReport;
      
      PlayerLoadsC := PlayerLoadsC + 1;
      TotalLoadsc := TotalLoadsC + 1;
    
      if not LoggedIn then Exit;
      
      if not DropRandomItems then
      begin
        SetArrayLength(FishToDrop, 10);
    
        FishToDrop[0] := ShrimpBmp;           //shripm
        FishToDrop[1] := SardineBmp;          //sardine
        FishToDrop[2] := HerringBmp;          //herring
        FishToDrop[3] := AnchoviesBmp;        //anchovy
        FishToDrop[4] := TroutBmp;            //trout
        FishToDrop[5] := PikeBmp;             //pike
        FishToDrop[6] := SalmonBmp;           //salmon
        FishToDrop[7] := TunaBmp;             //tuna
        FishToDrop[8] := LobsterBmp;          //lobster
        FishToDrop[9] := SwordfishBmp;        //swordfish
    
        for F:= 0 to 9 do
        begin
          MarkTime(DroppingSingleFish);
          Writeln('Dropping: ' + IntToStr(F));
          repeat
            if not LoggedIn then Break;
            FindRandoms;
            ClickAllItemsBmpTolWait(FishToDrop[F], 'rop', 30, (300 + Random(300)));
          until (TimeFromMark(DroppingSingleFish) > 60000) or (not FindBitmapToleranceIn(FishToDrop[F], Rx, Ry, MIX1, MIY1, MIX2, MIY2, 40));
        end;
      end;
      
      if DropRandomItems then
      begin
        SetArrayLength(PlzDontDropMe, 7);
    
        PlzDontDropMe[0] := SmallNetBmp;      //small net
        PlzDontDropMe[1] := FishingRodBmp;    //fishing rod
        PlzDontDropMe[2] := FlyFishingRodBmp; //fly fishing rod
        PlzDontDropMe[3] := HarpoonBmp;       //harpoon
        PlzDontDropMe[4] := CageBmp;          //cage
        PlzDontDropMe[5] := BaitBmp;          //bait
        PlzDontDropMe[6] := FeatherBmp;       //feathers
    
        for I := 1 to 28 do
          if ExistsItem(I) then
          begin
            P := InvBox(I);
            DropIt := True;
            for C := 0 to 6 do
            begin
              if FindBitmapToleranceIn(PlzDontDropMe[C], Rx, Ry, P.X1, P.Y1, P.X2, P.Y2, 40) then
              begin
                DropIt := False;
                Break;
              end;
            end;
            if DropIt then
            begin
              Mouse((P.X1 + P.X2) div 2, (P.Y1 + P.Y2) div 2, 5, 5, False);
              Wait(100 +Random(100));
              ChooseOption('rop');
            end;
          end;
          Wait(50 +Random(75));
      end;
    end;
    
    {-----------------------------------------------
    
     Progress Reports
    
    ------------------------------------------------}
    
    procedure PlayerStats;
    var
      P : Integer;
      Active : String;
    begin
      Writeln('[-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=]');
      Writeln(' ');
      for P := 0 to HowManyPlayers - 1 do
      begin
        if Players[P].Active=True then Active := 'T' else Active := 'F';
        Writeln ( IntToStr(P) + ' : '
        +Players[P].Nick+' = '
        +Active+' - '
        +IntToStr(Players[P].Worked)+' mins. '
        +'Lvl: '+IntToStr(Players[P].Level[17])+'. '
        +'Xp: '+IntToStr(Players[P].Integers[0])+'. '
        +'Fished: '+IntToStr(Players[P].Integers[1])+'. '
        +'Loads: '+IntToStr(Players[P].Integers[2])+'. '
        +'Location: '+Players[P].Rand +'. ');
      end;
      Writeln(' ');
      Writeln('[-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=]');
    end;
    
    procedure ProgressReport;
    begin
      Writeln(' ');
      Writeln('[-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=]');
      Writeln('The Claws Power Fisher. v'+Version);
    
      Writeln('Worked for ' + TimeRunning);
      Writeln('Completed ' + IntToStr(TotalLoadsC) + ' loads.');
      Writeln(' ');
                            Writeln('Fished ' + IntToStr(TotalFish) + ' fish in total, including:');
      if Shrimp > 0 then    Writeln('       ' + IntToStr(Shrimp) + ' shrimp');
      if Sardine > 0 then   Writeln('       ' + IntToStr(Sardine) + ' sardine');
      if Herring > 0 then   Writeln('       ' + IntToStr(Herring) + ' herring');
      if Anchovies > 0 then Writeln('       ' + IntToStr(Anchovies) + ' anchovies');
      if Trout > 0 then     Writeln('       ' + IntToStr(Trout) + ' trout');
      if Pike > 0 then      Writeln('       ' + IntToStr(Pike) + ' pike');
      if Salmon > 0 then    Writeln('       ' + IntToStr(Salmon) + ' salmon');
      if Lobster > 0 then   Writeln('       ' + IntToStr(Lobster) + ' lobster');
      if Tuna > 0 then      Writeln('       ' + IntToStr(Tuna) + ' tuna');
      if SwordFish > 0 then Writeln('       ' + IntToStr(SwordFish) + ' swordfish');
    
      Writeln(' ');
      Writeln('Gained ' + IntToStr(Exp) + ' experience.');
      if WhirlPools  > 0 then Writeln('Avoided ' + IntToStr(WhirlPools) + ' whirlpools.');
      if PickedEquip > 0 then Writeln('Picked up equipment ' + IntToStr(PickedEquip) + ' times.');
      PlayerStats;
      SendSRLReport;
    end;
    
    {-----------------------------------------------
    
     SetupScript
    
    ------------------------------------------------}
    
    procedure SetupScript;
    begin
      ClearDebug;
      SetupSRL;
      LoadBitmaps;
      DeclarePlayers;
      SRLID := YourSRLId;
      SRLPassword := YourSRLPass;
      ScriptID := '250';
      MouseSpeed := MSpeed;
      SearchOnGround := False;
    end;
    
    {-----------------------------------------------
    
     Main Loop
    
    ------------------------------------------------}
    
    begin
      SetupScript;
      ActivateClient;
      LoginPlayer;
      Wait(5000);
      repeat
    
        MakeCompass(CompassDirection);
        HighestAngle;
    
        if Players[CurrentPlayer].Booleans[0] then
        begin
          repeat
            if not LoggedIn then Exit;
            GameTab(1);
            Wait(500 + random(500));
          until GetColor(540, 174) = 1910385;
          if FindColorTolerance(Ix, Iy, 1777020, 606, 365, 706, 393, 10) then
          begin
            Mouse(Ix, Iy, 5, 5, True);
            Writeln('Set auto retaliate off.');
          end else
          Writeln('Auto retaliate was already off.');
          Players[CurrentPlayer].Booleans[0] := False;
        end;
    
        SetChat('On', 1);
        SetChat('Friends', 2);
        SetChat('On', 3);
        SetRun(True);
    
        for I := 0 to 4 do
        begin
          DoWeLookFor[I] := True;
        end;
    
        repeat
          if not LoggedIn then Break;
          CurrentFishingLevel := GetSkillLevel('Fishing');
          if not CheckEquipment then
            begin
              Writeln('No fishing equipment found.');
              Players[CurrentPlayer].Rand := 'No Equipment';
              LogOut;
              Break;
            end;
          MarkTime(SearchForFish);
    
          repeat
            if not LoggedIn then Break;
            if InvFull then Break;
            Fish;
            if SearchOnGround then SearchForEquipment;
            Wait(1000 + random(1000));
          until InvFull or (TimeFromMark(SearchForFish) > (MaxLoadTime * 60 * 1000));
          DropAllFish;
          ProgressReport;
        until (PlayerLoadsC = PlayerLoads) or not LoggedIn;
    
        PlayerLoadsC := 0;
    
        if not LoggedIn then
        begin
          Writeln(Players[CurrentPlayer].Name + ' is going to false');
          NextPlayer(False);
        end else
        begin
          Writeln(Players[CurrentPlayer].Name + ' is going to true');
          LogOut;
          Wait(2000 + Random(2000));
          NextPlayer(True);
        end;
      until False;   //omg infinite loop! d[~_0]b
    end.
     
< Bone grinder (Ectoing part) | need working flax picker >

Users viewing this thread
1 guest


 
 
Adblock breaks this site