SCAR Code:
program VEOC;
{.include SRL/SRL.Scar}
{.include SRL/SRL/Skill/Woodcutting.Scar}
Var
X, y, Chopped : Integer;
Banked : Integer;
Axe : String;
const
SRLStatsID = ''; // Your SRL Stats ID
SRLStatsPW = ''; // Your SRL Stats Password
VersionNow = '1'; // Do NOT change this!
Procedure DeclarePlayers;
begin
HowManyPlayers:= 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer:= 0;
Players[0].Name := 'username'; //UserName
Players[0].Pass := 'password'; //Password
Players[0].Nick := 'ser'; //Nickname
Players[0].Active := True; //Active
Players[0].PIN := '0000';
Players[0].integers[0]:= 10; // Loads to do
WriteLn('Using ' +IntToStr(HowManyPlayers) + ' Players');
end;
Procedure NaumanAR;
Begin
If Not (Loggedin) then
Exit;
For Y := 0 to 3 do
FindNormalRandoms;
Begin
FindNonInventoryRandoms;
If FindFight Then
Begin
RunAway('w', false, 1, 8500);
end;
end;
end;
Function FindObjX(var cx, cy: Integer; Text: TStringArray; Color: TIntegerArray; Tolerance: Integer): Boolean;
var
a, b, c, i, x1, y1, x2, y2: Integer;
Start: Boolean;
begin
for b := 0 to (GetArrayLength(Color)-1) do
begin
if (FindColorSpiralTolerance(cx, cy, color[b], MSX1, MSY1, MSX2, MSY2, Tolerance)) then
begin
Start := True;
Break;
end;
end;
if(Start)then
begin
x1 := 245;
y1 := 165;
x2 := 277;
y2 := 185;
repeat
if not(LoggedIn)then break;
a := a + 1;
if (a = 1) then
c := c + 1
else if (a = 3) then
c := c + 1;
for i := 1 to c do
begin
if (a = 1) then
begin
x1 := x1 + 30;
x2 := x2 + 30;
end else
if (a = 2) then
begin
y1 := y1 - 20;
y2 := y2 - 20;
end else
if (a = 3) then
begin
x1 := x1 - 30;
x2 := x2 - 30;
end else
if (a = 4) then
begin
y1 := y1 + 20;
y2 := y2 + 20;
end;
if (x1 = 485) and (x2 = 517) then
x2 := x2 - 2;
if (y1 = 325) and (y2 = 345) then
y2 := y2 - 7;
if (x2 > 515) then
Break;
for b := 0 to (GetArrayLength(Color)-1) do
begin
if (FindColorTolerance(cx, cy, Color[b], x1, y1, x2, y2, tolerance)) then
begin
MMouse(cx, cy, 0, 0)
if (IsUpTextMultiCustom(Text)) then
begin
Result := True;
Exit;
end;
end;
end;
end;
if (a = 4) then
a := 0;
until (x2 > 515) or (Result = True);
end;
end;
procedure Search;
var
f, e : integer;
begin
If (not (Loggedin)) then
Exit;
MMouse(645, -14, 1, 1)
MMouse(727, -10, 1, 1)
e := 5 + Random(6); //Of Almost Logout credits to Yakman :)
for f := 0 to e do
begin
case Random(3) of
0, 1: MMouse(727 - Random(200), 90 + Random(200), 0, 0);
2: IdleTime(300 + Random(300), 500, 0.5);
end;
FTwait(2 + Random(1));
end;
end;
procedure AntiBan;
begin
If (not (Loggedin)) then
Exit;
case Random(57) of
0,1,2: PickUpMouse;
23,5,9: GameTab(1 + Random(11));
56: Search;
55: MMouse(Random(MSX2), Random(MSY2), 0, 0);
19: begin
HoverSkill('Mining',false);
gametab(4);
ChooseOption('Cancel');
MMouse(Random(MSY1), Random(MSX1), 0, 0);
end;
10: begin
GameTab(1 + Random(13));
wait(1000+ random(600));
gametab(4);
ChooseOption('Cancel');
end;
34: begin
HoverSkill('random',false);
gametab(4);
end;
33: Begin
Case Random(67)+1 of
0,1,23,25,45,46: Typesend('...');
2,22,42,52,62: Typesend('Yawn');
3,5,9,19: Typesend('Hey');
66,65,64,63: Typesend('Wc lvls?');
56,55,54,53,67: Typesend('l0l');
end;
end;
end;
end;
Function CheckAxe : Boolean;
Begin
If Not ((((((((((((((((((((LoggedIn)))))))))))))))))))) Then Exit;
MMouseItem(1);
Axe := 'No';
Wait(800+Random(200));
Begin
If IsUpText('ronze') Then Axe := 'Bronze';
If IsUpText('ron') Then Axe := 'Iron';
If IsUpText('eel') Then Axe := 'Steel';
If IsUpText('ith') Then Axe := 'Mithril';
If IsUpText('dam') Then Axe := 'Addy';
If IsUpText('une') Then Axe := 'Rune';
end;
Try;
Result := True;
WriteLn('Found ' +Axe+ ' Axe');
Exit;
finally;
If Axe = 'No' Then
Begin
WriteLn('Please Have An Axe In your Inventory!');
Result := False;
GetApplication.BringToFront;
TerminateScript;
end;
end;
end;
Procedure WaitWhileChop;
Var IMark : Integer;
Begin
MarkTime(IMark);
If Not ((((((((((((((((((((LoggedIn)))))))))))))))))))) Then Exit;
Repeat
FindEnt(x, y, True);
NaumanAR;
FTWait(20+Random(10));
AntiBan;
If InvFull Then Break;
If FindDead Then Break;
Until(TimeFromMark(IMark) > 6500 + Random(2000));
end;
Procedure ChopDownOak;
Begin
If Not ((((((((((((((((((((LoggedIn)))))))))))))))))))) Then Exit;
Repeat
If Not FindObjX(x, y, ['hop', 'own', 'ak'], [2769993, 2057565], 10) Then
MFF(MMCX + 20, MMCY, 5, 5);
If FindObjX(x, y, ['hop', 'own', 'ak'], [2769993, 2057565], 10) Then
MMouse(x, y, 1, 1);
If IsUpTextMultiCustom(['oa', 'ak', 'oak']) Then
Begin
Case Random(2) Of
0: Mouse(x, y, 1, 1, True);
1: Begin
Mouse(x, y, 1, 1, False);
ChooseOption('hop');
end;
end;
WaitWhileChop;
end;
Until(InvFull);
Chopped := Chopped + 27;
end;
Procedure RandomMovementX;
Begin
If (not (Loggedin)) then
Exit;
Case Random (5) of
1:Begin
MMouse(727 - Random(200), 90 + Random(200), 0, 0);
IdleTime(300 + Random(300), 500, 0.5);
end;
2:Begin
MMouse(227 - Random(200), 290 + Random(200), 0, 0);
IdleTime(300 + Random(300), 500, 0.5);
end;
3:Begin
GameTab(1+Random(14))
end;
4,0: Wait(2000+Random(200))
end;
end;
Procedure WalkAntiBan;
Begin
If (not (Loggedin)) then
Exit;
NaumanAR;
Case Random(6) of
1:Begin
Case 11 of
0: TypeSend('stoopib walkin');
9: Typesend('.');
10: Typesend('Yawn');
end;
Exit;
end;
3: Begin
GameTab(1+Random(14))
wait(Random(2))
GameTab(4)
end;
5: MMouse(Random(MSCX), Random(MSCY), 600, 600);
0: RandomMovementX;
end;
end;
Procedure WalkToOak;
begin
if (not(loggedIn)) then exit;
SetAngle(True);
SetRun(True);
GameTab(4);
CheckAxe;
RadialWalk( 7173238, 75, 120, 60, 0, 0);
WalkAntiBan;
FFlag(0);
RadialWalk( 7173238, 250, 280, 60, 0, 0);
WalkAntiBan;
FFlag(0);
end;
procedure BankOak;
Begin
RadialWalk( findvarrockroadcolor, 75, 120, 60, 0, 0);
WalkAntiBan;
FFlag ;
RadialWalk( findvarrockroadcolor, 75, 120, 60, 0, 0);
WalkAntiBan;
FFlag ;
RadialWalk( findvarrockroadcolor, 75, 120, 60, 10, 10);
SymbolAccuracy := 0.4;
If FindSymbol(x, y, 'Bank') Then
Begin
Mouse(x, y, 1, 1, True);
FFlag ;
end;
OpenBankFast('Lb')
If PinScreen Then
InPin(Players[CurrentPlayer].PIN);
If (BankScreen) then
Begin
Deposit(2,28,True)
wait(800+Random(200))
CloseBank;
Banked := Banked + 1;
end;
end;
Procedure Proggie;
Begin
WriteLn('| =================================');
WriteLn('| Varrock East Chopper + Banker ');
WriteLn('| =================================');
WriteLn('| By NaumanAkhlaQ + Dallas574 ');
WriteLn('|-----------------------------------');
WriteLn('|> Worked '+(TimeRunning));
WriteLn('|> Chopped '+IntToStr(Chopped)+' Logs! ');
WriteLn('|> Banked '+IntToStr(Banked)+' Loads! ');
WriteLn('| =================================');
WriteLn('Using ' +IntToStr(HowManyPlayers) + ' Players');
end;
Begin
SetupSRL;
DeclarePlayers;
Begin
If Not LoggedIn Then
LoginPlayer;
GetApplication.Minimize;
GetWcLvl;
Repeat
RoadColor := FindRoadColor;
Repeat
WalkToOak;
ChopDownOak;
Proggie;
BankOak;
Proggie;
Until(Banked > Loads) Or Not LoggedIn
If Banked > Loads Then
Begin
WriteLn('Loads Done Nextplayer');
NextPlayer(TRUE);
Proggie;
end;
Until(False);
end;
End.