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.
(********************************************************)
(********************************************************)
(*******.________________________________________.*******)
(*******| |*******)
(*******| 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.