SCAR Code:
program AbsTrACtAutoAlcherSmartVersion;//This is my very first script but I believe it is a pretty good one.
{///////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\}
{ Title: AbsTrACtAutoAlcher }
{ Version: 1.00 SMART }
{ Author: AbsTrACt'^.| }
{ Settings: I don't use colors in this script so it's the same... }
{ Recommendation: Use it in Barrows Tombs as there are no randoms there }
{although you may find some persons there and I didn't made an AutoResponder yet }
{ SetUp Lines: }
{///////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\}
{.include SRL\SRL\Misc\Smart.scar}
{.include SRL\SRL.scar}
{.include SRL\SRL\misc\Users.scar}
var
alchs: integer;
{/////////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{ Begin SetUp }
{\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////}
const
RunD = 'n'; //Direction to run from Attacking Random (n, s, w, e)
TurnC = 'n'; //Where to turn compass if attacking random comes (n, s, w, e)
ItemToAlchName = 'yew longbow'; //Name of the item you are alching (for antiban)
Alchstodo = 1000; //How many alchs the bot should do?
Procedure DeclarePlayers; // this procedure is used to log players in
begin
HowManyPlayers :=1; // Set Number of Players here.
NumberOfPlayers(HowManyPlayers); // Sets the Players Array Length;
CurrentPlayer:=0; // CurrentPlayer = Array Index
Players[0].Name :=-4 Small letters of your username
Players[0].Active:=True;//Player in use or not in use (True for in use, False for not in use)
end;
{/////////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{ End SetUp }
{\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{/////////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{ Do Not Touch Below }
{\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
procedure Randoms;
begin
FindTalk; //finds talkin randoms
FindNormalRandoms; //finds normal randoms
SolveChatRandom; //solves chat randoms
FindLamp('Magic'); //solves lamp and then choses a skill to update
SolvePinball; //solves pinball random
DwarfItem; //dropes dwarf items
if(FindFight)then //runs away from fight
begin
MakeCompass('n');
RunTo(RunD, True);
Wait(3500 +Random(3000));
RunTo(RunD, True);
end;
end;
procedure AntiBan;
begin
case Random(5) of
0: begin
Wait(3571+(random(550)));
RandomRClick;
Wait(3137+(random(751)));
Randoms;
Mouse(741,186,10,10,true);
end;
1: begin
Wait (3137+(random(1350)));
HoverSkill('Magic', False);
Wait (3137+(random(711)));
Randoms;
Mouse(741,186,10,10,true);
end;
2: begin
Wait (3137+(random(1500)));
RandomMovement;
Wait (3137+(random(771)));
Randoms;
Mouse(741,186,10,10,true);
end;
3: begin
Wait (3137+(random(1250)));
BoredHuman;
Wait (3137+(random(747)));
Randoms;
Mouse(741,186,10,10,true);
end;
4: begin
Wait (3137+(random(2500)));
AlmostLogout;
Wait (3137+(random(814)));
Randoms;
Mouse(741,186,10,10,true);
end;
end;
end;
procedure Report;
begin
Writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
Writeln('| AbsTrACt Auto Alcher Report! Feel free to post');
Writeln('| Alched '+ IntToStr(Alchs) + ' ' + ItemToAlchName + 's.');
Writeln('| Worked for ' + TimeRunning);
Writeln('| Exp gained '+ IntToStr(alchs*65));
Writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
Writeln('Made By AbsTrACt!');
end;
procedure Finished;
begin
if (alchs = alchstodo) then
begin
Logout;
report;
end;
end;
procedure Alch;
begin
Mouse(741,186,10,10,true);
repeat
Mouse(567,356,5,5,true);
Wait(500+random(150));
Mouse(577,371,10,10,true);
Wait(2000+random(500));
Case random(7) of
0:Wait(150+(random(376)));
1:Wait(55+(random(10)));
2:Wait(0+(random(250)));
3:AntiBan;
4:Wait(0+(random(150)));
5:Wait(550+(random(750)));
end;
Finished;
until alchs=alchstodo;
end;
Procedure Setup;
begin
smartSetup('world158', False, True);
While Not (SmartReady) Do
Wait(100);
SetTargetDC(SmartGetDC);
If Not (LoggedIn) Then
While Not (SmartGetColor(386, 249) = 65535) Do
Wait(100);
SetupSRL;;
wait(1000)
ActivateClient;
wait(1000)
end;
begin
SetupSRL;
Setup
DeclarePlayers;
Alch;
end.