SCAR Code:
{ LevExidus AutoMiner V.2 ]
[ By Jvwarrior ]
[______________________________]
[ Instructions: ]
[1. First find the ore you ]
[ would like to mine. ]
[ Then click on the color ]
[ picker on your top bar. ]
[ Use the color picker to get]
[ your ore color. ]
[ ]
[2. When you have the ore color]
[ copy and paste it into ]
[ orecolor1 using ctrl+alt+c ]
[ to copy. ]
[ ]
[3. Specifie the RS window ]
[ using the Crosshairs on ]
[ your top bar. Drag them to ]
[ the runescape screen. ]
[ ]
[4. Start the script. Watch as ]
[ SCAR automatically mines ]
[ your ore for you. ]
[ HAPPY CHEATING! ]
[______________________________}
program Pwnerminer;
{.Include SRL/SRL.Scar}
{!*================EDIT ORE COLOR!=================*!}
const
orecolor1 = 7368825;
Loads= 1; //number of loads per character
TotalLoads= 2;//All the loads you want to do
{!*=================OK YOUR GOOD===================*!}
{!*==============NOW EDIT YOUR PLAYER==============*!}
procedure DeclarePlayers;
begin
HowManyPlayers := 6;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := 'Usernmae'; //place your username here
Players[0].Pass := 'Password'; //place your password here
Players[0].Nick := ''; //3 - 4 letters of YOUR username, example: sern
Players[0].Active := True;
Players[1].Name := 'Username'; //place your username here
Players[1].Pass := 'Password'; //place your password here
Players[1].Nick := 'Nickname'; //3 - 4 letters of YOUR username, example: sern
Players[1].Active := True;
Players[2].Name := 'Username'; //place your username here
Players[2].Pass := 'Password'; //place your password here
Players[2].Nick := 'Nickname'; //3 - 4 letters of YOUR username, example: sern
Players[2].Active := True;
Players[3].Name := 'Username'; //place your username here
Players[3].Pass := 'Password'; //place your password here
Players[3].Nick := 'Nickname'; //3 - 4 letters of YOUR username, example: sern
Players[3].Active := True;
Players[4].Name := 'Username'; //place your username here
Players[4].Pass := 'Password'; //place your password here
Players[4].Nick := 'Nickname'; //3 - 4 letters of YOUR username, example: sern
Players[4].Active := True;
Players[5].Name := 'Username'; //place your username here
Players[5].Pass := 'Password'; //place your password here
Players[5].Nick := 'Nickname'; //3 - 4 letters of YOUR username, example: sern
Players[5].Active := True;
end;
{!*================NO TOUCHING!====================*!}
var
ModBMP, x, y, load, TL: Integer;
procedure LoadBMP;
begin
ModBMP := BitmapFromString(13, 11, 'z78DA3330A037707274723' +
'430307732774215C71481005743574354BDB84C43560911C1540F' +
'51838B84A8C71427CF345C24754D839833924D23CF4C5CE6500B0' +
'000AB69B141');
end;
procedure Cred;
begin
Writeln('LevExidus AutoMiner')
Writeln('By Jvwarrior')
Writeln('Enjoy The Script!')
end;
procedure StartMe;
begin
Writeln('Starting')
Writeln('J')
Wait(200)
Writeln('JV')
Wait(200)
Writeln('JVW')
Wait(200)
Writeln('JVWA')
Wait(200)
Writeln('JVWAR')
Wait(200)
Writeln('JVWARR')
Wait(200)
Writeln('JVWARRI')
Wait(200)
Writeln('JVWARRIO')
Wait(200)
Writeln('JVWARRIOR')
Wait(200)
Writeln('OWNZ THIS SCRIPT!')
end;
procedure Mining;
begin
repeat
if (findcolorspiraltolerance(x, y, orecolor1, msx1, msy1, msx2, msy2, 25)) then
mouse(x, y, 3, 3, true);
Wait(7000);
case Random(10) of
6: typesend('Mining lvls?');
3: typesend('few more to go');
end;
until (InvFull);
if (InvFull) then DropToPosition(2, 28);
Load:= Load +1;
if (InChat('mining lvls')) then typesend('higher than yours');
if (InChat('mining lvl')) then typesend('higher than yours');
if (InChat('mining lvl?')) then typesend('higher then ures');
end;
procedure DisableChats;
begin
if (not (LoggedIn)) then
Exit;
SetChat('on', 1);
SetChat('friends', 2);
SetChat('on', 3);
SetChat('off', 4);
end;
procedure Login;
var
ClickHereToPlay, x, y, tx, ty,
CHx, CHy, c, tmpMask, LastPlayer, Mark: Integer;
begin
ClickHereToPlay := BitmapFromString(33, 1, 'z78DA758E510E80300843' +
'AF54C0E2F6E94CB8FF9134123392693FFA41FA4A23A6F0888443D' +
'26DC000A7DCE7F458F23EE444E721444B6A0F53D58FE44F4365B7' +
'067D37AC3D95AADF2F50962C79');
if (not (LoggedIn)) then
begin
// Beginning player not active...
if (not (Players[CurrentPlayer].Active)) then
begin
WriteLn('Current player is not Active...');
LastPlayer := CurrentPlayer;
repeat
CurrentPlayer := Random(HowManyPlayers);
Wait(100);
until (Players[CurrentPlayer].Active);
end;
x := 150;
y := 173;
if (FindRS) then
ActivateClient;
Wait(1000);
ClickOption('Cancel', 1);
ClickOption('Exist', 1);
tmpMask := CreateBitmapMaskFromText('Username', upchars);
if (FindBitmapMaskTolerance(tmpMask, x, y, 0, 0, 520, 340, 10, 50)) then
begin
Wait(25 + Random(50));
Mouse(x + 24, y + 3, 3, 0, True);
Wait(25 + Random(50));
WriteLn(Players[CurrentPlayer].Name);
TypeSend(Players[CurrentPlayer].Name);
Wait(100 + Random(100));
Mouse(327, 272, 0, 0, True);
TypeSend(Players[CurrentPlayer].Pass);
Wait(100 + Random(100));
end;
ClickOption('Login', 1);
// Waiting for Connecting to Server...
MarkTime(Mark);
while FindText(tx, ty, '...', upchars, 240, 180, 530, 240) do
begin
Wait(100);
if TimeFromMark(Mark) > 20000 then Break;
end;
MarkTime(Mark);
repeat
Wait(1000);
// Enter your username and password. If all failed...
if FindText(tx, ty, 'nter you', upchars, 240, 180, 530, 240) then
begin
WriteLn('Enter your username and Password');
FreeBitmap(tmpMask);
FreeBitmap(ClickHereToPlay);
LoginPlayer;
Exit;
end else
// Your account is already logged in.
if FindText(tx, ty, 'lready', upchars, 240, 180, 530, 240) then
begin
WriteLn('Your account is already logged in');
LastPlayer := CurrentPlayer;
repeat
CurrentPlayer := Random(HowManyPlayers);
Wait(100);
until (Players[CurrentPlayer].Active) and (CurrentPlayer <> LastPlayer);
FreeBitmap(tmpMask);
FreeBitmap(ClickHereToPlay);
LoginPlayer;
Exit;
end else
// Invalid Username. 3 attempts. If fails, you haven't set your username/pass correct
if FindText(tx, ty, 'nvalid', upchars, 240, 180, 530, 240) then
begin
WriteLn('Invalid Username.');
SRL_Attempts := SRL_Attempts + 1;
if SRL_Attempts > 3 then
begin
Players[CurrentPlayer].loc := 'L/P ERROR';
NextPlayer(False);
end;
FreeBitmap(tmpMask);
FreeBitmap(ClickHereToPlay);
LoginPlayer;
Exit;
end else
// Login attempts exceeded. Please wait 1 minute and try again.
if FindText(tx, ty, 'excee', upchars, 240, 180, 530, 240) then
begin
WriteLn('Login attempts exceeded. Please wait 1 minute and try again.');
Wait(60000);
FreeBitmap(tmpMask);
FreeBitmap(ClickHereToPlay);
LoginPlayer;
Exit;
end else
// World is full.
if FindText(tx, ty, 'full', upchars, 240, 180, 530, 240) then
begin
WriteLn('World is full.');
Wait(3000);
FreeBitmap(tmpMask);
FreeBitmap(ClickHereToPlay);
LoginPlayer;
Exit;
end else
// Unable to connect. Login Server offline.
if FindText(tx, ty, 'offl', upchars, 240, 180, 530, 240) then
begin
WriteLn('Unable to connect Login Server offline.');
Wait((6000) + Random(6000));
FreeBitmap(tmpMask);
FreeBitmap(ClickHereToPlay);
LoginPlayer;
Exit;
end else
// Error Connecting.
if FindText(tx, ty, 'rror', upchars, 240, 180, 530, 240) then
begin
WriteLn('Error Connecting.');
Wait(10000);
FreeBitmap(tmpMask);
FreeBitmap(ClickHereToPlay);
LoginPlayer;
Exit;
end else
// Error loading your profile. Will attempt to re-login 5 more times.)
if FindText(tx, ty, 'ontact', upchars, 240, 180, 530, 240) then
begin
WriteLn('Error loading your profile.');
Wait(2000);
FreeBitmap(tmpMask);
FreeBitmap(ClickHereToPlay);
LoginPlayer;
Exit;
end else
// Login server rejected session.
if FindText(tx, ty, 'reject', upchars, 240, 180, 530, 240) then
begin
WriteLn('Login server rejected session.');
Wait(1000);
FreeBitmap(tmpMask);
FreeBitmap(ClickHereToPlay);
LoginPlayer;
Exit;
end else
// Runescape has been updated.
if FindText(tx, ty, 'reload', upchars, 240, 180, 530, 240) then
begin
WriteLn('ERROR. RuneScape has been updated. Script Terminated.');
FreeBitmap(tmpMask);
FreeBitmap(ClickHereToPlay);
TerminateScript;
end else
// The Server is being updated. Please wait 1 minute.
if FindText(tx, ty, 'updat', upchars, 240, 180, 530, 240) then
begin
WriteLn('The Server is being updated.');
Wait(60000);
FreeBitmap(tmpMask);
FreeBitmap(ClickHereToPlay);
LoginPlayer;
Exit;
end else
// Your account has been disabled.
if FindText(tx, ty, 'disabled', upchars, 420, 180, 500, 220) then
begin
WriteLn('Your account has been disabled');
Players[CurrentPlayer].loc := 'DISABLED';
FreeBitmap(tmpMask);
FreeBitmap(ClickHereToPlay);
NextPlayer(False);
Exit;
end else
// Waiting for Profile to be Transferred
if FindText(tx, ty, 'trans', upchars, 240, 180, 530, 240) then
begin
WriteLn('Waiting for your Profile to be Transferred');
Wait(2500);
end else
// You need a Members account...
if FindText(tx, ty, 'member', upchars, 240, 180, 530, 240) then
begin
WriteLn('You need a Members account...');
Players[CurrentPlayer].loc := 'Non-Member';
FreeBitmap(tmpMask);
FreeBitmap(ClickHereToPlay);
NextPlayer(False);
end else
// Welcome to RuneScape. If all failed...
if FindText(tx, ty, 'elcom', upchars, 240, 180, 530, 240) then
begin
WriteLn('Welcome.');
FreeBitmap(tmpMask);
FreeBitmap(ClickHereToPlay);
LoginPlayer;
Exit;
end;
if TimeFromMark(Mark) > 180000 then
begin
WriteLn('three minutes have passed');
WriteFileString(TheFile, Chr(13) + 'THREE MINUTES HAVE PASSED!!!' +
Chr(13));
{ if (FindClient) then
FindWindowBySize(766, 504); }
ActivateClient;
ClickOption('Cancel', 1);
ClickOption('Exist', 1);
end;
until (FindBitmapToleranceIn(ClickHereToPlay, CHx, CHy, 250, 270, 530, 390,
5)) or FindColor(CHx, CHy, 723587, 555, 10, 575, 30);
Wait(1000 + Random(500));
if (FindBitmapToleranceIn(ClickHereToPlay, CHx, CHy, 250, 270, 530, 390, 5)) then
Mouse(CHx, CHy, 50, 20, True) else Writeln('Found Compass'); // Clicks randomly on the button
repeat
Wait(1000);
c := c + 1;
until (LoggedIn) or (c >= 600);
end;
FreeBitmap(tmpMask);
FreeBitmap(ClickHereToPlay);
if LoggedIn then
begin
PlayerStartTime := (GetSystemTime div 1000); // PlayerStartTime
if NickNameBMP <> 0 then
FreeBitmap(NickNameBMP);
NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, upchars); // Screenname
{ if(usenewrespond)then
AutoText[3].Trigger[0]:=Players[CurrentPlayer].Nick; }
WriteFileString(TheFile, Chr(13) + UpperCase(Players[CurrentPlayer].Name) + Chr(13)); //* Save NAME to file
end;
end;
procedure ScanForMod;
begin
if (findbitmap(ModBMP, x, y)) then
begin
writeln('OMG Mod!');
Logout;
Writeln('Mod Found Ettempting to Evade');
Wait(90000 + random(100000));
LoginPlayer;
end;
end;
function FindFastRandoms: Boolean;
var
i: Integer;
begin
for i := 1 to 10 do
begin
case I of
1: if FindDead then
Result := True;
2: if FindMod then
Result := True;
3: if FindMime then
Result := True;
4: if FindMaze then
Result := True;
5: if FindQuiz then
Result := True;
6: if FindDemon then
Result := True;
7: begin
if NoGameTab then
begin
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
end;
end;
8: begin
if InBlack then
begin
Result := True;
Players[CurrentPlayer].loc := 'InBlack';
Logout;
Exit;
end;
end;
9: RC;
10: Respond;
end;
wait(1);
end;
end;
procedure FindTheRandoms;
begin
FindTalk;
FindFastRandoms;
FindNormalRandoms;
FindLamp('Mining');
SolvePinball;
if (FindFight) then
begin
MakeCompass('N');
RunTo('N', True);
Wait(7000 + Random(3000));
RunBack;
end;
end;
procedure ABan;
begin
if (not (LoggedIn)) then
Exit;
case Random(8) of
0: RandomRClick;
1: HoverSkill('Mining', False);
2: RandomMovement;
3: BoredHuman;
4: PickUpMouse;
5: AlmostLogout;
6: begin
GameTab(1 + Random(12));
wait(2000 + Random(1000));
GameTab(4);
end;
end;
end;
procedure CheckNicks;
var
CorrectString: string;
i: Integer;
begin
for i := 0 to HowManyPlayers - 1 do
begin
if (Players[i].Nick = '') then
begin
Writeln('--');
Writeln('WARNING : Please fill in your nickname.');
if (Length(Players[i].Name) > 0) then
Writeln('Warning occured with player : ' + Players[i].Name);
Writeln('For more information, visit http://www.villavu.com/forum/showthread.php?t=5410');
Exit;
end;
if (Players[i].Nick <> LowerCase(Players[i].Nick)) then
begin
Writeln('--');
Writeln('WARNING : Please Uncapitalise your nickname.');
if (Length(Players[i].Name) > 0) then
Writeln('Warning occured with player : ' + Players[i].Name);
Writeln('For more information, visit http://www.villavu.com/forum/showthread.php?t=5410');
Exit;
end;
if (pos(Players[i].Nick, LowerCase(Players[i].Name)) = 1) then
begin
Writeln('--');
Writeln('WARNING : Dont use the first letter in your nick.');
if (Length(Players[i].Name) > 0) then
Writeln('Warning occured with player : ' + Players[i].Name);
Writeln('For more information, visit http://www.villavu.com/forum/showthread.php?t=5410');
Exit;
end;
if (pos(' ', Players[i].Nick) > 0) then
begin
Writeln('--');
Writeln('WARNING : Dont use spaces in your Nick.');
if (Length(Players[i].Name) > 0) then
Writeln('Warning occured with player : ' + Players[i].Name);
Writeln('For more information, visit http://www.villavu.com/forum/showthread.php?t=5410');
Exit;
end;
CorrectString := Capitalize(Players[i].Name);
if not (Pos(LowerCase(Players[i].Nick), CorrectString) > 0) then
begin
Writeln('--');
Writeln('WARNING : Nick does NOT match the name.');
if (Length(Players[i].Name) > 0) then
Writeln('Nick : ' + Players[i].Nick + ', does NOT match ' + Players[i].Name);
Writeln('For more information, visit http://www.villavu.com/forum/showthread.php?t=5410');
Exit;
end;
end;
end;
begin
SetupSRL;
ActivateClient;
Cred;
StartMe;
Load:= 0;
LoadBMP;
CheckNicks;
repeat
DeclarePlayers;
Login;
DisableChats;
repeat
FindFastRandoms;
FindTheRandoms;
ScanForMod;
ABan;
Mining;
until (Load = Loads);
Nextplayer(true)
TL:= Loads;
until(TotalLoads = TL)
end.