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.