tehq
2013-01-14 22:07:55
SRL Stats
This script only cuts logs (oak - magic) into bows (long & short) as of right now!
(If you choose string for the method, the script will fail.)
This script only cuts logs (oak - magic) into bows (long & short) as of right now!
(If you choose string for the method, the script will fail.)
How to use the form:
1. Fill in the details of the account you would like to use.*(If you wish to use an account that is already saved, please begin at step 4. Accounts currently work with tAlch, tTeleport, tSuperheat, and tFletch).
2. Fill in the information for the script to use.
3. Save the data for future applications. (See C:\Simba\TehScripts\Accounts and C:\Simba\TehScripts\tFletching.)
*Note: See C:\Simba\TehScripts\Stats after each run for overall usage.
4. *(or 1.) Load an account that you have previously saved.
5. Begin the script!
** If you wish to change the Script info without changing the Account info.. First, select the account. Then, clear the account text box. Finally, edit the info you wish to change, save, and begin the script.**
program tFletch;
{$DEFINE SMART} { tFletching }
{$i SRL/srl.simba}
var
x, y, Count, Fletching_XP, Antibans, GetTime, i, StartTime,
LoadCount, WHI, Runs, Log, XP: Integer;
User1, Pass1, StatsUser1, StatsPass1, Strings, LogType, Fletchs, Uptext, Method,
LogName, Bankloc, BankPin1: String;
Procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
with Players[0] do
begin
Name := User1;
Pass := Pass1;
BoxRewards := ['amp', 'Xp', 'XP'];
Pin := BankPin1;
LampSkill := SKILL_FLETCHING;
Active := True;
end;
end;
Procedure Run;
begin
SRL_SIXHOURFIX := TRUE;
SMART_FIXSPEED := TRUE;
SetupSRL;
SetupSRLStats(1302, StatsUser1, StatsPass1);
DeclarePlayers;
LoginPlayer;
Count := 0;
if not LoggedIn then
begin
repeat
LoginPlayerToLob;
until LobbyScreen;
OpenWorldScreen;
if not WorldScreen then
OpenWorldScreen;
if WorldScreen then
begin
RandomWorld(True, False);
LoginPlayer;
end;
end;
if LoggedIn then
begin
ClickNorth(SRL_ANGLE_HIGH);
ExitSquealOfFortune;
SetChat('off', CHAT_ASSIST);
SetChat('off', CHAT_PUBLIC);
Setchat('off', CHAT_PRIVATE);
FTab(tab_Inv);
end;
if FindNormalRandoms or FindNonInventoryRandoms then
Exit;
Antibans := 0;
end;
{ Form vars }
var
frmDesign: TForm;
BeginButton, SaveButton, LoadButton: TButton;
TitleLabel, UserLabel, PassLabel, InventoryLabel, StatsUserLabel,StatsPassLabel,
TFLabel, LogLabel, TSLabel, AccLabel, StyleLabel, BankLabel, PinLabel: TLabel;
User, Pass, Inventory, StatsUser, StatsPass, BankPin: TEdit;
ImageWH: TImage;
Acc, TSList, TFList, ListLogs, StyleList, BLList: TComboBox;
Accs: Array of string;
RefTime: TTimer;
Procedure ButtonClick(Sender: TObject);
begin
frmDesign.ModalResult := mrOk;
if (Acc.TEXT <> '') then
begin
if not FileExists('C:\Simba\TehScripts\Accounts\' + Acc.TEXT) or not FileExists('C:\Simba\TehScripts\tFletching\' + Acc.TEXT) then
begin
Writeln('Could not locate your player information.. Terminating script.');
TerminateScript;
end;
Runs := StrToIntDef(ReadINI('Times Run', 'Times Run', 'C:\Simba\TehScripts\Stats\tFletching.txt'), 0);
User1 := ReadINI('Name', 'Name', 'C:\Simba\TehScripts\Accounts\' + (Acc.TEXT));
Pass1 := ReadINI('Pass', 'Pass', 'C:\Simba\TehScripts\Accounts\' + (Acc.TEXT));
StatsUser1 := ReadINI('StatsName', 'StatsName', 'C:\Simba\TehScripts\Accounts\' + (Acc.TEXT));
StatsPass1 := ReadINI('StatsPass', 'StatsPass', 'C:\Simba\TehScripts\Accounts\' + (Acc.TEXT));
Strings := (ReadINI('String', 'String', 'C:\Simba\TehScripts\tFletching\' + Acc.TEXT));
Fletchs := (ReadINI('Fletch', 'Fletch', 'C:\Simba\TehScripts\tFletching\' + Acc.TEXT));
BankLoc := (ReadINI('Location', 'Location', 'C:\Simba\TehScripts\tFletching\' + Acc.TEXT));
BankPin1 := ReadINI('Pin', 'Pin', 'C:\Simba\TehScripts\Accounts\' + (Acc.TEXT));
LogType := (ReadINI('LogType', 'LogType', 'C:\Simba\TehScripts\tFletching\' + Acc.TEXT));
LoadCount := StrToIntDef(ReadINI('Total Loads', 'Total Loads', 'C:\Simba\TehScripts\tFletching\' + Acc.TEXT), -1);
Method := (ReadINI('Style', 'Style', 'C:\Simba\TehScripts\tFletching\' + Acc.TEXT));
end else
begin
Runs := StrToIntDef(ReadINI('Times Run', 'Times Run', 'C:\Simba\TehScripts\Stats\tFletching.txt'), 0);
User1 := User.TEXT;
Pass1 := Pass.TEXT;
StatsUser1 := StatsUser.TEXT;
StatsPass1 := StatsPass.TEXT;
Strings := TSList.TEXT;
Fletchs := TFList.TEXT;
BankPin1 := BankPin.TEXT;
LogType := ListLogs.TEXT;
BankLoc := BLList.TEXT;
LoadCount := StrToInt(Inventory.TEXT);
Method := StyleList.TEXT;
end;
ClearDebug;
WriteLn('Thanks for using Teh''s Fletcher. Please leave some feedback.');
FreeBitmap(WHI);
end;
Procedure ButtonClick2(Sender: TObject); //saves player info
begin
ClearDebug;
if (User.TEXT <> '') then
begin
WriteINI('Name', 'Name', User.TEXT, 'C:\Simba\TehScripts\Accounts\' + (User.TEXT) + '.txt');
WriteINI('Pass', 'Pass', Pass.TEXT, 'C:\Simba\TehScripts\Accounts\' + (User.TEXT) + '.txt');
WriteINI('StatsName', 'StatsName', StatsUser.TEXT, 'C:\Simba\TehScripts\Accounts\' + (User.TEXT) + '.txt');
WriteINI('StatsPass', 'StatsPass', StatsPass.TEXT, 'C:\Simba\TehScripts\Accounts\' + (User.TEXT) + '.txt');
Acc.Items.Add(User.TEXT + '.txt');
WriteINI('String', 'String', (TSList.TEXT), 'C:\Simba\TehScripts\tFletching\' + (User.TEXT) + '.txt');
WriteINI('Fletch', 'Fletch', (TFLIST.TEXT), 'C:\Simba\TehScripts\tFletching\' + (User.TEXT) + '.txt');
WriteINI('Pin', 'Pin', BankPin.TEXT, 'C:\Simba\TehScripts\Accounts\' + (User.TEXT) + '.txt');
WriteINI('LogType', 'LogType', (ListLogs.TEXT), 'C:\Simba\TehScripts\tFletching\' + (User.TEXT) + '.txt');
WriteINI('Location', 'Location', (BLLIST.TEXT), 'C:\Simba\TehScripts\tFletching\' + (User.TEXT) + '.txt');
WriteINI('Total Loads', 'Total Loads', Inventory.TEXT,'C:\Simba\TehScripts\tFletching\' + (User.TEXT) + '.txt');
WriteINI('Style', 'Style', StyleList.TEXT, 'C:\Simba\TehScripts\tFletching\' + (User.TEXT) + '.txt');
end else
Writeln('Please enter a username to save your information.');
WriteLn('Info saved to Simba\TehScripts.');
end;
Procedure OnTimer(Sender: TObject);
begin
if (Acc.TEXT <> '') then
begin
User.TEXT := ReadINI('Name', 'Name', 'C:\Simba\TehScripts\Accounts\' + (Acc.TEXT));
Pass.TEXT := ReadINI('Pass', 'Pass', 'C:\Simba\TehScripts\Accounts\' + (Acc.TEXT));
StatsUser.TEXT := ReadINI('StatsName', 'StatsName', 'C:\Simba\TehScripts\Accounts\' + (Acc.TEXT));
StatsPass.TEXT := ReadINI('StatsPass', 'StatsPass', 'C:\Simba\TehScripts\Accounts\' + (Acc.TEXT));
TSList.TEXT := ReadINI('String', 'String', 'C:\Simba\TehScripts\tFletching\' + Acc.TEXT);
TFList.TEXT := ReadINI('Fletch', 'Fletch', 'C:\Simba\TehScripts\tFletching\' + Acc.TEXT);
ListLogs.TEXT := ReadINI('LogType', 'LogType', 'C:\Simba\TehScripts\tFletching\' + Acc.TEXT);
BankPin.TEXT := ReadINI('Pin', 'Pin', 'C:\Simba\TehScripts\Accounts\' + Acc.TEXT);
Inventory.TEXT := ReadINI('Total Loads', 'Total Loads', 'C:\Simba\TehScripts\tFletching\' + Acc.TEXT);
StyleList.TEXT := ReadINI('Style', 'Style', 'C:\Simba\TehScripts\tFletching\' + Acc.TEXT);
BLList.TEXT := ReadINI('Location', 'Location', 'C:\Simba\TehScripts\tFletching\' + Acc.TEXT);
end;
if (Lowercase(StyleList.Text) = 'cut') then
begin
TFList.Show;
TFLabel.Show;
TSList.Hide;
TSLabel.Hide;
end else
begin
TSList.Show;
TSLabel.Show;
TFList.Hide;
TFLabel.Hide;
end;
end;
Procedure FinishStats;
var
CurrXP, CurrTime: integer;
begin
if (Runs < 1) then
WriteINI('Times Run', 'Times Run', IntToStr(1), 'C:\Simba\TehScripts\Stats\tFletching.txt')
else
WriteINI('Times Run', 'Times Run', IntToStr(Runs + 1), 'C:\Simba\TehScripts\Stats\tFletching.txt');
CurrTime := StrToIntDef(ReadINI('Time Running (sec)', 'Time Running (sec)', 'C:\Simba\TehScripts\Stats\tFletching.txt'), 0);
CurrXP := StrToIntDef(ReadINI('Total XP Gained', 'Total XP Gained', 'C:\Simba\TehScripts\Stats\tFletching.txt'), 0);
WriteINI('Time Running (sec)', 'Time Running (sec)', IntToStr(CurrTime + Round(TimeFromMark(StartTime)/1000)), 'C:\Simba\TehScripts\Stats\tFletching.txt');
WriteINI('Total XP Gained', 'Total XP Gained', IntToStr(CurrXP + Fletching_XP), 'C:\Simba\TehScripts\Stats\tFletching.txt');
end;
Procedure CreateFolders();
begin
ClearDebug;
if not DirectoryExists(AppPath + 'TehScripts') then
begin
CreateDirectory(AppPath + 'TehScripts');
CreateDirectory(AppPath + 'TehScripts\tSuperheat');
CreateDirectory(AppPath + 'TehScripts\tAlch');
CreateDirectory(AppPath + 'TehScripts\tTeleport');
CreateDirectory(AppPath + 'TehScripts\tAgility');
CreateDirectory(AppPath + 'TehScripts\tVial');
CreateDirectory(AppPath + 'TehScripts\tQuest');
CreateDirectory(AppPath + 'TehScripts\tWoodcutting');
CreateDirectory(AppPath + 'TehScripts\tFletching');
CreateDirectory(AppPath + 'TehScripts\Accounts');
CreateDirectory(AppPath + 'TehScripts\Stats');
Writeln('Successfully created the directories that are used in my scripts.');
end else
Writeln('Please delete the TehScripts directory in your Simba folder and try again.');
end;
Procedure InitForm;
begin
frmDesign := TForm.Create(nil);;
frmDesign.Left := 270;
frmDesign.Top := 50;
frmDesign.Width := 800;
frmDesign.Height := 500;
frmDesign.Caption := 'Teh''s Fletcher';
frmDesign.Font.Color := ClBlack;
frmDesign.Font.Name := 'Calibri';
frmDesign.Color := ClNavy;
BeginButton := TButton.Create(FrmDesign);
BeginButton.Parent := frmDesign;
BeginButton.Left := 650;
BeginButton.Top := 400;
BeginButton.Height := 30;
BeginButton.Width := 105;
BeginButton.Caption := 'Begin Script';
BeginButton.OnClick := @ButtonClick;
SaveButton := TButton.Create(FrmDesign);
SaveButton.Parent := FrmDesign;
SaveButton.Left := 650;
SaveButton.Top := 350;
SaveButton.Height := 30;
SaveButton.Width := 105;
SaveButton.Caption := 'Save Info';
SaveButton.OnClick := @ButtonClick2;
TitleLabel := TLabel.Create(FrmDesign);
TitleLabel.Parent := FrmDesign;
TitleLabel.Left := 275;
TitleLabel.Top := 10;
TitleLabel.Caption := 'Teh''s Fletcher';
TitleLabel.Font.Size := 30;
TitleLabel.Font.Color := ClWhite;
TitleLabel.Font.Name := 'Calibri';
RefTime := TTimer.Create(FrmDesign);
RefTime.Interval := 1000;
RefTime.OnTimer := @OnTimer;
RefTime.Enabled := True;
User := TEdit.Create(FrmDesign);
User.Parent := FrmDesign;
User.Top := 100;
User.Left := 200;
User.Width := 140;
User.Height := 20;
UserLabel := TLabel.Create(FrmDesign);
UserLabel.Parent := FrmDesign;
UserLabel.Top := 100;
UserLabel.Left := 80;
UserLabel.Caption := 'Username';
UserLabel.FONT.Color := ClWhite;
StatsUser := TEdit.Create(FrmDesign);
StatsUser.Parent := FrmDesign;
StatsUser.Top := 200;
StatsUser.Left := 200;
StatsUser.Width := 140;
StatsUser.Height := 20;
StatsUser.Text := '';
StatsUserLabel := TLabel.Create(FrmDesign);
StatsUserLabel.Parent := FrmDesign;
StatsUserLabel.Top := 200;
StatsUserLabel.Left := 80;
StatsUserLabel.Caption := 'Stats User';
StatsUserLabel.FONT.Color := ClWhite;
StatsPass := TEdit.Create(FrmDesign);
StatsPass.Parent := FrmDesign;
StatsPass.Top := 250;
StatsPass.Left := 200;
StatsPass.Width := 140;
StatsPass.Height := 20;
StatsPass.Text := '';
StatsPassLabel := TLabel.Create(FrmDesign);
StatsPassLabel.Parent := FrmDesign;
StatsPassLabel.Top := 250;
StatsPassLabel.Left := 80;
StatsPassLabel.Caption := 'Stats Pass';
StatsPassLabel.FONT.Color := ClWhite;
Pass := TEdit.Create(FrmDesign);
Pass.Parent := FrmDesign;
Pass.Top := 150;
Pass.Left := 200;
Pass.Width := 140;
Pass.Height := 20;
PassLabel := TLabel.Create(FrmDesign);
PassLabel.Parent := FrmDesign;
PassLabel.Top := 150;
PassLabel.Left := 80;
PassLabel.Caption := 'Password';
PassLabel.FONT.Color := ClWhite;
Accs := GetFiles(AppPath + 'TehScripts\Accounts\', 'txt');
Acc := TComboBox.Create(FrmDesign);
Acc.Parent := FrmDesign;
Acc.Top := 400;
Acc.Left := 450;
Acc.Width := 140;
Acc.Height := 150;
for i := 0 to high(Accs) do
Acc.Items.Add(Accs[i]);
AccLabel := TLabel.Create(FrmDesign);
AccLabel.Parent := FrmDesign;
AccLabel.Top := 400;
AccLabel.Left := 370;
AccLabel.Caption := 'Account?';
AccLabel.FONT.Color := ClWhite;
BankPin := TEdit.Create(FrmDesign);
BankPin.Parent := FrmDesign;
BankPin.Top := 300;
BankPin.Left := 450;
BankPin.Width := 140;
BankPin.Height := 20;
BankPin.Text := '';
BankPin.MaxLength := 4;
PinLabel := TLabel.Create(FrmDesign);
PinLabel.Parent := FrmDesign;
PinLabel.Top := 300;
PinLabel.Left := 370;
PinLabel.Caption := 'Bank Pin';
PinLabel.FONT.Color := ClWhite;
Inventory := TEdit.Create(FrmDesign);
Inventory.Parent := FrmDesign;
Inventory.Top := 100;
Inventory.Left := 450;
Inventory.Width := 140;
Inventory.Height := 20;
Inventory.MaxLength := 4;
Inventory.TEXT := '75';
InventoryLabel := TLabel.Create(FrmDesign);
InventoryLabel.Parent := FrmDesign;
InventoryLabel.Top := 100;
InventoryLabel.Left := 370;
InventoryLabel.Caption := '# of Invs';
InventoryLabel.FONT.Color := ClWhite;
BLList := TComboBox.Create(FrmDesign);
BLList.Parent := FrmDesign;
BLList.Top := 300;
BLList.Left := 200;
BLList.Width := 140;
BLList.Height := 175;
BLList.Items.Add('Soul Wars');
BLList.Items.Add('Castle Wars');
BLList.Items.Add('Burthrope');
BLList.Items.Add('Varrock East');
BLList.Items.Add('Varrock West');
BLList.Items.Add('Falador East');
BLList.Items.Add('Falador West');
BLList.Items.Add('Yanille');
BLList.Items.Add('Camelot');
BLList.Items.Add('Catherby');
BLList.Items.Add('Draynor');
BLList.Items.Add('Al-Kharid');
BLList.Items.Add('Edgeville');
BLList.Items.Add('Taverly');
BLList.Items.Add('Warriors Guild');
BLList.Items.Add('Fishing Guild');
BLList.Items.Add('Ardougne North');
BLList.Items.Add('Ardougne South');
BLList.Items.Add('Gnome North');
BLList.Items.Add('Gnome South');
BankLabel := TLabel.Create(FrmDesign);
BankLabel.Parent := FrmDesign;
BankLabel.Top := 300;
BankLabel.Left := 80;
BankLabel.Caption := 'Bank?';
BankLabel.FONT.Color := ClWhite;
StyleList := TComboBox.Create(FrmDesign);
StyleList.Parent := FrmDesign;
StyleList.Top := 150;
StyleList.Left := 450;
StyleList.Width := 140;
StyleList.Height := 137;
StyleList.Items.Add('Cut');
StyleList.Items.Add('String');
StyleLabel := TLabel.Create(FrmDesign);
StyleLabel.Parent := FrmDesign;
StyleLabel.Top := 150;
StyleLabel.Left := 370;
StyleLabel.Caption := 'Method?';
StyleLabel.FONT.Color := ClWhite;
ListLogs := TComboBox.Create(FrmDesign);
ListLogs.Parent := FrmDesign;
ListLogs.Top := 200;
ListLogs.Left := 450;
ListLogs.Width := 140;
ListLogs.Height := 137;
ListLogs.Items.Add('Oak');
ListLogs.Items.Add('Willow');
ListLogs.Items.Add('Maple');
ListLogs.Items.Add('Yew');
ListLogs.Items.Add('Magic');
LogLabel := TLabel.Create(FrmDesign);
LogLabel.Parent := FrmDesign;
LogLabel.Top := 200;
LogLabel.Left := 370;
LogLabel.Caption := 'Logs?';
LogLabel.FONT.Color := ClWhite;
TFList := TComboBox.Create(FrmDesign);
TFList.Parent := FrmDesign;
TFList.Top := 250;
TFList.Left := 450;
TFList.Width := 140;
TFList.Height := 42;
TFList.Items.Add('Longbow(u)');
TFList.Items.Add('Shortbow(u)');
//TFList.Items.Add('Crossbow Stock');
TFLabel := TLabel.Create(FrmDesign);
TFLabel.Parent := FrmDesign;
TFLabel.Top := 250;
TFLabel.Left := 370;
TFLabel.Caption := 'Fletch?';
TFLabel.FONT.Color := ClWhite;
TSList := TComboBox.Create(FrmDesign);
TSList.Parent := FrmDesign;
TSList.Top := 250;
TSList.Left := 450;
TSList.Width := 140;
TSList.Height := 42;
TSList.Items.Add('Longbow');
TSList.Items.Add('Shortbow');
TSLabel := TLabel.Create(FrmDesign);
TSLabel.Parent := FrmDesign;
TSLabel.Top := 250;
TSLabel.Left := 370;
TSLabel.Caption := 'String?';
TSLabel.FONT.Color := ClWhite;
ImageWH := TImage.Create(FrmDesign);
ImageWH.Parent := FrmDesign;
ImageWH.Left := 630;
ImageWH.Top := 65;
ImageWH.Width := 151;
ImageWH.Height := 238;
WHI := BitmapFromString(151, 238, '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');
DrawBitmap(WHI, ImageWH.canvas, 0, 0);
end;
Procedure SafeInitForm;
var
v: TVariantArray;
begin
SetArrayLength(v, 0);
ThreadSafeCall('InitForm', v);
end;
Procedure ShowFormModal;
begin
frmDesign.ShowModal;
end;
Procedure SafeShowFormModal;
var
v: TVariantArray;
begin
SetArrayLength(v, 0);
ThreadSafeCall('ShowFormModal', v);
end;
Procedure SetupLogs();
begin
case Lowercase(LogType) of
'oak':
begin
Uptext := 'a';
if Lowercase(Fletchs) = 'longbow(u)' then
XP := 25
else
XP := 17;
LogName := 'Oak Logs';
Log := BitmapFromString(16, 13, 'meJxlke1KAmEQhS8lIoOyL1MrK/uXRFqki1GabLWoLBKEuEiISEQYXoT36mNnm15WOD92Z56Z98xMsTM9b3+fvn4WnicnrZHEN5Gz4AuRNRFP1QbFzpS4SowUQApddH+WCmcFf5zyIr5Jua3+mT/R5PjpI/cwaEzmFK4CSM15ETJ73z+4C3fLwWZ9iChxmditPz5qDg/r7/u33Z3rF+L5x2gJ/2JiNCMjk8p4b5Bbl43tUgue5ns3beY1TKn0la8UcKbao4oncE4HnsMVIoXE8CsGz2Lwjzetbq0UEDTRB4mxQ0jysFHtr1d62rwrw4zUwtkn0tVskATmni/BW8kqqRvFvBe5m0/cOr4mNwpnCyCG34k=');
end;
'willow':
begin
Uptext := 'l';
if Lowercase(Fletchs) = 'longbow(u)' then
XP := 42
else
XP := 33;
LogName := 'Willow Logs';
Log := BitmapFromString(17, 11, 'meJx9kdsKwjAMQP9g3qb/IAxlyuZuUhBFZC9DJuL//4iHBWpo5uA8tOlpkqZl91o3V4iri0aCmo27x4VbHqv6+WZtBa/9Eg7+fJc1/Ye4JriFvMrPyIv0NEsO0XZPFSk0IhdOZDIjE2HLwjYmPXBKWmTSogFrIFgOz5cn21OgCpABSAVyqvln+mGmt4fEpe0J00+exvK2Cz7Foh/LkIEhjH6o/VNmFVzRt6wsfAF3PGsL');
end;
'maple':
begin
Uptext := 'p';
if Lowercase(Fletchs) = 'longbow(u)' then
XP := 58
else
XP := 50;
LogName := 'Maple Logs';
Log := BitmapFromString(17, 11, 'meJx1kV0LgkAQRZ817S+EUBJFFEWRZAlRhBXRlyyBRPQUvRYR/vruOH7sKsF50OHcmdldW0T1w6s6u5puaE4uCm6IeoJ3Y0xH2CJqnD9JRKJgkuyGxjgwhntEABWzhmxKv5jIst7z9c6CIsGXBnE3Ocjy6FQZ7CBr7Tkq+OVI7mS7OYLk/lbvrrSWBx/98Q3s+PiZqTWnitDzkcIUgMXQBBta6wdtCOIOCalJWmpiLl+jtXnWlncqMuykWm7GMsOLIVh8FPWB5MvnS6bg8Z0f/79fjiip8svG/AC/hXru');
end;
'yew':
begin
Uptext := 'e';
if Lowercase(Fletchs) = 'longbow(u)' then
XP := 75
else
XP := 68;
LogName := 'Yew Logs';
Log := BitmapFromString(17, 10, 'meJyNkdEKgkAQRR/d0f4hqJQICVlcRGMRFiGEkL6gr+j/6Y6TtK4KwXmQ3TN3xh1K26QekuoxAydzYtPH5Z0Kpy5N+XoHt7vbM5R1R9eWcqvOVXTSlDkQxo69ECsykiFzue7w/fO9wWQGkaPMAJRwIfzcEv5lMtF0RcBIAAmFQxdOw+GIOFsaY/pv8t7w4cSW5kNHqw4NP4vHUvPBIwOS7SwXtLavf0u8rX0AgipZrA==');
end;
'magic':
begin
Uptext := 'g';
if Lowercase(Fletchs) = 'longbow(u)' then
XP := 92
else
XP := 83;
LogName := 'Magic Logs';
Log := BitmapFromString(17, 11, 'meJybOM8goqY1vLo5rLIxtLweiIJLa4EIwgYKQtCUC1f88sq8Mgv0vIMmzjOwis+A64IgIBuIgIIQZB6dYhoebxwSbRAQruMZANRiEZsWWdcOVwBkWydmQRBQClk90Aptdz+glqY+bZ3oNLgyCAJaDVRsFplkEhZrGBSp7xcKUa/h7AnUohWRhKYeaDhQMbLhQPfYhEar2buoO7rfuH1ROzIFzXCgYojhrokZTrEpQMMhCKgRhKLT4FoghgMVIyOgdjiav2UbUIFvTolNcg4c2abmISO79AJkZJ9RFFhUBRQHakQWhKPuQ8ccskqACB5ZQBRUUn3n/tVrNy8AnQSUcswpgyNg7DScPAuPXzgCarn/6MbNO5f7ZukD/QKJF0g8IscsMgJaBAB/etZX');
end;
end;
end;
Function WaitFindBitmap(Bitmap: integer; var x, y: integer; xs, ys, xe, ye, Tolerance, WaitPerLoop, MaxTime: integer): boolean;
var
t: integer;
begin
t := (getSystemTime + MaxTime);
while (getSystemTime < t) do
begin
if (FindBitmapToleranceIn(Bitmap, x, y, xs, ys, xe, ye, Tolerance)) then
begin
result := true;
break;
end;
wait(WaitPerLoop);
end;
end;
Function Fletching: boolean;
var
StartLogs, CurrentLogs, Done: integer;
begin
Done := BitmapFromString(59, 16, 'meJzVlDGKwlAQhhuV9Vl4h228gJ2lIGJp61aCB7ATjCgGPYXtNiso7BZ7CcFDeBFNnnlO3j8ziSmCwleYf/55+ZSH/Xa1/1YMOzzNzxYilYtSSVASl2Pnwc3tfLogiTazUhpf3SrihOnPS7XZrXIY9yoIFdZDmzswVwr6SGIyqCHUTc+9y4O5VFB2dRYjBvo6JfduDjui9yrnrs5u+oHQE6QcO8Wm+HVYJcf3rI7QdSnHToEp+0fEKjl+5gahh0s5dopNPaJyEGNfGph9kHI7LBnogVKIHUkpmq7UabIePa7MMeae088xv2uGzP9htkan3iMm+IrHNDQRViY0fyEvyQrjBXMCbFPS05PUurV9UtiehmQ2Mc+TpNZB2CeHfKlkCf9vGq/FNkEoXAF3z/CI');
result := true;
StartLogs := InvCount;
repeat
CurrentLogs := CountItems('bmp', Log, [15]);
if not (CurrentLogs = 0) and (CurrentLogs <= StartLogs) then
result := true;
if (CurrentLogs = 0) then
begin
if WaitFindBitmap(Done, x, y, MSX1, MSY1, MSX2, MSY2, 10, 100, 1000) then
Mouse(x + 10, y, 30, 15, mouse_Left);
result := false;
break;
end;
until (result = false);
FreeBitmap(Log);
FreeBitmap(Done);
end;
Procedure BankDeposit;
var
BankTime: integer;
begin
MarkTime(BankTime);
repeat
Deposit(1, 28, True);
until InvEmpty or (TimeFromMark(BankTime) > 15000);
if (TimeFromMark(BankTime) > 15000) then
begin
WriteLn('Failed to deposit bows. Logging out your character and terminating the script.');
Logout;
TerminateScript;
end;
end;
var
T: integer;
function WaitLogCount(Count, CountLog, MaxTime: Integer): boolean;
begin
if not BankScreen then
if not GameTab(tab_Inv) then
exit;
Result := false;
T := GetSystemTime + MaxTime;
while (GetSystemTime < T) do
begin
if CountLog > Count then
begin
Result := true;
break;
end;
end;
end;
Procedure LogOT;
begin
if (TimeFromMark(GetTime) > 6000) then
begin
Writeln('Failed to withdraw logs. Logging out your character and terminating the script.');
repeat
Logout;
TerminateScript;
until not LoggedIn;
end;
end;
Procedure Banking;
var
BankTime: integer;
begin
if FindNormalRandoms or FindNonInventoryRandoms or not LoggedIn then
Exit;
MarkTime(BankTime);
repeat
SetAngle(SRL_ANGLE_HIGH);
case Lowercase(BankLoc) of
'soul wars': OpenBankChest(SRL_BANK_SW);
'castle wars': OpenBankChest(SRL_BANK_CW);
'burthrope': OpenBankChest(SRL_BANK_B);
'varrock east': OpenBankQuiet('veb');
'varrock west': OpenBankQuiet('vwb');
'falador east': OpenBankQuiet('feb');
'falador west': OpenBankQuiet('fwb');
'yanille': OpenBankFast('ynb');
'camelot': OpenBankFast('clt');
'catherby': OpenBankFast('ctb');
'draynor': OpenBankQuiet('db');
'al-kharid': OpenBankQuiet('akb');
'edgeville': OpenBankQuiet('eb');
'taverly': OpenBankFast('tavb');
'warriors guild': OpenBankFast('wgb');
'fishing guild': OpenBankFast('fgb');
'ardougne north': OpenBankFast('nab');
'ardougne south': OpenBankFast('sab');
'gnome north': OpenBankFast('ngb');
'gnome south': OpenBankFast('sgb');
end;
until WaitFunc(@BankScreen, Random(15), 2000) or WaitFunc(@PinScreen, Random(15), 2000) or (TimeFromMark(BankTime) > 25000);
if (TimeFromMark(BankTime) > 25001) then
begin
WriteLn('Failed to open the bank. Logging out your character and terminating the script.');
Logout;
TerminateScript;
end;
if PinScreen then
begin
MarkTime(BankTime);
repeat
InPin(Players[CurrentPlayer].Pin);
until BankScreen or not LoggedIn or (TimeFromMark(BankTime) > 15000);
if (TimeFromMark(BankTime) > 15000) then
begin
WriteLn('Failed to enter your bank pin. Logging out your character and terminating the script.');
Logout;
TerminateScript;
end;
end;
end;
Procedure WithdrawLog(Tol: integer);
var
Amount, ReqLog, Bs: integer;
begin
Bs := BitmapFromString(37, 12, 'meJy11DEKgDAMAMCYRYX6B58guCkuLs4dnd38/wOMBEKJVocmIUuh9EjaFOAOBJjjThmPk5KWfT9wgkMojkXKYVrHZfPgQuiUmKKF59dN+xS/UZSdiGARdFOYNFah4lYmWB79rdcQfaXTN2xIyzh806wbFpuj1UWXlJl7gTQXQrP+2mG/UB0W1FVklC2aX/4J1bYL9KRSrA==');
MarkTime(GetTime);
if Lowercase(Method) = 'cut' then
Amount := 28
else
Amount := 14;
repeat
if WithdrawItem(Log, 'bmp', Amount, Uptext, [Tol]) then
begin
if (Lowercase(Method) = 'cut') then
WaitLogCount(27, CountItems('bmp', Log, [Tol]), 1500)
else
begin
//WaitLogCount(13, CountItems('bmp', BowU, [Tol]), 1500);
if WithdrawItem(Bs, 'bmp', Amount, 'str', [Tol]) then
WaitLogCount(13, CountItems('bmp', Bs, [Tol]), 1500);
end;
ClearDebug;
WriteLn('You currently have ' +IntToStr(CountItems('bmp', Log, [Tol])) +' '+ LogName + ' in your inventory.');
end;
until (CountItems('bmp', Log, [Tol]) > 13) and (CountItems('bmp', Bs, [Tol]) > 13) or (CountItems('bmp', Log, [Tol]) > 27) or (TimeFromMark(GetTime) > 6000);
LogOT;
CloseBank;
FreeBitmap(Bs);
end;
Procedure Progress;
var
Fxph: integer;
begin
Fxph := Round((Fletching_xp) / (GetTimeRunning / 3600000.0));
ClearDebug;
WriteLn('=-=-=-=-=-=-=-= Fletcher by Teh =-=-=-=-=-=-=');
WriteLn('Time Running: ' +TimeRunning);
WriteLn('Fletching: ' + (LogType));
WriteLn('Fletching XP Gained: ' + IntToStr(Fletching_XP));
Writeln('Fletching XP/Hour: ' + IntToStr(Fxph));
WriteLn('=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=');
end;
Procedure Antiban;
begin
case Random(200) of
40:
begin
HoverSkill('Fletching', False);
Inc(Antibans);
end;
80:
begin
HoverSkill('Random', False);
Inc(Antibans);
end;
120:
begin
Boredhuman;
Inc(Antibans);
end;
160:
begin
RandomRClick;
Inc(Antibans);
end;
end;
end;
Procedure CutLogs;
var
Cut, Longbow, Shortbow, Fletch, AddString: integer;
begin
Cut := BitmapFromString(33, 30, 'meJydVttqE1EULX30wW/oHyilUh0T0iStaQdDzIy9zBDSOIQQJC++KpRQrKkVe4FWBH/W1VnN7vbcYjtswpmZk7XOXmuffSaKXkfzWFt7yVidXxzjVRzHSZLE5dWoN/C7vLR0cNDL8/50+g3jlZXngrP+4haE40p1A7eRYrmbsF7BHD2TsEIh+Iijo68GhQ5QOJ8zatUNoNWqVVI0N3eYi8bv9QaPpgB+p93mmnUKQBNwxPHxLEwR1WMfhcC2tlpkQbTebAGN4P1+cXLyAxTE91G8aiYBCiOYAsERGIBC8DHBqU+l1gwboQO6ARDgg8EQv6ffL/T6DYp7LhcFFgBntT5SRQBnYP2z2U9SiF82C6Aa210nhaHPrSOlC0UxQkCis7NLLdEjKEQlDFCleZYTfzgcQ6KLy1+CD2pJ021HsKIYoCg+FMAEPiRCuZ6fX4tEshl9XgQoRDHutdHoIyW6uvqtJWJVwzuv3dbWw5P7eit9JwUlEosNl/W/bDXCvCwkpECJrm/+2BIFWgR1CLcpvKXRhkQA77TfLWQJUzB3YD551kJIIxIL8izd382S8vLhiIyB9ROfoSWCxQSn0QEjnG+ZnYH/tF4IBcHTNOMh5S1Xv912CoKPAOzgsIedgv0IrRZSIE3ncx9+CXsXzIWt7KFZOC0o8VM2k2R+LSxaX2gKXaXQR/BRsfprIVz2/4PPPU58nrag4O3CROy3QqF3Afst61/2NR0P90C7sQB2by8bjyefv0z1cRP9ewhK3RqHu4Em547G73RS9IrJ5JPd6zDg1w5zl+5BCq6WFDxunBUF2G53F70ITZUUeg36XAAmbyUXn/hMRFNs77xN3++DRVOICGKEmG5UVM0SyllODKoEZRBybjIXtj6dgiQbrl4JghvfXfSa+giy5CKnvI/iL7Mqx2E=');
Longbow := BitmapFromString(90, 18, 'meJztUlsOwyAM6wm4/22Z1EpRaucF7bqpwl8hOCYxaW3h/eg7rhBeg2PSbUdKe6yrn6BohSZP06Y3UPLf/hFx40ayR0vL08KhbkcxtBi6pCjLV/Fbf+LGlZJ+RqPmxT2OTcIh3gnaDSiMBeM4Hc07cokcNXRLcmSXgJ8SKsqeYBCnbvCwMcFzDJ7mAPh1gqfs8Z9xo51XNBaBADDkxmi+q3Xy3JB80Q05gg7scNGNjXC7G/qz+Oi5kY7vLYYpVXcDfsQk6P6n3dCzV6YougqW9jPgi4Oe00K5YgUu9ATN2WM3TEPMNsztgm3XSeBAPi3UVxBwoSfIzZgZc6i0jUBhYWHBxAfKONPO');
Shortbow := BitmapFromString(95, 18, 'meJztVdEOxCAIuy/w///WJS4xFQSLM95yZ5+UlALVuZQO/g654AnhV3EP/ikY0rZ19QaQziD5SaG53J2aWp9xJkpemCtE1mr6tchr021votZEriWyx5zlKbkFJmLQIic4BbFYoumsnUm7JaLmVA4C+6xbTbasuCt2yVFNIWUNZZnj3FveHMtV0Y9VUTvstBfV/KI5qT13X5mMM+3xmhkumzMU9s9XZ54pce3fYA6emt5a5gzLdbcMoibsMQet8Ieqh8uYzFyb3AJfRf80Hb4W14nYnh8PPRTan9z7V5IfVCrflHhLa1BweL4W14la34prweE4VnVG4eDgYDkuUTmArA==');
Fletch := BitmapFromString(69, 18, 'meJztlKsKAlEQhovrrfgOFh/CJlgEywaLyWDaJBgUFcFssxosFgWDzyH4EL6ICwOHYWbOv+MlGIQv7M4/8+05e0vbSfrnVxl2PqLRbOV8KPmifNQtYcipoeh+e+TQ6Xd5Tz7ulQHBqaFNhWPsCTZnJ7+0fyQn6ycA7hSIFHtebX6jn5gPSgDudKZ8y7FmMxX12J3EC14NywDu9KTi5YzVPVNcbk6ZbMcVAHjZRKqbeWSqzLo+5iPCqdllVYD/V2BuPFS4ik6FPxRpMBZpg2A/QYCno1OwcdFs+sGlC5sDh2kNwA04BRsHKuDXEV4McZwhuAGnZifVgUoXw4gZgcUQ52UdwA2FqX5AONWS2LFnMcRpgeAGT6q/ID4o0tgU1YHcXAxxWRdAN8qfig/H7MdThXKw2uvmz+/yBCC9DpA=');
AddString := BitmapFromString(100, 14, 'meJy1lD1OA1EMhJsk/DS5Aw33QKJBoqXZiiJVKiQKECAuQEdLQZMGJE4SiUNwEVayZFn2ePB7u0hfkdhjz7y32Qxny2Em1ienI33dGfk/o+vzBUesK7Lv/c8IFPOuulj+dOyIMZHNxYpgracoi12LVcrt8QCtgTvYXi4J1nqKknRtS7HiegZdWFS2cn+1yHCPe/wKNfGAxa61cFO2GC/TLrcurg418RTx9c8u5GlYZcS74gIn412n0Zxal8/ZEjuY1aHGZaiEVF42B5DMNBM4De/GJe683AgOkruaGFJ53R5CsruK3T59NIoHJ7PwX64pRlNI4e0GAJNoxQngCOlCO+fCvcjCeozWkCPvt0eR7FnLHiuQr67Cu9HLFuM4nM0W1mM0hRR2dwD+u3ICOEK6mVFWrGiy5LOEVD4fjx12hNShb7ELd8aHkmmKIfmqekjl48FjN/C629/UjWvdm0407h6ykCRSa0jh6xkgRpW6PuuObpRZPdHUQ2aRss16VzDnL9rOHD4=');
if InvFull then
begin
case Lowercase(Method) of
'cut':
begin
if InvMouse(1, mouse_Left) then
begin
if WaitFindBitmap(Cut, x, y, MSX1, MSY1, MSX2, MSY2, 15, 100, 2000) then
Mouse(x, y, 15, 15, mouse_Left);
if (Lowercase(Fletchs) = 'longbow(u)') then
begin
if not WaitFindBitmap(Longbow, x, y, MSX1, MSY1, MSX2, MSY2, 15, 100, 800) then
if (Lowercase(LogType) = 'magic') then
Mouse(90, 100, 10, 10, mouse_Left)
else
Mouse(139, 100, 10, 10, mouse_Left);
end else
begin
if not WaitFindBitmap(Shortbow, x, y, MSX1, MSY1, MSX2, MSY2, 15, 100, 2000) then
Mouse(42, 102, 10, 10, mouse_Left)
end;
if (Lowercase(Fletchs) = 'longbow(u)') then
if WaitFindBitmap(Longbow, x, y, MSX1, MSY1, MSX2, MSY2, 15, 100, 2000) then
if WaitFindBitmap(Fletch, x, y, MSX1, MSY1, MSX2, MSY2, 15, 200, 2000) then
Mouse(x, y, 50, 10, mouse_Left);
if (Lowercase(Fletchs) = 'shortbow(u)') then
if WaitFindBitmap(Shortbow, x, y, MSX1, MSY1, MSX2, MSY2, 15, 100, 2000) then
if WaitFindBitmap(Fletch, x, y, MSX1, MSY1, MSX2, MSY2, 15, 200, 2000) then
Mouse(x, y, 50, 10, mouse_Left);
end;
end;
'string':
begin
if InvMouse(1, mouse_Left) then
if InvMouse(15, mouse_Left) then
begin
if (Lowercase(Strings) = 'shortbow') then
if WaitFindBitmap(Shortbow, x, y, MSX1, MSY1, MSX2, MSY2, 8, 100, 2000) then
if WaitFindBitmap(AddString, x, y, MSX1, MSY1, MSX2, MSY2, 15, 200, 2000) then
Mouse(x, y, 10, 10, mouse_Left);
if (Lowercase(Strings) = 'longbow') then
if WaitFindBitmap(Longbow, x, y, MSX1, MSY1, MSX2, MSY2, 8, 100, 2000) then
if WaitFindBitmap(AddString, x, y, MSX1, MSY1, MSX2, MSY2, 15, 200, 2000) then
Mouse(x, y, 10, 10, mouse_Left);
end;
end;
end;
end;
FreeBitmap(Cut);
FreeBitmap(Longbow);
FreeBitmap(Shortbow);
FreeBitmap(Fletch);
FreeBitmap(AddString);
end;
begin
CreateFolders;
MarkTime(StartTime);
SafeInitForm;
ClearDebug;
SafeShowFormModal;
Freeform(frmDesign);
Run;
AddOnTerminate('FinishStats');
repeat
SetupLogs;
Banking;
if not InvEmpty then
BankDeposit;
WithdrawLog(17);
CutLogs;
while Fletching do
begin
Antiban;
Wait(100);
end;
IncEx(Fletching_XP, XP * 28);
Progress;
Inc(Count);
until (Count = LoadCount);
end.