Page 32 of 45 FirstFirst ... 22303132333442 ... LastLast
Results 776 to 800 of 1116

Thread: Shuttleu's Vine Vanquisher [Simba/Color]

  1. #776
    Join Date
    Dec 2011
    Posts
    18
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Maybe you should work on solving randoms,


    Finished looking for a birds nest
    Starting random check
    Finished random check
    36584635
    36584635
    Starting random check
    ***** STR: FOUND RANDOM: 'Molly'S Evil Twin' *****
    Screenshot of: Found Molly'S Evil Twin random 1 Hours, 2 Minutes and 46 Seconds
    Molly : Could NOT Get To Machine
    ***** STR: 'Molly'S Evil Twin' RANDOM SOLVING FAILED! *****
    Finished random check
    chopping vines
    finding vines
    Failed to find the color, no result.
    0
    5670

  2. #777
    Join Date
    Aug 2007
    Location
    in a random little world
    Posts
    5,778
    Mentioned
    0 Post(s)
    Quoted
    7 Post(s)

    Default

    Quote Originally Posted by nickgrohe View Post
    Maybe you should work on solving randoms,


    Finished looking for a birds nest
    Starting random check
    Finished random check
    36584635
    36584635
    Starting random check
    ***** STR: FOUND RANDOM: 'Molly'S Evil Twin' *****
    Screenshot of: Found Molly'S Evil Twin random 1 Hours, 2 Minutes and 46 Seconds
    Molly : Could NOT Get To Machine
    ***** STR: 'Molly'S Evil Twin' RANDOM SOLVING FAILED! *****
    Finished random check
    chopping vines
    finding vines
    Failed to find the color, no result.
    0
    5670
    i am not the person to talk about randoms

    i do not develop the random solvers

    besides the randoms are being worked on by the dev team

    ~shut

  3. #778
    Join Date
    Dec 2011
    Posts
    8
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    "
    Error: Exception: "" is an invalid integer at line 1377
    "
    all i did was download entered my password and then this poped up
    in the vvform
    Last edited by lxgodxl; 01-15-2012 at 06:06 AM.

  4. #779
    Join Date
    Nov 2011
    Posts
    7
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    thank you so much! got 99 WC with this script!

  5. #780
    Join Date
    Jan 2012
    Posts
    43
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    most of the time i get failed to find color and it just right clicks the exp bar thing and clicks cancel and repeats at castle wars but sometimes it works help please? thanks

  6. #781
    Join Date
    Jan 2012
    Posts
    48
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    *********************************************
    Shuttleu's Vine Vanquisher Progress Report
    *********************************************
    Version: 4.2
    *********************************************
    Ran for: 1 Hours, 17 Minutes and 53 Seconds
    *********************************************
    Woodcutting Level: 86
    Experience Gained: 92767
    Levels Gained: 0
    Bird Nests Found: 1
    Vines chopped: 279
    *********************************************
    Location: y
    *********************************************


    Runs quite excellent.
    Only real problem is when it get birds nest in the middle between the 2 vines in yanille it won't click on vines just goes up to xp bar left clicks then click cancel. also does that coming out of randoms. Debug is:
    ------
    Finished looking for a birds nest
    Starting random check
    Finished random check
    3959328
    3959328
    Starting random check
    Finished random check
    chopping vines
    finding vines
    2111788
    227
    FoundVines
    finished finding vines
    finished chopping vines
    Looking for a birds nest
    ------------
    Also Randomly cuts a tree from tine to time. not a big deal.

    Thanks for the script its great amazing way to level your woodcutting fast. Been working amazingly for me the last couple of days. I'll be 99 soon and will post that using your script. Great job keep up the good work

  7. #782
    Join Date
    Dec 2011
    Posts
    9
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    An error I got just now while monitoring the script in yaneill, that if your chopping on the one to the very left and a birds nest falls off; it will land to the left of it and the bot will keep on clicking the wall. I'm gonna try a different see if that helps but that problem has stopped my bot over 3 time so far. Every birds nest's i have gotten there has came from the one on the far left and it stops your bot. Sorry i couldn't get a bug report :|

    Edit: After about 15 mins it finally gets back on track, i don't know why it didn't before!

  8. #783
    Join Date
    Dec 2011
    Location
    Hyrule
    Posts
    8,662
    Mentioned
    179 Post(s)
    Quoted
    1870 Post(s)

    Default

    w/ the update today a few things have messed up, but the script still works for the most part.

    -Tracking exp doesn't work - doesn't recognize the new icon for wc
    -It keeps clicking the xp button over and over because it does not recognize the new position of it
    -If it uses the right click to go to the next spot it won't hit cancel because of the new box, but the mouse continues to float to new spots so the box eventually disappears and it clicks on a new spot (just makes it a little slow).

    Hope this helps! PS great script I have really love it!

  9. #784
    Join Date
    Oct 2007
    Posts
    111
    Mentioned
    0 Post(s)
    Quoted
    1 Post(s)

    Default

    http://pastebin.com/wNAQ7geX

    fixed it, doesn't check xp or counter anymore!

    FYI 100% credit to shuttleu, i don't take any credit for repairing.
    Last edited by dweg; 01-16-2012 at 07:36 PM.

  10. #785
    Join Date
    Oct 2008
    Location
    C:\Simba\Includes\
    Posts
    7,566
    Mentioned
    19 Post(s)
    Quoted
    180 Post(s)

    Default

    dweg, do you have permission to repost it?
    Away for awhile, life is keeping me busy. | Want to get my attention in a thread? @Kyle Undefined; me.
    { MSI Phoenix || SRL Stats Sigs || Paste || Scripts || Quotes || Graphics }

    When posting a bug, please post debug! Help us, help you!

    I would love to change the world, but they won't give me the source code. || To be the best, you've got to beat the rest. || Logic never changes, just the syntax.
    If you PM me with a stupid question or one listed in FAQ, or about a script that is not mine, I will NOT respond.


    SRL is a Library of routines made by the SRL community written for the Program Simba. We produce Scripts for the game Runescape.


  11. #786
    Join Date
    Oct 2007
    Posts
    111
    Mentioned
    0 Post(s)
    Quoted
    1 Post(s)

    Default

    i dont think so, but i'm doing people a favor by not getting their accs banned, amirite?

  12. #787
    Join Date
    Dec 2011
    Posts
    9
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    dweg your update for it isnt working, it wont even log in.

  13. #788
    Join Date
    Dec 2011
    Posts
    7
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    copy paste this works for me, disabled a few lines where it checks xp

    Simba Code:
    program VineVanquisher;
    {------------------------------------------------------------------------------}
    {******************************************************************************}
    {******************************************************************************}
    {******************************************************************************}
    {******************************************************************************}
    {******************************************************************************}
    {******************************************************************************}
    {------------------------------------------------------------------------------}
    {Setup:                                                                        }
    {  1. Have Simba set up with the latest SRL and Reflection                     }
    {  2. Download the script                                                      }
    {  3. Put your player near of one of the vine locations                        }
    {  4. Press play                                                               }
    {  5. Fill in the form                                                                            }
    {------------------------------------------------------------------------------}
    {******************************************************************************}
    {******************************************************************************}
    {******************************************************************************}
    {******************************************************************************}
    {******************************************************************************}
    {******************************************************************************}
    {------------------------------------------------------------------------------}
    {$DEFINE SMART}
    {$DEFINE SRL5}
    {$loadlib sps}
    {$loadlib SSecurity}
    {$IFDEF SRL5}
      {$i srl/srl.simba}
      {$i srl/srl/skill/woodcutting.simba}
    {$ELSE}
      {$i srl/srl.scar}
      {$i srl/srl/misc\stats.simba}
      {$i srl/srl/skill/woodcutting.scar}
    {$ENDIF}
    {$i VVForm.simba}
    {$i sps/sps.simba}

    //const

    {---Start Setup---}
      {World = 71;
      Members = True;
      Signed = True;

      DisableSmartProggy = True; // Set to true if the smart painting slows your computer down

      DropRingNests = False; // Set to true if you do not want ring nests

      BreakMins = 12; // How long the break should last for

      UseAntiban = True; // Do you want to use AntiBan
      AntibanChance = 5; // Percentage chance of a anitban being performed

      SwitchWorld = False; //Do you want the script to switch worlds
      MaxPlayers = 50; // Switch world if this many players or more are at the vines
      HowManyLoads = 500; // Switch world after how many clicks on the vines (this can go up fast so you might want to put a high number
      SwitchTime = 20; // Switch world after how many mins

      SRLStats_Username = ''; // Your SRL Stats ID (If you dont have one then just leave it as it is)
      SRLStats_Password = ''; // Your SRL Stats Password (If you dont have one then just leave it as it is)


    procedure DeclarePlayers;
    begin
      HowManyPlayers := 1;
      NumberOfPlayers(HowManyPlayers);
      CurrentPlayer := 0;

      with Players[0] do
      begin
        Name := 'user';
        Pass := 'pass';
        Nick := 'nick';
        Strings[0] := 've'; // Player location  (letters must be lowercase)
        Integers[0]:= 15; // Break after how many mins
        Active := True;
      end;
    end;}

    const

      UseAutochecker = True;

      ScriptVersion = '4.2';  // DO NOT CHANGE

      Debug = True;
    {----End Setup----}

    var
      i, x, y, p: Integer;
      Hatchets: TIntegerArray;
      HatchetNames, Requiredsymbols: TStringArray;
      //Tiles, TileBox: TTileArray;
      Tries, TimeSinceLastBreak, TimeSinceLastSwitch, LastSwitch, ScriptStarted: Integer;
      CenterTile: TPoint;
      FaceDirection: string;



    {function Tile(x, y: Integer): TTile;
    begin
      Result.x:= x;
      Result.y:= y;
    end;}


    function CheckLocation: Boolean; forward;

    procedure Proggy(MainLoop: Boolean); forward;

    procedure setupvars; forward;

    procedure ChangePlayer(Active: Boolean);
    begin
      Proggy(False);
      NextPlayer(Active);
      SetupVars;
    end;

    procedure SetupVars;
    begin
      case Players[CurrentPlayer].Strings[0] of
        'vn':begin

              {SetArrayLength(Tiles, 4)
              Tiles:= [Tile(3216, 3498), Tile(3217, 3498),
                       Tile(3218, 3498), Tile(3219, 3498)];

              SetArrayLength(TileBox, 2)
              TileBox:= [Tile(3208, 3502), Tile(3225, 3498)];
              Box:= PointToBox(TileBox[0], TileBox[1]);
               }

              CenterTile:= Point(4685, 2640);

              FaceDirection:= 'S';

              SPS_Setup(RUNESCAPE_SURFACE, ['11_6']);
            end;
        've':begin
                {
              SetArrayLength(Tiles, 5)
              Tiles:= [Tile(3233, 3456), Tile(3233, 3457),
                       Tile(3233, 3459), Tile(3233, 3460),
                       Tile(3233, 3461)];

              SetArrayLength(TileBox, 2)
              TileBox:= [Tile(3230, 3463), Tile(3233, 3454)];
              Box:= PointToBox(TileBox[0], TileBox[1]);
                 }

              CenterTile:= Point(4750, 2795);

              FaceDirection:= 'E';

              SPS_Setup(RUNESCAPE_SURFACE, ['11_6']);
            end;
        'fn':begin
                  {
              SetArrayLength(Tiles, 7)
              Tiles:= [Tile(3018, 3392), Tile(3017, 3392),
                       Tile(3016, 3392), Tile(3015, 3392),
                       Tile(3014, 3392), Tile(3012, 3392),
                       Tile(3011, 3392)];

              SetArrayLength(TileBox, 2)
              TileBox:= [Tile(3006, 3403), Tile(3024, 3320)];
              Box:= PointToBox(TileBox[0], TileBox[1]);
                   }

              CenterTile:= Point(3875, 3070);

              FaceDirection:= 'S';

              SPS_Setup(RUNESCAPE_SURFACE, ['9_7']);
            end;
        'fs':begin
                    {
              SetArrayLength(Tiles, 7)
              Tiles:= [Tile(3044, 3328), Tile(3045, 3328),
                       Tile(3046, 3328), Tile(3047, 3328),
                       Tile(3048, 3328), Tile(3049, 3328),
                       Tile(3050, 3328)];

              SetArrayLength(TileBox, 2)
              TileBox:= [Tile(3037, 3328), Tile(3055, 3320)];
              Box:= PointToBox(TileBox[0], TileBox[1]);
                     }

              CenterTile:= Point(3650, 3350);

              FaceDirection:= 'N';

              SPS_Setup(RUNESCAPE_SURFACE, ['9_8']);
            end;
        't':begin
                      {
              SetArrayLength(Tiles, 5)
              Tiles:= [Tile(2943, 3420), Tile(2943, 3419),
                       Tile(2943, 3418), Tile(2943, 3417),
                       Tile(2943, 3416)];

              SetArrayLength(TileBox, 2)
              TileBox:= [Tile(2936, 3427), Tile(2943, 3415)];
              Box:= PointToBox(TileBox[0], TileBox[1]);
                       }

              CenterTile:= Point(3590, 2970);

              FaceDirection:= 'E';

              SPS_Setup(RUNESCAPE_SURFACE, ['8_7']);
            end;
        'a':begin
                        {
              SetArrayLength(Tiles, 5)
              Tiles:= [Tile(2622, 3304), Tile(2622, 3305),
                       Tile(2622, 3307), Tile(2622, 3308),
                       Tile(2622, 3310)];

              SetArrayLength(TileBox, 2)
              TileBox:= [Tile(2622, 3312), Tile(2629, 3302)];
              Box:= PointToBox(TileBox[0], TileBox[1]);
                         }

              CenterTile:= Point(2230, 3590);

              FaceDirection:= 'W';

              SPS_Setup(RUNESCAPE_SURFACE, ['5_8']);
            end;
        'y':begin
                          {
              SetArrayLength(Tiles, 6)
              Tiles:= [Tile(2597, 3111), Tile(2596, 3111),
                       Tile(2595, 3111), Tile(2593, 3111),
                       Tile(2592, 3111), Tile(2591, 3111)];

              SetArrayLength(TileBox, 2)
              TileBox:= [Tile(2585, 3120), Tile(2602, 3111)];
              Box:= PointToBox(TileBox[0], TileBox[1]);
                           }

              CenterTile:= Point(2185, 4190);

              FaceDirection:= 'S';

              RequiredSymbols:= ['farming spot', 'transportation'];

              SPS_Setup(RUNESCAPE_SURFACE, ['5_10']);
            end;
        'cw':begin
                            {
              SetArrayLength(Tiles, 7)
              Tiles:= [Tile(2423, 3068), Tile(2424, 3068),
                       Tile(2425, 3068), Tile(2426, 3068),
                       Tile(2428, 3068), Tile(2429, 3068),
                       Tile(2430, 3068)];

              SetArrayLength(TileBox, 2)
              TileBox:= [Tile(2415, 3068), Tile(2434, 3059)];
              Box:= PointToBox(TileBox[0], TileBox[1]);
                             }

              CenterTile:= Point(1250, 4115);

              FaceDirection:= 'N';

              SPS_Setup(RUNESCAPE_SURFACE, ['3_10']);
            end;
      end;

      Wait(1000+Random(1000));

      MarkTime(TimeSinceLastBreak);
      MarkTime(TimeSinceLastSwitch);

      if Players[CurrentPlayer].Integers[2]=0 then
      begin
        Players[CurrentPlayer].Integers[2]:= GetSkillLevel(Skill_WoodCutting);
        Players[CurrentPlayer].Integers[5]:= Players[CurrentPlayer].Integers[2];
        Players[CurrentPlayer].Integers[10]:= Players[CurrentPlayer].Integers[2];
      end;
      if Debug then
        Writeln(Players[CurrentPlayer].Integers[2]);
      if Players[CurrentPlayer].Integers[1]=0 then
      begin

        Players[CurrentPlayer].Integers[4]:= Players[CurrentPlayer].Integers[1];
      end;
      if Debug then
        Writeln(Players[CurrentPlayer].Integers[1]);

      //if CheckLocation then
      //begin
        {$IFDEF SRL5}
          SetAngle(SRL_ANGLE_HIGH);
        {$ELSE}
          SetAngle(True);
        {$ENDIF}
        Wait(500 + Random(100));
        MakeCompass(FaceDirection);
      //end else
      //  ChangePlayer(False);
    end;

    function LoadDDTM(Which: Integer): Integer;
    var
      dtmMainPoint: TDTMPointDef;
      dtmSubPoints: Array [0..7] of TDTMPointDef;
      TempTDTM: TDTM;
    begin
      case Which of
        0..6: begin
                case Which of
                0: begin
                     dtmMainPoint.Color := 1649722;
                     dtmMainPoint.Tolerance := 10;
                     dtmSubPoints[0].Color := 1649722;
                     dtmSubPoints[0].Tolerance := 10;
                   end;
                1: begin
                     dtmMainPoint.Color := 3815997;
                     dtmMainPoint.Tolerance := 10;
                     dtmSubPoints[0].Color := 3815997;
                     dtmSubPoints[0].Tolerance := 10;
                   end;
                2: begin
                     dtmMainPoint.Color := 6119010;
                     dtmMainPoint.Tolerance := 10;
                     dtmSubPoints[0].Color := 6119010;
                     dtmSubPoints[0].Tolerance := 10;
                   end;
                3: begin
                     dtmMainPoint.Color := 789517;
                     dtmMainPoint.Tolerance := 10;
                     dtmSubPoints[0].Color := 789517;
                     dtmSubPoints[0].Tolerance := 10;
                   end;
                4: begin
                     dtmMainPoint.Color := 4796721;
                     dtmMainPoint.Tolerance := 10;
                     dtmSubPoints[0].Color := 4796721;
                     dtmSubPoints[0].Tolerance := 10;
                   end;
                5: begin
                     dtmMainPoint.Color := 3489077;
                     dtmMainPoint.Tolerance := 10;
                     dtmSubPoints[0].Color := 3489077;
                     dtmSubPoints[0].Tolerance := 10;
                   end;
                6: begin
                     dtmMainPoint.Color := 5130300;
                     dtmMainPoint.Tolerance := 10;
                     dtmSubPoints[0].Color := 5130300;
                     dtmSubPoints[0].Tolerance := 10;
                   end;
                end;

                dtmMainPoint.x := 484;
                dtmMainPoint.y := 200;
                dtmMainPoint.AreaSize := 0;
                dtmMainPoint.AreaShape := 0;

                dtmSubPoints[0].x := 484;
                dtmSubPoints[0].y := 200;
                dtmSubPoints[0].AreaSize := 0;
                dtmSubPoints[0].AreaShape := 0;

                dtmSubPoints[1].x := 474;
                dtmSubPoints[1].y := 201;
                dtmSubPoints[1].AreaSize := 0;
                dtmSubPoints[1].AreaShape := 0;
                dtmSubPoints[1].Color := 131072;
                dtmSubPoints[1].Tolerance := 0;

                dtmSubPoints[2].x := 470;
                dtmSubPoints[2].y := 215;
                dtmSubPoints[2].AreaSize := 0;
                dtmSubPoints[2].AreaShape := 0;
                dtmSubPoints[2].Color := 131072;
                dtmSubPoints[2].Tolerance := 0;

                dtmSubPoints[3].x := 470;
                dtmSubPoints[3].y := 223;
                dtmSubPoints[3].AreaSize := 0;
                dtmSubPoints[3].AreaShape := 0;
                dtmSubPoints[3].Color := 131072;
                dtmSubPoints[3].Tolerance := 0;

                dtmSubPoints[4].x := 477;
                dtmSubPoints[4].y := 205;
                dtmSubPoints[4].AreaSize := 0;
                dtmSubPoints[4].AreaShape := 0;
                dtmSubPoints[4].Color := 131072;
                dtmSubPoints[4].Tolerance := 0;

                dtmSubPoints[5].x := 487;
                dtmSubPoints[5].y := 204;
                dtmSubPoints[5].AreaSize := 0;
                dtmSubPoints[5].AreaShape := 0;
                dtmSubPoints[5].Color := 131072;
                dtmSubPoints[5].Tolerance := 0;

                dtmSubPoints[6].x := 489;
                dtmSubPoints[6].y := 198;
                dtmSubPoints[6].AreaSize := 0;
                dtmSubPoints[6].AreaShape := 0;
                dtmSubPoints[6].Color := 131072;
                dtmSubPoints[6].Tolerance := 0;

                dtmSubPoints[7].x := 477;
                dtmSubPoints[7].y := 196;
                dtmSubPoints[7].AreaSize := 0;
                dtmSubPoints[7].AreaShape := 0;
                dtmSubPoints[7].Color := 131072;
                dtmSubPoints[7].Tolerance := 0;
              end;
        7: begin
             dtmMainPoint.x := 703;
             dtmMainPoint.y := 289;
             dtmMainPoint.AreaSize := 0;
             dtmMainPoint.AreaShape := 0;
             dtmMainPoint.Color := 725072;
             dtmMainPoint.Tolerance := 10;

             dtmSubPoints[0].x := 703;
             dtmSubPoints[0].y := 289;
             dtmSubPoints[0].AreaSize := 0;
             dtmSubPoints[0].AreaShape := 0;
             dtmSubPoints[0].Color := 725072;
             dtmSubPoints[0].Tolerance := 10;

             dtmSubPoints[1].x := 696;
             dtmSubPoints[1].y := 286;
             dtmSubPoints[1].AreaSize := 0;
             dtmSubPoints[1].AreaShape := 0;
             dtmSubPoints[1].Color := 131072;
             dtmSubPoints[1].Tolerance := 0;

             dtmSubPoints[2].x := 701;
             dtmSubPoints[2].y := 293;
             dtmSubPoints[2].AreaSize := 0;
             dtmSubPoints[2].AreaShape := 0;
             dtmSubPoints[2].Color := 131072;
             dtmSubPoints[2].Tolerance := 0;

             dtmSubPoints[3].x := 703;
             dtmSubPoints[3].y := 299;
             dtmSubPoints[3].AreaSize := 0;
             dtmSubPoints[3].AreaShape := 0;
             dtmSubPoints[3].Color := 131072;
             dtmSubPoints[3].Tolerance := 0;

             dtmSubPoints[4].x := 690;
             dtmSubPoints[4].y := 304;
             dtmSubPoints[4].AreaSize := 0;
             dtmSubPoints[4].AreaShape := 0;
             dtmSubPoints[4].Color := 131072;
             dtmSubPoints[4].Tolerance := 0;

             dtmSubPoints[5].x := 686;
             dtmSubPoints[5].y := 310;
             dtmSubPoints[5].AreaSize := 0;
             dtmSubPoints[5].AreaShape := 0;
             dtmSubPoints[5].Color := 131072;
             dtmSubPoints[5].Tolerance := 0;

             dtmSubPoints[6].x := 709;
             dtmSubPoints[6].y := 300;
             dtmSubPoints[6].AreaSize := 0;
             dtmSubPoints[6].AreaShape := 0;
             dtmSubPoints[6].Color := 131072;
             dtmSubPoints[6].Tolerance := 0;

             dtmSubPoints[7].x := 709;
             dtmSubPoints[7].y := 286;
             dtmSubPoints[7].AreaSize := 0;
             dtmSubPoints[7].AreaShape := 0;
             dtmSubPoints[7].Color := 131072;
             dtmSubPoints[7].Tolerance := 0;
           end;
        8: begin
             dtmMainPoint.x := 873;
             dtmMainPoint.y := 360;
             dtmMainPoint.AreaSize := 0;
             dtmMainPoint.AreaShape := 0;
             dtmMainPoint.Color := 1910060;
             dtmMainPoint.Tolerance := 20;

             dtmSubPoints[0].x := 873;
             dtmSubPoints[0].y := 360;
             dtmSubPoints[0].AreaSize := 0;
             dtmSubPoints[0].AreaShape := 0;
             dtmSubPoints[0].Color := 1910060;
             dtmSubPoints[0].Tolerance := 20;

             dtmSubPoints[1].x := 869;
             dtmSubPoints[1].y := 354;
             dtmSubPoints[1].AreaSize := 0;
             dtmSubPoints[1].AreaShape := 0;
             dtmSubPoints[1].Color := 131072;
             dtmSubPoints[1].Tolerance := 0;

             dtmSubPoints[2].x := 868;
             dtmSubPoints[2].y := 359;
             dtmSubPoints[2].AreaSize := 0;
             dtmSubPoints[2].AreaShape := 0;
             dtmSubPoints[2].Color := 131072;
             dtmSubPoints[2].Tolerance := 0;

             dtmSubPoints[3].x := 865;
             dtmSubPoints[3].y := 366;
             dtmSubPoints[3].AreaSize := 0;
             dtmSubPoints[3].AreaShape := 0;
             dtmSubPoints[3].Color := 131072;
             dtmSubPoints[3].Tolerance := 0;

             dtmSubPoints[4].x := 858;
             dtmSubPoints[4].y := 373;
             dtmSubPoints[4].AreaSize := 0;
             dtmSubPoints[4].AreaShape := 0;
             dtmSubPoints[4].Color := 131072;
             dtmSubPoints[4].Tolerance := 0;

             dtmSubPoints[5].x := 864;
             dtmSubPoints[5].y := 375;
             dtmSubPoints[5].AreaSize := 0;
             dtmSubPoints[5].AreaShape := 0;
             dtmSubPoints[5].Color := 131072;
             dtmSubPoints[5].Tolerance := 0;

             dtmSubPoints[6].x := 877;
             dtmSubPoints[6].y := 359;
             dtmSubPoints[6].AreaSize := 0;
             dtmSubPoints[6].AreaShape := 0;
             dtmSubPoints[6].Color := 131072;
             dtmSubPoints[6].Tolerance := 0;

             dtmSubPoints[7].x := 882;
             dtmSubPoints[7].y := 364;
             dtmSubPoints[7].AreaSize := 0;
             dtmSubPoints[7].AreaShape := 0;
             dtmSubPoints[7].Color := 131072;
             dtmSubPoints[7].Tolerance := 0;
           end;
      end;

      TempTDTM.MainPoint := dtmMainPoint;
      TempTDTM.SubPoints := dtmSubPoints;
      Result := AddDTM(TempTDTM);
    end;

    procedure Setup;
    begin
      MainInitForm;

      if (SRLStats_Username = '') then
        SetupSRLStats(13, 'Anonymous', 'anon1337')
      else
        SetupSRLStats(13, SRLStats_Username, SRLStats_Password);

      Smart_Members := MEMBERS;
      Smart_Server := WORLD;
      Smart_Signed := SIGNED;

      SetupSRL;

      //SRLPlayerForm(True, [], [{'Break after how many mins?'}], [{'Location'}], []);
      //DeclarePlayers;

      SetArrayLength(Hatchets, 9);
      //Hatchets:= [1351, 1349, 1353, 1361, 1355, 1357, 1359, 6739, 13661];
      for i:=0 to 8 do
        Hatchets[i]:= LoadDDTM(i);

      SetArrayLength(HatchetNames, 9);
      HatchetNames:= ['Bronze Hatchet', 'Iron Hatchet', 'Steel Hatchet', 'Black Hatchet',
                  'Mithril Hatchet', 'Adamant Hatchet', 'Rune Hatchet', 'Dragon Hatchet',
                  'Inferno Adze'];
      LoginPlayer;
      {
      SetArrayLength(ColorBox, 9);
      ColorBox:= [IntToBox(MIX1, MIY1, MIX2, MIY2), IntToBox(617, MIY1+25, MIX2, MIY1+45),
                  IntToBox(651, MIY1+45, MIX2, MIY1+65), IntToBox(609, MIY1+65, MIX2, MIY1+85),
                  IntToBox(626, MIY1+85, MIX2, MIY1+105), IntToBox(664, MIY1+105, MIX2, MIY1+125),
                  IntToBox(639, MIY1+125, MIX2, MIY1+145), IntToBox(659, MIY1+145, MIX2, MIY1+165),
                  IntToBox(637, MIY1+165, MIX2, MIY1+185)];

      SetArrayLength(Points, ((ColorBox[0].X2-ColorBox[0].X1)*(ColorBox[0].Y2-ColorBox[0].Y1)));

      for x:=ColorBox[0].X1 to ColorBox[0].X2-1 do
        for y:=ColorBox[0].Y1 to ColorBox[0].Y2-1 do
        begin
          Points[i]:= Point(x, y);
          Inc(i);
        end;
      SMART_DrawDotsEx(True,Points, 3160642);
      SMART_DrawText(MIX1+5, MIY1+5, 'UpChars', 'Shuttleu''s Vine Vanquisher', ClWhite);
      }

      MarkTime(ScriptStarted);

      SetupVars;
    end;

    function IsChopping: Boolean;
    begin
      if (averagePixelShift(IntToBox(234, 100, 289, 185), 50, 250) > 200) then
        Result:= True else
      begin
        Wait(1000);
        if (averagePixelShift(IntToBox(234, 100, 289, 185), 50, 250) > 200) then
          Result:= True else Result:= False;
      end;
    end;

    function CheckLocation: boolean;
    var
      MyPos: TPoint;
    begin
      MyPos:= SPS_GetMyPos;
      result:= (Distance(CenterTile.x, CenterTile.y, MyPos.x, MyPos.y)<10);
      if not Result then
      begin
        if SPS_WalkToPos(CenterTile) then
          Result:= True;
        MakeCompass(FaceDirection);
        Flag;
      end;
      writeln(result);
    end;

    function CheckHatchet: Boolean;
    {var
      Item: TInvItem;
      Equiped: TEquipmentItem;}

    begin
      GameTab(Tab_Inv);
      for i:= 8 downto 0 do
        if FindDTM(Hatchets[i], x, y, 547, 202, 737, 466) then
        begin
          Writeln('Found '+HatchetNames[i]+' in backpack');
          Result:= True;
          Exit;
        end;
      GameTab(Tab_Equip);
      for i:= 8 downto 0 do
        if FindDTM(Hatchets[i], x, y, 547, 202, 737, 466) then
        begin
          Writeln('Found '+HatchetNames[i]+' in hand');
          Result:= True;
          Exit;
        end else
            Writeln('Could not find '+HatchetNames[i]+' in hand');
      Writeln('You do not have a hatchet either in your backpack or weilded');
      writeln('a');
      Logout;
      writeln('b');
      ChangePlayer(False);
    end;

    function VineColor(location: string): Integer;
    var
      arP: TPointArray;
      arC: TIntegerArray;
      tmpCTS, i, arL: Integer;
      R, G, B: Integer;
      X, Y, Z: Extended;
      SpeedModifiers, XYZ: Array of Extended;
      Colors, RGB: TIntegerArray;

    begin
      SetLength(SpeedModifiers, 2);
      SetLength(XYZ, 6);
      SetLength(Colors, 2);
      SetLength(RGB, 6);
      case location of
      'vn': begin
             SpeedModifiers:= [0.14, 0.16];
             Colors:= [2705721, 5];
             RGB:= [49, 69, 58, 89, 32, 50];
             XYZ:= [2.95, 6.45, 3.80, 8.45, 2.00, 4.21];
           end;
      've': begin
             SpeedModifiers:= [0.04, 0.06];
             Colors:= [4091733, 9];
             RGB:= [63, 108, 82, 140, 45, 78];
             XYZ:= [5.68, 16.66, 7.45, 22.15, 3.71, 10.43];
           end;
      'fn': begin
              SpeedModifiers:= [0.09, 0.15];
              Colors:= [2639927, 6];
              RGB:= [40, 71, 52, 92, 28, 51];
              XYZ:= [2.39, 6.86, 3.09, 9.03, 1.61, 4.42];
            end;
      'fs': begin
              SpeedModifiers:= [0.03, 0.06];
              Colors:= [4554080, 10];
              RGB:= [72, 120, 94, 155, 52, 87];
              XYZ:= [7.46, 20.86, 9.84, 27.72, 4.86, 13.07];
            end;
      't': begin
             SpeedModifiers:= [0.03, 0.05];
             Colors:= [4751972, 10];
             RGB:= [76, 124, 98, 161, 54, 90];
             XYZ:= [8.19, 22.56, 10.76, 30.09, 5.248, 14.09];
           end;
      'a': begin
             SpeedModifiers:= [0.10, 0.15];
             Colors:= [2309936, 6];
             RGB:= [33, 64, 43, 83, 23, 46];
             XYZ:= [1.71, 5.56, 2.19, 7.30, 1.18, 3.62];
           end;
      'y': begin
             SpeedModifiers:= [0.05, 0.16];
             Colors:= [2508085, 7];
             RGB:= [35, 71, 46, 92, 25, 51];
             XYZ:= [1.91, 6.86, 2.46, 9.03, 1.33, 4.42];
           end;
      'cw': begin
              SpeedModifiers:= [0.05, 0.06];
              Colors:= [4818021, 7];
              RGB:= [84, 119, 109, 154, 60, 86];
              XYZ:= [10.14, 20.52, 13.40, 27.31, 6.45, 12.80];
            end;
      end;

      tmpCTS := GetColorToleranceSpeed;
      ColorToleranceSpeed(2);
      SetColorSpeed2Modifiers(SpeedModifiers[0], SpeedModifiers[1]);

      FindColorsSpiralTolerance(259, 170, arP, Colors[0], 4, 4, 515, 337, Colors[1]);
      if (Length(arP) = 0) then
      begin
        Writeln('Failed to find the color, no result.');
        ColorToleranceSpeed(tmpCTS);
        SetColorSpeed2Modifiers(0.2, 0.2);
        Exit;
      end;

      arC := GetColors(arP);
      ClearSameIntegers(arC);
      arL := High(arC);

      for i := 0 to arL do
      begin
        ColorToRGB(arC[i], R, G, B);

        if (R >= RGB[0]) and (R <= RGB[1]) and (G >= RGB[2]) and (G <= RGB[3]) and (B >= RGB[4]) and (B <= RGB[5]) then
        begin
          ColorToXYZ(arC[i], X, Y, Z);

          {$IFDEF SIMBA980}
            x:= x*100;
            y:= y*100;
            z:= z*100;
          {$ENDIF}

          if (X >= XYZ[0]) and (X <= XYZ[1]) and (Y >= XYZ[2]) and (Y <= XYZ[3]) and (Z >= XYZ[4]) and (Z <= XYZ[5]) then
          begin
            Result := arC[i];
            Break;
          end;
        end;
      end;

      ColorToleranceSpeed(tmpCTS);
      SetColorSpeed2Modifiers(0.2, 0.2);

      if Debug then
        if (i = arL + 1) then
          Writeln('AutoColor failed in finding the color.');
    end;

    function FindVines: Boolean;
    var
      VinePoints: TPointArray;
      TheVineColor, i: Integer;
    begin
      if Debug then
        Writeln('finding vines');
      TheVineColor:= VineColor(Players[CurrentPlayer].Strings[0]);
      if Debug then
        Writeln(TheVineColor);
      FindColorsSpiralTolerance(249, 130, VinePoints, TheVineColor, 4, 4, 515, 337, 1);
      if Debug then
        Writeln(Length(VinePoints));
      if (Length(VinePoints)>0) then
      begin
        for i:= 5 to High(VinePoints) do
          begin
            if VinePoints[i].x<(229) then DecEx(VinePoints[i].x, 10);
            if VinePoints[i].x>(289) then IncEx(VinePoints[i].x, 10);
            MMouse(VinePoints[i].x, VinePoints[i].y, 0, 0);
            Wait(500+Random(500));
            if IsUpTextMultiCustom(['hop', 'Ivy']) then
            begin
              Mouse(VinePoints[i].x, VinePoints[i].y, 0, 0, True);
              Result:= True;
              Tries:= 0;
              if Debug then
                Writeln('FoundVines');
              Break;
            end else
            begin
              Mouse(VinePoints[i].x, VinePoints[i].y, 0, 0, False);
              Wait(500+Random(500));
              if OptionsExist(['Ivy'], False) then
              begin
                ChooseOptionMulti(['hop', 'vy']);
                Result:= True;
                Tries:= 0;
                if Debug then
                  Writeln('FoundVines');
                Break;
              end else
                ChooseOption('ancel');
            end;
          end;
      end;
      if Debug then
        Writeln('finished finding vines');
    end;

    procedure ChopVines;
    begin
      if Debug then
        Writeln('chopping vines');
      if (not(FindVines)) then
        Inc(Tries);
      if (Tries > 20) then
      begin
        Writeln('Unable to find any vines :(');
        Logout;
        changePlayer(False);
      end;
      if Debug then
        Writeln('finished chopping vines');
    end;

    procedure SRL_Stats;
    var

      TempLvl: Integer;
    begin

        TempLvl:= GetSkillLevel(Skill_WoodCutting);
        Players[CurrentPlayer].Integers[7]:= TempLvl;
        stats_IncVariable('Bird Nest', (Players[CurrentPlayer].Integers[3]-Players[CurrentPlayer].Integers[8])); {Bird Nests Found}
        stats_Commit;
        Players[CurrentPlayer].Integers[4]:= Players[CurrentPlayer].Integers[6];
        Players[CurrentPlayer].Integers[5]:= Players[CurrentPlayer].Integers[7];
        Players[CurrentPlayer].Integers[8]:= Players[CurrentPlayer].Integers[3];
    end;
                          {
    procedure SmartProggy;
    var
      x, y, z, i, h, m, s, TempLvl: Integer;
    begin
      if DisableSmartProggy then Exit;
      for z:=1 to 8 do
      begin
        setarraylength(points, ((ColorBox[z].X2-ColorBox[z].X1)*(ColorBox[z].Y2-ColorBox[z].Y1)));
        i:=0;
        for x:=ColorBox[z].X1 to ColorBox[z].X2-1 do
          for y:=ColorBox[z].Y1 to ColorBox[z].Y2-1 do
          begin
            points[i]:= Point(x, y);
            inc(i);
          end;

        SMART_DrawDotsEx(False, points, 3160642);
      end;

      TempLvl:= R_GetSkillLevel(Skill_WoodCutting);

      if Debug then

      if Debug then
        Writeln(TempLvl);

      Players[CurrentPlayer].Integers[10]:= TempLvl;

      ConvertTime(TimeFromMark(ScriptStarted), h, m, s);

      SMART_DrawText(MIX1+15, MIY1+25, 'UpChars', 'Version: '+ScriptVersion, ClLime);
      SMART_DrawText(MIX1+15, MIY1+45, 'UpChars', 'Running time: '+PadZ(IntToStr(h), 2)+':'+PadZ(IntToStr(m), 2)+':'+PadZ(IntToStr(s), 2), ClLime);
      SMART_DrawText(MIX1+15, MIY1+65, 'UpChars', 'Player: '+Players[CurrentPlayer].nick, ClLime);
      SMART_DrawText(MIX1+15, MIY1+85, 'UpChars', 'WC Level: '+IntToStr(Players[CurrentPlayer].Integers[2]), ClLime);
      SMART_DrawText(MIX1+15, MIY1+105, 'UpChars', 'Vines Chopped: '+IntToStr((Players[CurrentPlayer].Integers[9]-Players[CurrentPlayer].Integers[1])/332), ClLime);
    //  SMART_DrawText(MIX1+15, MIY1+125, 'UpChars', 'Exp Gained: '+IntToStr(Players[CurrentPlayer].Integers[9]-Players[CurrentPlayer].Integers[1]), ClLime);
      SMART_DrawText(MIX1+15, MIY1+145, 'UpChars', 'Levels Gained: '+IntToStr(Players[CurrentPlayer].Integers[10]-Players[CurrentPlayer].Integers[2]), ClLime);
      SMART_DrawText(MIX1+15, MIY1+165, 'UpChars', 'Bird Nests: '+IntToStr(Players[CurrentPlayer].Integers[3]), ClLime);
    end;                 }


    Procedure PrintOnSmart(TP: TStringArray; Placement: TPoint; Colour: integer);
    var
      mx, my, Pic, I, B, H, TPH, Numb: Integer;
      TTP: TPointArray;
      Canvas: TCanvas;
    begin
      SmartSetDebug(True);
      GetClientDimensions(mx, my);
      Pic := BitmapFromString(mx, my, '');
      TPH := High(TP);
      for I := 0 to TPH do
      begin
        TTP := LoadTextTPA(TP[i], UpChars, H);
        for B := 0 to High(TTP) do
        begin
          Numb := ((I + 1) * 13);
          FastSetPixel(Pic, TTP[b].x + 1, TTP[b].y + Numb + 1,131072);
          FastSetPixel(Pic, TTP[b].x, TTP[b].y + Numb, Colour);
        end;
      end;
      Canvas := TCANVAS.Create;
      Canvas.Handle := SmartGetDebugDC;
      DrawBitmap(Pic, Canvas, Placement.x, Placement.y);
      FreeBitmap(Pic);
    end;

    Procedure OnScreen;
    Var
      h, m, s, TempExp: Integer;
      SmartLines: TStringArray;
    begin
    //  TempExp:= GetXPBarTotal;

      if Debug then
        Writeln(TempExp);

      ConvertTime(TimeFromMark(ScriptStarted), h, m, s);

      SetArrayLength(SmartLines, 7);

      SmartLines[0]:= 'Running time: '+PadZ(IntToStr(h), 2)+':'+PadZ(IntToStr(m), 2)+':'+PadZ(IntToStr(s), 2);
      SmartLines[1]:= 'Woodcutting Level: '+IntToStr(Players[CurrentPlayer].Integers[10]);
      SmartLines[2]:= 'Vines Chopped: '+IntToStr((Players[CurrentPlayer].Integers[9]-Players[CurrentPlayer].Integers[1])/332);
      SmartLines[3]:= 'Levels Gained: '+IntToStr(Players[CurrentPlayer].Integers[10]-Players[CurrentPlayer].Integers[2]);
     // SmartLines[4]:= 'Experience Gained: '+IntToStr(Players[CurrentPlayer].Integers[9]-Players[CurrentPlayer].Integers[1]);
    //  SmartLines[5]:= 'Experience/hr: '+IntToStr(round((Players[CurrentPlayer].Integers[9]-Players[CurrentPlayer].Integers[1])/ (h * 1.0 + m / 60.0 + s / 3600.0)));
      SmartLines[6]:= 'Birds Nests: '+IntToStr(Players[CurrentPlayer].Integers[3]);

      PrintOnSmart(['~Vine Vanquisher '+ScriptVersion+' (by Shuttleu)~'],Point(15,20),65280);
      PrintOnSmart(SmartLines,Point(10,50),clWhite);

    end;

    procedure Proggy(MainLoop: Boolean);
    var
      TempExp, TempLvl, Player: Integer;
    begin
      if (p=100)or(not(MainLoop)) then
      begin
        TempLvl:= GetSkillLevel(Skill_WoodCutting);
       // TempExp:= GetXPBarTotal;
        //ClearDebug;
        if Debug then
          Writeln(TempExp);
        if Debug then
          Writeln(TempLvl);
        if (TempExp > Players[CurrentPlayer].Integers[9]) then
          Players[CurrentPlayer].Integers[9]:= TempExp;
        if (TempLvl > Players[CurrentPlayer].Integers[10]) then
          Players[CurrentPlayer].Integers[10]:= TempLvl;
        Writeln('*********************************************');
        Writeln('Shuttleu''s Vine Vanquisher Progress Report');
        Writeln('*********************************************');
        Writeln('Version: '+ScriptVersion);
        Writeln('*********************************************');
        Writeln('Ran for: '+ TimeRunning);
        Writeln('*********************************************');
        for Player:=0 to High(Players) do
        begin
          Writeln('Player: '+Players[Player].Nick);
          Writeln('Woodcutting Level: '+IntToStr(Players[Player].Integers[10]));
       //   Writeln('Experience Gained: '+IntToStr(Players[Player].Integers[9]-Players[Player].Integers[1]));
          Writeln('Levels Gained: '+IntToStr(Players[Player].Integers[10]-Players[Player].Integers[2]));
          Writeln('Bird Nests Found: '+IntToStr(Players[Player].Integers[3]));
          Writeln('Vines chopped: '+IntToStr((Players[Player].Integers[9]-Players[Player].Integers[1])/332));
          Writeln('*********************************************');
          Writeln('Location: '+ Players[Player].Strings[0]);
          Writeln('*********************************************');
        end;
        p:=0;
        SRL_Stats;
        OnScreen;
      end else
        p:= p + 1;
    end;

    procedure TheAntiban;
    var
      Chance: Integer;
    begin
      Chance:= Random(101);
      if Chance<=AntibanChance then
        case Random(101) of
          1..20: begin
                   HoverSkill('Woodcutting', false);
                   Wait(1000+Random(500));
                   GameTab(tab_Inv);
                 end;
          21..40: PickUpMouse;
          41..60: RandomMovement;
          61..80: BoredHuman;
          81..100: ExamineInv;
        end;
      ChooseOption('ancel');
      MakeCompass(FaceDirection);
    end;

    procedure DoRandomCheck(MainLoop: Boolean);
    begin
      if Debug then
        Writeln('Starting random check');
      if MainLoop then
      begin
        if (y=25) then
        begin
          if FindNormalRandoms then
            Wait(5000+Random(3000));
          y:=0;
        end else
          y:= y + 1;
      end else
        if FindNormalRandoms then
          Wait(5000+Random(3000));
      if Debug then
        Writeln('Finished random check');
    end;
                                 {
    function AddGroundItemArrays(Array1, Array2: TGroundItemArray): TGroundItemArray;
    var
      x, y, z: Integer;
    begin
      x:= Length(Array1);
      y:= Length(Array2);
      SetArrayLength(Result, x+y);

      for z:= 0 to High(Array1) do
        Result[z]:= Array1[z];

      for z:= 0 to y-1 do
        Result[(x+y)-(y-z)]:= Array2[z];
    end;

    function GetItemsInBox(Box: TBox): TGroundItemArray;
    var
      x, y: Integer;
      Temp: TGroundItemArray;
    begin
      for x:= Box.X1 to Box.X2 do
        for y:= Box.Y1 to Box.Y2 do
        begin
          Temp:= R_GetGroundItemsAt(Tile(x, y));
          Result:= AddGroundItemArrays(Result, Temp);
        end;
    end;

    function MyFindBirdsNestColor: Boolean;
    var
      ChatLines: TStringArray;
      i, x, y: Integer;
      FoundNest: Boolean;
      TheBox: TBox;
      TilePosition: TPoint;
      ThePlayer: TPlayer;
    begin
      if DropRingNests then R_DropAllItemsBy(5074);
      ChatLines:= ChatBoxTextArray(255);
      for i:=1 to 8 do
        if (Pos('nest falls out of', ChatLines[i]) <> 0) then
        begin
          FoundNest:= True;
          Break;
        end;
      for i:=i to 8 do
        if (Pos('swing your hatchet', ChatLines[i]) <> 0) then
        begin
          FoundNest:= False;
          Break;
        end;
      if FoundNest then
      begin
        ThePlayer:= R_GetMe;
        case FaceDirection of
          'N': TheBox:= IntToBox(ThePlayer.Tile.x-1, ThePlayer.Tile.y-1, ThePlayer.Tile.x+1, ThePlayer.Tile.y);
          'E': TheBox:= IntToBox(ThePlayer.Tile.x-1, ThePlayer.Tile.y-1, ThePlayer.Tile.x, ThePlayer.Tile.y+1);
          'S': TheBox:= IntToBox(ThePlayer.Tile.x-1, ThePlayer.Tile.y, ThePlayer.Tile.x+1, ThePlayer.Tile.y+1);
          'W': TheBox:= IntToBox(ThePlayer.Tile.x, ThePlayer.Tile.y-1, ThePlayer.Tile.x+1, ThePlayer.Tile.y+1);
        end;
        for x:=TheBox.X1 to TheBox.X2 do
          for y:=TheBox.Y1 to TheBox.Y2 do
          begin
            TilePosition:= R_TileToMS(Tile(x, y), 0);
            Mouse(TilePosition.x, TilePosition.y, 0, 0, False);
            if R_OptionExists('ird') then
            begin
              ChooseOptionMulti(['ake', 'ird']);
              Result:= True;
              Exit;
            end else
              ChooseOption('Cancel');
          end;
      end;
    end;

    function MyFindBirdsNest: Boolean;
    var
      GroundItems: TGroundItemArray;
      i: Integer;
      BirdNestLoc: TTile;
      ThePlayer: TPlayer;
    begin
      if Debug then
        Writeln('Searching for birds nest');
      ThePlayer:= R_GetMe;
      case FaceDirection of
        'N': GroundItems:= GetItemsInBox(IntToBox(ThePlayer.Tile.x-1, ThePlayer.Tile.y-1, ThePlayer.Tile.x+1, ThePlayer.Tile.y));
        'E': GroundItems:= GetItemsInBox(IntToBox(ThePlayer.Tile.x-1, ThePlayer.Tile.y-1, ThePlayer.Tile.x, ThePlayer.Tile.y+1));
        'S': GroundItems:= GetItemsInBox(IntToBox(ThePlayer.Tile.x-1, ThePlayer.Tile.y, ThePlayer.Tile.x+1, ThePlayer.Tile.y+1));
        'W': GroundItems:= GetItemsInBox(IntToBox(ThePlayer.Tile.x, ThePlayer.Tile.y-1, ThePlayer.Tile.x+1, ThePlayer.Tile.y+1));
      end;
      for i:=0 to High(GroundItems) do
        if (GroundItems[i].ID > 5069) and (GroundItems[i].ID < 5076) then
        begin
          writeln('found birds nest');
          writeln('picking up birds nest');
          BirdNestLoc:= R_TileToMS(GroundItems[i].Tile, 0);
          Mouse(BirdNestLoc.x, BirdNestLoc.y, 0, 0, False);
          Wait(250+Random(500));
          if ChooseOptionMulti(['ake', 'ird', 'est']) then
          begin
            Result:= True;
            writeln('picked up birds nest :)');
            Break;
          end;
        end;
      if Debug then
        Writeln('Finished searching for birds nest');
    end;

    {*******************************************************************************
    procedure AutoUpdateMe;
    By: Harry & Shuttleu
    Description: Checks for the latest version of the script and if a newer version
    is found it will update the script.
    *******************************************************************************}

    procedure AutoUpdateMe;
    var ClientUp, Neifile:integer;
        OnlineVersion, NewScript, NeiFeilNennen:string;
    begin
      if UseAutoChecker then
      begin
        writeln('Checking for script updates...');
        ClientUp := InitializeHTTPClient(False, False);
        SetHTTPUserAgent(ClientUp,'Simba ' + ScriptVersion);
        OnlineVersion := GetHTTPPage(ClientUp,'http://shuttleu-simba-scripts.googlecode.com/git/vinevanquisher/vinevanquisher-version.txt');
        writeln(onlineversion);
        writeln(ScriptVersion)
        FreeHTTPClient(ClientUp);
        if (Length(trim(OnlineVersion)) = 3) and (trim(OnlineVersion) > ScriptVersion) then
        begin
          writeLn('Newer script version online!');
          writeLn('Autoupdating to newer version.');
          ClientUp := InitializeHTTPClient(False,False);
          SetHTTPUserAgent(ClientUp,'Simba');
          NewScript := GetHTTPPage(ClientUp,'http://shuttleu-simba-scripts.googlecode.com/git/vinevanquisher/vinevanquisher-current.simba');
          FreeHTTPClient(ClientUp);

          NeiFeilNennen := ScriptPath + 'VineVanquisher v'+trim(OnlineVersion)+' by Shuttleu.simba';
          Neifile := Rewritefile(NeiFeilNennen, true);
          try
            WriteFileString(Neifile, NewScript);
          except
            begin
              writeLn('Fatal error writing to '+NeiFeilNennen+'!!');
              terminatescript;
            end;
          end;
          CloseFile(Neifile);
          writeLn('New script downloaded and saved at '+NeiFeilNennen+' !! Please use this!');
          TerminateScript;
        end else
        begin
          if (Length(trim(OnlineVersion)) <> 3) then
            WriteLn('Version checking failed (debug: length was not equal), you might be outdated.')
            else writeLn('You have the latest version of the script!');
        end;


        writeln('Checking for script updates...');
        ClientUp := InitializeHTTPClient(False, False);
        SetHTTPUserAgent(ClientUp,'Simba ' + ScriptVersion);
        OnlineVersion := GetHTTPPage(ClientUp,'http://shuttleu-simba-scripts.googlecode.com/git/vinevanquisher/VVForm-version.txt');
        writeln(onlineversion);
        writeln(FormVersion)
        FreeHTTPClient(ClientUp);
        if (Length(trim(OnlineVersion)) = 3) and (trim(OnlineVersion) > FormVersion) then
        begin
          writeLn('Newer script version online!');
          writeLn('Autoupdating to newer version.');
          ClientUp := InitializeHTTPClient(False,False);
          SetHTTPUserAgent(ClientUp,'Simba');
          NewScript := GetHTTPPage(ClientUp,'http://shuttleu-simba-scripts.googlecode.com/git/vinevanquisher/VVForm.simba');
          FreeHTTPClient(ClientUp);

          NeiFeilNennen := IncludePath + 'VVForm.simba';
          Neifile := Rewritefile(NeiFeilNennen, true);
          try
            WriteFileString(Neifile, NewScript);
          except
            begin
              writeLn('Fatal error writing to '+NeiFeilNennen+'!!');
              terminatescript;
            end;
          end;
          CloseFile(Neifile);
          writeLn('New form downloaded!! Please restart the script!');
          TerminateScript;
        end else
        begin
          if (Length(trim(OnlineVersion)) <> 3) then
            WriteLn('Version checking failed (debug: length was not equal), you might be outdated.')
            else writeLn('You have the latest version of the script!');
          exit;
        end;
      end else
        WriteLn('!!!!! Not checking for latest version, you may be outdated!');
    end;
                                 {
    procedure SwitchTheWorld;
    var
      ThePlayers: array of TPlayer;
      a, b, i: Integer;
    begin
      if SwitchWorld then
      begin
        ThePlayers:= R_GetAllPlayers;
        for a:=0 to High(ThePlayers) do
          for b:=0 to High(Tiles) do
            if (ThePlayers[a].Tile = Tiles[b]) then
              Inc(i);
        if ((i >= MaxPlayers) or ((LastSwitch div HowManyLoads)=1) or (TimeFromMark(TimeSinceLastSwitch) > (SwitchTime*60*1000))) then
          if ExitToLobby then
          begin
            SelectWorld(RandomWorld(True, False));
            LoginPlayer;
            LastSwitch:= 0;
            MarkTime(TimeSinceLastSwitch);
            SetupVars;
          end;
      end;
    end;

    {By Brak}

    Procedure TurnAidOff;
    begin
      if Players[CurrentPlayer].Booleans[0] then Exit;
      if TabExists(tab_Options) then
        if GameTab(tab_Options) then
        begin
          if 142 = CountColorTolerance(1711226, 639, 456, 690, 502, 5) then
            exit
          else
          begin
            MouseBox(650,472,675,495,3);
            if WaitUpTextMulti(['ccep', 'cept', ' Aid'], 500) then
              ClickMouse2(True);
          end;
        end;
      Gametab(tab_Inv);
      Players[CurrentPlayer].Booleans[0]:= True;
    end;

    procedure DoBreak;
    var
      BreakTime, T, h, m, s: Integer;
    begin
      if (TimeFromMark(TimeSinceLastBreak) > ((Players[CurrentPlayer].Integers[0]*60*1000)+Random(5*60*100))) then
        if (PlayersActive > 1) then
        begin
          Proggy(False);
          if Debug then
            Writeln('Starting Break');
          if Debug then
            Writeln(PlayersActive);
          ChangePlayer(True);
          if Debug then
            Writeln('Finished Break');
          MarkTime(TimeSinceLastBreak);
        end else
        begin
          Proggy(False);
          if Debug then
            Writeln('Starting Break');
          BreakTime:= ((BreakMins*60*1000)+Random(5*60*1000));
          Logout;
          MarkTime(T);
          repeat
            Wait(1000);
            ConvertTime(BreakTime-TimeFromMark(T), h, m, s);
            Status('Breaktime left: '+PadZ(IntToStr(h), 0)+':'+PadZ(IntToStr(m), 0)+':'+PadZ(IntToStr(s), 0));
          until(TimeFromMark(T)>BreakTime);
          if Debug then
            Writeln('Finished Break');
          LoginPlayer;
          SetupVars;
          MarkTime(TimeSinceLastBreak);
        end;
    end;

    procedure ScriptTeminate;
    begin
      for i:=0 to 8 do
        FreeDTM(Hatchets[i]);
    end;

    function MyFindBirdsNest: Boolean;
    var
      x, y: Integer;
      ChatBoxStuff: string;
    begin
      if Debug then Writeln('Looking for a birds nest');
      x:= 260;
      y:= 211;
      ChatBoxStuff:= GetChatBoxText(8, 255);
      if Debug then Writeln(ChatBoxStuff);
      if (Pos('A bird', ChatBoxStuff)<>0) then
      begin
        if Debug then Writeln('Found the red text');
        if FindObjCustom(x, y, ['ake B', 'Bird', 'nest'], [2767422, 2961972, 3818051, 2833729, 2306100, 3949638], 5) then
        begin
          if Debug then Writeln('Found a birds nest!');
          Mouse(x, y, 0, 0, True);
          Result:= True;
        end;
      end;
      if Debug then Writeln('Finished looking for a birds nest');
    end;

    begin
      AutoUpdateMe;
      Setup;
      CheckHatchet;
      repeat
        OnScreen;
        if (not(IsChopping)) then
        begin
          OnScreen;
          TurnAidOff;
          DoBreak;
          DoRandomCheck(False);
          ChopVines;
          //SRL_Stats;
          //SwitchTheWorld;
          Inc(LastSwitch);
        end;
        Wait(1000+Random(2000));
        if MyFindBirdsNest then
        begin
          Inc(Players[CurrentPlayer].Integers[3]);
          FindVines;
        end;
        DoRandomCheck(True);
        if UseAntiban then
          TheAntiban;
        Proggy(True);
      until(False);
    end.
    {------------------------------------------------------------------------------}
    {******************************************************************************}
    {******************************************************************************}
    {******************************************************************************}
    {******************************************************************************}
    {******************************************************************************}
    {******************************************************************************}
    {******************************************************************************}
    {******************************************************************************}
    {******************************************************************************}
    {******************************************************************************}
    {******************************************************************************}
    {------------------------------------------------------------------------------}
    {-------------------------------Change log-------------------------------------

    V4.2 - Fixed bird nest bug (wouldnt chop ivy again if there was someone already chopping)

    V4.1 - Fixed birds nest finding
           Fixed another vine searching bug
           Small Antiban fix

    V4.0 - Memory leak fix
           Added encryption to the ini file

    V3.9 - Hopefull finally fixed Inferno Adze

    V3.8 - Added a simba bug fix

    V3.7 - Attempt to fix a out of range error

    V3.6 - Added Inferno Adze support

    V3.5 - Removed SPS until SPS 2.0 is out

    V3.4 - Memory Fixes

    V3.2 - Hopefully fixed the vine searching bug

    V3.2 - Fixed a bug with taverly

    V3.1 - Fixed a bug with ve and vn
           Fixed the XP counter

    V3.0 - Completely converted to colour to survive the "bot-nuke"

    V2.6 - Fixed updater and SMART Painting

    V2.5 - Redone SMART Painting

    V2.4 - Updated to R2
           Switched to git

    V2.3 - Slight change to breaking
           Changed back to full reflection nest finding

    V2.2 - Fixed a small problem with the stats decleration

    V2.1 - Added Harrys auto updater/version checker

    V2.03 - Renamed a couple of functions to make it fully working again

    V2.02 - Updated for a change in Reflection

    V2.01 - Updated for the new SRL Stats

    V2 - Added SMART Proggy
         Improved bird nest finding
         Added form
         All features I wanted are now added

    V1.99 - Added Color/Reflection birdsnest finding (still needs testing)
            Added switching world after x mins/loads or if players is more than set amount
            Fixed breaking bug
            Can now select percentage of antiban
            Can set it to ignore outdated hooks
            Added check to make sure Accept Aid is turned off
            Added custom vars for SRL Stats
            Im sure there were a couple more but i cant remember :p

    V1.91 - Forgot to incorperate breaking correctly

    V1.9 - Added Breaks and Antiban

    V1.81 - Removed reflection bird nest finderf due to memory leaks in SMART

    V1.8 - Added Varrock Castle East and renamed Varrock to Varrock Castle North
           Edited the way the player is set up
           Made and now using my own bird nest finder that acctually works

    V1.72 - Replaced level and experience finding with reflection
            Added birdnest support

    V1.71 - Couple of small tiny edits

    V1.7 - Added extra info to proggy and made fully multiplayer

    V1.6 - Improved vine finding and fixed a little Animation bug

    V1.53 - Had to remove the stats info and made it open the script thread when it is outdated

    V1.52 - Changed the height it uses and fixed the walking error

    V1.51 - Added location to progress report

    V1.5 - Changed MakeCompass from Reflection to SRL

    V1.4 - Added SRL Stats
           Added version checker

    V1.3 - Added all vine locations

    V1.2 - Dont have to stand against the wall to start

    V1.1 - Added AntiRandoms

    V1.0 - First public beta release

    }
    Last edited by Zyt3x; 01-17-2012 at 11:08 PM.

  14. #789
    Join Date
    Jan 2012
    Location
    Long Island, NY
    Posts
    413
    Mentioned
    5 Post(s)
    Quoted
    95 Post(s)

    Default

    Quote Originally Posted by ashaman88 View Post
    w/ the update today a few things have messed up, but the script still works for the most part.

    -Tracking exp doesn't work - doesn't recognize the new icon for wc
    -It keeps clicking the xp button over and over because it does not recognize the new position of it
    -If it uses the right click to go to the next spot it won't hit cancel because of the new box, but the mouse continues to float to new spots so the box eventually disappears and it clicks on a new spot (just makes it a little slow).

    Hope this helps! PS great script I have really love it!
    I'm also having the same issues with the xp button, I'm sure everyone else is. I hope you can update the script today!

  15. #790
    Join Date
    Jan 2012
    Posts
    1
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Where are the logs for this script stored? like how long it has run and stuff

    thnks

  16. #791
    Join Date
    Dec 2011
    Posts
    9
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    The original works great sofar! With the text.simba update. Though one flaw I have seen is that it keeps clicking the exp button to try to grab the exp for the counter, but after the ivy vine is depleted it stops clicking the exp and then it selects another ivy vine after about 5 seconds. Works good but could be fine tuned.

  17. #792
    Join Date
    Dec 2011
    Posts
    9
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default



    Lol, still works well just a bit bugged on the expcounter...

  18. #793
    Join Date
    Jan 2012
    Posts
    43
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    i keep getting failed to find the color, no result.
    0
    119


    and it right clicks on the exp counter and keeps doing that

    it sometimes works but most of the time i get tht
    halp plz

  19. #794
    Join Date
    Aug 2007
    Location
    in a random little world
    Posts
    5,778
    Mentioned
    0 Post(s)
    Quoted
    7 Post(s)

    Default

    Quote Originally Posted by Brotein View Post


    I'm also having the same issues with the xp button, I'm sure everyone else is. I hope you can update the script today!
    thats a SRL problem, not my scripts fault
    Quote Originally Posted by dwarfgamer993 View Post
    Where are the logs for this script stored? like how long it has run and stuff

    thnks
    the longest ones are on the front page
    if you mean the ones that are printed out, they are not saved, they are just printed in the debug box
    Quote Originally Posted by Colt View Post
    The original works great sofar! With the text.simba update. Though one flaw I have seen is that it keeps clicking the exp button to try to grab the exp for the counter, but after the ivy vine is depleted it stops clicking the exp and then it selects another ivy vine after about 5 seconds. Works good but could be fine tuned.
    once again, not my scripts fault.
    Quote Originally Posted by Colt View Post


    Lol, still works well just a bit bugged on the expcounter...
    same as above
    Quote Originally Posted by jagsta21 View Post
    i keep getting failed to find the color, no result.
    0
    119


    and it right clicks on the exp counter and keeps doing that

    it sometimes works but most of the time i get tht
    halp plz
    where are you using it?
    have you tried anywhere else?

    ~shut

    EDIT: just updating for crashsmart

    EDIT: got a version i want someone/some people to test
    Last edited by Shuttleu; 01-17-2012 at 05:56 PM.

  20. #795
    Join Date
    Dec 2011
    Posts
    88
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Skoll boots ill test

  21. #796
    Join Date
    Aug 2007
    Location
    in a random little world
    Posts
    5,778
    Mentioned
    0 Post(s)
    Quoted
    7 Post(s)

  22. #797
    Join Date
    Dec 2011
    Location
    Hyrule
    Posts
    8,662
    Mentioned
    179 Post(s)
    Quoted
    1870 Post(s)

    Default

    Also just to note you need to have the "exp pop up" turned to off or the script hovers over the tree picture at the top (when you get exp) until it goes away. Meaning that after the ivy is cut you can't move onto the next one until the few seconds it takes for that picture to disappear.

  23. #798
    Join Date
    Jan 2012
    Posts
    3
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Doesn't work for me when I try to run this pops up:

    Access Violation

    Press ok to ignore and risk data violation
    Press cancel to kill the program

    Pressing ok does nothing, and canceling closes it.

  24. #799
    Join Date
    Dec 2011
    Posts
    8
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    I could test the version for you as well if u would like

  25. #800
    Join Date
    Aug 2007
    Location
    in a random little world
    Posts
    5,778
    Mentioned
    0 Post(s)
    Quoted
    7 Post(s)

    Default

    Quote Originally Posted by ashaman88 View Post
    Also just to note you need to have the "exp pop up" turned to off or the script hovers over the tree picture at the top (when you get exp) until it goes away. Meaning that after the ivy is cut you can't move onto the next one until the few seconds it takes for that picture to disappear.
    unfortunately, due to the way that GetXPBarTotal works, i cannot stop this
    Quote Originally Posted by Jess3 View Post
    Doesn't work for me when I try to run this pops up:

    Access Violation

    Press ok to ignore and risk data violation
    Press cancel to kill the program

    Pressing ok does nothing, and canceling closes it.
    does it highlight a particular line?
    are you running it as administrator?
    Quote Originally Posted by lxgodxl View Post
    I could test the version for you as well if u would like
    pm'ing you now

    ~shut

Page 32 of 45 FirstFirst ... 22303132333442 ... LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •