Results 1 to 6 of 6

Thread: RAM_RUNE's Cabbage Picker, need help please

  1. #1
    Join Date
    Oct 2006
    Location
    MI USA
    Posts
    3,166
    Mentioned
    6 Post(s)
    Quoted
    11 Post(s)

    RAM_RUNE's Cabbage Picker, need help please

    Ok, Here it is, after months of reading here..this is my first project I have been working on...I've grabbed bits and pieces from different scripts, so if you see something familiar, and I used it and didn't credit you, please don't be to upset...this is just a test for me right now...and If I ever manage to get a grasp on scripting and actually release it or use anybody elses work in the future, I will be sure to credit them.......

    So, as it stands right now..it complies, logs in No Problem...but I could really use some help In the folowing areas...

    • Map walking ( I read Fakawi's tut on this and used his script in paint, as recomended,
      but I'm still haveing a hard time translating it into what I want/need it to do).Right
      now, it makes the character head to the east, I need to go northwest....
    • UpText..I would like to use the uptext from the stile(and gate) and the cabbage as a
      second means to complete this task, or instead of using DTMs....But I'm not sure at
      all how to use them at all....
    • Proper use of DTMS...it just clicks side to side very Rapidly, and when the inventory is
      full, it seems to search under the characters feet....



    I'm sure there are other area I can improve upon as well, but I feel if I can get these fundamentals down, then I can move forward and work on those...I'm not expecting anyone to rewrite this script for me, nor do I want them to..the reason for choosing to make this, is that it doesn't really have much of a use ,but I thought it was somewhat of an original idea, therefore I would be forced to make my own procedures for walking to this particular area, climbing over this particular obsticle, and finding this particular color, all of which I have not seen used in any other scripts......
    As always, Any and All help is greatly appreciated, RAM

    SCAR Code:
    program RAM_RUNECabbagePicker;

    {MADE IN USA by RAM_RUNE}
    {start at draynor village bank logged out}
    {Will pick a full load of Cabbages in the field}
    {to the Northwest and bank them in Draynor village}



    {.include SRL/SRL.scar}
    {.include SRL\SRL\Extended\Obsolete.Scar}


    var
      cabbage,tripsdone,stile: Integer;

    Const StartPlayer          = 0;
          amounttrips=2;
    {---------------------------------declare your players-------------------------}
    Procedure DeclarePlayers;
     begin
         HowManyPlayers:=3;

         NumberOfPlayers(HowManyPlayers);
         CurrentPlayer := StartPlayer;

         Players[0].Name :='';
         Players[0].Pass :='';
         Players[0].Nick :='';
         Players[0].Loc  :='';
         Players[0].Active:=True;


         Players[1].Name :='';
         Players[1].Pass :='';
         Players[1].Nick :='';
         Players[1].Loc  :='';
         Players[1].Active:=True;


         Players[2].Name :='';
         Players[2].Pass :='';
         Players[2].Nick :='';
         Players[2].Loc  :='';
         Players[2].Active:=True;


     end;

    procedure setup;
     begin
      setupsrl;
     end;

    procedure login1;
     begin
      if(not(LoggedIn)) then LoginPlayer;
     end;
    {--------------------------------cabbage and stile dtms------------------------}
    procedure loaddtm;
     begin
      cabbage:= DTMFromString('78DA6334656460E0016220E00062106BF3B51' +
           '4063928FB3F103022A98101901A06A81A306D026489A1AA496A53' +
           'C254C38AAA26BDD916558D1D90C58BAAA664BE26AA1A5D4C35312' +
           '566286A009F510E13');

      stile:= DTMFromString('78DA639CC9C8C07007888180158841AC102F0' +
           'B060128FB3F103082D43C84A88181841007300D13659C0A64DD44' +
           '559319E386AA662E90751B554D80BB29AA9AE940D669543520F72' +
           '0AB0100E1800FD5');
     end;

    {----------------------------antirandoms/antiban-------------------------------}
    procedure antirandoms;

     begin
         Findnormalrandoms;
         AntiBan;
         RandomChatEvery( 3 );
         LeaveScreenEvery( 1 );
     end;

    {-----------------------------findbank-----------------------------------------}
    procedure findbank1;
     begin
        if (FindSymbol(x,y, 'bank')) then
        Ftwait(2002 + random(6 * 6 / 2 + 5 - 2));
        MMouse(x, y, 0, 0);
     end;

    {-------------------------------getting from bank to cabbage field-------------}
    procedure BankToCabbageField;

     begin
       if ( not ( LoggedIn )) then Exit;
       MakeCompass('N');
       RadialRoadWalk(RoadColor, 50, 10, 70, -1, 0);
       RadialRoadWalk(RoadColor, 60, 140, 70, -1, 0);
       RadialRoadWalk(RoadColor, 320, 400, 60, -1, 0);
       antirandoms;
     end;

    {------------------------------entering cabbage field via stile----------------}
    procedure FindStile;

     begin
       if(finddtm(stile,x,y, 335, 235, 492, 242 ))  then
       Mouse(x,y,2,3,true);
       Ftwait(200);
       Mouse(x,y, 2,3,true);
       antirandoms;
     end;

    {------------------------------picking cabages---------------------------------}
    procedure PickCabbage;
     begin
      repeat
       if(finddtm(cabbage,x,y, 335, 235, 492, 242 )) then
       Mouse(x,y,2,3,true);
       Ftwait(3000);
       Mouse(x,y,2,3,true);
       until(InvFull) Writeln('Inventory full, going to bank')
       FindStile;
       Ftwait(1000 +random(200));
       antirandoms;
     end;

    {-------------------------------walking from cabbage field back to bank--------}
    procedure CabbageFieldToBank;

     begin
      if ( not ( LoggedIn )) then Exit;
      MakeCompass('N');
      RadialRoadWalk(RoadColor, 50, 90, 70, -1, 0);
      RadialRoadWalk(RoadColor, 60, 140, 70, -1, 0);
      RadialRoadWalk(RoadColor, 22, 200, 30, -1, 0);
      antirandoms;
     end;

    {---------------------------------banking cabbages-----------------------------}
    procedure BankCabbage;
     begin
      OpenBank3;
      DepositAll;
      CloseBank;
      antirandoms;
      SetRun(true);
      tripsdone:=tripsdone+1;
      cabbage:=cabbage+28
     end;

    {-------------------------------progress report--------------------------------}
    procedure progressreport;
     begin
       writeln('@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@');
       writeln('@  RAM_RUNE CABBAGE PICKER PROGRESS REPORT                  @');
       writeln('@  WORKED FOR '+intToStr(Players[CurrentPlayer].Worked)+'   @');
       writeln('@  MADE '+inttostr(tripsdone)+' TRIPS SO FAR                @');
       writeln('@  PICKED  '+inttostr(cabbage)+ 'CABBAGES SO FAR           @');
       writeln('@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@');
      SRLRandomsReport;
     end;

    {-------------------------------------set up and main loop---------------------}
    Procedure SetUpScript;
     begin

         DeclarePlayers;
         Reincarnate    := True;
         SymbolAccuracy := 0.6;
         BenMouse       := False;
         MouseSpeed     := 15;
         LoginPlayer;

     end;

     begin
       repeat
      setup;
      DeclarePlayers;
      login1;
      loaddtm;
      antirandoms;
      findbank1;
      BankToCabbageField;
      FindStile;
      PickCabbage;
      CabbageFieldToBank;
      BankCabbage;
      progressreport;
      SetUpScript;
       until
      (tripsdone=amounttrips);
      logout;
    end.


  2. #2
    Join Date
    Feb 2006
    Location
    Amsterdam
    Posts
    6,136
    Mentioned
    28 Post(s)
    Quoted
    17 Post(s)

    Default

    • The Minimap RockColor is stable. Grab it at script startup (use Draynor Color finder in misc...start loggedin, face N) and walk up until you see the great Rock cluster, then turn right (Look at my potatoepicker)
    • Use a FindColoredArea for Cabbage picking.
    • Use a combination of techniques to open the gate. (look at my Potatoepicker too (and copy code!)....)



    Good Work. Keep it up!
    SRL is a Library of routines made by the SRL community written for the Program Simba.
    We produce Scripts for the game Runescape.

  3. #3
    Join Date
    Oct 2006
    Location
    MI USA
    Posts
    3,166
    Mentioned
    6 Post(s)
    Quoted
    11 Post(s)

    Default

    Thanks Fakawi, your support means alot to me...I'll definately be sure to look into your script , sounds alot like the same procedures I'm working on.... Thanks again for pointing me in the right direction, RAM


  4. #4
    Join Date
    Jan 2007
    Location
    Somewhere....
    Posts
    77
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default Cabbage picker?

    Whats the point of a cabbage picker exaclty? Do you gain exp in anything? Looks good though!

  5. #5
    Join Date
    Sep 2006
    Posts
    5,219
    Mentioned
    4 Post(s)
    Quoted
    1 Post(s)

    Default

    same as potato picker, payment for farming and used in trading so you're not trading for nothing

  6. #6
    Join Date
    Oct 2006
    Location
    MI USA
    Posts
    3,166
    Mentioned
    6 Post(s)
    Quoted
    11 Post(s)

    Default Ver 1.1..not any better.....

    SCAR Code:
    {=========================================================================]
    [                   SRL Cabbage Picker.                                   ]
    [                                                                         ]
    [           NAME        : SRL Cabbage Picker.                             ]
    [           WRITER      : RAM_RUNE                                        ]
    [           CATEGORY    : .....                                           ]
    [           DESCRIPTION :                                                 ]
    [           USAGE       : For any kind of collecting script.              ]
    [           AUTOCOLOR   : Yes                                             ]
    [           NOTES       :                                                 ]
    [           CONTACT     :                                                 ]
    [                                                                         ]
    [                                                                         ]
    [=========================================================================]
    [         This script picks cabbages in dryanor village and banks them    ]
    [=========================================================================]
    [                           Instructions.                                 ]
    [=========================================================================]
    [ 1. USE Runescape with Low Detail, Very Bright.                          ]
    [ 2. Set your Screen to 32 bit TRUE color.                                ]
    [ 3. Set Playernames and Passwords in DeclarePlayers.                     ]
    [ 4. SET HOWMANYPLAYERS inside DeclarePlayers                             ]
    [ 5. Start script Logged Out!                                             ]
    [=========================================================================}


    program SRLTemplate;

    {.include SRL/SRL.scar}

    var
      cabbage,tripsdone,stile: Integer;


    //******************** Set These Constants if Needed  *******************//

    const StartPlayer         = 0;     // Determines who will play first
    Const Loads               = 3;     // Number of loads before switching Player.

    //**********************RuneScape Constants*******************************//


    //************************************************************************//
    const VersionNumber       = '1.1';      // Compliant with Rev 568+
    //************************************************************************//

    Procedure DeclarePlayers;
    begin
         HowManyPlayers  :=1;               // Set Number of Players here.
         NumberOfPlayers(HowManyPlayers);   // Sets the Players Array Length;
         CurrentPlayer:=StartPlayer;        // CurrentPlayer = Array Index

         Players[0].Name :='';
         Players[0].Pass :='';
         Players[0].Nick :='';
         Players[0].Loc  :='Loc1';
         Players[0].Skill:='';
         Players[0].Active:=True;

         {Players[1].Name :='';
         Players[1].Pass :='';
         Players[1].Nick :='';
         Players[1].Loc  :='Loc1';
         Players[1].Skill:='';
         Players[1].Active:=True;

         Players[2].Name :='';
         Players[2].Pass :='';
         Players[2].Nick :='';
         Players[2].Loc  :='Loc1';
         Players[2].Skill:='';
         Players[2].Active:=True;

         Players[3].Name :='';
         Players[3].Pass :='';
         Players[3].Nick :='';
         Players[3].Loc  :='Loc1';
         Players[3].Skill:='';
         Players[3].Active:=True;

         Players[4].Name :='';
         Players[4].Pass :='';
         Players[4].Nick :='';
         Players[4].Loc  :='Loc1';
         Players[4].Skill:='';
         Players[4].Active:=True;

         Players[5].Name :='';
         Players[5].Pass :='';
         Players[5].Nick :='';
         Players[5].Loc  :='Loc1';
         Players[5].Skill:='';
         Players[5].Active:=True; }


         writeln(inttostr(HowManyPlayers)+' Players');

    end;

    //************************************************************************//

    procedure PlayerStats;

    var Active: string;
    var i: Integer;
    begin
    writeln('**********************************************');
    writeln('Name         : '+ Players[CurrentPlayer].Name);
    writeln('Number       : '+ inttostr(CurrentPlayer));
    writeln('Worked for   : '+ inttostr(Players[CurrentPlayer].Worked)+' minutes.');
    writeln('Banked       : '+ inttostr(Players[CurrentPlayer].Banked) + ' times.');
    if Players[CurrentPlayer].Active=True then Active:='True' else Active:='False';
    writeln('Active       : '+ Active);
    writeln('Location     : '+ Players[CurrentPlayer].loc);
    writeln('**********************************************');

    for i := 0 to HowManyPlayers-1 do
       begin
       if Players[i].Active=True then Active:='True' else Active:='False';
          writeln( (inttostr(i))+' : '+Players[i].name+ ' = '+Active+'. - Lvl : '+inttostr(Players[i].Level[15])+
          '. - B :'+inttostr(Players[i].Banked)+' Times.'+
          ' -  : '+IntToStr(Players[i].Worked)+' mins.'+' - Loc: '+Players[i].loc);
        end
       writeln('**********************************************');
    end;

    //************************************************************************//

    procedure ProgressReport;
    begin
      begin
       writeln('@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@');
       writeln('@  RAM_RUNE CABBAGE PICKER PROGRESS REPORT                  @');
       writeln('@  WORKED FOR '+intToStr(Players[CurrentPlayer].Worked)+'   @');
       writeln('@  MADE '+inttostr(banks)+' TRIPS SO FAR                    @');
       writeln('@  PICKED  '+inttostr(banks*28)+ 'CABBAGES SO FAR           @');
       writeln('@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@');
      SRLRandomsReport;
      Writeln(' ');
      end;
      PlayerStats;
    end;


    //************************************************************************//

    Procedure SetUp;
    begin
         SetupSRL;
         DeclarePlayers;
         LoginPlayer;
         RoadColor  :=0;
         WaterColor :=0;
         BankColor  :=0;
    end;

    {--------------------------------cabbage and stile dtms------------------------}
    procedure loaddtm;
     begin
      cabbage:= DTMFromString('78DA6334656460E0016220E00062106BF3B51' +
           '4063928FB3F103022A98101901A06A81A306D026489A1AA496A53' +
           'C254C38AAA26BDD916558D1D90C58BAAA664BE26AA1A5D4C35312' +
           '566286A009F510E13');

      stile:= DTMFromString('78DA639CC9C8C07007888180158841AC102F0' +
           'B060128FB3F103082D43C84A88181841007300D13659C0A64DD44' +
           '559319E386AA662E90751B554D80BB29AA9AE940D669543520F72' +
           '0AB0100E1800FD5');
     end;

    //************************************************************************//


    procedure FindRandoms;
    begin
     FindNormalRandoms;
    //  if(FindFight)then RunAway;
      if Findname Then FindTalk;

    end;

    {------------------------------entering cabbage field via stile----------------}
    procedure FindStile;

     begin
       if(finddtm(stile,x,y, 335, 235, 492, 242 ))  then
       Mouse(x,y,2,3,true);
       Ftwait(200);
       Mouse(x,y, 2,3,true);

     end;
     
    {------------------------------picking cabages---------------------------------}
    procedure PickCabbage;
     begin
      repeat
       if(finddtm(cabbage,x,y, 335, 235, 492, 242 )) then
       Mouse(x,y,2,3,true);
       Ftwait(3000);
       Mouse(x,y,2,3,true);
       until(InvFull) Writeln('Inventory full, going to bank')
       FindStile;
       Ftwait(1000 +random(200));

     end;
    //*****************walk to cabbage Field****************************//

    Procedure WalkToLoc1;
    begin
       MarkTime(Mark);
       repeat
          if (not (Loggedin) or (TimeFromMark(Mark)>120000))then break;
          RadialRoadWalk(RoadColor,120,220,45,-1,-1);
          FindRandoms;
           Until  FindSymbol(x,y,'quest');
       Players[CurrentPlayer].Loc:='Draynor';
    end;

    //****************walk to bank from cabbage field*********************************//

    Procedure WalkToLoc2;
    begin
      if ( not ( LoggedIn )) then Exit;
      MakeCompass('N');
      RadialRoadWalk(RoadColor, 50, 90, 70, -1, 0);
      RadialRoadWalk(RoadColor, 60, 140, 70, -1, 0);
      RadialRoadWalk(RoadColor, 22, 200, 30, -1, 0);
       // Place Walking Procs here
       Players[CurrentPlayer].Loc:='Cabbage Field';
    end;

    //************************************************************************//

    procedure Bank;

    begin
        if not LoggedIn then Exit;
        FindRandoms;
       
        MarkTime(Mark);
        repeat
           if (not(Loggedin)) then break;
           OpenBank;
        until((BankScreen) or (TimeFromMark(Mark)>60000));

        if(BankScreen)then
             ClickAllItemsColorWait('All',6806711,1000+Random(500));
             // or Deposit(1,28,1);
        CloseWindow;
        Banks:=Banks+1;
        Players[CurrentPlayer].Banked:=Players[CurrentPlayer].Banked+1;
        Players[CurrentPlayer].loc:='Loc1';

    end;

    //*************************************************************************//
    //
    //                               Main EventLoop
    //
    //*************************************************************************//
    begin
      Setup;
      loaddtm;
     repeat
      if Players[CurrentPlayer].loc='Draynor' then
       begin
           WalkToLoc2;
        end;
       if Players[CurrentPlayer].Loc='Cabbage Field' then
        begin
           MarkTime(Mark);
           repeat
               if (not(Loggedin)) then break;
               PickCabbage;
               // Perform action until InventoryFull or 3 minutes past
               FindRandoms;
     //          Respond;
           until(InventoryFull) or(TimeFromMark(Mark)>1800000)
           WalkToLoc1;
           Bank;
           FindRandoms;
           ProgressReport;
         end;
        if ((LoggedIn) and (Players[CurrentPlayer].Banked mod Loads = 0)) then
          begin
             repeat
               Wait(1000);
               FindRandoms;
             until(not(LoggedIn));
             NextPlayer(True);
          end;
       if (not(Loggedin)) then NextPlayer(False);
     until(False);
    end.


Thread Information

Users Browsing this Thread

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

Similar Threads

  1. Project Cabbage
    By Timothegreat in forum RS3 Outdated / Broken Scripts
    Replies: 20
    Last Post: 01-03-2008, 09:45 PM
  2. Cabbage Picker& Banker
    By yanix in forum RS3 Outdated / Broken Scripts
    Replies: 0
    Last Post: 10-23-2007, 02:32 PM
  3. Cabbage Picker
    By xploxz in forum RS3 Outdated / Broken Scripts
    Replies: 8
    Last Post: 05-26-2007, 12:16 AM
  4. Cabbage Eater
    By Jason2gs in forum RS3 Outdated / Broken Scripts
    Replies: 5
    Last Post: 03-01-2007, 02:45 AM
  5. Cabbage
    By Boreas in forum News and General
    Replies: 6
    Last Post: 12-24-2006, 05:25 AM

Posting Permissions

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