//------------------------------------------------------------------------------ //Draynor Willow Smasher Advance + Banking v1.09 by Surajd //Use Low Detail: 32-Bit Screen Reso: 1024x768 (Doesn't Really Matter) //Only for RS2, tested on RS2 Jagex Client maximised //START NEXT TO DRAYNOR TREES!!! WILLOW TREES!! //Email me on tda_ldr@hotmail.com if you encounter and problems (Errors)! //All Anti-Randoms even Ent and AxeFinder! AxeFinder still under testing //Only Tested on Scar v2.03!!! //Setup Line(s) 40 - 53 ; Other Option(s) when you start! //------------------------------------------------------------------------------ //v1.01: AxeFinder taken from Pwnd's Power Chopper //v1.02: Fixed Bugs //v1.03: Added protection from Ent and mods :P- Thanks to Mad Cow!! U rock! :) //v1.04: Minor Bug Fixes! Willow Cutting Faster!!! //v1.05: Added how many Willows to cut and if it cuts that ammount, it logs out! //v1.06: Used MadCows Mod Protection, very nice MadCow! //v1.07: Added options for Consts and fixed How many willows to cut //v1.08: Fixed Willow Clicking bug and fixed how many trees to smash command! //v1.09: Fixed walking to bank and added BankPin & fixed some Anti-Randoms! //------------------------------------------------------------------------------ //////////////////// //Helpers+Testers:// //////////////////// //Home - Tester //Kane - Helper/Form Maker #1 //Drig - Tester/Form Maker #2 //NeonKnight - Tester/Helper //MadCow - Sweet Ent protection and various commands //Pwnd - AxeFinder still under testing //Afireinside - BankPinner include :P //------------------------------------------------------------------------------ Program DraynorWillowSmasher; {.include Squig.txt} {.include Bankpinner.scar} //===================================================================== Const Willow1 = 6654104; //Willow Tree Colour 1 Willow2 = 5210232; //Willow Tree Colour 2 Willow3 = 5748904; //Willow Tree Colour 3 MMBankSymbol = 4572894; //Minimap Colour of Bank Symbol HowMany = 1000; //This is how many Willow Trees to smash, //when it's done it will Log Out. BankPin = '1234'; //Enter your bank pin here :D GLampSkill = 'WoodCutting'; //Choose your skill if Genie is found //===================================================================== 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; //////////////////////////////////////////// // XxKanexX Made The Form // // And Form Settings // //////////////////////////////////////////// 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 := 'L0gIn FoRm - Draynor Willow Smasher!'; 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 Smasher - Made By Surajd'; 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; //----------==============------------================---------------- //----------This is the Main Script------------ //-----------=============-------------==============----------------- 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; //From MadCows Lovely Any Cutter! 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 evil 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('Staff Found',1); Status('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; //End of MadCow's Stuff Procedure XPAmounts; begin if logtypeis = 'Willow' then XPis:= 67.5 end; Procedure Getaxecolors; //Taken from pwnd's PowerChopper (Axe Randoms) 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; //End of Pwnd's AxeFinder! 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',Willow1,12))or FindObject('Chop',Willow2,13)or FindObject('Chop',Willow3,11)then begin Writeln('Found the Willow, Searching for Colour...'); wait(1000+random(300)); getmousepos(x,y); MouseC(x,y,1); Writeln('Smashing Willow...'); 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('Going to Deposit...') MouseR(677,55,xx,yy,1); MapFlaggingR; OpenBank; Enterbankpin(BankPin); wait(1000+random(200)); Deposit(1,1,0); Writeln('Successfully Deposited All Willows!') wait(5000+random(350)); MouseR(616,111,xx,yy,1); MapFlaggingR; End; End; Procedure ProgressReport; begin writeln('|==================================================================|') writeln('|You are using Draynor Willow Smasher + Banker v1.09 by Surajd |') writeln('|If there are any problems or bugs email me on tda_ldr@hotmail.com |') writeln('|You have been using it for '+inttostr(timerunningmin)+' Mins |') writeln('|Smashed '+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 are using Draynor Willow Smasher + Banker v1.09') wait(1000); Writeln('----------------------BY----------------------') wait(1000); Writeln(' (¯ | | |¯¯) /\ | |¯¯\ ') wait(1000); Writeln(' ._) \._./ |¯¯\ /---\ ._/ * |__/ ') LampSkill:=GLampSkill CallForm; AntiBan; SetupOptions; ProgressReport; Repeat SearchBag; MainScriptLoop; Until(CountWillows=HowMany) Logout; End.