Results 1 to 15 of 15

Thread: ~Annonymus AIO Fletcher~

  1. #1
    Join Date
    Sep 2014
    Location
    the Netherlands
    Posts
    136
    Mentioned
    7 Post(s)
    Quoted
    61 Post(s)

    Default ~Annonymus AIO Fletcher~

    ~Annonymus AIO Fletcher V1.00 for 2007~
    Thanks to Robert and Keepbotting <3

    Hello there sexy reader.

    After about a whole week of scripting (phew, it almost took me a long time..) I finally introduce version 1 of my Annonymus AIO Fletcher!

    Setup
    This is actually important.

    • Start the script with an empty inventory.
    • Make sure that all the items required to run the script are in the first 48 slots of your bank (so it doesn't have to scroll)
    • Make sure that, if you're stringing, your unstrung bows are before your strung bows (I.E unstrungs in slot 5, strungs in 6)
    • If you're stringing, make the Withdraw-X option Withdraw-14 (just withdraw 14 of something once before running the script) as the failsave I made for that suddenly started bugging out and I can't seem to fix it..

    Player setup is at lines 35..50.


    The current version has

    • Cutting short and longbows from Normal to Maple.
    • Stringing short and longbows from Normal to Maple.
    • Acces to 3 different banks (Castle Wars, Seer's Village and Varrock West).
    • A whole load of bitmaps which took me most of the time to make..
    • Some antiban-ish thing.
    • A progress report that actually works (which took me the 2nd longest thing to write and somehow seems even less than basic).
    • A whole lot to improve.


    Things I should add

    • Yew and Magic long/shortbows once I've gotten the requirements.
    • More banking locations (if I can think of useful places to bank).
    • Better proggies.
    • Let it stop when running out of unstrung bows (it already stops when running out of bowstrings and logs, just can't seem to find unstrungs working..)
    • Some paint which isn't on an annoying place on the screen.
    • A way to make it continue fletching after a level-up (once I finally make a screenshot of a level up..)
    • Arrow making (also just Arrow shafts and Headless arrows).
    • Maybe an auto-updater of some kind.
    • And probably a whole lot more which I haven't noticed until now.


    Known bugs:

    • None, if the setup is actually done correctly. If not, there's probably over a thousand bugs.


    Some proggies I've gotten while testing;

    While cutting: (This could be inaccurate, but not sure..)
    Code:
    ******Annonymus AIO Fletcher******
    *        ~By Annonymus~          *
    * Bows crafted: 405
    * Bows per hour: 1715
    * Experience gained: 23611.5
    * Experience per hour: 100002
    * Total time running: 14 Minutes and 10 Seconds
    **********************************
    While stringing:
    Code:
    ******Annonymus AIO Fletcher******
    *        ~By Annonymus~          *
    * Bows crafted: 462
    * Bows per hour: 1972
    * Experience gained: 26934.6
    * Experience per hour: 115023
    * Total time running: 14 Minutes and 3 Seconds
    **********************************
    Please leave bugs/proggies in the comments <3
    Also tell me if you think there's something missing in my script <3

    Thanks to all of you!

    ~Annonymus
    Attached Files Attached Files
    Last edited by iEatApplez; 09-22-2014 at 10:09 PM.
    Previously known as; Annonymus.

  2. #2
    Join Date
    Aug 2014
    Location
    Australia
    Posts
    932
    Mentioned
    53 Post(s)
    Quoted
    495 Post(s)

    Default

    Woohoo, congrats on your first script!



    When I read your "note to self" I was like, oh yeah there'll be a few here and there, that's cool... then I scrolled down...

    FEEDBACK:

    • Have you considered adding shaft and headless arrow making? They should be very simple to add, in fact headless arrow making can be done in 20-30 lines depending on how you choose to do it.
    • Have you tried using DTMs instead of BMPs for some things, or is it just too difficult if you have multiple types of logs/unstrung bows in your bank?
    • Have you tried using the SRL functions for opening the bank, rather than findObj?
    • Have you tried using the SRL functions to close the bank too?
    • How come you chose to use the old mouse functions (clickMouse2, MMouse) instead of those used by SRL-6?


    Finally, your indenting is mostly great, but your parameters and operators are a little hard to read at some points... Eg this:

    Simba Code:
    if ChooseOption('eposit-All') then
     begin
      ChooseOption('eposit-All');
      Wait(RandomRange(30,50));
      BowsCrafted:=BowsCrafted+27;
    end;

    ... should be this for increased readability:

    Simba Code:
    if ChooseOption('eposit-All') then
    begin
      ChooseOption('eposit-All');
      Wait(RandomRange(30, 50));
      BowsCrafted := BowsCrafted + 27;
    end;

    Note the lack of indent on begin and end, they should generally be inline with if/for/while/etc afaik.

    Great for a first script, but I do feel as though you could use less case statements, but maybe that's just me.

    Congrats again!
    Last edited by Incurable; 09-22-2014 at 01:59 AM.



    New to scripting? Procedures & Functions for Beginners
    Do you use your computer at night? Just get f.lux

  3. #3
    Join Date
    Sep 2014
    Location
    the Netherlands
    Posts
    136
    Mentioned
    7 Post(s)
    Quoted
    61 Post(s)

    Default

    Heya Incurable, thanks for the feedback
    I've been getting lots of feedback from all you guys and I really *really* appericiate it
    As for the begins and ends after if..else statements, I never knew. That'll be a lot of tab-button spamming. Thanks for pointing that out tho!

    For the feedback I'll go over every point one by one;
    Quote Originally Posted by Incurable
    FEEDBACK:

    Have you considered adding shaft and headless arrow making? They should be very simple to add, in fact headless arrow making can be done in 20-30 lines depending on how you choose to do it.
    Have you tried using DTMs instead of BMPs for some things, or is it just too difficult if you have multiple types of logs/unstrung bows in your bank?
    Have you tried using the SRL functions for opening the bank, rather than findObj?
    Have you tried using the SRL functions to close the bank too?
    How come you chose to use the old mouse functions (clickMouse2, MMouse) instead of those used by SRL-6
    Making arrow shafts/headless arrows/full arrows is already on my list to make but as there's already 1000s arrowshaft scripts on here I decided to keep that for last
    I somewhere read BMPs are faster than DTMs, but I've been getting that question alot so I might look into DTMs a bit more. Could you maybe give me a reason to why I should use DTMs rather than BMPs?
    I only just recently found out about the whole SRL plugin thing (pretty much after I finished the script) but I decided to take a look at it for the next update
    I actually searched around the forums and asked some people about what functions to use for the mouse and they told me MMouse and clickMouse2 were the best ones to use, if they're not please tell me which I *should* use

    Thanks again for the feedback and the time you took to look into my script
    If there's anything else, please let me know!

    ~Annonymus

    Edit: Also, why I'm still using the FindObj function for finding the bankers is because I haven't noticed *any* flaws at all with it. It's 100% flawless, atleast in my script it is (unless someone dressed up like a banker would walk by, it might hover over him then, but haven't noticed that even in world 1 =p)

    Edit2: The note to self was actually in hopes that someone could maybe help me out there. Really wonder if there's a more efficient way to do that =p
    Last edited by iEatApplez; 09-22-2014 at 03:50 AM.
    Previously known as; Annonymus.

  4. #4
    Join Date
    Mar 2015
    Posts
    1
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Having problems when trying to cut, here's what I get.
    Could not detect logs in the first 48 bank slots. Are they really there?
    Succesfully freed SMART[5800]
    Successfully executed.
    The following bitmaps were not freed: [4, 5, 6, 7, 8, 9, 10, 11]
    Works great when stringing but cutting hasn't worked so far. I have everything set up correctly

  5. #5
    Join Date
    Oct 2013
    Posts
    24
    Mentioned
    0 Post(s)
    Quoted
    9 Post(s)

    Default

    what did you do to get it to string? I added the yew bitmaps, but after it withdraws everything, it left clicks "use" on the bowstrings and then sits there and never clicks the unstrung bow.

  6. #6
    Join Date
    Sep 2014
    Location
    the Netherlands
    Posts
    136
    Mentioned
    7 Post(s)
    Quoted
    61 Post(s)

    Default

    Quote Originally Posted by liams007 View Post
    what did you do to get it to string? I added the yew bitmaps, but after it withdraws everything, it left clicks "use" on the bowstrings and then sits there and never clicks the unstrung bow.
    I am currently rewriting the entire script. It'll be on the forums somewhere this week, depending on how much free time I've got.
    Previously known as; Annonymus.

  7. #7
    Join Date
    Nov 2011
    Posts
    45
    Mentioned
    0 Post(s)
    Quoted
    3 Post(s)

    Default

    Hey, I am having trouble starting Maple Longbows. Are they supported?

  8. #8
    Join Date
    May 2015
    Posts
    38
    Mentioned
    0 Post(s)
    Quoted
    15 Post(s)

    Default

    If anybody is interested I added yew long and log bmp's to annonymus's script. It still works fine just doesnt track XP.

    Stringing and cutting seems to be working right now.

    If this is against some rules or something just remove it.

    Code:
    (********************************************************)
    (********************************************************)
    (*******.________________________________________.*******)
    (*******|                                        |*******)
    (*******|      Annonymus AIO Fletcher V1.00      |*******)
    (*******|   Annonymus is in no way responsible   |*******)
    (*******|     for any damage to your account     |*******)
    (*******|                                        |*******)
    (*******|            USE AT OWN RISK             |*******)
    (*******|________________________________________|*******)
    (********************************************************)
    (********************************************************)
    
    // Start with an empty inventory.
    // MAKE SURE THAT ALL THE ITEMS REQUIRED (LOGS, UNSTRUNGS, KNIFE, BOWSTRING) ARE IN THE FIRST 48 SLOTS OF YOUR BANK (so it doesn't have to scroll..)
    // ALSO MAKE SURE THAT, IF YOU'RE STRINGING, YOUR UNSTRUNG BOWS ARE BEFORE YOUR STRUNG BOWS (I.E unstrungs in slot 5, strungs in 6.
    // Note to self: This whole script is cases in cases in cases, and just in case (pun intended) you didn't get it, there's cases...
    
    program AnnonymusAIOFletcher;
    {$DEFINE SMART8}
    {$I SRL-OSR/SRL.Simba}
    
    var
      A, BowExp:Extended;
      x, y, StartTime, currentLogs, currentStrings, BowsCrafted, t: Integer;
      LogBMP, KnifeBMP, BowstringBMP, UnstrungBMP, StrungBMP, CloseButton, DepositThemAll, EnterAmount, CraftScreen: Integer;
      WhatToDo, BowType, BankLocation, LongOrShortBows: String;
    
    const
      CWBANKCHEST = 6316135;
      BANKOFRS = 2070783;
      VARROCKBANKER = 6045001;
      SEERSBANK = 9213083;
    
    Procedure DeclarePlayers;
    begin
      HowManyPlayers := 1;
      NumberOfPlayers (HowManyPlayers);
      CurrentPlayer :=0;
      WhatToDo:='string'; //Cut, String
      BowType:='yew'; //Normal, Oak, Willow, Maple Yew //magic not yet available.
      LongOrShortBows:='long'; //Long, Short
      BankLocation:='vwest'; //CastleWars, VWest, SeersVillage
    
      Players[0].Name :=''; //UserName Login
      Players[0].Pass :=''; //Password
      Players[0].Nick :=''; //3-4 Letters from Name
      Players[0].WorldInfo := [305]; //World Number
      Players[0].Active:=True;
    end;
    
    procedure StartBMPS;
    begin
      KnifeBMP:= BitmapFromString(8, 14, 'meJxjYEABjAwMWVlFQMSAIZ6dUwJEaIK5eWUQhCaeX1ABRMjqgYKFhVVABFScnp6PLF5cXAMUB1ra1zcTLlhaWgcUBypOTc2dN28VsjjQZKAJEyfOYYQJlpc3AE0AWpecnL148XpGJJMh1k2dtgguyGEZCkQzZy3t6JyybPkmiDhEEC7FCHMesjivRw6mOLIgEAAAeplCfg==');
      BowstringBMP:=BitmapFromString(15, 16, 'meJxjYCABMOJFaCC8rAkPwlSPZr53aj4QIatnRFWGrIsBph6XFgYM9cha4Lrw+BquBaJSUFAEf1ihuQSPycgqgcZiKkYOEDzGYg03NGMZsVmKK2owpYDmoCG4YqxSuFIIwcRDNgAAZ71WXQ==');
      CloseButton:=BitmapFromString(12, 14, 'meJxzSyxwI4ScY7MZGRiACMhAQ8jiEDaaMkxBNBE0rmN4CgTBxeEILoWMCCpAVoYmaBMUD0fI5iCLY1WAVRmaOBrX0jcSLgJkwxGaIKYCNHFzzxCqIABYc2xd');
      EnterAmount:= BitmapFromString(90, 11, 'meJy1ls1OAzEMhPf978sByqGc4BX4kVrEnkCoohJa3gZX046GsZOuEKysyk0m2fhbO8kw+LPafqitn/dh8K9fZm3MdjPN+KWDsWgJixmi5Xb6pB69kPFX33ix2cPG7Xz1tINxeePjzhYcpgINpGxRcUmgNQ/EWE8HCM3iJZ+goXzImZPkNYQAZjTKwDtRxK+GHH/P0lCB6iFGgGWGMPawu+lLsRgr+AgQQ8LB8JIGmYDGIVWqrFhinQQouy4f3owqgJiY39GAIC7mP6rDyicnEr9+JxAmUqBA+fwHDQo0aj4BB3xMjGC1kTS00WoHZoJoAYq0jQ2d1YKJyrKf58mN9EtQGt3R2byXuUGZ1pEGlTnoKPo6io1s0VXpu1oELIqOZkna5PfqypkVEYKG3PLL7WX4+SgN9pY0Or5iPKvRYmfJaxe36yXvzQnP8DUuO00sH2Kn/SsaOrMW3S9okIPlQCtPstIuG0ojHy6chzSs1jo0Wt+9RaOT4S0a+qg+EOlYK8ZWeujXBw0A0SSxUbr+TIMHtw7J25dO1al32xg13vH+ldPyWqV7SJwmSBt2UdC6g+XtQtPDsETXurqz2UmtvcrBTvnV6Z5mGvp2lbLh3746IhI=');
      DepositThemAll:=BitmapFromString(9, 10, 'meJxjYAABJmZmThkrNlFdUcsU5agZCn5dCn4tEHF+rSA+VU9OIVmgAjHbIvnAbqAURFzIIBRIChtGAWU5JIwkbLLlA1tkhcyBIkCjuJWcgAygGqAskC3tWS2lF2HH7w/Uy6VgChSRME/h0/QGygJJoBVAcWNjY7CsFdBYoCyQAZJ15YEjoAhEI0TW9Y4DEAHFgbqEVEyhsjbZwmYpEHGIgWApkCzQPVLOxUBxoCOB4shSQBuBUgCvNytq');
    
      case lowerCase(BowType) of //Unstrung bow bitmaps
      //edit all pls
        'normal':
          case lowerCase(LongOrShortBows) of
            'long':
              UnstrungBMP:=BitmapFromString(8, 11, 'meJzjDSxnZMACOOzjBHMWYkoBRXj9igUzZmGX8soXTJuOXcojWzBlMlYpDrMAwaQJWKWASDC+B5dduEzD6iOQlogmrOIcrukAEM8NpQ==');
            'short':
              UnstrungBMP:=BitmapFromString(15, 14, 'meJxjYMAJGBkYeD1zOW2jGXGrQVbM6ZbBaRVGUDHI2KAKEhQHlHA6p3CaB1JRMVQl0A220fgVg1T6FADNZASzcalkhAUXHjXIVkNU4gcQqwmqZCRaJQNMGcjjbhnEOAC/r8kGAN7ZFbw=');
          end;
    
        'oak':
          case lowerCase(LongOrShortBows) of
            'long':
              UnstrungBMP:=BitmapFromString(10, 14, 'meJzjTSgXmbSZkQE74PCMFKyejksWKM6bUC6+6DgeBYKlE8TnH8GnoKBLfPY+fFbktIlM24lHAUdwOh4vMIKRSP8GfG4o7sFvPi5ZiAKR1iX43J/ZhF+7YNNCfLJ1swDPGxfH');
            'short':
              UnstrungBMP:=BitmapFromString(14, 13, 'meJxjYMAJGBkYeLNbeKMLGHGrgSgTrJwKUhmRS5TK9AaiVJZNBKrkDM3AoxKqDGh1XAkelSBlhd28qTWMYDYeZbx57XgUIGwEKyPgfqCNeJUxEqcMCARL+iDKgD4laC9+P5IBAK2bG6I=');
          end;
    
        'willow':
          case lowerCase(LongOrShortBows) of
            'long':
              UnstrungBMP:=BitmapFromString(13, 15, 'meJxjYAABRgYG/cpGhxUbGRkIAKAC3bJa+0VriFGpHJNoO3cZMSqByHr2EmJU6te0EGk1QWUQlRYTZxJjoHZxFZEGmvdNI8ZA084JxChTzyogUqVhcxdRyurbiVdJVIxUNgJVAgCWbBoz');
            'short':
              UnstrungBMP:=BitmapFromString(15, 13, 'meJxjYMAHGBkYtIoqVZLSGfEqg6g0aOoEKY5LIVZxfimxiutagYqVohPwK4aqLKpUS83GrxgopVfRoJFTxAhm41IJkdIprcGjBtlqiEr8AGI1fpVwVxFUyQC2V6+6GaIS6Hf8ioHKGJHMJ+hU4gEAkNEgvQ==');
          end;
    
        'maple':
          case lowerCase(LongOrShortBows) of
            'long':
              UnstrungBMP:=BitmapFromString(12, 12, 'meJxjYGCobJzOyIAPAGXjUssXrz5MUFlJ9cS5yw4QVJZf1j19wR6CyjILWibN3kFQWXBERt/0TQSVAVH3lPUElRVW9BFUExiWil8NRFlLz1KCRqXnNxNjVH37fIgyAG7WGws=');
            'short':
              UnstrungBMP:=BitmapFromString(15, 12, 'meJxjYCAAGBkYMvJbwmPzGYlQWVY3NS2vKSw6hxjFJTWTU3Pqg6OyiFFcXDUhOas2KDwdv2KISqAbYpKKA0JT8CgGSuWVdgHNZASz8RubXdhKUA3EamBYEeOdnOIOPCoZkRB+lQxgSwsr+oB+AToS6HFgkOJRDFGGbD4eAAA1YSsR');
          end;
    
        'yew':
          case lowerCase(LongOrShortBows) of
            'long':
              UnstrungBMP:=BitmapFromString(5, 5, 'meJzjjM4QmbeFkQEKGMFIZPZGZBHBml5kLmd0BpwLERGZsBRIAgAoiAbM');
            'short':
              //shortbow  here
          end;
    
    (*    'magic':
          case lowerCase(LongOrShortBows) of
            'long':
              //Bitmap of unstrung longbow here
            'short':
              //bitmap of unstrung shortbow here
          end;  *)
      end;
    
      case lowerCase(WhatToDo) of
        'cut': //Log bitmaps
          case lowerCase(BowType) of
            'normal':
              LogBMP:=BitmapFromString(12, 12, 'meJxjYIACRgaGgL71EGSd3GSZWG8RXwNCMZUM2NTIBBRBlEEQdjUhZTapLUBlEASRZURVA1cGUQmU0g/IhCBkBRATIHaJO8UDRQyDcoxD803Ci2TCqkAooAjuGE3XKCmPdP/eNT5tSz0a5wLVmEWVAhUAvaPrmwpH8tGNQMOBajyb50PUSHlnAzUC2RAENB9ocuDEjT6dK+BqIHZJ+eZDwye+BugYoDm+3au8WxYB1QANQXM50ElA9UD3ANUArYO4GYsa72wgG2gXUI173WxMc4AIACj4lBo=');
    
            'oak':
              LogBMP:=BitmapFromString(9, 12, 'meJxjYAABRgaG+I7lEKQf3+hSOMk5v48BUyqp2aV4ClCWESyOLAWXNYssgSAU8cJJQAQ02TKu2jKhzjq50TClDYh0Y2qBFjnm9sS1LY1unB9WPR0oZZvaDBQHCsLNAUqF186CSGmHl6n7ZwPZQJTQtSqmaQFcCmIgUIFDVidQV2zL4oj6OUApoAiy74B2AaWAZkKcgSwFdCrQQKBUSMUU7cgqZC9ohhQDzQEKAnUBHYAsBQAqRX8E');
    
            'willow':
              LogBMP:=BitmapFromString(10, 11, 'meJxjYIACRgYGh4wiCLJLy1fwjwAiBkKyjDAEl4UgoCxQUMLBHYLQpIDIJCQGaI60izcEQaRsk7PlvEOAyCI6CSgL5FonZEi7BwIRRErC2hmIXPLKIYrhspaxqWbhcchGAbXDZSGKgWqAJgAZEFkgA6IR2V9ALciyyM4GCgJdBZcFakTTCwD9rlzc');
    
            'maple':
              LogBMP:=BitmapFromString(10, 12, 'meJxjYIACRgYGo4xeCOLzLeTzygMiBmyyhiltEAXYZdO6QLK+hRBxRlRZuAKgIKddDARh6lUPKgDawumYAEIuqRBZ/aRmiKu0w8uAsvrxjboxtUBZIIJIcVqHA5FJ7mSgOUARuCyQoRlSDGHDjQJqh4tAFANNABoL8SBEFiiI7GugINBkuCyKp1LatCOroLJJzUA2it60LgBo3WXB');
    
              'yew':
              LogBMP:=BitmapFromString(27, 18, 'meJyl07EOgjAQBuAy8g4ubsYQQ2BowmATU4cuLF1cTPQJnHwGX9srB0fh2tJo8w/mgh/X9lCvjxpSmqfL9b4O1v1AUdlSmkIEliKw7hcmdyiXW9n1otG5YCLwItCG9sTpDCA3CXRmazecrndUo0Fz2Uuxq4tYh1zDvXvUGPgNgeJU901XbIfAlqeLcD00OvB3CPgQOmfvjciOD6BGPXAKHyOKbi0GVsaF2vCzclYzEANxy96uU4nc1wxWJnA1m1QCbG0WmDfk8vHO6jA4UTiWMJBHWXhjIw46PI2JK1AWPxP+sWBl8b3wTiYnhghm0jGOQ07ns3TyF5mz9pPDTWzsZ4Sb/7SE6wtcOOTr');
    
    (*        'magic':
              LogBMP:=*)
          end;
    
        'string': //Strung bow bitmaps
          case lowerCase(BowType) of
            'normal':
              case lowerCase(LongOrShortBows) of
                'long':
                  StrungBMP:=BitmapFromString(13, 15, 'meJzjjWlnZGAAIvyA0yGBN6CEF6wYD4AYBVcsmDoVq3pGZMVuGbiMZURicJoHAs3EqiwtLQ9FpUOCYPJETJWMSCpBygw8eIMqcBmIohJoYN4irAZmZBQAVcK5QBcKZs0mSqVPgWD6DFwqkb3D65mLNRgxVQKDCJfH0VQCkWBiH6bHsdjuU4CpDE0lxGoAxZAocg==');
                'short':
                  StrungBMP:=BitmapFromString(16, 13, 'meJxjYMACGMEoLS0PgoBsTrcMTqswRhyK4SohivGox6qYN6CE0zmF0zwQUz2aSgYc6jGNRbYRTT1hxUDH20ZD1BNQ7FMANJkRFmJYHQwPT17PXGRBZA9iugGiGBNgdQMuxXCr4Qi/YqiBQRUgB4BVgoLCLQOPerhKZFvwAAD5DkDu');
              end;
    
            'oak':
              case lowerCase(LongOrShortBows) of
                'long':
                  StrungBMP:=BitmapFromString(10, 16, 'meJwT7VzByMAAQZiAN6lCsGyiaOcK0em7MBVAdPFmt4iCDcEEQEHO0AygCVhlIQqAVohO3sKIIQ7V7hUtWDMDTTYtLQ8uAtQusfgEsoKMjAK4AiAJtF1iwVG4AkaYAjhXsLBbYs5+NAXIXN68dmTvYyoA+hHoBQbcCjB9h6YAM1iQFWAC/AqA4ikpORAFAKGPKn0=');
                'short':
                  StrungBMP:=BitmapFromString(15, 13, 'meJxjYEABjAwMaWl5cMQIFuHNbuGNyGUkQqVg5VTe9AZkxYyoKiFciLhg2USgYs7QDEYcBiLbBVKcWgNRTFgl0MFxJRDF+FQWdgPNZIQ5kgGmGM6Fu583r50BA2C3Oq+dEVMpkoEIq3GohFvKSIRKBnCYA+0VLOmDqAT6HZ9isDJk8/EAggqQAQD+fT/K');
              end;
    
            'willow':
              case lowerCase(LongOrShortBows) of
                'long':
                  StrungBMP:=BitmapFromString(13, 18, 'meJxTy8g3qGs1nzTbduFqRgacgBGMtIoqgSrxKIOoVIpOAJqJXxkEqGXk28xZikslXFzWL9iopQeXsrS0PEaYeqCBTut2YFWZkVEAVAk3GehCh9VbMVUyYqjUq2iwX74Bl0pGJK5OaQ3WYMRUCQwirB7HVAlEVrMWE6NSr7oZq8eRVUKsxhPgyCrxxHVKSg5EJSRV4DEQqBIua9o7FYdCkEpIPAKRcdckXMqQVQLjGgDkNjjv');
                'short':
                  StrungBMP:=BitmapFromString(15, 12, 'meJyN0MEKQEAQBuCZV5EkSd5HyYG9EKUUkUQO3tpkMq3dyLSXnb7mn12ARyGAUrUcvDpBO7hpjj9kvB5B0+kYn5Kv3I/nnbCTZIKNgXoWYb9qGdvRhqSFvaJk/Capon6hmXgvKQvIVfYPu0lvyrZ2NEu7DEnRb1JC8YeE688pNxo3lvT2D8xMn/9RJ/klQvA=');
              end;
    
            'maple':
              case lowerCase(LongOrShortBows) of
                'long':
                  StrungBMP:=BitmapFromString(10, 17, 'meJxjZGBgZMAJmruXTJ6zA5eCtLwmoAJcssFRWYUVfbhkgeIJqRW90zZhVQAU9PSLqWiYhkd7bErZolWHMRUwwsjiqglzlu5HU5CWlgdXkFfaNW3+bmQFGRkFcC6QkZHfMnH2dhQRVAVB4enIXsBUAERdk9fhUVBQ3ovsADQFAaEpaO5HVsAIjiA02ZSUHKACCBsYQZiBA1QANxMA0ycy4w==');
                'short':
                  StrungBMP:=BitmapFromString(15, 15, 'meJxjYCAAGMEoLS0vNqWMoEqgMgiKSigkUmVOcUd4bD5+qyEIyM7IbwmLzsFvIEQlSCSvCVMxVpUlNZNTc+qDo7LwWM0IEy+umpCcVRsUno7LQGRDCiv6ktKrA0JTCKoEGgt0cExSMVAxfpV5pV1ABzDidiTc/dmFrciCDDDFmFYDAxZZEK4YTSUwsrCqhNsIR3hUMsDCHBg4QL8AHQn0ODD8cSkGAE7jX1Q=');
              end;
    
              'yew':
              case lowerCase(LongOrShortBows) of
                'long':
                  StrungBMP:=BitmapFromString(18, 21, 'meJxjZIACRgYGvuwqsflbGRkIg4yMAkaYLs6gWKH2WUTqAiJk6yQ3nCSoEaggK6sIWaNQ42TJdceIsRFdY3Wv5MoDROgDaYSbD3JqRafYkt1E2oiskTM2i5ggZcTQCERiczeRoVGorp8Yd6JpBLqTGF1oGkGOnLKSSOvS0vIgGkHhWdpKvHVAjXDrhPoXE68RkkpBunoXEKkLWSMwfQp1zSVDI5HZAVkjMGSEWqYBETkaGyeTpIsBlk6AGknUB9VLNgAABE483w==');
                'short':
                  //bitmap of strung shortbow here
              end;
    
    (*        'magic':
              case lowerCase(LongOrShortBows) of
              'long':
                  //Bitmap of strung longbow here
                'short':
                  //bitmap of strung shortbow here
              end;  *)
          end;
      end;
    
      case lowerCase(WhatToDo) of //CraftScreens
        'cut':
          case lowerCase(LongOrShortBows) of
            'long':
              case lowerCase(BowType) of
                'normal':
                  CraftScreen:=BitmapFromString(24, 31, 'meJxjkNdlkNflsI8DIsG06QyUAQ4jbwii0ByQkyxDgYhyJzFoOwIRb0QTpebAfEe5OSCjgF5L6KWCQdqOHE7JVDAH7DsqhDYY8HrnU8UcIBDMXUgto3j9iqllFCj6MmZRxyizAF6PHOoYBU6fgilTqGCUvhsEUSsDQhClgaZuDUS8IdVU8KOyCTDYqZIHOWyieKPbKHcSNMApdxIwiDxygE6i1ByI1yKaKHcSxGtUcRLIa1QpzIFeC6un3Ekgf4VUA42i3Ekgr1HDHJDXqOWkwHIgooI5QK9Rw0kgr4GdBAAB3juf');
                'oak':
                  CraftScreen:=BitmapFromString(21, 27, 'meJxjMHHkjcoHIvHZ+xjIAhyuoUAk0rqEPO0gE3zigIhs7UDAG54j0r+BfAc4BvCm1VPiAKD7xWfuocQEweJeSrQDgfiSUxSaIFg6gUITOELSxecepMiEgGTe3DaKTAAnJ5FpO8k3AZykgYjsOAWmKDgiL2dx2HgDkWDDPJEp28h0g6WbYEEXJfmCN7FcpGsV+Q6ARAS5DgB5H+j+juXkaQcC3thiYLlEvgMg7qfAASD3U1AwAt0v2LSQbAdweEYJ1s0CmkC+A3LbgCmQfO1A91PmAMHq6UAEAGcDROU=');
                'willow':
                  CraftScreen:=BitmapFromString(21, 29, 'meJxTTkwznzYfiBjIAsqxyUBkPmWO9bzlZGgXMbdWzy4EIrvFa8lzgHxYNASRpx3oAOXENCCyW7aePBOkPP2AyKxvOnnagUA+MAyIyNbOAI4Fy5mLyNYu5eqpmVdCiQOA7ic7BiFAt6qJEu1A4LR+J4Um6Ne2UGiCYlSc/YpNlJgATMnaJdUUmQBOTjYLVpFtAiRJAxHZcQpMUXBEXs4Sd3QFIqPOieQVLCATbBx1y+spyReq6Xlkl2wMsIgg2wFA7wPdbzZxFnnagUA1JRNYLpHtAIj7KXEAyP0UFIxA95v0TCHbATK+QUZtvUATyHYAMCcCUyAAo9FUkw==');
                'maple':
                  CraftScreen:=BitmapFromString(23, 29, 'meJwzNLEPjcqGoJbe5b3TNzGQBUzMnYAoMa0KiCbN3kGeIRDgF5IMQZQYAnRMWEweEE2Zu4sSc1w8QoGooWMRJYYAgU9gIhBRaAgQAKOpe8p6Cg1xdA1Kyqih3DHefrEUBi8E5Jf1UG4IECxceYgq5hSU91LFnKCIjOkL9lBuDjDlpOc1UW6Oh280EPXP2EKhOZBMAUQU5nR7pwA4mjp/N9nmWNp5AlFV0ywKvQYsNLKL2jsnraXEECCITiwClqUUOgYSWRQ6BhgsQB819yylxBAGsI+auhZT6BiIjyh3DNBH9e3zKTQE6KPa1nkUOsbVOwKY6oDmUOgYoI9qmudQaAjQR0DHAAA8m2jp');
                (*'yew':
    
                'magic':*)
              end;
            'short':
              case lowerCase(BowType) of
                'normal':
                  CraftScreen:=BitmapFromString(30, 21, 'meJxjYKAa4PUrhiPqmcrAG1LN650PQVQ0FmRyYDkcDX6TecPq4WZy2McBEdWNBZlsGQpEVDAWGGs0MhaIPHIgiCpmMsDji7pmQpwKTLfUM5OBZokWEVOu6dQ0FlIggAOWmsaCQ5UmxsIQh00UTYylONsiF7OIjOCUTL6BSCkKxamu6SBEuoOhKR+IMJxKiTsZ0PwONpMS07CYTNXkBAEA9uJakg==');
                'oak':
                  CraftScreen:=BitmapFromString(24, 22, 'meJxjYKAICBZ08abVAxFFhlRMAZoDQRSaw5vbBkEUmVM6AY7IN6RulmBxLwRR5Jjq6XA0sOYINi2Em8CbWA5E5BjSMA/ZJbxR+UBEsiHAsAWmGRgCmsARkk6yIRA3wBIeGSagGUKmCUC/gJMKMNGSZwIDlRIJIjwzm8g3BJxrKMyDoFxDcYEAz32gsCU9jWExhMQEj1yMgMpJSNGUUk2aIZBIQXZGZhMIkecYcJBSUlwDAJ8wdNw=');
                'willow':
                  CraftScreen:=BitmapFromString(34, 22, 'meJxjYKAh0K9tgSDaWWHU1qtb1QRBtLPFsLkbjoauLSY9U+Dmq6bnARHVrTDqnIjsC+XENCCishVtvfqNHXAENF8xKo66VkAcr1teD0FUNx/NClqYDwwlSNbQLqmmhfkMdMkU8FjWLKyglRXgAgoYSkBEIytApRMsLdHQChiieo7DtIK6RQe8mgAiYBBB4kI9u5A6hiOVFcheAKYoIKLEI5AsBkFoXgAizbwSSpwNLEjhCOR4VPMpMRkCgHUBivvhQUTVJIpmPhVNRgYA6GaZ+w==');
                'maple':
                  CraftScreen:=BitmapFromString(28, 24, 'meJy1ld0KgkAQRvcVu0giRKjMCtHEMsuyHysiKIIoiIietQ+GlsW7nGk414cZZ75VKbEKxsd2fwGkhKP51Y8PhKBzEO0IKWc8u2hEhFnxHE5OhIgQla7uGilnkt80fFu+f+sO7U4CmMLF9mVObdkh4AixF3PketOvWR5HOF0/AIJDMG3qu2WKDN9G7UXpGWHh29QfjhBxJnphISKkFAu+D/h6so+YvhbQcCJZISd05jOIYbER0PKyCiq9VmC21w02wHHTn2x0b1iEhvbr+ssKvVGVhq3sKTkF/3RUH2AasPw=');
                (*'yew':
    
                'magic':*)
              end;
          end;
        'string':
          case lowerCase(LongOrShortBows) of
            'long':
              case lowerCase(BowType) of
                'normal':
                  CraftScreen:=BitmapFromString(17, 19, 'meJzjcMvgACMGogGHbRQcCcZ1ARGxGq1CIYg3up1460AaHeKBiDQtxt5AxBteT5ousPNI0sIgpQYJB9Is0nfncE4mzSKwpwRTp+CSzcjIxyIqr8frjU0cBtLScrGIalgL5i4kQxeehATUglOXWQCuJAH0FE5d4CgmWRcw5MEIqy7sTlcxZdBxhCKSdGlYgxAOF+LUBUQ4AE5dDAwAtgEunw==');
                'oak':
                  CraftScreen:=BitmapFromString(16, 24, 'meJzjzW1nIAXwZjVDELHqo/LhSKR3LRCRpEukaxUJbkutBiLi1XMEJAORYMM8EqyIyAEi4tUzaJnyxhUT6Wuoq7yiSPIFA9gj4jP3YpXKyMjHIqpvLVjci8u0tLRcLFbYeosvPUWqFlzpBKgelxaOkAyskQ70CE4tPvFARJoWrygIwtSC1cEcVu4cjgFAhNUWnFpsvbFK4dGCVRyPFjyAVC24IgW/FpLUY2oBAMYOP+s=');
                'willow':
                  CraftScreen:=BitmapFromString(15, 19, 'meJxjYAABlcR0CLKYMpeBOKCRXQhERCqWD48GIuPOiUSqV4lLBiIiFQvq6aulZllMX0Ckelm/YOJdzgB2vN3itZjiGRn5WBxjbKZX1YTVnLS0XExBcUc35w27SFKvVViBVTEu9YpR8ZjRCnQ8LvXyQeFARLx6YHgCEaZ6TMUg9baOUm5emOJ41GMVx6UeF6CpeszABwA6rzQ/');
                'maple':
                  CraftScreen:=BitmapFromString(14, 19, 'meJxjYICC+NRyIGIgAvgEJQJRVdMsYhQHR2YCETEqtXRMI+ML2iesJEaxm3ckka5lADt40pwdxKg0NHXILenEFE9Ly8UUtHX0WbjyEPGK03IbMVXiUhwUnt7atwJZMCMjH6tiKzsvb/84ICJSMTDogAhNMaZKiGIH5wA0QVyKLazdMAVxKcYKaKQYVyDjUozMBQAiZjab');
                'yew':
                  CraftScreen:=BitmapFromString(23, 20, 'meJxtkj1LA2EQhG3TXHFFwB9ia6oUaVIolilsQkihElCsAgoiChJQVDgTiFrY2NlplItoFQln0uTnOG8mjMteYDnu/Xp2dna7w0n/4/f+c4roDieIlbX1uN3hjt1naMceNRp72lEUytXVl5Hd6X3N7DUBBQfHQciJ9k/staXCdASIOLY0cAq1ZvH2WZfv3rM8QdFstlgXrtlcgbO1jXB5XS38T9IxOYC4dIGzUWPk7bXBh+BoJ3n7+eeUKoXKpoLPH75nDsInOLUcKylwIKlcjS/6eSU36RSXAZH5To9QgVOqYISWZsG/bQoeggOXdE1G4RvtttUvLK8HmfXWWkqOK5ma0XSEc5WCoQQhDmRweKyYRVFzb/OW0pOg7XWEsJPMC7ZT0BAdnhUvn1xzCYESLFEjy+TUWTFY8mbUOIg7j+E/HSuvjLVYwWkO9eAVvm6GA2qeWi22ED7Ead7k+OgKYpQUntthE4EpCMHScaLWMafOJkVdzMvSnGOMRV3z+UGX4/MegoL13IYbRetPkJeOsYxPE0IWbR1kDsVRtDIIqdd3NANoNDg8+gNIDZHE');
                (*'magic':*)
              end;
            'short':
              case lowerCase(BowType) of
                'normal':
                  CraftScreen:=BitmapFromString(24, 23, 'meJxjYCAHpKXlwhGQy+tfTLkhIHO886lgSFA5r0cOeSbADYGYw+GWQaEhDODA4XBOJtUQNCne8Hpg4BATPngMAZkTUg0MHPzhg8cvCHOAgQxGlBjCAA4cCCLfJcCQAbsEGMhYw5koZwCDBeYSUHyZBZDjF6AzwHGENZpICBDcEURSqOKSJdYQoEdwpxNiTCBoCLI5BAwhlPKJNIQYcyg3BLtepAQGDBPiyxYGSPqEI5gbgAhoCJHmgLIJLKfAEyo5voC5gQy9yAAAaySefw==');
                'oak':
                  CraftScreen:=BitmapFromString(18, 17, 'meJxjYEAHaWm5cIQmJdgwT7C4F4iI1wLSVTdbsKALiLCqx6oFpKt6OgQRrwWkq2IKBBFrC9BHYPW86fVARJQVQO+UToQjjpAMwlqAHgGHG3LQEfYIaqDBdeHUAnYPLlnsWop7eXPbSdNS0EWGFkyPEKOFJF3Ea4EnEkgg82Y1E2U+LAZBgZbVTLwuYpShAQA6R2Uz');
                'willow':
                  CraftScreen:=BitmapFromString(14, 12, 'meJxjYEABqak5cMSAAyCroY8yo86JxBhl1NarX9tCUJlhc7duVSMQ4Vem39ChW14HRBBH4lRW2wJEuGThAGiddkk1YWXldUQqgziMGGVYVQIAh5Y6cg==');
                'maple':
                  CraftScreen:=BitmapFromString(20, 17, 'meJxjYMAO0tJy4QhNqqZlbm5JJxCRqhEIKhpmZBd1ABEeXVg1AkFp7RQIIlUjEBRVToAgkjTWts2D2JiYXgVExHgQAqqaZsFtBCL/kGQi3VlePy2/rAeCsDoVl8bi6kn4AxaXxoLyPiDCKoVfI9CFWQWtuGTxAGDKIVsjrlRHjEYy9JKqETnSgX5My20kRhcw0pHjHYiAGonUC4x3soMFAKq6ihw=');
                (*'yew':
    
                'magic':*)
              end;
          end;
      end;
    end;
    
    procedure FreeAll;
    begin
      FreeBitmap(LogBMP);
      FreeBitmap(CloseButton);
      FreeBitmap(BowstringBMP);
      FreeBitmap(KnifeBMP);
      FreeBitmap(StrungBMP);
      FreeBitmap(UnstrungBMP);
      FreeBitmap(EnterAmount);
      FreeBitmap(KnifeBMP);
      FreeBitmap(CraftScreen);
    end;
    
    procedure SetAllTheStuffs;
    begin
      case lowerCase(LongOrShortBows) of
        'short':
          case lowerCase(BowType) of
            'normal':
              BowExp:=5;
            'oak':
              BowExp:=16.5;
            'willow':
              BowExp:=33.3;
            'maple':
              BowExp:=50;
            (*'yew':
    
            'magic':*)
          end;
        'long':
          case lowerCase(BowType) of
            'normal':
              BowExp:=10;
            'oak':
              BowExp:=25;
            'willow':
              BowExp:=41.5;
            'maple':
              BowExp:=58.3;
            (*'yew':
    
            'magic':*)
          end;
      end;
    end;
    
    procedure StartScript;
    begin
      if not LoggedIn then Exit;
      GameTab(tab_Inv);
      Wait(RandomRange(75, 150));
      setangle(SRL_Angle_High);
      case lowerCase(BankLocation) of
        'castlewars, seersvillage':
          MakeCompass('N');
        'vwest':
          MakeCompass('E');
      end
      Exit;
    end;
    
    procedure OpenTheBank;
    begin
      repeat
        if not LoggedIn then Exit;
        case lowerCase(BankLocation) of
          'castlewars':
              if (FindObj(x, y, 'hest', CWBANKCHEST, 5)) then
                begin
                  if (IsUpTextMultiCustom(['hest'])) then
                    begin
                      Clickmouse2(false);
                      Wait(RandomRange(40,90));
                      if ChooseOption('Use') then
                        begin
                          ChooseOption('Use');
                          repeat
                            Wait(50);
                          until(FindColorTolerance(x,y,BANKOFRS,20,10,340,35,5));
                        end;
                    end;
                end;
          'vwest':
            if (FindObj(x, y, 'anker', VARROCKBANKER, 5)) then
              begin
                if (IsUpTextMultiCustom(['anker'])) then
                  begin
                    Clickmouse2(false);
                    Wait(RandomRange(40,90));
                    if ChooseOption('ank Banker') then
                      begin
                        ChooseOption('ank Banker');
                        repeat
                          Wait(50);
                        until(FindColorTolerance(x,y,BANKOFRS,20,10,340,35,5));
                      end;
                  end;
              end;
          'seersvillage':
            if FindObj(x, y, 'ank booth', SEERSBANK, 5) then
              begin
                if (IsUpTextMultiCustom(['ank', 'ank booth', 'ooth'])) then
                  begin
                    Clickmouse2(mouse_Left);
                    repeat
                      Wait(50);
                    until(FindColorTolerance(x,y,BANKOFRS,20,10,340,35,5));
                  end;
              end;
        end;
      until(FindColorTolerance(x,y,BANKOFRS,20,10,340,35,5));
    end;
    
    procedure DepositTheStuffs;
    begin
      if not LoggedIn then Exit;
      case lowerCase(WhatToDo) of
        'cut':
          begin
            if FindDeformedBitmapToleranceIn(UnstrungBMP,x,y,555,205,730,460,5,0,false,A) then
              begin
                MMouse(x,y,3,3);
                ClickMouse2(false);
                Wait(RandomRange(30,70));
                if ChooseOption('eposit-All') then
                  begin
                    ChooseOption('eposit-All');
                    Wait(RandomRange(30,50));
                    BowsCrafted:= BowsCrafted+27;
                  end;
              end;
          end;
        'string':
          begin
            if FindDeformedBitmapToleranceIn(StrungBMP,x,y,555,205,730,460,5,0,false,A) then
              repeat
                QuickDeposit('inventory');
                BowsCrafted:=BowsCrafted+14;
              until not FindDeformedBitmapToleranceIn(StrungBMP,x,y,555,205,730,460,5,0,false,A);
          end;
      end;
    end;
    
    procedure WithdrawTheStuffs;
    begin
      if not LoggedIn then Exit;
      case lowerCase(WhatToDo) of
        'cut':
          begin
            if not FindDeformedBitmapToleranceIn(KnifeBMP,x,y,555,205,730,460,5,0,false,A) then
              begin
                if FindDeformedBitmapToleranceIn(KnifeBMP,x,y,60,80,480,290,5,0,false,A) then
                  begin
                    MMouse(x,y,3,3)
                    ClickMouse2(mouse_Left);
                    Wait(RandomRange(33,66));
                  end;
              end;
            if FindDeformedBitmapToleranceIn(LogBMP,x,y,70,80,470,300,10,0,false,A) then
              begin
                MMouse(x,y,3,3);
                ClickMouse2(false);
                Wait(RandomRange(30,70));
                if ChooseOption('ithdraw-All') then
                  begin
                    ChooseOption('ithdraw-All');
                    Wait(RandomRange(40,90));
                  end;
              end else
                begin
                  Writeln('Could not detect logs in the first 48 bank slots. Are they really there?');
                  TerminateScript;
                end;
          end;
        'string':
          begin
            if FindDeformedBitmapToleranceIn(UnstrungBMP,x,y,70,80,470,300,10,0,false,A) then
              begin
                MMouse(x,y,3,3);
                ClickMouse2(false);
                Wait(RandomRange(30,70));
                if ChooseOption('ithdraw-14') then
                  begin
                    ChooseOption('ithdraw-14');
                    Wait(RandomRange(40,90));
                end else
                  if ChooseOption('ithdraw-X') then
                    begin
                      ChooseOption('ithdraw-X');
                      Wait(RandomRange(130,170));
                      TypeSendEx(IntToStr(14), true);
                      Wait(RandomRange(40,90));
                    end;
              end else
                begin
                  Writeln('Could not find unstrung bows in the first 48 slots of the bank. Are they really there?');
                  TerminateScript;
                end;
            if FindDeformedBitmapToleranceIn(BowstringBMP,x,y,70,80,470,300,10,0,false,A) then
              begin
                MMouse(x,y,3,3);
                ClickMouse2(false);
                Wait(RandomRange(30,70));
                if ChooseOption('ithdraw-14') then
                  begin
                    ChooseOption('ithdraw-14');
                    Wait(RandomRange(40,90));
                  end;
              end else
                begin
                  Writeln('Could not find bowstrings in the first 48 slots of the bank. Are they really there?');
                  TerminateScript;
                end;
          end;
      end;
    end;
    
    procedure CloseTheBank;
    begin
      if not LoggedIn then Exit;
      repeat
        MMouse(470,35,15,15);
        if FindDeformedBitmapToleranceIn(CloseButton,x,y,475,5,500,35,10,0,false,A) then
          begin
            mouse(485,22,5,5,mouse_left);
            Wait(RandomRange(200,400));
          end;
       until not FindColorTolerance(x,y,BANKOFRS,20,10,340,35,5);
    end;
    
    procedure CutOrStringStuff;
    begin
      if not LoggedIn then Exit;
      case lowerCase(WhatToDo) of
        'cut':
          begin
            if FindDeformedBitmapToleranceIn(KnifeBMP,x,y,560,205,590,245,5,0,false,A) then
              begin
                MMouse(x,y,2,2);
                ClickMouse2(mouse_left);
                Wait(RandomRange(25,45));
              end;
            if FindDeformedBitmapToleranceIn(LogBMP,x,y,600,210,640,245,10,0,false,A) then
              begin
                MMouse(x,y,3,3);
                ClickMouse(x, y, mouse_Left);
                repeat
                  Wait(50);
                until(FindBitmapToleranceIn(CraftScreen,x,y,10,350,510,470,10));
              end;
            if FindBitmapToleranceIn(CraftScreen,x,y,10,350,510,470,10) then
              begin
                MMouse(x,y,3,3);
                ClickMouse2(mouse_Right);
                Wait(RandomRange(100,120));
                if ChooseOption('ake X') then
                  begin
                    ChooseOption('ake X');
                    repeat
                      Wait(50);
                    until(FindBitmapToleranceIn(EnterAmount,x,y,200,380,315,415,10));
                    Wait(RandomRange(300,450));
                    TypeSendEx(IntToStr(33), true);
                  end;
              end;
          end;
        'string':
          begin
            if FindDeformedBitmapToleranceIn(UnstrungBMP,x,y,555,205,730,460,5,0,false,A) then
              begin
                MMouse(x,y,3,3);
                ClickMouse2(mouse_Left);
                Wait(RandomRange(25,50));
              end;
            if FindDeformedBitmapToleranceIn(BowstringBMP,x,y,555,205,730,460,5,0,false,A) then
              begin
                MMouse(x,y,3,3);
                ClickMouse2(mouse_Left);
                Wait(RandomRange(25,50));
                repeat
                  Wait(50);
                until(FindBitmapToleranceIn(CraftScreen,x,y,10,350,510,470,10));
              end;
            if FindBitmapToleranceIn(CraftScreen,x,y,10,350,510,470,10) then
              begin
                MMouse(x,y,3,3);
                ClickMouse2(false);
                Wait(RandomRange(100,120));
                if ChooseOption('ake All') then
                  ChooseOption('ake All');
              end;
          end;
      end;
    end;
    
    procedure WaitToFinish; //Thanks to Robert for pointing out the countItems function to me~
    begin
      if not LoggedIn then Exit;
      case lowerCase(WhatToDo) of
        'cut':
          begin
            currentLogs := countItems('bmp', LogBMP, [5]);
            markTime(t);
            repeat
              case Random(1500) of
                1..15: begin
                        HoverSkill('Fletching', false);
                        Wait(RandomRange(2000,4000));
                        GameTab(tab_Inv);
                       end;
                16..20: ExamineInv;
                21..30: PickUpMouse;
                31..35: RandomRClick;
                36..60: MMouseOffClient('random');
              end;
              if (countItems('bmp', UnstrungBMP, [5]) = currentLogs) then
              begin
                Exit;
              end else
                wait(500);
            until (timeFromMark(t) > 50000);
          end;
        'string':
          begin
            currentStrings := countItems('bmp', UnstrungBMP, [5]);
            markTime(t);
            repeat
              case Random(1500) of
                1..15: begin
                        HoverSkill('Fletching', false);
                        Wait(RandomRange(2000,4000));
                        GameTab(tab_Inv);
                       end;
                16..20: ExamineInv;
                21..30: PickUpMouse;
                31..35: RandomRClick;
                36..60: MMouseOffClient('random');
              end;
              if (countItems('bmp', StrungBMP, [5]) = currentStrings) then
              begin
                Exit;
              end else
                wait(500);
            until(timeFromMark(t) > 30000);
          end;
      end;
    end;
    
    procedure Progress;
    var
      currentEXP,ExpPH:Extended;
      BowsPH:Integer;
    begin
      BowsPH := Round((BowsCrafted * 3600) / (GetTimeRunning / 1000));
      currentEXP := (BowsCrafted * BowExp);
      ExpPH := Round((currentEXP * 3600) / (GetTimeRunning / 1000));
      ClearDebug;
      Writeln('******Annonymus AIO Fletcher******');
      Writeln('*        ~By Annonymus~          *');
      Writeln('* Bows crafted: ' + IntToStr(BowsCrafted));
      Writeln('* Bows per hour: ' + IntToStr(BowsPH));
      Writeln('* Experience gained: ' + FloatToStr(currentEXP));
      Writeln('* Experience per hour: ' + FloatToStr(ExpPH));
      Writeln('* Total time running: ' + TimeRunning);
      Writeln('**********************************');
    end;
    
    begin
      ActivateClient;
      DeclarePlayers;
      SetupSRL;
      MouseSpeed := 18;
      SetAllTheStuffs;
      StartBMPS;
      LoginPlayer;
      StartScript;
      MarkTime(StartTime);
    
      repeat
        if not LoggedIn then LoginPlayer;
        Progress;
        OpenTheBank;
        DepositTheStuffs;
        WithdrawTheStuffs;
        CloseTheBank;
        CutOrStringStuff;
        WaitToFinish;
      until(false);
      AddOnTerminate('FreeAll');
    end.
    Last edited by webbydee; 05-26-2015 at 01:09 AM. Reason: Just posted old script hahaha

  9. #9
    Join Date
    May 2015
    Location
    I'm not sure.
    Posts
    59
    Mentioned
    0 Post(s)
    Quoted
    15 Post(s)

    Default

    Nice script man! I will use this a lot

  10. #10
    Join Date
    Mar 2013
    Posts
    24
    Mentioned
    0 Post(s)
    Quoted
    13 Post(s)

    Default

    Script not working for me, it finds the logs and bows in the bank, but can't get them together, or cut the logs, it simply hovers over the options in the chat box. Can anyone identify my problem?

  11. #11
    Join Date
    May 2015
    Posts
    38
    Mentioned
    0 Post(s)
    Quoted
    15 Post(s)

    Default

    Quote Originally Posted by Stick1234 View Post
    Script not working for me, it finds the logs and bows in the bank, but can't get them together, or cut the logs, it simply hovers over the options in the chat box. Can anyone identify my problem?
    Probably means its not detecting the BMP for the longbow in the craftscreen, to fix this you could make your own BMP following one of the tutorials on here and replace the craftscreen BMPfromstring with the one outputted by the program. If this doesnt work then im not sure what the issue is.

  12. #12
    Join Date
    Jun 2015
    Posts
    22
    Mentioned
    0 Post(s)
    Quoted
    18 Post(s)

    Default

    its not entering the amount of logs to cut

  13. #13
    Join Date
    Dec 2014
    Posts
    188
    Mentioned
    3 Post(s)
    Quoted
    100 Post(s)

    Default

    Since it is for RS3 i think you could condence your Bank procedures alot while using presets. With presets you can Deposit+Withdraw+Close the bank in a single click and in a single procedure. The rest looks pretty amazing i hope someday i can write such things and have such results.

  14. #14
    Join Date
    Jun 2015
    Posts
    21
    Mentioned
    0 Post(s)
    Quoted
    11 Post(s)

    Default

    Tried adding magic logs to the script but failed to do so sadly....
    Please if anybody knows how to successfully do so add the full and complete script here ...thanks in advance!

  15. #15
    Join Date
    Jan 2016
    Posts
    10
    Mentioned
    0 Post(s)
    Quoted
    1 Post(s)

    Default

    keep up the work man

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
  •