program AutoAlch;
{$DEFINE SMART}
{$I SRL/SRL.Simba}
{$I P07Include.Simba}
(* __________________________________ *)
(* *)
(* AutoAlch v2.0 - Made By Vusn! *)
(* __________________________________ *)
(* V2.0 Updates *)
(* - Added an options box to allow the user to set number of alchs *)
(* - Decreased the likelihood of random breaks *)
(* - Tweaked the mouse movements a bit *)
(* - Added progress report *)
var
x, y, AlchCount, InputAlchs: Integer;
frmDesign: TForm;
Button1: TButton;
Label1, Label2: TLabel;
Edit1: TEdit;
Procedure PlayerInput(Sender: TObject);
begin
InputAlchs := strtoint(Edit1.TEXT)
frmDesign.ModalResult:= mrOk;
end;
Procedure InitForm;
begin
frmDesign := CreateForm;
frmDesign.Top := 100;
frmDesign.Left := 100;
frmDesign.Width := 350;
frmDesign.Height := 150;
frmDesign.Caption := 'Test!';
frmDesign.Color := ClWhite;
Edit1 := TEdit.Create(FrmDesign);
Edit1.Parent := FrmDesign;
Edit1.Top := 80;
Edit1.Left := 90;
Edit1.Width := 150;
Edit1.Height := 20;
Edit1.Text := '';
Button1 := TButton.Create(FrmDesign);
Button1.Parent := FrmDesign;
Button1.Top := 110;
Button1.Left := 115;
Button1.Height := 30;
Button1.Width := 100;
Button1.Caption := 'Begin';
Button1.OnClick := @PlayerInput;
Label1 := TLabel.Create(FrmDesign);
Label1.Parent := FrmDesign;
Label1.Top := 15;
Label1.Left := 75;
Label1.Caption := 'AutoAlch By Vusn';
Label1.Font.Size := 17;
Label1.Font.Color := ClBlack;
Label1.Font.Name := 'Times New Roman';
Label2 := TLabel.Create(FrmDesign);
Label2.Parent := FrmDesign;
Label2.Top := 55;
Label2.Left := 47;
Label2.Caption := 'Enter the amount of items to be alched:';
Label2.Font.Size := 12;
Label2.Font.Color := ClBlack;
Label2.Font.Name := 'Times New Roman';
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 HumanMove;
Begin
case random(1000) of
1..500: MMouse(RandomRange(713 - 5, 713 + 5), RandomRange(338 - 5, 338 + 5), 0, 0);
501..800: MMouse(RandomRange(713 - 6, 713 + 6), RandomRange(338 - 6, 338 + 6), 0, 0);
801..900: MMouse(RandomRange(713 - 7, 713 + 7), RandomRange(338 - 7, 338 +7), 0, 0);
901..950: MMouse(RandomRange(713 - 8, 713 + 8), RandomRange(338 - 8, 338 + 8), 0, 0);
951..975: MMouse(RandomRange(713 - 9, 713 + 9), RandomRange(338 - 9, 338 + 9), 0, 0);
976..1000:MMouse(RandomRange(713 - 10, 713 + 10), RandomRange(338 - 10, 338 + 10), 0, 0);
End;
End;
Procedure ClickAlch;
begin
If (FindColorTolerance(X,Y,1910383,730,173,734,180,13)) Then
begin
HumanMove;
wait(randomrange(700, 1000));
clickmouse2(mouse_left);
wait(randomrange(700, 1000));
clickmouse2(mouse_left);
AlchCount := AlchCount + 1;
end;
If (Not FindColorTolerance(X,Y,1910383,730,173,734,180,13)) Then
begin
wait(randomrange(1000, 1500));
P07_TabInventoryTab(7);
end;
end;
Procedure Report;
begin
ClearDebug;
begin
Writeln('Script Ran For: ' + TimeRunning);
Writeln('Alchs Cast: ' + inttostr(AlchCount));
Writeln('Experienced Gained: ' + inttostr(65 * (AlchCount)));
end;
end;
Procedure LogPlayerOut;
begin
MMouse(RandomRange(643 - 5, 643 + 5), RandomRange(484 - 5, 484 + 5), 0, 0);
wait(randomrange(1000, 1200));
clickmouse2(mouse_left);
MMouse(RandomRange(643 - 20, 643 + 20), RandomRange(375 - 5, 375 + 5), 0, 0);
wait(randomrange(500, 1000));
clickmouse2(mouse_left);
end;
Procedure Antiban;
Begin
Case Random(100) Of
1: HoverSkill('magic', False);
2: HoverSkill('random', False);
3: Boredhuman;
4: Wait(2500 + random(4500));
5: HoverSkill('strength', False);
6: PickUpMouse;
7: RandomMovement;
8: RandomRClick;
end;
end;
Procedure MiniBreaker; //Credit to Solidone40
Begin
Case Random (300) Of
1: Wait(20000 + random(7400));
2: Wait(14500 + random(8550));
3: Wait(30040 + random(6759));
4: Wait(10400 + random(2549));
end;
end;
procedure Welcome;
begin
ClearDebug;
begin
Writeln(' ____________________________');
Writeln(' ');
Writeln(' AutoAlch v2.0 - Made By Vusn');
Writeln(' ____________________________');
Writeln(' ');
Writeln(' ');
Writeln(' Starting Script.. Enjoy!');
end;
end;
begin
SafeInitForm;
SafeShowFormModal;
SetupSRL;
SetupP07Include;
Welcome;
If (P07_LoggedIn) Then
repeat
ClickAlch;
AntiBan;
MiniBreaker;
FindMod;
until(AlchCount = InputAlchs);
Writeln('You have reached your selected number of alchs!');
Report;
LogPlayerOut;
TerminateScript;
end.