SCAR Code:
//Sukomabawls willow cutter
//start near the willow trees in draynor with an axe equipped
//email me [email]sukomabawls@gmail.com[/email] if it doesnt work
//Setup Line(s) 40 - 53 ; Other Option(s) when you start!
Program DraynorWillowSmasher;
{.include /SRL/SRL/Core/Bank.scar}
Const
Willowtree1 = 6654104;//Willow Tree Color 1
Willowtree2 = 5210232;//Willow Tree Color 2
Willowtree3 = 5748904;//Willow Tree Color 3
Willowtree4 = 5677801;//Willow Tree Color 4
MMBankSymbol = 4572894;//Color of Bank Symbol on MiniMap
HowMany = 3000; //How many Logs you want...
//when it's done it will Log Out...
BankPin = '1234'; //Your bank pin here, if you have one...
GLampSkill = 'WoodCutting'; //Choose a skill to use the genie lamp on...
Var
x,y,z,xx,yy:Integer;
frmDesign : TForm;
Label11 : TLabel;
Label22 : TLabel;
Label33 : TLabel;
UserNameE : TEdit;
PassWordE : TEdit;
CheckBox1 : TCheckBox;
CheckBox2 : TCheckBox;
Button11 : TButton;
AutoLogin, EquipAxe: Boolean;
application:tapplication;
Self: TForm;
disguised:string;
WillowAntiEnt,AntiEnt:Integer;
Axe1,Axe2,Axe3,Handle,A1,A2,A3,H : Integer;
AxefindAP : Integer;
STime1, FTime1, RLogout1 : Integer;
UpChars,CountWillows,WillowsCut:Integer;
XPis:extended;logtypeis:String;
Procedure AntiBan;
begin
Application:= GetApplication;
Application.Title:= disguised;
Self:= GetSelf;
GetSelf.Caption:= 'Stealth Mode';
end;
Procedure SaveSettings(sender: TObject);
begin
AutoLogin := False;
EquipAxe := False;
frmDesign.Caption:= frmDesign.Caption + '.';
frmDesign.ModalResult:= mrOk;
If(CheckBox1.Checked)Then
AutoLogin := True;
If(CheckBox2.Checked)Then
EquipAxe := True;
User := UsernameE.text;
Pass := PasswordE.text;
end;
Procedure LoginForm;
Begin
frmDesign := CreateForm;
frmDesign.Left := 528;
frmDesign.Top := 382;
frmDesign.Width := 267;
frmDesign.Height := 144;
frmDesign.BorderStyle := bsToolWindow;
frmDesign.Caption := 'Login Inormation - Enter Correctly';
frmDesign.Color := clGray;
frmDesign.Font.Color := clWhite;
frmDesign.Font.Height := -11;
frmDesign.Font.Name := 'MS Sans Serif';
frmDesign.Font.Style := [fsUnderline];
frmDesign.Visible := False;
frmDesign.PixelsPerInch := 96;
Label11 := TLabel.Create(frmDesign);
Label11.Parent := frmDesign;
Label11.Left := 37;
Label11.Top := 2;
Label11.Width := 51;
Label11.Height := 13;
Label11.Caption := 'Username:';
Label22 := TLabel.Create(frmDesign);
Label22.Parent := frmDesign;
Label22.Left := 167;
Label22.Top := 2;
Label22.Width := 49;
Label22.Height := 13;
Label22.Caption := 'Password:';
Label33 := TLabel.Create(frmDesign);
Label33.Parent := frmDesign;
Label33.Left := 36;
Label33.Top := 98;
Label33.Width := 199;
Label33.Height := 13;
Label33.Caption := 'Draynor Willow Woodcutter - Made by Sukomabawls';
UserNameE := TEdit.Create(frmDesign);
UserNameE.Parent := frmDesign;
UserNameE.Left := 5;
UserNameE.Top := 21;
UserNameE.Width := 121;
UserNameE.Height := 21;
UserNameE.TabOrder := 8;
PassWordE := TEdit.Create(frmDesign);
PassWordE.Parent := frmDesign;
PassWordE.Left := 132;
PassWordE.Top := 22;
PassWordE.Width := 121;
PassWordE.Height := 21;
PassWordE.PasswordChar := #1;
PassWordE.TabOrder := 9;
CheckBox1 := TCheckBox.Create(frmDesign);
CheckBox1.Parent := frmDesign;
CheckBox1.Left := 25;
CheckBox1.Top := 48;
CheckBox1.Width := 97;
CheckBox1.Height := 17;
CheckBox1.Caption := 'Equip Axe?';
CheckBox1.TabOrder := 10;
CheckBox2 := TCheckBox.Create(frmDesign);
CheckBox2.Parent := frmDesign;
CheckBox2.Left := 116;
CheckBox2.Top := 48;
CheckBox2.Width := 132;
CheckBox2.Height := 17;
CheckBox2.Caption := 'Auto Random Logout?';
CheckBox2.TabOrder := 11;
Button11 := TButton.Create(frmDesign);
Button11.Parent := frmDesign;
Button11.Left := 88;
Button11.Top := 74;
Button11.Width := 75;
Button11.Height := 18;
Button11.Caption := 'Continue';
Button11.Font.Color := clWhite;
Button11.Font.Height := -11;
Button11.Font.Name := 'MS Sans Serif';
Button11.Font.Style := [];
Button11.ParentFont := False;
Button11.TabOrder := 12;
Button11.OnClick := @SaveSettings;
UsernameE.Font.Color := CLBlack;
PasswordE.Font.Color := CLBlack;
PasswordE.Font.Style := []
End;
procedure SafeLoginForm;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('LoginForm', v);
end;
procedure ShowFormModal1;
begin
frmDesign.ShowModal;
end;
procedure SafeShowFormModal;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('ShowFormModal1', v);
end;
procedure CallForm;
begin
SafeLoginForm;
SafeShowFormModal;
end;
Procedure SetupOptions;
begin
MapCompass('N');
SetRunOn;
Openbag;
CountWillows:=0
WillowsCut:=0
end;
function IsUpText(s: string):Boolean;
begin
Result:= IsTextAtEx(7, 7, s, 100, UpChars, True, False, 0, 2, -1);
end;
function CheckEnt: Boolean;
var
x, y: Integer;
begin
Result := false;
if(IsUpText('Chop down'))and
((FindColorTolerance(x, y, 57311, 80, 5, 160, 25, 10))or
(FindColorTolerance(x, y, 118478, 80, 5, 160, 25, 10))or
(FindColorTolerance(x, y, 53199, 80, 5, 160, 25, 10)))then
Result := true;
end;
procedure FindEnts;
begin
if (checkent=true) then
begin
Writeln('Found an ent!')
Direction:='E'
MouseC(638, 84, 1)
wait(5000+random(2000))
end;
end;
Procedure NewAntiEnt;
begin
if(IsUpText('Chop down'))and
((FindColorTolerance(x, y, 57311, 80, 5, 160, 25, 10))or
(FindColorTolerance(x, y, 118478, 80, 5, 160, 25, 10))or
(FindColorTolerance(x, y, 53199, 80, 5, 160, 25, 10)))then
begin
WillowAntiEnt := BitmapFromString(39, 13, 'z78DA33301889C00' +
'D086024256A88514FAA39A33E1DF529ED7C4A2DF181F2293122B4' +
'88536459E25552623BF13E1D6CE223C1A7E4B97668F9143F497C1' +
'EA1563AA1B54FF18B535226D03A7F116F3BF1E2A3607800000A53' +
'6F6F');
if(FindBitmapToleranceIn(WillowAntiEnt,x,y,5,3,39,13,4))then
begin
Writeln('Found an evil ent!')
Direction:='E'
MouseC(638, 84, 1)
wait(5000+random(2000))
end;
end;
end;
procedure ModCheck;
var
x2, y2, abcd, bmpModcrown, bmpStaffcrown : integer;
begin
bmpModcrown := BitmapFromstring(13, 11,
'979797000000000000000000000000000000979797000000000000' +
'000000000000000000979797E0E0E0979797000000000000000000' +
'E0E0E0A2A2A2979797000000000000000000E0E0E0979797E0E0E0' +
'979797000000000000000000E0E0E0A2A2A2979797000000000000' +
'000000E0E0E0979797E0E0E0A2A2A2979797000000E0E0E0A2A2A2' +
'A2A2A2A2A2A2979797000000E0E0E0A2A2A2979797E0E0E0A2A2A2' +
'979797000000E0E0E0A2A2A2A2A2A2A2A2A2979797000000E0E0E0' +
'A2A2A2979797000000E0E0E0A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2' +
'A2A2A2A2A2A2A2A2A2A2A2A2979797000000000000E0E0E0A2A2A2' +
'A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2979797' +
'000000000000000000E0E0E0sA2A2A2000000000000A2A2A2000000' +
'000000A2A2A2979797000000000000000000000000E0E0E0A2A2A2' +
'000000A2A2A2000000A2A2A2000000A2A2A2979797000000000000' +
'000000000000E0E0E0A2A2A2000000A2A2A2000000A2A2A2000000' +
'A2A2A2979797000000000000000000000000979797979797979797' +
'979797979797979797979797979797979797000000000000');
bmpStaffcrown := BitmapFromstring(13, 11,
'D69E21000000000000000000000000000000D69E21000000000000' +
'000000000000000000D69E21FFFF84D69E21000000000000000000' +
'FFFF84F7FF08D69E21000000000000000000FFFF84D69E21FFFF84' +
'D69E21000000000000000000FFFF84F7FF08D69E21000000000000' +
'000000FFFF84D69E21FFFF84F7FF08D69E21000000FFFF84F7FF08' +
'F7FF08F7FF08D69E21000000FFFF84F7FF08D69E21FFFF84F7FF08' +
'D69E21000000FFFF84F7FF08F7FF08F7FF08D69E21000000FFFF84' +
'F7FF08D69E21000000FFFF84F7FF08F7FF08F7FF08F7FF08F7FF08' +
'F7FF08F7FF08F7FF08F7FF08D69E21000000000000FFFF84F7FF08' +
'F7FF08F7FF08F7FF08F7FF08F7FF08F7FF08F7FF08F7FF08D69E21' +
'000000000000000000FFFF84F7FF08000000000000F7FF08000000' +
'000000F7FF08D69E21000000000000000000000000FFFF84F7FF08' +
'000000F7FF08000000F7FF08000000F7FF08D69E21000000000000' +
'000000000000FFFF84F7FF08000000F7FF08000000F7FF08000000' +
'F7FF08D69E21000000000000000000000000D69E21D69E21D69E21' +
'D69E21D69E21D69E21D69E21D69E21D69E21000000000000');
if (findbitmaptolerancein(bmpStaffCrown,x2,y2,1,345,110,430,50))
or (findbitmaptolerancein(bmpModCrown,x2,y2,1,345,110,430,50)) then
begin
abcd:=0
TakeScreenShot('Jagex Staff Found',1);
Status('Jagex Staff or Mod found...');
writeln('Staff/Mod Found so logged out');
Logout;
repeat
Status(inttostr(20-abcd)+' minutes remaining until login...')
abcd:=abcd+1;
wait(60000);
until(abcd>20);
end;
FreeBitmap(bmpStaffCrown);
FreeBitmap(bmpModCrown);
end;
Procedure XPAmounts;
begin
if logtypeis = 'Willow' then XPis:= 67.5
end;
Procedure Getaxecolors;
begin
Writeln('Getting axe and handle colors...')
A1 := Getcolor(591, 219)
A2 := Getcolor(590, 221)
A3 := Getcolor(589, 219)
H := Getcolor(582, 224)
Writeln('Axe colors ' + inttostr(A1)+ ' ' + inttostr(A2) + ' ' + inttostr(A3))
Writeln('Handle color ' + inttostr(H))
end;
Function Axelost : boolean;
var x, y : integer;
begin
If(findcolortolerance(x, y, Axe1, 560, 210, 740, 460, 5)) or
(findcolortolerance(x, y, Axe2, 560, 210, 740, 460, 5)) or
(findcolortolerance(x, y, Axe3, 560, 210, 740, 460, 5)) then
result := true
else
result := false
end;
Procedure FixAxe;
Var x, y : integer;
begin
if(Axelost = false)then
begin
Axefindap := Axefindap + 1
if(Findobject('Take A', Axe1, 3))then
getmousepos(x,y)
MouseR(x,y,xx,yy,z)
if(not(findobject('Take A', Axe1, 3)))Then
If(findcolortolerance(x, y, 206, 565, 5, 725, 160, 5))then
MouseR(x,y,xx,yy,z)
Mapflagging;
If(findobject('Take A', Axe1, 3))then
MouseR(x,y,xx,yy,z)
begin
if(findobject('Use A', Axe1, 3))Then
getmousepos(x, y)
MouseR(x,y,xx,yy,z)
wait(75 + random(75))
If(findcolortolerance(x, y, handle, 565, 5, 725, 160, 10))then
MouseR(x,y,xx,yy,z)
Writeln('Axe head successfully fixed, continuing...');
end;
end;
If(axelost = true)then
begin
end;
end;
Procedure RandomLogoutF;
Begin
RLogout1 := RLogout1 + Random(2)+1;
If(RLogout1 = 20+Random(10))Then
Begin
STime1 := GetSystemTime;
Logout;
Wait(5000+Random(3000))
Login;
FTime1 := GetSystemTime;
Writeln('Took A '+IntToStr(STime1-FTime1)+'MS Break.')
RLogout1 := 1;
End;
End;
Procedure AntiRandoms;
begin
NewAntiEnt;
Findrandoms;
ModCheck;
GetAxeColors;
FixAxe;
LookForMime;
FindMaze;
SolveFord;
SolveFrog;
FindForester;
if(FightFound=True)then
Writeln('Monster Found! Running away and continuing...');
wait(4000+random(200));
MouseR(621,132,xx,yy,1);
end;
Procedure FindWillow;
begin
if(FindObject('Chop',Willowtree1,12))or
FindObject('Chop',Willowtree2,13)or
FindObject('Chop',Willowtree3,11)or
FindObject('Chop',Willowtree4,10)then
begin
Writeln('Found the Willow, Searching for Color...');
wait(1000+random(300));
getmousepos(x,y);
MouseC(x,y,1);
Writeln('Cutting Willow Logs');
WillowsCut:=WillowsCut+1
CountWillows:=CountWillows+1
NewAntiEnt;
wait(1004+random(304));
MapFlaggingR;
begin
AntiRandoms;
FindEnts;
wait(3000+random(500));
end;
end;
end;
Procedure LoadBitmap;
begin
AntiEnt := BitmapFromString(38, 10, 'z78DADD96D10A80200C457' +
'F6953827A8C5CFFFF4995F6B05A5D0C51241F44B6CBF4B84D1427' +
'8E268933BD0CC9D0DCF41CF57CD5EF16E231AC21F0400D473AF92' +
'28B902BD15846ABFF1AA77346F7174650939D33DAEE6B9347BDAF' +
'14BF12E7FDF399853BA3174F33B6E05DBE32BEC5494A7C27C07BB' +
'C09E1F0E61061C6F6765C817F654CB3B668465B159A485BCAFBAE' +
'36A365D18C0F5ED80B35CE6C3392F3EBC0D1D27A03B91CD4B2');
if(FindBitmap(AntiEnt,x,y))then
begin
MouseR(641,32,xx,yy,1);
MapFlaggingR;
wait(5000+random(500));
MouseR(631,108,xx,yy,1);
wait(3000+random(200));
MouseR(669,106,xx,yy,1);
end;
end;
Procedure SearchBag;
begin
if(FullBag=True)then
begin
Writeln('Banking.....')
MouseR(677,55,xx,yy,1);
MapFlaggingR;
OpenBank;
Enterbankpin(BankPin);
wait(1000+random(200));
Deposit(1,1,0);
Writeln('Successfully Banked All Willows!')
wait(5000+random(350));
MouseR(616,111,xx,yy,1);
MapFlaggingR;
End;
End;
Procedure ProgressReport;
begin
writeln('|==================================================================|')
writeln('|Thank You For Using Sukomabawls Willow Log Cutter + Banker!! |')
writeln('|If there was a problem or bug please email [email]sukomabawls@gmail.com[/email] |')
writeln('|You have been using it for '+inttostr(timerunningmin)+' Mins |')
writeln('|Running '+inttostr(CountWillows)+' Willow Trees |')
writeln('|Gained '+floattostr(WillowsCut*67.5) +' XP so far |')
writeln('|==================================================================|')
end;
Procedure MainScriptLoop;
begin
FindWillow;
AntiRandoms;
SearchBag;
ProgressReport;
RandomLogoutF;
end;
Begin
SetupSquig;
wait(1000);
Writeln('You have chosen to use Sukomabawls WoodCutter!')
wait(1000);
LampSkill:=GLampSkill
CallForm;
AntiBan;
SetupOptions;
ProgressReport;
Repeat
SearchBag;
MainScriptLoop;
Until(CountWillows=HowMany)
Logout;
End.