BobboHobbo
2007-07-05 08:53:42
bobbohobbo - SRL Member Application Form
bobbohobbo
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
HTML
Other Communitys
None
How Long have You Played Runescape
2 and Half Years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
Im 13 and i want to help people macro on this site. I like writing scripts up and also like helping people with their scripts if needed.
Ive also made a Tutorial on RadialRoadWalk and RadialWalk in intermediate section.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
{:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::)
<-(BOBBOHOBBO'S EAST BANK VARROCK YEW CUTTER + BANKER)->
Instructions:
- Low deatial with highest brightness!
- Start logged in/out
- Have axe in first slot of your inventory.
- Start in Varrock east bank. The most West bank Booth.
- Setup lines ( 48 to 90 )
- Drag the draging iocn into the Runescape Cilent.
- Press play and Enjoy the script.
Note**
If you want the script to run you need to get SCAR DIVI SRL 3.81
from [url]www.Srl-forums.com[/url]
Thanks
*******************************************
Last Updated : Saturday 30th of June 2007.
*******************************************
Whats better in this version of the script then the older one?
- Better tree clicking :D
- Better Bank Finding ( Still needs improvement)
- Added some code
- Fixed the STANDARDS
- Also a new FORM
************************
Thanks for downloading:
************************
East Varrock Yew Cutter + Banker Version 1.
(::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::}
program BHVarrockEastBankYewCutter;
{.include SRL\SRL.scar}
{.include SRL\SRL\Skill\Woodcutting.SCAR}
{.include SRL\SRL\extended\xantiban.scar}
{.include SRL/SRL/misc/trade.scar}
const
Tree = 3168336; //Colour of tree.
procedure DeclarePlayers;
var
Swapplayer: Integer;
begin
HowManyPlayers := 10;
CurrentPlayer := 0;
NumberOfPlayers(HowManyPlayers);
Players[0].Name := 'Username';
Players[0].Pass := 'Password';
Players[0].Nick := 'Nickname'; //3 letters of your username, example jonno you would choose onn.
Players[0].Active := True;
Players[1].Name := 'Username';
Players[1].Pass := 'Password';
Players[1].Nick := 'Nickname'; //3 letters of your username, example jonno you would choose onn.
Players[1].Active := True;
Players[2].Name := 'Username';
Players[2].Pass := 'Password';
Players[2].Nick := 'Nickname'; //3 letters of your username, example jonno you would choose onn.
Players[2].Active := True;
Swapplayer := Swapplayer + 1;
NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
end;
var
LLoad: integer;
BHTreeD: Integer;
Loads: Integer;
EntAvoid: Integer;
EndInitForm: Boolean;
Swapplayer: Integer;
//From Vars
frmDesign: TForm;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
edLoads: TEdit;
laLoads: TLabel;
N: TEdit;
Start: TButton;
Yew: TEdit;
TreenameR, DirrectionR: string;
//End of form vars
procedure StartClick(sender: TObject);
begin
SaveSetting('Intform', 'Treename', Yew.Text);
SaveSetting('Intform', 'RD', N.Text);
Writeln('Settings saved succesfully!');
TreenameR := Yew.Text;
DirrectionR := N.Text;
LLoad := StrToint(edLoads.Text);
WriteLn('Tree Name = ' + TreenameR);
Writeln('Run Dirrection = ' + DirrectionR);
Writeln('How many loads? = ' + EdLoads.text);
frmDesign.ModalResult := mrOk; // Closes the form
end;
procedure InitFormOnExit(Sender: TObject; var Action: TCloseAction);
begin
if (not (frmDesign.ModalResult = mrOk)) then
EndInitForm := True;
end;
procedure InitForm;
begin
frmDesign := CreateForm;
frmDesign.Left := 489;
frmDesign.Top := 301;
frmDesign.Width := 400;
frmDesign.Height := 250;
frmDesign.Caption := 'BH - East Varrock Yew Cutter';
frmDesign.Color := clInactiveCaptionText;
frmDesign.Font.Color := clWindowText;
frmDesign.Font.Height := -11;
frmDesign.Font.Name := 'MS Sans Serif';
frmDesign.Font.Style := [];
frmDesign.Visible := False;
frmDesign.PixelsPerInch := 96;
frmDesign.OnClose := @InitFormOnExit;
laLoads := TLabel.Create(frmDesign);
laLoads.Parent := frmDesign;
laLoads.Left := 159;
laLoads.Top := 120;
laLoads.Width := 84;
laLoads.Height := 13;
laLoads.Caption := 'How many loads?';
edLoads := TEdit.Create(frmDesign);
edLoads.Parent := frmDesign
edLoads.Left := 159;
edLoads.Top := 137;
edLoads.Width := 96;
edLoads.Height := 21;
edLoads.TabOrder := 2;
edLoads.Text := '15';
Label2 := TLabel.Create(frmDesign);
Label2.Parent := frmDesign;
Label2.Left := 25;
Label2.Top := 82;
Label2.Width := 71;
Label2.Height := 13;
Label2.Caption := 'Run Direction?';
Label2.DragCursor := crSizeAll;
Label2.Transparent := False;
Label2.WordWrap := True;
Label3 := TLabel.Create(frmDesign);
Label3.Parent := frmDesign;
Label3.Left := 20;
Label3.Top := 26;
Label3.Width := 292;
Label3.Height := 27;
Label3.Caption := 'BH - Varrock Yew Cutter + Banker!';
Label3.Font.Color := clSkyBlue;
Label3.Font.Height := -20;
Label3.Font.Name := 'Palatino Linotype';
Label3.Font.Style := [];
Label3.ParentFont := False;
Label4 := TLabel.Create(frmDesign);
Label4.Parent := frmDesign;
Label4.Left := 25;
Label4.Top := 120;
Label4.Width := 51;
Label4.Height := 13;
Label4.Caption := 'Tree name';
N := TEdit.Create(frmDesign);
N.Parent := frmDesign;
N.Left := 22;
N.Top := 97;
N.Width := 121;
N.Height := 21;
N.Hint := 'N = North. N Recomended.';
N.OEMConvert := True;
N.ParentShowHint := False;
N.ShowHint := True;
N.TabOrder := 0;
N.Text := 'N';
Start := TButton.Create(frmDesign);
Start.Parent := frmDesign;
Start.OnClick := @StartClick;
Start.Left := 60;
Start.Top := 172;
Start.Width := 50;
Start.Height := 20;
Start.Caption := 'Start';
Start.ParentShowHint := False;
Start.ShowHint := False;
Start.TabOrder := 1;
Yew := TEdit.Create(frmDesign);
Yew.Parent := frmDesign;
Yew.Left := 22;
Yew.Top := 137;
Yew.Width := 121;
Yew.Height := 21;
Yew.TabOrder := 10;
Yew.Hint := 'Leave as Yew';
Yew.ShowHint := True;
Yew.Text := 'Yew';
end;
procedure SafeInitForm;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('InitForm', v);
end;
procedure ShowFormModal;
begin
frmDesign.ShowModal;
end;
procedure SafeShowFormModal;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('ShowFormModal', v);
end;
procedure MainInitForm;
begin
try
SafeInitForm;
SafeShowFormModal;
finally
SafeShowFormModal;
except
WriteLn('Error in InitForm!');
end;
end;
///////////////////////////////////////////////////////
// >> Anti-Ban Procedure //
///////////////////////////////////////////////////////
procedure RandomChatBobbo;
var
RCBH: array[0..25] of string; //RCBH stands for RandomChatBobboHobbo
begin
RCBH[0] := 'borriing....';
RCBH[1] := '-.-......';
RCBH[2] := 'moo, me cow :D';
RCBH[3] := '-.0';
RCBH[4] := '.....';
RCBH[5] := ':(';
RCBH[6] := ':)';
RCBH[7] := ':D';
RCBH[8] := 'booored ';
RCBH[9] := 'booooooooring....';
RCBH[10] := 'me boredd';
RCBH[11] := 'This no fun >:l';
RCBH[12] := '.!.!.! boring !.!.!.';
RCBH[13] := '?!?!?!?';
RCBH[14] := '=]';
RCBH[15] := '=[';
RCBH[16] := 'me to bored';
RCBH[17] := 'me smart :D';
RCBH[18] := 'RS for life!';
RCBH[19] := 'Runescape ownz my socks!';
RCBH[20] := 'Woot go RUNESCAPE!!';
RCBH[21] := 'I LOVE RUNESCAPE!';
RCBH[22] := 'lol';
RCBH[23] := 'Runescape = the best!';
RCBH[24] := '=] =P';
RCBH[25] := '=] =P';
TypeSend(RCBH[Random(25)] + Chr(13));
// while (not (GetColor(55, 488) = 255)) do
// Mouse(55, 488, 0, 0, True);
end;
////////////////////////////////////////////////////////
procedure RandomChatBobboEvery(mins: Integer);
begin
if ((TimeFromMark(RandomChatMark) / 1000) / 60 >= mins) then
begin
MarkTime(RandomChatMark);
RandomChatBobbo;
end;
end;
/////////////////////////////////////////////////////////
procedure AntiBanSystem;
begin
case random(16) of
0: RandomChatBobboEvery(10 + Random(5));
1: HoverSkill('Woodcutting', false);
2: RandomChatBobboEvery(15 + Random(10));
3: MakeCompass('S');
4: LeaveScreenEvery(5 + Random(5));
5: DragItem(2, 2 + Random(18));
6: LeaveScreenEvery(5 + Random(5));
7: PickUpMouse;
8: BoredEvery(9 + Random(24));
9: HoverSkill('random', False);
10: GameTab(1 + Random(12));
11: RotateEvery(1 + Random(1));
12: GameTab(5 + Random(12));
13: GameTab(6 + Random(12));
14: AntiBan;
15: GameTab(7 + Random(12));
end;
end;
function WaitBH(Time: Integer): Boolean; //Waits 0.1 sec
var TimeBH: Integer;
begin
Marktime(timeBH)
repeat
wait(100);
if findtalk then
result := true;
if FindNormalRandoms then
result := True;
until (result) or (Timefrommark(timeBH) > Time);
end;
function WaitWC(Time: Integer): Boolean; //Waits 1 + random 0.100 sec
var TimeWC: Integer;
begin
Marktime(timeWC)
repeat
wait(1000 + random(100));
if findtalk then
result := true;
if FindNormalRandoms then
result := True;
AntibanSystem;
until (result) or (Timefrommark(timeWC) > Time);
end;
///////////////////////////////////////////////////////
// >> Walkin procedure //
///////////////////////////////////////////////////////
function BankDTM: boolean;
var
Bank: Integer;
begin
Bank := DTMFromString('78DA636464606060624001DDED8D609A11CA6' +
'7640712ACA86ACE9C614055C384A9E6EE5D064C73D0ECFAF78F0F' +
'450D00D2340717');
if FindDTM(Bank, x, y, MMx1, MMy1, MMX2, MMY2) then
begin
Mouse(x, y, 1, 1, true)
Flag;
result := true;
end;
FreeDTM(Bank);
end;
procedure BackupBank;
var
XB, YB: integer;
begin
if FindSymbol(x, y, 'bank') then
begin
Mouse(x, y, 1, 1, true);
flag;
end else
if FindSymbol(x, y, 'training dummy') then
begin
Mouse(x, y, 1, 1, true);
flag;
end else
Marktime(mark);
XB := 649;
YB := 65;
repeat
if not loggedin then break;
if not RadialRoadWalk(FindVarrockRoadColor, XB, YB, 30 + random(10), 0, 0) then
begin
XB := XB - 10; // X = - and Y = |
Status(inttostr(XB));
end;
if (TimeFromMark(Mark) > 60000) then
begin
Logout;
players[Currentplayer].Active := false;
break;
end;
until (FindSymbol(x, y, 'bank'));
end;
procedure ClickBankSym;
begin
if FindSymbol(x, y, 'bank') then
begin
Mouse(x, y, 1, 1, true);
flag;
end else
if FindSymbol(x, y, 'training dummy') then
begin
Mouse(x, y, 1, 1, true);
flag;
end;
begin
if FindSymbol(x, y, 'bank') then
begin
Mouse(x, y, 1, 1, true);
flag;
end else
Mouse(637, 24, 1, 1, true);
flag;
if FindSymbol(x, y, 'bank') then
begin
Mouse(x, y, 1, 1, true);
flag;
end else
begin
Exit;
end;
end;
end;
procedure treeclick;
begin
if FindSymbol(x, y, 'rare trees') then
begin
Mouse(x, y, 1, 1, true);
FTwait(15);
end else
Mouse(630, 49, 1, 1, true);
if FindSymbol(x, y, 'rare trees') then
begin
Mouse(x, y, 1, 1, true);
end;
end;
procedure WalkToYew;
begin
Makecompass('N');
RadialRoadWalk(FindVarrockRoadColor, 330, 347, 59, 0, 0);
Wait(100 + Random(50));
FTwait(1);
RadialRoadWalk(FindVarrockRoadColor, 1, 18, 65, 0, 0);
Wait(200 + Random(50)); ;
FTwait(1);
RadialRoadWalk(FindVarrockRoadColor, 0, 15, 66, 0, 0);
Wait(200 + Random(50)); ;
treeclick;
end;
procedure WalkToBank;
begin
Makecompass('S');
RadialRoadWalk(FindVarrockRoadColor, 1, 18, 67, 0, 0);
Wait(200 + Random(50));
RadialRoadWalk(FindVarrockRoadColor, 1, 18, 65, 0, 0);
Wait(200 + Random(50));
RadialRoadWalk(FindVarrockRoadColor, 327, 347, 69, 0, 0);
Wait(200 + Random(50));
ClickBankSym;
end;
///////////////////////////////////////////////////////
// >> Finding Ent Procedure //
///////////////////////////////////////////////////////
procedure EntFinder;
var
EX, EY: integer;
FX, FY: integer;
SafeEntWait: LongInt;
begin
Status('Checking For Ent')
if (FindObjMultiText(EX, EY, TreenameR, TreenameR, TreenameR, Tree, 2)) then
begin
MMouse(EX, EY, 0, 0)
if FindColorTolerance(FX, FY, 55769, 85, 15, 115, 15, 20) then
begin
Status('Ent Found');
MouseFindFlag(645, 83, 2, 2);
MarkTime(SafeEntWait)
repeat
FTWait(5)
FindNormalRandoms;
if not (LoggedIn) then
NextPlayer(False);
until TimeFromMark(SafeEntWait) > 29000 + Random(10000)
EntsAvoided := EntsAvoided + 1
end;
end;
end;
///////////////////////////////////////////////////////
// >> Anti-Randoms Procedure //
///////////////////////////////////////////////////////
function FindFastRandoms: Boolean; //By WT-Fakawi.
var
i: Integer;
begin
for i := 1 to 8 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;
7: begin
if InBlack then
begin
Result := True;
Players[CurrentPlayer].loc := 'InBlack';
Logout;
Exit;
end;
end;
8: RC;
end;
wait(1);
end;
end;
///////////////////////////////////////////////////////////////////////////
procedure FindRandoms;
begin
FindFastRandoms;
FindNormalRandoms;
Wait(20)
FindTalk;
FTWait(3)
EntFinder;
if (FindFight) then
begin
RunAwayDirection(DirrectionR);
Wait(8000 + Random(2000));
RunBack;
end;
Wait(20)
FindTalk;
end;
///////////////////////////////////////////////////////
// >> Progress Report! //
///////////////////////////////////////////////////////
procedure ProgressReport;
begin
ClearDebug;
Writeln('[]¤-¤-¤-¤-¤-¤-¤-¤-¤-¤-¤-¤-¤-¤-¤-¤');
Writeln('¤ BH - Varrock Yew Cutter Progress ');
Writeln('¤ Report! ');
WriteLn('¤ Worked for ' + TimeRunning + '.');
Writeln('¤ Banked ' + IntToStr(Loads) + ' Time/s' + ' ');
Writeln('¤ Logged in ' + IntToStr(Swapplayer) + ' Time/s' + ' ');
WriteLn('¤ Ents Avoided ' + IntToStr(EntAvoid) + ' Time/s');
Writeln('[]¤-¤-¤-¤-¤-¤-¤-¤-¤-¤-¤-¤-¤-¤-¤-¤');
end;
///////////////////////////////////////////////////////
// >> Signature - //
///////////////////////////////////////////////////////
procedure Signature;
begin
WriteLn(' >>>.:BobboHobbo:.<<< ');
WriteLn(' <.:Productions.:>> ');
WriteLn(' :Brings you: ');
WriteLn(' Varrock Yew Cutter + Banker ');
WriteLn(' Version 1 ');
end;
///////////////////////////////////////////////////////
// >> Banking Procedure //
///////////////////////////////////////////////////////
function OpenBank31: Boolean;
var
x, y, fs, fs2: Integer;
begin
Status('Banking');
if not BankScreen then
repeat
if (FindObj3(x, y, 'Use Bank', 860969, 10)) then
Mouse(x, y, 4, 4, False)
else
if (FindObj3(x, y, 'Use Bank', 1655374, 10)) then
Mouse(x, y, 4, 4, False)
else
if (FindObj3(x, y, 'Use Bank', 1852754, 10)) then
Mouse(x, y, 4, 4, False);
Wait(250);
if (ClickOption('quickly', 1)) then
begin
Flag;
repeat
Wait(100);
fs := fs + 1;
until (BankScreen) or (fs >= 50);
end;
fs2 := fs2 + 1;
until (BankScreen) or (fs2 > 5);
if BankScreen then Result := True;
wait(200);
FixBank;
Deposit(2, 28, 2);
CloseBank;
Loads := Loads + 1;
end;
///////////////////////////////////////////////////////
// >> Axe Head finding and attaching //
///////////////////////////////////////////////////////
function FindAxeHead: Boolean;
var
c, AxeHeadDTM, Tries, x, y: Integer;
hStart: Boolean;
begin
AxeHeadDTM := DTMFromString('78DA63CC62626078C180021C2312191E02694' +
'620FE0F048C694035CF18D000231209A473816A9E12A1E6150135' +
'A94035AF09A801B9F9090135994498930C54F392809A3CCCF0415' +
'70300FB8311DF');
GameTab(4);
Result := True;
c := CreateBitmapMaskFromText('You do not have an axe', SmallChars);
if (FindBitmapMaskTolerance(c, x, y, 17, 410, 495, 452, 10, 85)) then
begin
if ((EquipAxe = False) and
not (GetColor(590, 220) = HeadColor[0]) or
not (GetColor(587, 219) = HeadColor[1]) or
not (GetColor(588, 218) = HeadColor[2])) then
hStart := True;
if (EquipAxe) then
begin
GameTab(5);
Wait(200 + Random(200));
if not (GetColor(597, 294) = HeadColor[0]) or
not (GetColor(600, 295) = HeadColor[1]) or
not (GetColor(599, 298) = HeadColor[2]) then
begin
hStart := True;
Mouse(592, 297, 2, 2, True);
Wait(1000);
end;
end;
end;
if (hStart = True) then
begin
Result := False;
Tries := 0;
repeat
if not LoggedIn then Exit;
if (FindDTM(AxeHeadDTM, x, y, 550, 200, 745, 465)) then
Break;
if not (FindObjMulti('Take', HeadColor[0], HeadColor[1], HeadColor[2], 5)) then
begin
Tries := Tries + 1;
WriteLn('Axe head not found. Taken ' + IntToStr(tries) + ' tries');
Status('Axe Head not found - Rotating Screen');
KeyDown(VK_LEFT);
Wait(1000 + Random(1000));
KeyUp(VK_LEFT);
Wait(400 + Random(300));
if not FindObjMulti('Take', HeadColor[0], HeadColor[1], HeadColor[2], 5) then
begin
Status('Axe Head not found - Moving to Red Dot');
x := 648;
y := 83;
FindColorSpiral(x, y, 241, 570, 5, 725, 155)
Mouse(x + 3, y + 3, 2, 2, True);
Flag;
Wait(500 + Random(300));
end;
end;
if FindObjMulti('Take', HeadColor[0], HeadColor[1], HeadColor[2], 5) then
begin
Status('Found Axe Head');
WriteLn('Axe head was found. Picking it up');
Wait(450 + Random(400));
GetMousePos(x, y);
Mouse(x, y, 0, 0, True);
Flag;
Wait(500 + Random(300));
end;
until (tries > 9) or
(FindDTM(AxeHeadDTM, x, y, 550, 200, 745, 465))
if not (tries > 9) then
if (AttachHead) then
Result := True;
end;
FreeBitmap(c);
FreeDTM(AxeHeadDTM);
end;
//------------------------------------------------------------//
function AttachAxeHead: Boolean;
var
AxeHandleDTM, AxeHeadDTM: Integer;
Reequip: Boolean;
begin
AxeHandleDTM := DTMFromString('78DA637465626078C48002CA2379191E02694' +
'620FE0F048C0E40352F19D000231209A4ED806A3E1150E30454F3' +
'86801A2FA09AEB04D47800D5DC23A0C616A8E61D01358E4035EF0' +
'9A80185CF03FC6A00E1CD105C');
AxeHeadDTM := DTMFromString('78DA63CC62626078C180021C2312191E02694' +
'620FE0F048C694035CF18D000231209A473816A9E12A1E6150135' +
'A94035AF09A801B9F9090135994498930C54F392809A3CCCF0415' +
'70300FB8311DF');
if (EquipAxe = True) then
begin
GameTab(5);
Wait(200 + Random(200));
Mouse(592, 297, 2, 2, True);
Wait(2000 + Random(800));
Reequip := True;
end;
GameTab(4);
if (FindDTM(AxeHeadDTM, x, y, 550, 200, 745, 465)) and
(FindDTM(AxeHandleDTM, x, y, 550, 200, 745, 465)) then
begin
if (FindDTM(AxeHeadDTM, x, y, 550, 200, 745, 465)) then
begin
Mouse(x, y, 3, 3, True);
Wait(600 + Random(400));
end;
if (FindDTM(AxeHandleDTM, x, y, 550, 200, 745, 465)) then
begin
Mouse(x, y, 3, 3, True);
Wait(500 + Random(200));
AxeAttaches := AxeAttaches + 1;
Result := True;
WriteLn('Attached Axe Head!');
GameTab(4);
MakeCompass('N');
end;
if (Reequip = True) then
begin
Wait(3000);
if (FindColor(x, y, HeadColor[0], 554, 205, 743, 465)) then
Mouse(x, y, 5, 5, True);
end;
end;
FreeDTM(AxeHandleDTM);
FreeDTM(AxeHeadDTM);
end;
///////////////////////////////////////////////////////
// >> Cutting Prodedure By JuKKa //
///////////////////////////////////////////////////////
function FindYew: Boolean; //by nielsie95
var
Points: TPointArray;
I, Ci, Tol: Integer;
begin
status('Finding Yew')
repeat
wait(1)
if FindMSColorTol(x, y, 598048, Tol) then Break else Tol := Tol + 2
until Tol > 15
if Tol > 15 then
begin
Result := False;
writeln('Tol: ' + inttostr(tol))
Tol := 0;
exit;
end else
begin
FindColorsSpiralTolerance(MSCX, MSCY, Points, 598048, MSX1 + 50, MSY1 + 30, MSX2 - 50, MSY2 - 50, tol)
ci := 0;
for I := 1 to GetArrayLength(Points) - 1 do
begin
if (Distance(Points[ci].x, 0, Points[i].x, 0) >= 2) and
(Distance(0, Points[ci].y, 0, Points[i].y) >= 2) then
ci := I
else
begin
Points[i].x := 0;
Points[i].y := 0;
end;
end;
for i := 0 to GetArrayLength(Points) - 1 do
begin
if (Points[i].x <> 0) then
if FindColorTolerance(x, y, Tree, Points[i].x - 5, Points[i].y - 5, Points[i].x + 5, Points[i].y + 5, 5 + Tol) then
if FindColorTolerance(x, y, Tree, Points[i].x - 5, Points[i].y - 5, Points[i].x + 5, Points[i].y + 5, 5 + Tol) then
if FindColorTolerance(x, y, Tree, Points[i].x - 5, Points[i].y - 5, Points[i].x + 5, Points[i].y + 5, 5 + Tol) then
begin
MMouse(Points[i].x, Points[i].y, 0, 0)
Wait(10);
if (IsUpText(TreenameR)) then
begin
Status('Yew found at a Tol of ' + IntToStr(Tol));
Result := True;
Break;
end;
end;
end;
if (Result) then
begin
status('Found The Yew Tree!!!')
x := Points[i].x;
y := Points[i].y;
end;
end;
Tol := 0;
end;
procedure CutYew; // By JuKKa
begin
if not loggedin then exit;
if invfull then exit;
if FindYew then
begin
Getmousepos(x, y)
Mouse(x, y, 0, 0, true)
Marktime(BHTreeD);
FindFastRandoms;
FindRandoms;
end;
waitBH(300)
AntiBanSystem;
end;
function IsCutting: boolean; //By Jukka
begin
if not loggedin then exit;
if invfull then exit;
FindRandoms;
CutYew;
if isuptext(TreenameR) then
begin
Status('Still Cutting')
Result := True;
EntFinder;
end;
if (TimeFromMark(BHTreeD) > 20 + random(10)) then
begin
MMouse(MSX1 + Random(MSX2), MSY1 + Random(MSY2), 0, 0)
WaitWC(20); // Waits 20 sec.
end;
WaitBH(100 + random(50))
Status('Still Cutting')
FindRandoms;
end;
procedure setup;
begin
SetupSRL;
ActivateClient;
SRLRandomsReport;
Makecompass('N');
FindRandoms;
FindAxeHeadColor;
end;
begin
SafeInitForm;
SafeShowFormModal;
if (EndInitForm) then
begin
TerminateScript;
end;
SetupSRL;
ActivateClient;
ClearDebug;
DeclarePlayers;
if (not (loggedIn)) then
begin
LoginPlayer;
end;
begin
setup;
end;
repeat
Makecompass('N');
WalkToYew;
repeat
if not IsCutting then
begin
Makecompass('S');
CutYew;
FindAxeHead;
AttachAxeHead;
end else
begin
ProgressReport;
Signature;
AntiBanSystem;
IsCutting;
EntFinder;
FTwait(1);
FindRandoms;
FTwait(1);
FindRandoms;
FTwait(1);
FindAxeHead;
AttachAxeHead;
end;
until (invfull) or (Loads = (LLoad));
if (Loads >= LLoad) then
begin
NextPlayer(True)
Loads := 0;
end;
if (invfull) then
begin
makecompass('S');
FindAxeHead;
AttachAxeHead;
makecompass('S');
WalktoBank;
OpenBank31;
ProgressReport;
end;
until (false);
end.
// Boo not 1000+ lines :(——————————————————
<!– END TEMPLATE: formanswers –>