{.Script Info: # ScriptName = Draynor Willow Smasher and Banker # Author = Surajd # Description = Smashes Willows and Banks them in Draynor =D # Version = v1.03 [ SRL Include ] # Date = 29/07/06 (v1.03) # Comments = Please post all Bugs/Corrections in this script's thread, What are you waiting for! =D # Setup lines are from lines 35-58! # Have Axe in the FIRST Inventory Slot! # 06/06/06 : Added a Progress Report! As commented by a few people =D # 06/06/06 : Fixed some bugs in the Counters =/ # 10/06/06 : Fixed a Major Bank finding bug! Now works perfectly! =D # 18/06/06 : Added AntiRandom Functions to make the Script Less Detectable! =D # 18/06/06 : Fixed Tree Finding! =D and another important update - Thanks to Pyro, Talking to Randoms works now! =) # 20/06/06 : Fixed a Major Tree Finding Issue! # 20/07/06 : Fixed and added a few functions, re-thought some procedures and cleaner code, should run more stable now =) /Script Info} Program DWSBanker_SRL_Remade; {.include SRL/SRL.scar} {.include SRL/SRL/Misc/PlayerForm.scar} {.include SRL/SRL/Skill/Woodcutting.scar} Var a, b : Integer; BTimes, FTimes, ETimes : Integer; BColor : Integer; Const BenMouseBM = true; // Want to use BenLand100's great groove? =D TalkRandomly = true; // Talk Randomly or not? TalkAboutSkill = true; // Types phrases about Woodcutting AntiBanAB = true; // AntiBan functions or not? MouseSpeedMS = 11; // Change your Mouse-Speed, 11 works ok with BenMouse RChat = 1; // Random-Talk time? EG: 2 for every 2 minutes HowManyTrips = 5; // How many trips do you want the script to do? WaitTime = 5501; // Time between Smashing the Willow Tree (Milliseconds) WTreeColor1 = 2658424; // Color of Willow Tree (1) WTreeColor2 = 1332819; // Color of Willow Tree (2) WTreeColor3 = 5535856; // Color of Willow Tree (3) Txt1 = 'Wil'; // DONT CHANGE Txt2 = 'ill'; // DONT CHANGE Txt3 = 'low'; // DONT CHANGE TreeTypeTT = 'Willow'; // DONT CHANGE TTol = 10; // The Tolerance of finding the tree LSkill = 'Woodcutting'; // Lamp Skill if Genie is found VersionNumber = 'v1.03 by Surajd'; // Do not change! // ------- Taken from Realrune's: SRL Willow Killer + Banker ------ \\ function RFindObj(var cx, cy: Integer; Text, Text2, Text3: String; color, color2, color3, tolerance: Integer): Boolean; var x, y, a, c, i, x1, y1, x2, y2 : Integer; begin if (FindMSColorTol(x, y, color, tolerance)) or (FindMSColorTol(x, y, color3, tolerance)) or (FindMSColorTol(x, y, color3, tolerance)) 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; 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; if (a = 2) then begin y1 := y1 - 20; y2 := y2 - 20; end; if (a = 3) then begin x1 := x1 - 30; x2 := x2 - 30; end; 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; if (FindColorTolerance(x, y, color, x1, y1, x2, y2, tolerance)) or (FindColorTolerance(x, y, color2, x1, y1, x2, y2, tolerance)) or (FindColorTolerance(x, y, color3, x1, y1, x2, y2, tolerance)) then begin MMouse(x, y, 0, 0) cx:=x;cy:=y; if (IsUpTextMulti(Text, Text2, Text3)) then begin Result := True; Break; end; end; end; if (a = 4) then a := 0; until (x2 > 515) or (Result = True); end; end; // ------- End of Realrune's nice RFindObj =D ------ \\ Procedure Callibrate; begin SymbolAccuracy := 0.1; if (FindSymbol(x, y, 'bank')) then Mouse(x, y, 0, 0, true); end; Procedure FindMMColors; begin SymbolAccuracy := 0.1; BColor := GetSymbolColor(x, y, 'bank'); WriteLn(' Bank Symbol Color: ' +inttostr(BColor)); end; procedure ProgressReport; begin WriteLn(' '); WriteLn('<============== -' + VersionNumber + '- Progress Report ===============>'); WriteLn(' Worked for ' + TimeRunning); WriteLn(' Banked: ' + inttostr(BTimes) + ' Loads of Willows! '); WriteLn(' Fixed: ' + inttostr(FTimes) + ' Axe(s)! '); WriteLn(' Found: ' + inttostr(ETimes) + ' Ent(s)! '); SRLRandomsReport; end; procedure SetupScript; begin MakeCompass('N'); SetChat('Hide', 1); SetChat('Off', 2); SetChat('Off', 3); SetRun(true); GameTab(4); end; procedure AntiRandomsAR; begin Findnormalrandoms; if ( AntiBanAB = True) then AntiBan; if ( TalkRandomly = True) then RandomChatEvery( RChat ); if ( TalkAboutSkill = True) then GhostSpeak( 'Woodcutting' ); if ( AntiBanAB = True) then LeaveScreenEvery( 1 ); if ( FindFight ) then begin Writeln('Fight Found! Running...'); RunAwayDirection('E'); wait( 5000 + random( 1 + 99 / 2 )); RunBack; Writeln('Fight successfully dodged, continuing...'); end; FindEnt( WTreeColor1 ); FindEnt( WTreeColor2 ); FindEnt( WTreeColor3 ); if (FindEnt( WTreeColor1 )) or FindEnt( WTreeColor2 ) or FindEnt( WTreeColor3 ) then ETimes := ETimes + 1 if (not (ExistsItem(1))) or FindColorSpiral(x, y, 4345174, 616, 118, 623, 123) then begin Writeln('Axe head missing! Looking very carefully to find it =/'); FindHead; FTimes := FTimes + 1 end; end; procedure GoSmashWillows; begin SymbolAccuracy := 0.1; if (FindSymbol(a, b, 'bank')) then wait(1001 + random(203 * 2 / 1 - 1 + 2)); Mouse(a - 29, b + 41, 1, 2, true); Flag; end; procedure GoBank; begin if (InvFull) then Writeln('Going to deposit this heavy load of bull! *Sigh*'); SymbolAccuracy := 0.1; if (FindSymbol(a, b, 'bank')) then wait(2002 + random(6 * 6 / 2 + 5 - 2)); MMouse(a, b, 0, 0); wait(1002 + random(40 * 2 / 2 + 6 - 1)); Mouse(a, b - 2, 0 , 0, true); Flag; wait(2000 + random(500 * 2 / 3 + 100)); OpenBankQuiet('db'); wait(2100 + random(191 * 2 / 3 + 5)); if (BankScreen) then begin Deposit(2, 28, 2); wait(1001 + random(30 * 8 / 2 - 7 + 10)); BTimes := BTimes + 1 CloseBank; Writeln('Successfully deposited the heap of goods!'); wait(1500 + random(709 * 2 / 2 + 200 - 2)); end; end; procedure ChopDownWillows; begin repeat if (RFindObj(a, b, Txt1, Txt2, Txt3, WTreeColor1, WTreeColor2, WTreeColor3, TTol)) then wait(1523 + random(323 * 5 / 2)); Mouse(a, b, 0, 0, false); ChooseOption(a, b, TreeTypeTT); wait(WaitTime + Random(500 * 8 / 2 + 3 - 1)); AntiRandomsAR; until (InvFull); end; Procedure SetupPlayer; begin Callibrate; Wait( 2122 + Random( 100 - 5 * 2 )); PerfectNorth; SetChat('hide', 1); SetChat('off', 2); SetChat('off', 3); SetRun (true); GameTab(4); end; procedure MainLoop; begin SetupScript; FindMMColors; FindAxeHeadColor; repeat if (Not (LoggedIn)) then break; ChopDownWillows; GoBank; GoSmashWillows; until (HowManyTrips = BTimes); ProgressReport; NextPlayer(true); SetupPlayer; if (Not (LoggedIn)) then NextPlayer(True); MainLoop; end; begin BTimes := 0 FTimes := 0 ETimes := 0 Writeln('You are using the Draynor Willow SMASHER and Banker script!'); Writeln('... Created by Surajd =)'); SetupPlayers; SetupSRL; DisguiseScar('Notepad'); BenMouse := BenMouseBM; MouseSpeed := MouseSpeedMS; MainLoop; end.