Simba Code:
program Alcher;
{$DEFINE SMART}
{$i srl/srl.simba}
Const
RuneA = True; //Are you only alching rune arrows? True if yes, false if no.
Var
Fail:Integer;
//SIMPLE ANTILEECH
//HINT: 1 VERY SIMPLE ANTILEECH IN MAINLOOP
Procedure DeclarePlayers;
Begin
HowManyPlayers := 2;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
With Players[0] Do
Begin
Name:= ''; // Username Here
Pass:= ''; // Password here
Integers[0] := 1000; // how many loads for this char here
Active:= True;
End;
With Players[1] Do //Copy and paste and change number for more players.
Begin
Name:= ''
Pass:= '';
Integers[0] := 5;
Active:= True;
End;
End;
Procedure Start;
Var
RArrows, x, y:integer;
Begin
Fail := 0;
If Not loggedin Then
Exit;
If Not ExistsItem(17) Then
Begin
RArrows := DTMFromString('mAAEAAHic42FgYIhmYmBIBeJ0IE4A4jAg9gfiQCAOAeIkJoiadKj4c0YGhsdA/ACI3wLxZyD+CMQvoOKvoPxbQPwGiF3UOYG2MBGNUxhIA4wkYmQAAD/rEFY=');
GameTab(25);
if finddtm(RArrows, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
Dragmouse(x, y, 5, 5, 575, 377, 5, 5);
wait(randomrange(100,200));
FreeDTM(RArrows);
GameTab(28);
end else
begin
writeln('we couldnt find the arrows! Make sure we begin with them in your inv!');
FreeDtm(RArrows);
NextPlayer(False);
end;
End;
gametab(Tab_magic);
end;
Procedure alch;
var
x, y, RArrows, Highalch, P :integer;
begin
if not loggedin then
exit;
RArrows := DTMFromString('mAAEAAHic42FgYIhmYmBIBeJ0IE4A4jAg9gfiQCAOAeIkJoiadKj4c0YGhsdA/ACI3wLxZyD+CMQvoOKvoPxbQPwGiF3UOYG2MBGNUxhIA4wkYmQAAD/rEFY=');
HighAlch := DTMFromString('mWAAAAHicY2FgYGhiYmCoBuIOIO4C4hdAsZdA/AqInwDxxV0SDIcWCDD0l7MynLtyi4EVKAbDXEDMiIZBAACvMwx0');
MarkTime(P);
While Not (GetCurrentTab = 28) Do
Begin
Wait(RandomRange(50, 100));
If (TimeFromMark(P) >= 4000) Then
Begin
GameTab(28);
Break;
End;
End;
Wait(RandomRange(250, 350));
if finddtm(HighAlch, x, y, MIX1, MIY1, MIX2, MIY2) then
Mouse(x, y, 10, 10, True)
else
Begin
FreeDTM(RArrows);
FreeDTM(HighAlch);
exit;
End;
MarkTime(P);
While Not (GetCurrentTab = 25) Do
Begin
Wait(RandomRange(50, 100));
If (TimeFromMark(P) >= 4000) Then
Begin
GameTab(25);
Break;
End;
End;
Wait(RandomRange(250, 350));
if finddtm(RArrows, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
case random(10) of
0..1: begin
Mouse(x, y, 10, 10, 1);
Players[CurrentPlayer].Integers[1] := Players[CurrentPlayer].Integers[1] + 1;
wait(randomrange(1200,1500));
end;
2..10: begin
clickmouse2(1)
Players[CurrentPlayer].Integers[1] := Players[CurrentPlayer].Integers[1] + 1;
wait(randomrange(1200,1500));
end;
end;
FreeDtm(RArrows);
FreeDtm(HighAlch);
Wait(RandomRange(500, 650));
Exit;
End;
FreeDtm(RArrows);
FreeDtm(HighAlch);
Fail := Fail + 1;
WriteLn(Fail);
end;
procedure AntiBan; //Antiban from leetzalcher, edited by me
begin
if(not(LoggedIn))then
exit;
writeln('Antiban time???');
Findnoninventoryrandoms;
Case Random (2750) of //Change number inside brackets to increase/decrease number of antibans. Higher number = less antibans
0..18: Begin SleepAndMoveMouse(5000 + Random(750)); GameTab(tab_Magic); End;
19..24: Begin GameTab(tab_Inv) ExamineInv; GameTab(tab_Magic); SleepAndMoveMouse(2500 + Random(553)); End;
25..42: Begin RandomAngle(1); End;
43..48: Begin GameTab(Tab_Stats); Wait(3000 + Random(400)); GameTab(tab_Magic); SleepAndMoveMouse(2550 + Random(658)); End;
49..54: Begin GameTab(tab_Stats) HoverSkill('random', False); GameTab(tab_Magic); SleepAndMoveMouse(2200 + Random(545)); End;
55..60: Begin PickUpMouse; GameTab(tab_Magic); End;
61..66: Begin RandomMovement; GameTab(tab_Magic); End;
67..72: Begin BoredHuman; GameTab(tab_Magic); End;
73..80: Begin Examineinv; RandomRclick; Pickupmouse; SleepAndMoveMouse(randomrange(2000, 5000)); end;
End;
end;
Procedure MiniBreaker; //Idea From Solidone40
Begin
if not loggedin then
exit;
Case Random (600) Of
1: begin Writeln('MiniBreak!!!'); wait(randomrange(30000, 40000)); end;
2: begin Writeln('Minibreak!!!'); Wait(randomrange(10000, 15000)); end;
3: begin Writeln('Minibreak!!!'); Wait(randomrange(5000, 15000)); end;
end;
end;
Procedure proggy;
var
XP, Alchs:Integer;
begin
if not loggedin then
exit;
XP := Players[CurrentPlayer].Integers[1] * 65
Alchs := Players[CurrentPlayer].Integers[1]
//cleardebug;
Writeln('Thanks for using Foootys Alcher!!!');
Writeln('***************************************');
Writeln('Time running = ' + (timerunning));
Writeln('Total Alchs = ' + IntToStr(Alchs));
Writeln('XP Earned = ' + IntToStr(XP));
Writeln('Thank You For using Foootys Alcher!!!');
end;
Procedure Failz;
var
RArrows, x, y:integer;
begin
RArrows := DTMFromString('mAAEAAHic42FgYIhmYmBIBeJ0IE4A4jAg9gfiQCAOAeIkJoiadKj4c0YGhsdA/ACI3wLxZyD+CMQvoOKvoPxbQPwGiF3UOYG2MBGNUxhIA4wkYmQAAD/rEFY=');
GameTab(26)
if finddtm(RArrows, x, y, MIX1, MIY1, MIX2, MIY2) then
Begin
Mouse(x, y, 5, 5, True);
Start;
end else
begin
writeln('We appear to be All out of arrows! Logging out!!!');
NextPlayer(False);
Start;
end;
if finddtm(RArrows, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
Dragmouse(x, y, 5, 5, 575, 377, 5, 5);
wait(randomrange(100,200));
Gametab(28);
wait(randomrange(200,300));
end;
FreeDTM(RArrows);
Fail := 0;
end;
begin
{$IFDEF SMART}
SMART_Server := 83;
SMART_Members := True;
SMART_Signed := True;
SMART_SuperDetail := False;
{$ENDIF}
SetupSRL;
Declareplayers;
LogInPlayer;
repeat
If LoggedIn Then Start;
repeat
Alch;
Antiban;
Minibreaker;
proggy;
if Fail >= 2 then
Failz;
until((Players[CurrentPlayer].Integers[1] >= Players[CurrentPlayer].Integers[0]) or (not loggedin));
NextPlayer(Not (Players[CurrentPlayer].Integers[1] >= Players[CurrentPlayer].Integers[0]))
until(AllPlayersInactive);
end.