Page 1 of 2 12 LastLast
Results 1 to 25 of 27

Thread: Draynor willow cutter and banker

  1. #1
    Join Date
    Jan 2007
    Posts
    131
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Draynor willow cutter and banker

    So, I made this willow cutter and banker. Start at draynor bank, and it will cut down all the willows it finds, then bank them.
    Not 100% perfect, but it does work well.

    Any tips would be appreciated.

    SCAR Code:
    program New;
    {.include Srl\Srl.Scar}
    //{.include SRL\SRL\Core\Inventory.scar}
    {.include SRL\SRL\Skill\WoodCutting.scar}
    //FindColorSpiralTolerance(x, y, color, MSX1, MSY1, MSX2, MSY2, 3)
    var
    x :Integer;
    y :Integer;
    const
    fishcolor = 16740896;
    willowcolor = 2850671; //3891047;

    procedure setup;
    begin
    activateclient;
    wait(1000)
         setupsrl
         MouseSpeed := 10
         Writeln('Draynor Village Willow Whipper')
         Writeln('Setting up script...')
         MakeCompass('n')
         SetAngle(True)
         SetRun(True)
         wait(200)
         if GetSkillInfo('woodcutting', False) < 30 then
         begin
              writeln('Error! Your woodcutting level must be higher than 30 to cut willows!')
              TerminateScript;
         end;
    end;

    procedure gotobank;
    begin
    SetRun(false)
         if FindColorSpiral(x,y,1890556,MMX1,MMY1,MMX2,MMY2) then
         begin
              writeln('Found bank. Moving towards it')
              Mouse(x,y,0,0,True)
         end else
         begin
             Mouse(649, 36,0,0,True);
         end;
    end;

    procedure gototrees;
    begin
        SetRun(True)
         if FindColorSpiral(x,y,fishcolor,MMX1,MMY1,MMX2,MMY2) then
         begin
              writeln('Found fish colour. Moving to it')
              Mouse(x, y, 0, 0,True)
         end else
         begin
              writeln('Have not found fish colour! Using "blind" co-ordinate based location technique')
              writeln('This is not very acurate')
              Mouse(591,132,0,0,True)
         end;
    end;

    begin
    setup
         repeat

         //if FindColor(x, y, fishcolor, MSX1, MSY1, MSX2, MSY2) then
         gototrees      ;
         repeat
         wait(100)
         until(FlagDistance < 1)
         //until()
         FindObj(x, y, 'willow',willowcolor, 2)
         Mouse(x,y,0,0,True)
         repeat
               SolveNonTalkingRandoms;
         //SolveTalkingRandom()
         if FindEnt(x, y, False) then
         begin
                // Run 2 t3h b4nk!!!
                gotobank;
                wait(10000)
                boredhuman;
                wait(30000)
                RandomRClick;
                wait(20000)
                gototrees;
         end;
         FindObj(x, y, 'willow',willowcolor, 2)
         Mouse(x,y,0,0,True)
         if FindFight then
         begin
              gotobank
              wait(10000)
                boredhuman;
                wait(30000)
                RandomRClick;
                wait(20000)
                gototrees;
         end;
         wait (1000+random(1000)+random(2000)+random(4000)+random(4000))
         if (random(100) = 100) then
         begin
              BoredHuman;
         end;
         until(InvFull)
         gotobank;
         repeat
         wait(100)
         until(FlagDistance < 1)
         //FindObj(x,y,'bank booth',5001555,5)
         //Mouse(x,y,0,0,True)
         OpenBankQuiet('db')
         DepositAll;
         CloseBank;
    until(False)
    end.

  2. #2
    Join Date
    May 2007
    Location
    Location:= USA
    Posts
    238
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    for your mouse(X, X, 0, 0, X), you might want to make it 5, 5 just so you wont get banned fast.
    Please, I need money, and you don't lose anything, except get money! Join BUX.TO with http://bux.to/?r=twistedvip50

  3. #3
    Join Date
    Jan 2007
    Posts
    131
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by twistedvip50 View Post
    for your mouse(X, X, 0, 0, X), you might want to make it 5, 5 just so you wont get banned fast.
    It just adds the random value onto the position (So, if it was going to 10,10, with a random value of 5,5, it just goes to 15,15 (I think)), making it a bit pointless IMO

  4. #4
    Join Date
    May 2007
    Location
    Location:= USA
    Posts
    238
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    no, it'll be like 11, 13, 12, 15... etc. It is random just like the case random(x) of.
    Please, I need money, and you don't lose anything, except get money! Join BUX.TO with http://bux.to/?r=twistedvip50

  5. #5
    Join Date
    Jul 2008
    Posts
    36
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    First think i can think of is to add a DeclarePlayers; and make it Multi-User.

  6. #6
    Join Date
    Feb 2007
    Location
    @ SRL
    Posts
    402
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Hey there bobng.

    Firstly nice try for your first script

    Ok with all the Mouse movements, try to add a little bit of randomness to it just like twistedvip50 said. Example from your script:

    No Mouse Randomness:
    SCAR Code:
    procedure gotobank;
    begin
    SetRun(false)
         if FindColorSpiral(x,y,1890556,MMX1,MMY1,MMX2,MMY2) then
         begin
              writeln('Found bank. Moving towards it')
              Mouse(x,y,0,0,True)
         end else
         begin
             Mouse(649, 36,0,0,True);
         end;
    end;


    With Mouse Randomness:
    SCAR Code:
    procedure gotobank;
    begin
    SetRun(false)
         if FindColorSpiral(x,y,1890556,MMX1,MMY1,MMX2,MMY2) then
         begin
              writeln('Found bank. Moving towards it')
              Mouse(x,y,5,5,True)
         end else
         begin
             Mouse(649, 36,5,5,True);
         end;
    end;


    Also with your wait times add randomness to them, the more random the better. So in your script you have 'wait(10000);', that will wait for exactly 10 seconds every time. But with 'wait(10000 + random(2000));' the script will wait anywhere from 10 seconds to 12 seconds. Example from your script:

    No Wait Randomness:
    SCAR Code:
    //SolveTalkingRandom()
         if FindEnt(x, y, False) then
         begin
                // Run 2 t3h b4nk!!!
                gotobank;
                wait(10000)
                boredhuman;
                wait(30000)
                RandomRClick;
                wait(20000)
                gototrees;
         end;


    With Wait Randomness:
    SCAR Code:
    //SolveTalkingRandom()
         if FindEnt(x, y, False) then
         begin
                // Run 2 t3h b4nk!!!
                gotobank;
                wait(10000 + random(2000));
                boredhuman;
                wait(30000 + random(2000));
                RandomRClick;
                wait(20000 + random(2000));
                gototrees;
         end;


    Thirdly you should learn some Indenting, it really makes your scripts look so much more neat and tidier. Here is another example:

    No Indenting:
    SCAR Code:
    procedure gotobank;
    begin
    SetRun(false)
         if FindColorSpiral(x,y,1890556,MMX1,MMY1,MMX2,MMY2) then
         begin
              writeln('Found bank. Moving towards it')
              Mouse(x,y,0,0,True)
         end else
         begin
             Mouse(649, 36,0,0,True);
         end;
    end;


    With Indenting:
    SCAR Code:
    Procedure gotobank;
    Begin
      SetRun(false); //<------- here.
      If FindColorSpiral(x, y, 1890556, MMX1, MMY1, MMX2, MMY2) Then
      Begin
        WriteLn('Found bank. Moving towards it');   //<---- Dont forget the ;'s
        Mouse(x, y, 5, 5, True);  //<-------- here aswell =]   I put them in for you
      End Else
      Begin
        Mouse(649, 36, 5, 5, True);
      End;
    End;


    See how much neater that looks?
    Get that done then repost the script and I'll have a closer look at it for you.
    Its hurting my eyes looking at it


    Thanks,
    TurboBk.
    The game has an unexplainable attraction that convinces the player they are having fun, despite the fact that all they are doing is performing repetitive tasks to increase their statistics. "The game is actually a graphical nightmare and its gameplay is simple at best. Yet something, perhaps by subliminal means, forces the player - against his will - to play the game, and to believe that they are having fun".

  7. #7
    Join Date
    Jan 2007
    Posts
    131
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by Foss View Post
    First think i can think of is to add a DeclarePlayers; and make it Multi-User.
    I wrote it for my my use only really, so I thought it would be pointless.


    And thanks TurboBK, that was really helpful! +rep

  8. #8
    Join Date
    Jun 2008
    Posts
    27
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    so has anyone tested it yet or not?

  9. #9
    Join Date
    Feb 2007
    Location
    @ SRL
    Posts
    402
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by bobng View Post
    I wrote it for my my use only really, so I thought it would be pointless.


    And thanks TurboBK, that was really helpful! +rep

    No problem, if you have any more problems with it.. I'll be glad to help
    The game has an unexplainable attraction that convinces the player they are having fun, despite the fact that all they are doing is performing repetitive tasks to increase their statistics. "The game is actually a graphical nightmare and its gameplay is simple at best. Yet something, perhaps by subliminal means, forces the player - against his will - to play the game, and to believe that they are having fun".

  10. #10
    Join Date
    Dec 2007
    Posts
    13
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    make it MultiUser;

  11. #11
    Join Date
    Jul 2008
    Posts
    12
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

  12. #12
    Join Date
    Nov 2007
    Location
    The Netherlands
    Posts
    1,490
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Here are some suggestions:
    First of all, use failsafes, what if it can't find the color?
    It will keep searching for it.. and it will just stand there..
    Try using ObjTpa for tree finding.
    Try walking to bank with dtms.
    Have randomness in clicking and waiting.
    Also, improve your standards.
    I fixed them for you, I didn't change anything else in your script, so it is still bannable (no randomness in waiting/clicking = bannable for sure!)
    SCAR Code:
    program New;
    {.include Srl\Srl.Scar}
    //{.include SRL\SRL\Core\Inventory.scar}
    {.include SRL\SRL\Skill\WoodCutting.scar}
    //FindColorSpiralTolerance(x, y, color, MSX1, MSY1, MSX2, MSY2, 3)
    var
      x,y :Integer;
     
    const
      fishcolor = 16740896;
      willowcolor = 2850671; //3891047;

    procedure setup;
    begin
      activateclient;
      wait(1000)
      setupsrl;
      MouseSpeed := 10;
      Writeln('Draynor Village Willow Whipper');
      Writeln('Setting up script...');
      MakeCompass('n');
      SetAngle(True);
      SetRun(True);
      wait(200);
      if GetSkillInfo('woodcutting', False) < 30 then
      begin
        writeln('Error! Your woodcutting level must be higher than 30 to cut willows!');
        TerminateScript;
      end;
    end;

    procedure gotobank;
    begin
      SetRun(false);
      if FindColorSpiral(x,y,1890556,MMX1,MMY1,MMX2,MMY2) then
      begin
        writeln('Found bank. Moving towards it');
        Mouse(x,y,0,0,True);
      end else
      begin
        Mouse(649, 36,0,0,True);
      end;
    end;

    procedure gototrees;
    begin
      SetRun(True);
      if FindColorSpiral(x,y,fishcolor,MMX1,MMY1,MMX2,MMY2) then
      begin
        writeln('Found fish colour. Moving to it');
        Mouse(x, y, 0, 0,True);
      end else
      begin
        writeln('Have not found fish colour! Using "blind" co-ordinate based location technique');
        writeln('This is not very acurate');
        Mouse(591,132,0,0,True);
      end;
    end;

    begin
      setup;
      repeat
      //if FindColor(x, y, fishcolor, MSX1, MSY1, MSX2, MSY2) then
        gototrees;
        repeat
          wait(100);
        until(FlagDistance < 1)
        //until()
        FindObj(x, y, 'willow',willowcolor, 2);
        Mouse(x,y,0,0,True);
        repeat
          SolveNonTalkingRandoms;
          //SolveTalkingRandom()
         if FindEnt(x, y, False) then
         begin
           // Run 2 t3h b4nk!!!
           gotobank;
           wait(10000);
           boredhuman;
           wait(30000);
           RandomRClick;
           wait(20000);
           gototrees;
         end;
         FindObj(x, y, 'willow',willowcolor, 2);
         Mouse(x,y,0,0,True);
         if FindFight then
         begin
           gotobank;
           wait(10000);
           boredhuman;
           wait(30000);
           RandomRClick;
           wait(20000);
           gototrees;
         end;
         wait(1000+random(1000)+random(2000)+random(4000)+random(4000));
         if (random(100) = 100) then
         begin
           BoredHuman;
         end;
       until(InvFull)
       gotobank;
      repeat
        wait(100);
      until(FlagDistance < 1)
      //FindObj(x,y,'bank booth',5001555,5)
      //Mouse(x,y,0,0,True)
      OpenBankQuiet('db');
      DepositAll;
      CloseBank;
    until(False)
    end.
    This is a good start, but I recommend you to read some tutorials and try to improve your script

    PvH

  13. #13
    Join Date
    Jan 2007
    Posts
    10
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Pretty good, keep up the good work.

  14. #14
    Join Date
    Jul 2008
    Posts
    12
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Not bad, worked fine.

  15. #15
    Join Date
    Dec 2006
    Posts
    908
    Mentioned
    1 Post(s)
    Quoted
    17 Post(s)

    Default

    Sorry to say, but it needs A LOT of work. I know it works and all, but it sitll needs work though.

    [SCAR]
    procedure gotobank;
    begin
    SetRun(false)
    if FindColorSpiral(x,y,1890556,MMX1,MMY1,MMX2,MMY2) then
    begin
    writeln('Found bank. Moving towards it')
    Mouse(x,y,0,0,True)
    end else
    begin
    Mouse(649, 36,0,0,True);
    end;
    end;/SCAR]

    Where is the FAIL SAFE!?

    SCAR Code:
    procedure gotobank;
    begin
      SetRun(false)
      if FindColorSpiral(x,y,1890556,MMX1,MMY1,MMX2,MMY2) then
      begin
        writeln('Found bank. Moving towards it')
        Mouse(x,y,0,0,True)
        DidFindBank := True;
      end else
      begin
        Mouse(649, 36,0,0,True);
      end;
      begin
        repeat
          Tries := Tries + 1;
          if (Tries = 20) then
          TerminateScript;
        until (DidFindBank = True);
      end;
    end;

    I don't know if it works or not. I don't want to work too much on it.

    Second is standards! Why do this? So you can edit better, not get Expect identifier errors (Such as Expected BEGIN or END) and to make your script neat-er.

    SCAR Code:
    procedure gotobank;
    begin
    SetRun(false)
         if FindColorSpiral(x,y,1890556,MMX1,MMY1,MMX2,MMY2) then
         begin
              writeln('Found bank. Moving towards it')
              Mouse(x,y,0,0,True)
         end else
         begin
             Mouse(649, 36,0,0,True);
         end;
    end;

    Wrong....

    SCAR Code:
    procedure gotobank;
    begin
      SetRun(false)
      if FindColorSpiral(x,y,1890556,MMX1,MMY1,MMX2,MMY2) then
      begin
        writeln('Found bank. Moving towards it')
        Mouse(x,y,0,0,True)
      end else
      begin
         Mouse(649, 36,0,0,True);
      end;
    end;

    Right... See how aligned everything is. Let me tell you...

    2 spaces forward AFTER using BEGIN (Example)
    SCAR Code:
    procedure BlahBlah;
    begin
      TwoSpacesHere;
    end;
    begin
    2 spaces backwards DURING using END. Example on top. (Notice that after END nothing is changed.

    2 spaces AFTER THEN unless there is a BEGIN after it (Example)

    SCAR Code:
    if (YourStupid) then
    begin
      Writeln('I am stupid...')
    end;
    if (not (YourStupid)) then
      Writeln('Hooray! I am not stupid');

    Get it?

    2 spaces back DURING USING until. (Example)

    SCAR Code:
    end;
      until (FindBank = True)
    end;
    2 spaces forward AFTER repeat

    SCAR Code:
    begin
      repeat
        //Codes//
      until (WhatTheHellIsTheCode = True)
    end;

    That is all i can tell you because this post is getting too large...

    Also another one

    SCAR Code:
    if GetSkillInfo('woodcutting', False) < 30 then

    It should be...

    SCAR Code:
    if GetSkillLevel('woodcutting') < 30 then

    Good Job on your first script mate! +Rep if i help much?

  16. #16
    Join Date
    Jul 2008
    Posts
    907
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default hmm

    yeah it looks pretty good and it works the only problem is sometimes (only occasionaly it walks off randomly and stops

  17. #17
    Join Date
    Oct 2008
    Posts
    4
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    can any of u send me the finished script

  18. #18
    Join Date
    Feb 2007
    Location
    Alberta,Canada
    Posts
    2,358
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    looks O.K... only suggestion is really, dont use findobj, maybe use FindobjTPA. And secondly, use standards. Standards make your script more appealing, and easier to read the code aswell.

    -Blumblebee
    “Ignorance, the root and the stem of every evil.”

  19. #19
    Join Date
    Oct 2008
    Location
    I Forgot
    Posts
    193
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

  20. #20
    Join Date
    Jan 2007
    Posts
    131
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Woah, this threads a bit old, isn't it?

    Anyway, I thought about coding failsafes, but I couldn't be arsed. It was just a quick script that I could run while I was reading, and occasionally glance at the screen to check if its all going well.

    I'm so used to coding in python (Which rules, by the way) that its pretty hard to get my head around all these useless breaks and ;'s.

  21. #21
    Join Date
    Oct 2008
    Location
    I Forgot
    Posts
    193
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

  22. #22
    Join Date
    Oct 2008
    Posts
    1
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    doesnt work

  23. #23
    Join Date
    Oct 2008
    Posts
    2
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    im a noob at scripts and wat, so do u have to run runescape for the script to work?????

  24. #24
    Join Date
    Oct 2008
    Posts
    2
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    im a noob to scar, but do u have to run runescape or can u run scar then run it???, sum 1 help me plz?

  25. #25
    Join Date
    Oct 2008
    Location
    USA all da way
    Posts
    27
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    well of course... its meant for runescape...

Page 1 of 2 12 LastLast

Thread Information

Users Browsing this Thread

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

Similar Threads

  1. al kharid smith-banker & draynor willow cutter-banker
    By rivon in forum RS3 Outdated / Broken Scripts
    Replies: 5
    Last Post: 01-03-2008, 09:51 AM
  2. Draynor Willow Cutter & Banker [pro]
    By n3ss3s in forum RS3 Outdated / Broken Scripts
    Replies: 0
    Last Post: 12-03-2007, 03:03 PM
  3. Looking for Draynor willow cutter and banker
    By sapetto in forum RS3 Outdated / Broken Scripts
    Replies: 7
    Last Post: 11-26-2007, 06:38 PM
  4. Wdf? Willow Cutter+Banker (Draynor)
    By Wdf? in forum First Scripts
    Replies: 15
    Last Post: 09-27-2007, 10:50 AM
  5. I need a Willow Cutter / Banker [Draynor]
    By binkeh in forum RS3 Outdated / Broken Scripts
    Replies: 1
    Last Post: 08-23-2007, 02:09 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
  •