SCAR Code:
program YewCutter;
{.include SRL\SRL.scar}
{.include SRL\SRL\Extended\xMapWalk.Scar}
{.include SRL\SRL\Skill\WoodCutting.scar}
const
Treecolor= 3497586;
Treecolor2= 2113584;
Treecolor3= 4486799;
Treecolor4= 3168336;
banker= 62965;
ground= 1917523;
yewbasecolor= 4161648;
WindowColor=7499636;
WindowColor2=7640743;
backupbank=1209203;
backupwater=15617798;
var
banksymbol,B,dungeon,yew,N,w,ExistingUser,LoginButton,trips,exp,watersymbol,formpic,formpic1:integer;
AxeFound:boolean;
frmDesign : TForm;
Label1 : TLabel;
Shape2 : TShape;
PasswordEdit : TEdit;
TripsToDoPanel : TPanel;
NumberofTripsEdit : TEdit;
StartButton : TButton;
PasswordPanel : TPanel;
BankPinPanel : TPanel;
BankPinEdit : TEdit;
UsernamePanel : TPanel;
UsernameEdit : TEdit;
LampSkillPanel : TPanel;
CheckBox1 : TCheckBox;
CheckBox2 : TCheckBox;
Panel1 : TPanel;
Edit1 : TEdit;
SkillComboBox : TComboBox;
Panel2 : TPanel;
ComboBox1 : TComboBox;
Edit2 : TEdit;
User,Pass,Pin,NumbTrips,RunDirection,Nick:string;
Equip : Boolean;
Za: Array [1..8] Of Integer;
{******************************************************************************}
{***********************************DECLARE PLAYERS****************************}
{******************************************************************************}
procedure declareplayers;
begin
Players[0].Name := User;
Players[0].Pass := pass;
Players[0].Nick := nick;
Players[0].Loc := 'EdgeVillage';
Players[0].Active:= True;
end;
{******************************************************************************}
{*****************************OPEN MY BANK*************************************}
{******************************************************************************}
procedure OpenMyBank;
Var
Tries: Integer;
Begin
Repeat
If(FindColorSpiralTolerance(x,y,WindowColor,5,5,512,334,2))or
(FindColorSpiralTolerance(x,y,WindowColor2,5,5,512,334,2))then
MMouse(x,y,2,2);
If(IsUpTextMulti('e Bank', 'Use Ba', 'ooth'))then
Begin
Mouse(x,y,2,2,false);
Wait(10+Random(50));
If(ChooseOption(x, y, 'uickly'))then
Begin
MarkTime(Mark);
Repeat
Wait(10+Random(5));
If(TimeFromMark(Mark) > 20000)then
Begin
Mouse(650,478,1,2,true);
wait(500);
Mouse(648,377,1,2,true);
End
Until(BankScreen);
If(BankScreen)then
End
End
Else
Begin
Wait(1);
Tries:= Tries + 1;
End;
Until(Tries >= 8);
End;
{******************************************************************************}
{*************************************ENT RUN**********************************}
{******************************************************************************}
Procedure EntRun;
Begin
Case Random(3) Of
1: Mouse(890,197,0,0,True);
2: Mouse(878,216,0,0,true);
3: Mouse(849,220,0,0,True);
End;
End;
{******************************************************************************}
{*******************************RANDOM TABS************************************}
{******************************************************************************}
Procedure RandomTab; // All credits go to Yohojo
Begin
Case Random(3)+1 Of
1:Begin
Gametab(2)
Wait(500+Random(250))
Hoverskill('woodcutting',False)
End;
2: Begin
Gametab(2)
Wait(500+Random(250))
Hoverskill('Random',False)
End;
3: Begin
Gametab(4)
N:=0
Wait(500+random(500))
N:=N+1+random(2)
MMouseItem(N)
Wait(Random(500))
If IsUpText('Eat') Or IsUpText( 'Wield') Or IsUpText ('Use') Then
Begin
Getmousepos(x,y)
Mouse(x,y,2,2,False)
Wait(Random(550))
Clickoption('Examine',2)
End Else
If (Not(IsUpText('Eat'))) Or (Not(IsUpText( 'Wield'))) Or (Not(IsUpText('Use'))) Then
Begin
Exit;
End;
End;
End;
End;
{******************************************************************************}
{**************************************ENT FINDING PROCEDURE*******************}
{******************************************************************************}
Function PyroEnt:boolean; // by pyro
begin
if(Option2('Chop'))then
begin
if(FindColorTolerance(x, y, 383705, 9, 9, 233, 24, 20))or
(FindColorTolerance(x, y, 65535, 9, 9, 233, 24, 20))then
begin
GetMousePos(x,y);
Mouse(x, y, 5, 5,false);
if(FindText(x, y, 'Chop down', UpChars, x - 50, y - 50, x + 100, y + 50))then
begin
if(FindColor(x, y, 65535, x + 70, y, x + 100, y + 10))then
begin
Entrun;
Wait(random(1000))
end;
WriteLn('Found ent! Waiting for it to go away');
Wait(30000 + random(5000));
EntsAvoided := EntsAvoided + 1;
end;
end else
ChooseOption(x, y, 'Cancel');
end;
begin
FindObj(x, y, 'Yew', yewBaseColor, 5)
PyroEnt;
End;
End;
{******************************************************************************}
{**********************************WALK ACTIVITIES*****************************}
{******************************************************************************}
Procedure WalkingRandomactivitys;
begin
Case Random(25) of
1 : Mmouse(Random(MSX2), Random(MSY2), 10, 10);
2 : wait(1000+random(1000));
3 : Gametab(2);
4 : Mmouse(Random(MSX2), Random(MSY2), 10, 10);
5 : SendArrowSilentWait( ((Random(2) * 2) + 1), 1000 + Random(200));
6 : SendArrowSilentWait( ((Random(2) * 2) + 1), 200 + Random(200));
7 : SendArrowSilentWait( ((Random(2) * 2)), 200 + Random(200));
8 : SendArrowSilentWait( ((Random(2) * 2) + 1), 20 + Random(20));
9 : SendArrowSilentWait( ((Random(2) * 2)), 20 + Random(20));
10 : SendArrowSilentWait( ((Random(2) * 2)), 1000 + Random(200));
End;
Case Random(1000) of
1 : TypeSend('Nearly There')
2 : TypeSend('lol')
3 : TypeSend('just chopping yews')
4 : TypeSend('Hi everyone')
5 : TypeSend('hmmm im gonna be doing this for ages')
6 : TypeSend('man i need to get a life')
7 : TypeSend('lalalalalallalla')
8 : TypeSend('boorrring')
9 : TypeSend('im tired')
10 : TypeSend('allmost got enough')
11 : TypeSend('just a few more trips');
12 : TypeSend('i play rs way too much');
13 : TypeSend('i need so many yews to get to 99 wc, i dont even want to think about it');
14 : TypeSend('i wish i was zezima');
15 : TypeSend('dude zezima isnt the top person on highscores :)');
16 : TypeSend('my mom says i spend too much time on rs');
End;
End;
{******************************************************************************}
{**************************************ANTI-BAN********************************}
{******************************************************************************}
procedure Anti;
begin
RotateEvery(2);
MakeCompass('E');
RandomChatEvery(3);
RandomRClickEvery(7);
LeaveScreenEvery(1);
BoredEvery(10);
RandomTab;
if(FindFight)then
begin
RunAwayDirection(RunDirection);
Wait(5000+random(1000));
RunBack;
end;
end;
{******************************************************************************}
{*************************************LOAD BITMAPS*****************************}
{******************************************************************************}
procedure loadbmp;
begin
ExistingUser := BitmapFromString(96, 18, 'z78DACD5AD16EC330' +
'08FCA5AA6B9CBE2ED3FAFF9FB429CE0316DCF9B05DA99186A6D47' +
'10C3E0E0CD9BFF77B29BB97F77294DB25D17D23FFFF1EDB71C952' +
'6EDBB37C6D3FDB76C9F3BE1F8966EBCCEF66E323A7A4597FFD7F3' +
'BB6F27835DA5559B5069ABE43CE580FCAAA85D9C1AA2FD25A5F43' +
'952FE10A6C9BD477CA0202D2D2F3387B063A5AA47D02729CBFEB9' +
'8B1D2E227D03DB9368B931BBD065104584EB7AD5DE1624C22CC38' +
'4BF2F9D7FA05B4A18E1FAAA3C74F83A5A45E1E3F9DC8452DFC0EF' +
'EF12B5C104D64BDB8767C8CBE0B920F1AFCF03772A61DC34F33BF' +
'B155073FDC4FE9BB106F64FD515961136D6798C7E43CBA5FF008B' +
'B8C7FE8BBAE5F6DE4A2990F92928E66363DE7097E15E28BBDEC4A' +
'3A1917C04633C6ED75136DF5B7583BD3A77414F9A7149CEB36E1B' +
'9AB67573412E147F13E8F9F4ECE73AE0AADC4E304593E917181F8' +
'C5C7F01DA94F05BEE0B4B36F0974A13909E24C148B57D904A188E' +
'F173A7F412EE5F10B3039CF49AC35904D14FE496768C9FDF276B6' +
'5AEBFBBBD33A89BE1E854F38BF29F32BC841F8E1D11FE20744D83' +
'17645792FF49DB7E107F14C961F021632323B3F8AF8D9981E2004' +
'D9016480D94C95EF8E5E2FF2569532F3099FB2794BE2597A6A98C' +
'28FA0BB821FCEE14A4CE7CC66EDE0AB40D993B2523FE431BA1949' +
'7D50A9582276D573EC19FCE8DEDD39653B0BE8FCA08C572CA9E0A' +
'7C9554ED9391DB8B3868F23E8AA3641D98E1FA98F0F7C07744C90' +
'97A1F35770DFCC19DC3796E1F9925E2FEDE808DE18D81F547E947' +
'C3BB003C86FC72A15301BE47D34EA7DE91966AA8234DBEFD4997D' +
'17C3CD968D3B4ADD66B1E4164075213726BB2F9DDDCFF6262690A' +
'3AC53B24FB6DA8C6A5C9F801FAE978E225051F4F367ABE8BC4B95' +
'A8AB9FF2B9ED47F9AD52FA0640B6F37C9F546721BDC635EF1759C' +
'6805F4764D1E5FB08947F38A2C69063D1E265878504761AC492CF' +
'0CF5C805B2239451287DA805F841BDB92C3B09317DBE8F99E59C4' +
'139DD6586A783247E82DDE15F3B805D4B700ECF43B82EC9EF5B74' +
'66E6FDAF40BBA15EE1585C5B802EB9CBACF04CE79B1FDA6DCCEE6' +
'307E1081B344B5990698395FC01E6ED12D8');
LoginButton := BitmapFromString(46, 22, 'z78DACD58D18E83300CFB25B' +
'45BCBBD1E93F8FF4FBA69E5C19571714A41ABB46EEA0234C671D2' +
'CC8FBCE46916F3FBF34C4B997965F0FC935E291DCCD17BE63CA5D' +
'FA8170A01BE43DB72001AF03B2D293FD71D4CC0C7EBDED1284F19' +
'BDCE77DAC6A48F2DB760B2C298EDE81B104176149CD9C3794CA6C' +
'F18C064E089C30D5F03F95F5F317C0C19930B3556E864949FBEA7' +
'D2B219B91213DABFC50DBE4AAC57BEFFBDBF733B8A7DF5EBD343B' +
'48CF2641543E1A0EC110D9C27188CD5C1737D25C1E8F679625896' +
'51ED1022C5B1973C019418879DE7F6C58E50B93398C8758189547' +
'5F2BDBDCE98742AA1D0BA033D312CEFC744AD3B79CAC98F5FC113' +
'9101E5BA81490019E409EDDCD1316583AC5698ABABC2983855C4C' +
'7C74D97BA6AD1C9188EBDAA4C1C1D283BACF20EEC7C679DF2945F' +
'0D46B37CA0F670AAD660B43A5E5479DC3E17549CB1AF1D5BC3738' +
'E2EE741C6643B2716B62B2FFADE35E380F328CE70FEB259A1F4A7' +
'60B22113D4490B1385ADF8375007320276D428FD4134902DCEC9C' +
'889F41D6EA839CA43C377EC931CF44CC04662D2D707A07DFADCE8' +
'EC8D18DE297F2D76454F9D1C3B7CE751FD1666AFDF37BBA2131B3' +
'DA73BCF6AF62ECEF499EFEF2B5A1A0BEFF41F1B2950F1');
end;
{******************************************************************************}
{***************************SETUP SRL, DONT TOUCH******************************}
{******************************************************************************}
procedure Setup;
begin
SetupSRL;
SRLRandomsReport;
end;
{******************************************************************************}
{*************************************LOGIN PLAYER*****************************}
{******************************************************************************}
procedure Login;
var
ClickHereToPlay,tx,ty,CHx,CHy,c : Integer;
begin
ClickHereToPlay := BitmapFromString(33, 1, 'z78DA758E510E80300843' +
'AF54C0E2F6E94CB8FF9134123392693FFA41FA4A23A6F0888443D' +
'26DC000A7DCE7F458F23EE444E721444B6A0F53D58FE44F4365B7' +
'067D37AC3D95AADF2F50962C79');
if (not (LoggedIn)) then
begin
x:= 150;
y:= 173;
Wait(1000);
ClickOption('Cancel', 1);
ClickOption('Exist', 1);
if (ClickOption('Username', 1)) then
begin
typesend(user);
Wait(100 + Random(100));
Mouse(327, 272, 0, 0, True);
typesend(pass);
Wait(100 + Random(100));
end;
ClickOption('Login', 1);
MarkTime(Mark);
while FindText(tx,ty,'...', UpChars,240,200,530,240) do
begin
Wait(100);
if TimeFromMark(Mark)>20000 then break;
end;
MarkTime(Mark);
repeat
Wait(1000);
If FindText(tx,ty,'nter you', UpChars,240,200,530,240) then
begin
writeln('Enter your username and Password');
Login
FreeBitmap(ClickHereToPlay);
Exit;
end;
If FindText(tx,ty,'nvalid', UpChars,240,200,530,240) then
begin
writeln('Invalid Username.');
Attempts:=Attempts + 1;
If Attempts > 3 then
begin
Players[CurrentPlayer].loc:='L/P ERROR';
NextPlayer(False);
end;
Login
FreeBitmap(ClickHereToPlay);
Exit;
end;
If FindText(tx,ty,'excee', UpChars,240,200,530,240) then
begin
writeln('Login attempts exceeded. Please wait 1 minute and try again.');
Wait(60000);
Login
FreeBitmap(ClickHereToPlay);
Exit;
end;
If FindText(tx,ty,'full', UpChars,240,200,530,240) then
begin
writeln('World is full.');
Wait(3000);
Login
FreeBitmap(ClickHereToPlay);
Exit;
end;
If FindText(tx,ty,'offl', UpChars,240,200,530,240) then
begin
writeln('Unable to connect Login Server offline.');
Wait((6000)+Random(6000));
Login
FreeBitmap(ClickHereToPlay);
Exit;
end;
If FindText(tx,ty,'rror', UpChars,240,200,530,240) then
begin
writeln('Error Connecting.');
Wait(10000);
Login
FreeBitmap(ClickHereToPlay);
Exit;
end;
If FindText(tx,ty,'reject', UpChars,240,200,530,240) then
begin
writeln('Login server rejected session.');
Wait(1000);
Login
FreeBitmap(ClickHereToPlay);
Exit;
end;
If FindText(tx,ty,'cape ha', UpChars,240,200,530,240) then
begin
writeln('ERROR. RuneScape has been updated. Script Terminated.');
TerminateScript;
end;
If FindText(tx,ty,'updat', UpChars,240,200,530,240) then
begin
writeln('The Server is being updated.');
Wait(60000);
Login
FreeBitmap(ClickHereToPlay);
Exit;
end;
If FindText(tx,ty,'disabl', UpChars,240,200,530,240) then
begin
writeln('Your account has been disabled');
NextPlayer(False);
FreeBitmap(ClickHereToPlay);
Exit;
end;
If FindText(tx, ty, 'trans', UpChars,240,200,530,240) then
begin
Writeln('Waiting for your Profile to be Transferred');
Wait(2500);
end;
If FindText(tx, ty, 'member', UpChars,240,200,530,240) then
begin
Writeln('Waiting for your Profile to be Transferred');
Wait(2500);
end;
If FindText(tx,ty,'elcom', UpChars,240,200,530,240) then
begin
writeln('Welcome.');
Login
FreeBitmap(ClickHereToPlay);
Exit;
end;
if TimeFromMark(Mark)>180000 then
begin
writeln('three minutes have passed');
WriteFileString(TheFile,chr(13)+'THREE MINUTES HAVE PASSED!!!'+ chr(13));
ClickOption('Exist', 1);
end;
until (FindBitmapToleranceIn(ClickHereToPlay, CHx, CHy, 250, 270, 530, 390, 5));
Wait(1000 + Random(500));
Mouse(CHx, CHy, 50, 20, True);
repeat
Wait(1000);
c := c + 1;
until (LoggedIn) or (c >= 600);
end;
if LoggedIn then
begin
PlayerStartTime := (GetSystemTime div 1000);
if NickNameBMP <> 0 then
FreeBitmap(NickNameBMP);
NickNameBMP := CreateBitmapMaskFromText(Nick, UpChars);
WriteFileString(TheFile,chr(13)+UpperCase(User) + chr(13));
end;
FreeBitmap(ClickHereToPlay);
FindNormalRandoms;
end;
{******************************************************************************}
{*****************************SCRIPT BEGINS************************************}
{******************************************************************************}
Procedure beginscript;
Begin
cleardebug;
DisguiseScar('Itunes');
Writeln('Itschris7''s Edgeville Yew Cutter & Banker')
Writeln('Version 1.1')
Writeln('Please report and post all bugs and progress reports.')
End;
{******************************************************************************}
{***********************FIND AXE HEAD COLOR************************************}
{******************************************************************************}
function FindAxeHeadColor1: Boolean;
begin
GameTab(4);
wait(100 + random(200));
if ( ExistsItem ( 1 )) then
Mmouse(587, 219, 2, 2)
wait(200 + random(100));
if(IsUptextMulti('Wield','une','xe'))then
begin
Result:= true;
EquipAxe := False;
end;
If(Result = True)then
begin
GameTab(5);
wait(200 + random(200));
MMouse(592, 297, 2, 2);
wait(200 + random(100));
if(IsUptext('Remove'))then
begin
Result:= true;
EquipAxe := True;
end;
GameTab ( 4 );
end;
If(Result = true) then
begin
writeln('ERROR! cannot find axe, please put axe in inventory or your equip page and restart the script!');
begin
Logout;
end;
end;
end;
{******************************************************************************}
{***********************FIND AXE HEAD COLOR************************************}
{******************************************************************************}
function FindAxeHeadColor2: Boolean;
begin
GameTab(4);
wait(100 + random(200));
if ( ExistsItem ( 1 )) then
Mmouse(587, 219, 2, 2)
wait(200 + random(100));
if(IsUptextMulti('Wield','une','xe'))then
begin
Head := GetColor(590, 220);
Head2 := GetColor(587, 219);
Head3 := GetColor(588, 218);
Result:= true;
EquipAxe := True;
AxeFound:=True;
end;
If(AxeFound = False)then
begin
GameTab(5);
wait(200 + random(200));
MMouse(592, 297, 2, 2);
wait(200 + random(100));
if(IsUptext('Remove'))then
begin
Head := GetColor(597, 294);
Head2 := GetColor(600, 295);
Head3 := GetColor(599, 298);
Result:= true;
EquipAxe := True;
AxeFound:=True;
end;
GameTab ( 4 );
end;
If(Result = true) then
begin
writeln('Axe head colors: ' +inttostr(Head)+ ' '+inttostr(Head2)+ ' ' +inttostr(Head3));
end else
begin
writeln('ERROR! cannot find axe, please put axe in inventory or your equip page and restart the script!');
AxeFound:=False;
end;
end;
{******************************************************************************}
{**************************CHECK IN BANK***************************************}
{******************************************************************************}
procedure CheckinBank;
begin
if(findcolorspiraltolerance(x,y,banker,5,5,512,334,5))then begin
FindAxeHeadColor1;
end;
if(banksymbol=0)then begin
writeln('Using backup Bank color!');
if(findcolorspiraltolerance(x,y,backupbank,5,5,512,334,5))then
begin
end;
end;
if(watersymbol=0)then begin
writeln('Using backup Water color!');
if(findcolorspiraltolerance(x,y,backupwater,5,5,512,334,5))then
begin
end;
end;
begin
if(banksymbol=0)or
(watersymbol=0)then
Mouse(650,478,1,2,true);
wait(500);
Mouse(648,377,1,2,true);
Writeln('Couldn''t find the color of the bank symbol, logged out, coming back shortly!');
Wait(15000);
end;
begin
If(Loggedin=true)then
CheckinBank;
If(Loggedin=false)then
LoginPlayer;
end;
end;
{******************************************************************************}
{*****************************ANTI-RANDOMS*************************************}
{******************************************************************************}
procedure Randoms;
begin
findnormalrandoms;
wait(1)
solvepinball;
wait(200)
findtalk;
wait(1)
wait(1)
clicktocontinue;
wait(1)
wait(1)
findname;
wait(1)
antiban;
RandomChatEvery(4)
{BoredEvery(7)}
HoverEvery(6+random(2),'Mining')
FindLamp(LampSkill)
wait(1)
wait(1)
wait(1)
wait(1)
FindAxeHeadColor1;
OpenBox;
GetBoxSide;
SolveBox;
if(FindFight)then
begin
RunAwayDirection(RunDirection);
Wait(5000+random(1000));
RunBack;
end;
SRLRandomsReport;
clicktocontinue;
end;
{******************************************************************************}
{*****************************WALKING TO YEWS**********************************}
{******************************************************************************}
procedure WalktoYews;
begin
makecompass('E');
highestangle;
SetRun(true);
if(findcolorspiraltolerance(x,y,banksymbol,576,10,718,159,5))then
Writeln('In Bank, now walking to yews');
if(findcolorspiraltolerance(x,y,ground,576,10,718,159,5))then
Mouse(x,y,3,3,true);
flag;
wait(250);
dungeon:=GetSymbolColor(x,y,'dungeon');
writeln('Dungeon color:'+inttostr(dungeon));
if(findcolorspiraltolerance(x,y,dungeon,576,10,718,159,5))then
begin
Mouse(x,y,2,2,true);
flag;
FindObj(x,y,'Ope',5535904,0)
wait(200+random(100))
mouse(x,y,1,1,true)
wait(250+random(200));
yew:=GetSymbolColor(x,y,'tree');
writeln('Yew tree color:'+inttostr(yew));
if(findcolorspiraltolerance(x,y,yew,576,10,718,159,0))then
begin
Mouse(x,y,2,2,true)
flag;
SetRun(false);
end;
end;
end;
{******************************************************************************}
{****************************STILL CUTTING*************************************}
{******************************************************************************}
procedure Stillcutting;
begin
///////////////////FOR CLOSEST TREE TO BANK///////////////////////////////
If(Not(IsUpTextMulti('ew','wn Yew','own Y')))Then
Writeln('Could not find Yew tree, looking for other one');
if(findcolorspiraltolerance(x,y,banker,576,10,718,159,5))then
Writeln('At yew tree closest to the bank');
MakeCompass('S');
wait(250+random(135));
KeyDown(40);
wait(750+random(200));
KeyUp(40);
If(not(FindColorSpiralTolerance(x,y,TreeColor,197,61,384,204,5)))Or
(not(FindColorSpiralTolerance(x,y,TreeColor2,197,61,384,204,5)))Or
(not(FindColorSpiralTolerance(x,y,TreeColor3,197,61,384,204,5)))Then
Writeln('Could not find Yew tree, looking for other one');
if(findcolorspiraltolerance(x,y,banker,576,10,718,159,5))then
wait(250+random(134));
If(IsUpTextMulti('ew','wn Yew','own Y'))then
Writeln('Never mind, the yew has respawned! :)');
If(FindColorSpiralTolerance(x,y,TreeColor,197,61,384,204,5))Or
(FindColorSpiralTolerance(x,y,TreeColor2,197,61,384,204,5))Or
(FindColorSpiralTolerance(x,y,TreeColor3,197,61,384,204,5))Then
Writeln('Never mind, the yew has respawned! :)');
Writeln('Still can''t find Yew tree, moving to next yew');
If(Not(IsUpTextMulti('ew','wn Yew','own Y')))Then
If(not(FindColorSpiralTolerance(x,y,TreeColor,197,61,384,204,5)))Or
(not(FindColorSpiralTolerance(x,y,TreeColor2,197,61,384,204,5)))Or
(not(FindColorSpiralTolerance(x,y,TreeColor3,197,61,384,204,5)))Then
Writeln('Still can''t find Yew tree, looking for other one');
If(Findcolorspiraltolerance(x,y,banker,576,10,718,159,5))then
Mouse(691,89,2,2,true);
flag;
///////////////////FOR FARTHEST TREE AWAY FROM BANK///////////////////////
If(Not(IsUpTextMulti('ew','wn Yew','own Y')))Then
Writeln('Could not find Yew tree, looking for other one');
if(not(findcolorspiraltolerance(x,y,banker,576,10,718,159,5)))then
Writeln('At farthest yew tree from the bank');
MakeCompass('N');
KeyDown(40);
wait(750+random(200));
KeyUp(40);
If(not(FindColorSpiralTolerance(x,y,TreeColor,197,61,384,204,5)))Or
(not(FindColorSpiralTolerance(x,y,TreeColor2,197,61,384,204,5)))Or
(not(FindColorSpiralTolerance(x,y,TreeColor3,197,61,384,204,5)))Then
Writeln('Could not find Yew tree, looking for other one');
if(not(findcolorspiraltolerance(x,y,banker,576,10,718,159,5)))then
wait(250+random(134));
If(IsUpTextMulti('ew','wn Yew','own Y'))then
Writeln('Never mind, the yew has respawned! :)');
If(FindColorSpiralTolerance(x,y,TreeColor,197,61,384,204,5))Or
(FindColorSpiralTolerance(x,y,TreeColor2,197,61,384,204,5))Or
(FindColorSpiralTolerance(x,y,TreeColor3,197,61,384,204,5))Then
Writeln('Never mind, the yew has respawned! :)');
If(Not(IsUpTextMulti('ew','wn Yew','own Y')))Then
Writeln('Still can''t find Yew tree, moving to next yew');
If(not(FindColorSpiralTolerance(x,y,TreeColor,197,61,384,204,5)))Or
(not(FindColorSpiralTolerance(x,y,TreeColor2,197,61,384,204,5)))Or
(not(FindColorSpiralTolerance(x,y,TreeColor3,197,61,384,204,5)))Then
Writeln('Still can''t find Yew tree, moving to next yew');
If(not(Findcolorspiraltolerance(x,y,banker,576,10,718,159,5)))then
Mouse(608,85,2,2,true);
flag;
end;
{******************************************************************************}
{*****************************************HI***********************************}
{******************************************************************************}
Procedure Hi;
Begin
Za[1]:=0;
Za[2]:=2000;
Za[3]:=1000;
Za[4]:=1500;
Za[5]:=500;
Za[6]:=1000;
Za[7]:=0;
Za[8]:=500;
w:=random(8)+1;
Begin
Wait(Za[w]+Random(Za[w]))
Case Random(8)+1 Of
1 : TypeSend('hi' + Chr(13));
2 : TypeSend('hey' + Chr(13));
3 : TypeSend('hello' + Chr(13));
4 : TypeSend('hiya' + Chr(13));
5 : TypeSend('hi, ' + TheName + Chr(13));
6 : TypeSend('hey, how are you' + Chr(13));
7 : TypeSend('ello ello' + Chr(13));
8 : TypeSend('hi' + Chr(13));
End;
End;
End;
{******************************************************************************}
{**************************************HOW*************************************}
{******************************************************************************}
Procedure How;
Begin
Za[1]:=0;
Za[2]:=2000;
Za[3]:=1000;
Za[4]:=1500;
Za[5]:=500;
Za[6]:=1000;
Za[7]:=0;
Za[8]:=500;
w:=random(8)+1;
Begin
Wait(Za[w]+Random(Za[w]))
Case Random(5)+1 Of
1 : TypeSend('Im fine thanks' + Chr(13));
2 : TypeSend('fine' + Chr(13));
3 : TypeSend('Im good' + Chr(13));
4 : TypeSend('fine thanks' + Chr(13));
5 : TypeSend('Im fine, ' + TheName + Chr(13));
End;
End;
End;
{******************************************************************************}
{*************************************WC LEVELS********************************}
{******************************************************************************}
Procedure WC;
Begin
Za[1]:=0;
Za[2]:=2000;
Za[3]:=1000;
Za[4]:=1500;
Za[5]:=500;
Za[6]:=1000;
Za[7]:=0;
Za[8]:=500;
w:=random(8)+1;
Begin
Wait(Za[w]+Random(Za[w]))
Case Random(4) Of
1:Begin Gametab(2) Wait(1000+Random(1000)) TypeSend(inttostr(getskilllevel('woodcutting'))); end;
2:Begin Gametab(2) Wait(1000+Random(1000)) TypeSend(inttostr(getskilllevel('woodcutting'))); Typesend('yours?') end;
3:Begin Gametab(2) Wait(1000+Random(1000)) TypeSend(inttostr(getskilllevel('woodcutting'))); Typesend('lol') end;
4:Begin Gametab(2) Wait(1000+Random(1000)) TypeSend(inttostr(getskilllevel('woodcutting'))); Typesend('its low lol') end;
End;
End;
End;
{******************************************************************************}
{****************************************CHARACTER*****************************}
{******************************************************************************}
Procedure char1;
Begin
Za[1]:=0;
Za[2]:=2000;
Za[3]:=1000;
Za[4]:=1500;
Za[5]:=500;
Za[6]:=1000;
Za[7]:=0;
Za[8]:=500;
w:=random(8)+1;
Begin
Wait(Za[w]+Random(Za[w]))
Case Random(7) Of
1: TypeSend('just let me work in peace gosh');
2: TypeSend('please leave me alone...');
3: TypeSend('what');
4: TypeSend('let me work in peace dangit');
5: TypeSend('you talking to me');
6: TypeSend('just call me napoleon dynomite');
7: Typesend('why does everyone have to pick on me')
End;
End;
End;
{******************************************************************************}
{************************************CHARACTER #2******************************}
{******************************************************************************}
Procedure char2;
Begin
Za[1]:=0;
Za[2]:=2000;
Za[3]:=1000;
Za[4]:=1500;
Za[5]:=500;
Za[6]:=1000;
Za[7]:=0;
Za[8]:=500;
w:=random(8)+1;
Begin
wait(Za[w]+random(Za[w]))
Case random(7) Of
1: TypeSend('no');
2: TypeSend('-.-');
3: TypeSend('i dont need friends...');
4: TypeSend('just leave me alone.');
5: TypeSend('i dont have time for friends');
6: TypeSend('my main is lvl 123. :) jk, this is my main.');
7: TypeSend('i play about 7 hours a day, you?');
End;
End;
End;
{******************************************************************************}
{*****************************AUTO RESPONDER***********************************}
{******************************************************************************}
Procedure AutoResponder;
var TheResponce : String;
RandomReply : Integer;
begin
If InChat('hi') Or InChat('hello') Or InChat('hiya') Or InChat('hey') Then
Begin
Hi;
End else
If (InChat('how are you')) Or (InChat('how r u')) Then
Begin
How;
End else
If(InChat('wc')) Or (InChat('wcing')) Or (InChat('woodc'))Or
(Inchat('woodcutting')) Or (InChat('woodcuttin')) And
(Inchat('lvls')) Or (InChat('lvs')) Or (InChat('lvs')) Or
(Inchat('levels')) Then
Begin
WC;
End else;
if(InChat('what')) or (InChat('wat')) or (InChat('doin'))then
begin
RandomReply:= random(7)+ 1;
Case RandomReply of
1: TheResponce:= ('chopping yews');
2: TheResponce:= ('what do you think');
3: TheResponce:= ('what does it look like im doing lol');
4: TheResponce:= ('emmm chopping yews....');
End;
typesend(TheResponce);
End;
If(InChat('lol')) or (InChat('lmao')) or (InChat('rofl'))then
begin
RandomReply:= random(7)+ 1;
Case RandomReply of
1: TheResponce:= ('whats funny');
2: TheResponce:= ('woot what you laughing at');
3: TheResponce:= ('hehe');
4: TheResponce:= ('lol');
5: TheResponce:= ('rofl');
End;
typesend(TheResponce + ' '+TheName);
End;
If(InChat(user)) or (InChat(nick))then
begin
RandomReply:= random(7)+ 1;
Case RandomReply of
1: TheResponce:= ('what');
2: TheResponce:= ('yes');
3: TheResponce:= ('how can i help lol');
4: TheResponce:= ('what do you want');
End;
typesend(TheResponce);
End;
If(InChat('hi')) or (InChat('hello')) or (InChat('hey'))Then
Begin
RandomReply:= random(7)+ 1;
Case RandomReply of
1: TheResponce:= ('sup');
2: TheResponce:= ('yo');
3: TheResponce:= ('whats upeveryone');
4: TheResponce:= ('whats up');
5: TheResponce:= ('welcome');
End;
typesend(TheResponce);
End;
End;
{******************************************************************************}
{**************************RANDOMLY WALKING TO YEWS****************************}
{******************************************************************************}
procedure WalktoYewsRandom;
begin
makecompass('E');
highestangle;
SetRun(true);
if(findcolorspiraltolerance(x,y,banksymbol,576,10,718,159,5))then
begin
yew:=GetSymbolColor(x,y,'tree');
writeln('Yew tree color:'+inttostr(yew));
if(findcolorspiraltolerance(x,y,yew,576,10,718,159,0))then
begin
Mouse(x,y,2,2,true)
flag;
SetRun(false);
end;
end;
end;
{******************************************************************************}
{**************************CHOPPING YEWS***************************************}
{******************************************************************************}
procedure ChopYews;
begin
OpenBox;
GetBoxSide;
SolveBox;
If(IsUpTextMulti('ew','wn Yew','own Y'))Then
Begin
Getmousepos(x,y)
Mouse(x,y,0,0,True);
End else
If(Not(IsUpTextMulti('ew','wn Yew','own Y')))Then
Begin
MarkTime(Mark);
If(FindColorSpiralTolerance(x,y,TreeColor,5,5,512,334,5))Or
(FindColorSpiralTolerance(x,y,TreeColor2,5,5,512,334,5))Or
(FindColorSpiralTolerance(x,y,TreeColor3,5,5,512,334,5))Or
(FindColorSpiralTolerance(x,y,TreeColor4,5,5,512,334,5))then
MMouse(x,y,3,3);
If(IsUpText('Yew'))then
begin
Mouse(x,y,3,3,true);
AutoResponder;
end;
If Not(IsUpText('Yew')) And(TimeFromMark(Mark) >= 80000)Then
Begin
Stillcutting;
End Else
If(IsUpTextMulti('ew','wn Yew','own Y'))Then
Mouse(x,y,1,1,True);
Begin
AutoResponder;
end
End;
Begin
Anti;
end;
Wait(2000+Random(1000))
FindHead;
FindNormalRandoms;
begin
PyroEnt;
Begin
repeat
Chopyews;
until(invcount=28); //////
End;
Begin
Stillcutting;
End;
End;
End;
{******************************************************************************}
{******************************RANDOM WALK SELECTER****************************}
{******************************************************************************}
procedure Randomwalkselecter;
var c:integer;
Begin
c:= random(2)+1
begin
If(c= 1)then
WalktoYews
If(c= 2)then
WalktoYewsRandom
end;
end;
{******************************************************************************}
{******************************CHECK IF LOGGED IN******************************}
{******************************************************************************}
procedure Checkiflogged;
begin
If(Loggedin=true)then
CheckinBank;
If(Loggedin=false)then
Login;
end;
{******************************************************************************}
{*******************************WALK BACK TO BANK******************************}
{******************************************************************************}
procedure BankWalk;
begin
if(invcount=28)then
begin
Randoms;
end;
if(findcolorspiraltolerance(x,y,banksymbol,576,10,718,159,5))then
Writeln('Full load has been completed, walking back to bank');
wait(200+random(150));
dungeon:=GetSymbolColor(x,y,'dungeon');
writeln('Dungeon color:'+inttostr(dungeon));
if(findcolorspiraltolerance(x,y,dungeon,576,10,718,159,5))then
begin
Mouse(x,y,2,2,true);
flag;
FindObj(x,y,'Open',5535904,0)
wait(200+random(100))
mouse(x,y,1,1,true)
end;
wait(250+random(400));
Mouse(595,82,3,3,true);
wait(200+random(150));
Mouse(x,y,3,3,true);
flag;
repeat
banksymbol:=GetSymbolColor(x,y,'bank');
if(banksymbol=0) then
B:=B+1
Writeln('ERROR! cant find bank symbol, taken ' +inttostr(B)+'/20 tries to find Bank Symbol');
until(B=20)or (banksymbol>0)
B:=0
if(banksymbol>0)then
Writeln('Bank color:'+inttostr(banksymbol));
begin
Mouse(x,y,3,3,true);
flag;
Writeln('We have arrived at the bank!');
end;
if(invcount<28)then
begin
ChopYews;
end;
end;
{******************************************************************************}
{**************************RANDOM WALK BACK TO BANK****************************}
{******************************************************************************}
procedure Walktobankrandom;
begin
if(invcount=28)then
begin
Randoms;
end;
Writeln('Full load has been completed, walking back to bank');
wait(200+random(150));
dungeon:=GetSymbolColor(x,y,'dungeon');
writeln('Dungeon color:'+inttostr(dungeon));
if(findcolorspiraltolerance(x,y,dungeon,576,10,718,159,5))then
begin
Mouse(x,y,2,2,true);
flag;
FindObj(x,y,'Open',5535904,0)
wait(200+random(100))
mouse(x+17,y+5,1,1,true)
end;
wait(250+random(400));
Mouse(595,82,3,3,true);
wait(200+random(150));
Mouse(x,y,3,3,true);
flag;
repeat
banksymbol:=GetSymbolColor(x,y,'bank');
if(banksymbol=0) then
B:=B+1
Writeln('ERROR! cant find bank symbol, taken ' +inttostr(B)+'/20 tries to find Bank Symbol');
until(B=20)or (banksymbol>0)
B:=0
if(banksymbol>0)then
Writeln('Bank color:'+inttostr(banksymbol));
begin
Mouse(x,y,3,3,true);
flag;
Writeln('We have arrived at the bank!');
end;
if(invcount<28)then
begin
Randomwalkselecter;
ChopYews;
end;
end;
{******************************************************************************}
{**********************************RANDOM BANK WALK SELECTER*******************}
{******************************************************************************}
procedure RandomBankwalkselecter;
var BANK:integer;
Begin
BANK:= random(2)+1
begin
If(BANK= 1)then
BankWalk;
Writeln('Walking to bank using the default way');
If(BANK= 2)then
Walktobankrandom
Writeln('Walking to bank using the random way');
end;
end;
{******************************************************************************}
{***********************************BANK YEW LOGS******************************}
{******************************************************************************}
procedure BankYews;
begin
FindAxeHeadColor2;
OpenMyBank;
InPin(Pin);
FixBank;
Deposit(2,28,2);
wait(300+random(250));
if(Head=0)or
(Head2=0)or
(Head3=0)then
Writeln('You need a new axe, going to withdraw one');
if(Head=0)or
(Head2=0)or
(Head3=0)then
Mouse(82,65,0,0,true);
if(Equip)then
begin
chopped:=chopped+28;
exp:=exp+4900;
trips:=trips+1;
end;
if(not(Equip))then
begin
chopped:=chopped+27;
exp:=exp+4725
trips:=trips+1
end;
end;
{******************************************************************************}
{*********************************FORM STUFF***********************************}
{******************************************************************************}
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 ClickButton(sender: TObject);
begin
NumbTrips := NumberofTripsEdit.text;
Pass := PasswordEdit.text;
User := UsernameEdit.text;
Nick := Edit1.text;
Pin := BankPinEdit.text;
if(Checkbox1.checked)then Equip := true;
LampSkill :=SkillComboBox.text;
frmDesign.Caption:= frmDesign.Caption +'.';
frmDesign.ModalResult:= mrOK;
RunDirection := ComboBox1.text;
end;
procedure SafePaint;
var
canvas:tcanvas;
begin
formpic:= BitmapFromString(34, 26, 'z78DAB558ED12A3200C7C2' +
'52011EACFB6DAF77FA443423BE16220E85D3BB3D3A988BBF99625' +
'E286619188F8845745ED1FFBBDCA55777CBC867935C28390D6F3D' +
'F030E1686B75772B6E113C0398861CDB885CD3904C8D77085E856' +
'AE68C25693F61C5C956B98172A73C17F09B0BB1537787EB1AE772' +
'17F4FF6B72BEADAF31A56E6C5E64B429FB1F0D7906B91F166B2A1' +
'62CF6AB1C2A44642416278626D5A59EEAACCCD28FDD268998D19E' +
'60B84900E6EE1756839307A5CF373DF887F619FA75CAFDD5BFC12' +
'3E9EEC983948FB373E32E472D552F83F52DC617F607CC336A1A5C' +
'F5FDB81E54E9335376A11EDC355702DAA22817C7D1FB922AE42D5' +
'329929520B6EE173CA619279830BBE7FFB88DCD76AE36C8C59B4F' +
'419DEF14BCD178D7F578BACA5520B61B61EFCD84ABCE41DD24235' +
'D0EF3E94DAE88C1540663AEB568452CBFF5041C89FCB7B0DAF038' +
'DA7441DF8F5B2E55B7B4FFA5782A5FC862FF6F9F36984F71A8DAD' +
'56FD64ECF16C9231C6B53CD6E4D1552FF878AC692BFF4F45C353E' +
'225E65AF5D0B4C8CAD068F9A425872053C49F3BF09D86E6BE63A9' +
'09135ADE09D0572D2553A416F20E55B3E96E78A9070DB488AC6F6' +
'28CE53B5731A803933DD4DE8F66B5D0DCD5B065F9A22ABDA4E55F' +
'F5502DC6F80C493CD31E133CD32B223C1BBFDCD032DD71D8E44CB' +
'5517DAF91B33D9B876B465C8AB13BB3CDE03DC832A119DEB9B419' +
'C0D225A58F2C6C35B4CFC9F25E6DFE3FE99E0AFF59CE83F771FBF' +
'949775A23E6FD18B33357DFAD2C93E4B5F3074511576162AE3C77' +
'70DE623FD1BA8416CB4F9CFCCC9E59CDEA329C2369961F9CCB754' +
'F9FFA278DDACE7F00E2C85AD2');
canvas:=getbitmapcanvas(formpic)
safecopycanvas(canvas,frmDesign.canvas,0, 0,500, 500,307, 200,850, 750);
formpic1:= BitmapFromString(29, 31, 'z78DAAD98618EEB200C84' +
'AF04183BE5679AB0F73FD2A335959C474D276977252B2A817E356' +
'333094BDE73628D39AF746F57996E7ACDF3D16BD1AEE9C5F1FEF1' +
'DAF2CCE70EFCE1F117C7E87E23CEEC11E2F934A34A252B875016E' +
'65BA8B728B1C53FD962F27E85FBEBA679569237F91CB3EA9077DA' +
'CA29D4A5F0BD71B6C92FDA5C24CA9617AE527ACCBC89F448BC0AD' +
'9F88619D1D2F473CB7CA0DDB936CE4DCA2BAB0736CBACBFC230CB' +
'1A39149D4521B57F48C940B45A15CE5BD340643ED292E4C2A1DD5' +
'B79A1CAC4BBC61C799170C8F39C16AFDCA95A7465E5EC5A35594D' +
'0B11ADE9DEE647A29CF3DED6D89894FFA084273F4E3BAFA303AD1' +
'9EDB4B6B20CAD1795DC727EA0C599E71A88B9FCD7070CAD7EA38D' +
'FD73A390CEC90F4E1BDD5A433AF3307AA0D53E70130975E4F4E67' +
'6553C953C72BA2BC09C560F08ED7C8FFA9D7B435C3F704ECFA6F9' +
'68DFA3D67B1AA77600D35D21DAA14E911D41D8C6D137B48E56715' +
'D41FB7EA9D62CAD57596E27412AC5C9927BDA3AB19F4D446DE73A' +
'ADA701A05743CC677DDA40FBE83AAF934B69DF6860BE5FBFE5046' +
'8B5034095F57DCFBCD4074852EB3296F64365E13E1676E373677B' +
'A82CAB81B1B26C2DE07E09CF219C019CF6C775345791E35DD312D' +
'BAE73A2FA72054865FDECA90D39116C560DA7DBAFBC27A96FD47B' +
'5215236D4952277D007F6EC59F561CAF82D07A1A704F2E7CDFCFD' +
'6E0C0196B7347AE62BD33EBC359F04D0D4E7B6C2E24CD79AA337C' +
'7A184FB1902BB8E613E013415D8176AD13BEEEB7F9849DCF07FF8' +
'9AF7FF69E6B353BF79FC03B87B34ECF9D75A9FAF0B70DD75471DA' +
'ADC16F692EF6A8B3FDD6ACF60F18B07D6B');
canvas:=getbitmapcanvas(formpic1)
safecopycanvas(canvas,frmDesign.canvas,0, 0,500, 500,310, 160,850, 750);
end;
procedure PaintForm(Sender:TObject);
begin
SafePaint;
end;
procedure InitForm;
begin
frmDesign := CreateForm;
frmDesign.Left := 253;
frmDesign.Top := 181;
frmDesign.Width := 467;
frmDesign.Height := 438;
frmDesign.Caption := 'Chris'#39's Yew Cutter';
frmDesign.Color := clSilver;
frmDesign.Font.Color := clWindowText;
frmDesign.Font.Height := -11;
frmDesign.Font.Name := 'MS Sans Serif';
frmDesign.Font.Style := [];
frmDesign.Visible := False;
frmDesign.PixelsPerInch := 96;
Label1 := TLabel.Create(frmDesign);
Label1.Parent := frmDesign;
Label1.Left := 183;
Label1.Top := 256;
Label1.Width := 133;
Label1.Height := 18;
Label1.Caption := 'Time to stay logged in';
Label1.Font.Color := clWindowText;
Label1.Font.Height := -11;
Label1.Font.Name := 'Papyrus';
Label1.Font.Style := [fsBold];
Label1.ParentFont := False;
Label1.Visible := False;
Shape2 := TShape.Create(frmDesign);
Shape2.Parent := frmDesign;
Shape2.Left := 0;
Shape2.Top := 234;
Shape2.Width := 457;
Shape2.Height := 2;
PasswordEdit := TEdit.Create(frmDesign);
PasswordEdit.Parent := frmDesign;
PasswordEdit.Left := 118;
PasswordEdit.Top := 102;
PasswordEdit.Width := 104;
PasswordEdit.Height := 21;
PasswordEdit.Hint := 'Enter your password here';
PasswordEdit.ParentShowHint := False;
PasswordEdit.ShowHint := True;
PasswordEdit.TabOrder := 8;
TripsToDoPanel := TPanel.Create(frmDesign);
TripsToDoPanel.Parent := frmDesign;
TripsToDoPanel.Left := 177;
TripsToDoPanel.Top := 258;
TripsToDoPanel.Width := 124;
TripsToDoPanel.Height := 33;
TripsToDoPanel.BevelInner := bvRaised;
TripsToDoPanel.Caption := 'Trips To Do';
TripsToDoPanel.Color := clBlack;
TripsToDoPanel.Font.Color := clBlack;
TripsToDoPanel.Font.Height := -13;
TripsToDoPanel.Font.Name := 'Papyrus';
TripsToDoPanel.Font.Style := [fsBold];
TripsToDoPanel.ParentFont := False;
TripsToDoPanel.TabOrder := 9;
NumberofTripsEdit := TEdit.Create(frmDesign);
NumberofTripsEdit.Parent := frmDesign;
NumberofTripsEdit.Left := 155;
NumberofTripsEdit.Top := 317;
NumberofTripsEdit.Width := 173;
NumberofTripsEdit.Height := 21;
NumberofTripsEdit.Hint := 'How many trips do you want to do before logging out?';
NumberofTripsEdit.ParentShowHint := False;
NumberofTripsEdit.ShowHint := True;
NumberofTripsEdit.TabOrder := 10;
StartButton := TButton.Create(frmDesign);
StartButton.Parent := frmDesign;
StartButton.Left := 201;
StartButton.Top := 361;
StartButton.Width := 75;
StartButton.Height := 25;
StartButton.Caption := 'Start';
StartButton.Font.Color := clWindowText;
StartButton.Font.Height := -16;
StartButton.Font.Name := 'MS Sans Serif';
StartButton.Font.Style := [fsBold];
StartButton.ParentFont := False;
StartButton.ParentShowHint := False;
StartButton.ShowHint := True;
StartButton.TabOrder := 11;
StartButton.ONCLICK := @ClickButton;
PasswordPanel := TPanel.Create(frmDesign);
PasswordPanel.Parent := frmDesign;
PasswordPanel.Left := 2;
PasswordPanel.Top := 97;
PasswordPanel.Width := 109;
PasswordPanel.Height := 33;
PasswordPanel.Caption := 'Password';
PasswordPanel.Font.Color := clWindowText;
PasswordPanel.Font.Height := -13;
PasswordPanel.Font.Name := 'Papyrus';
PasswordPanel.Font.Style := [fsBold];
PasswordPanel.ParentFont := False;
PasswordPanel.ParentShowHint := False;
PasswordPanel.ShowHint := False;
PasswordPanel.TabOrder := 12;
BankPinPanel := TPanel.Create(frmDesign);
BankPinPanel.Parent := frmDesign;
BankPinPanel.Left := 2;
BankPinPanel.Top := 141;
BankPinPanel.Width := 109;
BankPinPanel.Height := 33;
BankPinPanel.Caption := 'Bank Pin ';
BankPinPanel.Font.Color := clWindowText;
BankPinPanel.Font.Height := -13;
BankPinPanel.Font.Name := 'Papyrus';
BankPinPanel.Font.Style := [fsBold];
BankPinPanel.ParentFont := False;
BankPinPanel.TabOrder := 13;
BankPinEdit := TEdit.Create(frmDesign);
BankPinEdit.Parent := frmDesign;
BankPinEdit.Left := 118;
BankPinEdit.Top := 146;
BankPinEdit.Width := 104;
BankPinEdit.Height := 21;
BankPinEdit.Hint := 'Enter your bank pin here';
BankPinEdit.ParentShowHint := False;
BankPinEdit.ShowHint := True;
BankPinEdit.TabOrder := 14;
UsernamePanel := TPanel.Create(frmDesign);
UsernamePanel.Parent := frmDesign;
UsernamePanel.Left := 2;
UsernamePanel.Top := 5;
UsernamePanel.Width := 109;
UsernamePanel.Height := 32;
UsernamePanel.Caption := 'Username ';
UsernamePanel.Font.Color := clWindowText;
UsernamePanel.Font.Height := -13;
UsernamePanel.Font.Name := 'Papyrus';
UsernamePanel.Font.Style := [fsBold];
UsernamePanel.ParentFont := False;
UsernamePanel.TabOrder := 15;
UsernameEdit := TEdit.Create(frmDesign);
UsernameEdit.Parent := frmDesign;
UsernameEdit.Left := 118;
UsernameEdit.Top := 8;
UsernameEdit.Width := 104;
UsernameEdit.Height := 21;
UsernameEdit.Hint := 'Enter your username here';
UsernameEdit.ParentShowHint := False;
UsernameEdit.ShowHint := True;
UsernameEdit.TabOrder := 16;
LampSkillPanel := TPanel.Create(frmDesign);
LampSkillPanel.Parent := frmDesign;
LampSkillPanel.Left := 274;
LampSkillPanel.Top := 7;
LampSkillPanel.Width := 98;
LampSkillPanel.Height := 29;
LampSkillPanel.Caption := 'Lamp Skill';
LampSkillPanel.Font.Color := clWindowText;
LampSkillPanel.Font.Height := -13;
LampSkillPanel.Font.Name := 'Papyrus';
LampSkillPanel.Font.Style := [fsBold];
LampSkillPanel.ParentFont := False;
LampSkillPanel.TabOrder := 17;
CheckBox1 := TCheckBox.Create(frmDesign);
CheckBox1.Parent := frmDesign;
CheckBox1.Left := 279;
CheckBox1.Top := 159;
CheckBox1.Width := 109;
CheckBox1.Height := 17;
CheckBox1.Hint := 'Check if you are equiping your axe';
CheckBox1.Caption := 'Equip Axe?';
CheckBox1.Font.Color := clWindowText;
CheckBox1.Font.Height := -13;
CheckBox1.Font.Name := 'Papyrus';
CheckBox1.Font.Style := [fsBold];
CheckBox1.ParentFont := False;
CheckBox1.ParentShowHint := False;
CheckBox1.ShowHint := True;
CheckBox1.TabOrder := 18;
CheckBox2 := TCheckBox.Create(frmDesign);
CheckBox2.Parent := frmDesign;
CheckBox2.Left := 279;
CheckBox2.Top := 190;
CheckBox2.Width := 132;
CheckBox2.Height := 17;
CheckBox2.Caption := 'Use Anti-Ban?';
CheckBox2.Font.Color := clWindowText;
CheckBox2.Font.Height := -13;
CheckBox2.Font.Name := 'Papyrus';
CheckBox2.Font.Style := [fsBold];
CheckBox2.ParentFont := False;
CheckBox2.ParentShowHint := False;
CheckBox2.ShowHint := True;
CheckBox2.TabOrder := 19;
Panel1 := TPanel.Create(frmDesign);
Panel1.Parent := frmDesign;
Panel1.Left := 2;
Panel1.Top := 51;
Panel1.Width := 109;
Panel1.Height := 32;
Panel1.Caption := 'Nickname';
Panel1.Font.Color := clWindowText;
Panel1.Font.Height := -13;
Panel1.Font.Name := 'Papyrus';
Panel1.Font.Style := [fsBold];
Panel1.ParentFont := False;
Panel1.TabOrder := 20;
Edit1 := TEdit.Create(frmDesign);
Edit1.Parent := frmDesign;
Edit1.Left := 118;
Edit1.Top := 55;
Edit1.Width := 104;
Edit1.Height := 21;
Edit1.Hint := 'Enter 3 or 4 letters from your username';
Edit1.ParentShowHint := False;
Edit1.ShowHint := True;
Edit1.TabOrder := 21;
SkillComboBox := TComboBox.Create(frmDesign);
SkillComboBox.Parent := frmDesign;
SkillComboBox.Left := 258;
SkillComboBox.Top := 52;
SkillComboBox.Width := 145;
SkillComboBox.Height := 21;
SkillComboBox.ItemHeight := 13;
SkillComboBox.TabOrder := 22;
SkillComboBox.Items.Add('Strength');
SkillComboBox.Items.Add('Attack');
SkillComboBox.Items.Add('Ranged');
SkillComboBox.Items.Add('Magic');
SkillComboBox.Items.Add('Defence');
SkillComboBox.Items.Add('Hitpoints');
SkillComboBox.Items.Add('Prayer');
SkillComboBox.Items.Add('Agility');
SkillComboBox.Items.Add('Herblore');
SkillComboBox.Items.Add('Thieving');
SkillComboBox.Items.Add('Crafting');
SkillComboBox.Items.Add('RuneCraft');
SkillComboBox.Items.Add('Slayer');
SkillComboBox.Items.Add('Farming');
SkillComboBox.Items.Add('Mining');
SkillComboBox.Items.Add('Smithing');
SkillComboBox.Items.Add('Fishing');
SkillComboBox.Items.Add('Cooking');
SkillComboBox.Items.Add('Firemaking');
SkillComboBox.Items.Add('Woodcutting');
SkillComboBox.Items.Add('Fletching');
SkillComboBox.Items.Add('Construction');
SkillComboBox.Items.Add('Hunter');
Panel2 := TPanel.Create(frmDesign);
Panel2.Parent := frmDesign;
Panel2.Left := 275;
Panel2.Top := 79;
Panel2.Width := 101;
Panel2.Height := 29;
Panel2.Caption := 'Run Direction';
Panel2.Font.Color := clWindowText;
Panel2.Font.Height := -13;
Panel2.Font.Name := 'Papyrus';
Panel2.Font.Style := [fsBold];
Panel2.ParentFont := False;
Panel2.TabOrder := 23;
ComboBox1 := TComboBox.Create(frmDesign);
ComboBox1.Parent := frmDesign;
ComboBox1.Left := 258;
ComboBox1.Top := 121;
ComboBox1.Width := 145;
ComboBox1.Height := 21;
ComboBox1.ItemHeight := 13;
ComboBox1.TabOrder := 24;
ComboBox1.Items.Add('N');
ComboBox1.Items.Add('S');
ComboBox1.Items.Add('E');
ComboBox1.Items.Add('W');
Edit2 := TEdit.Create(frmDesign);
Edit2.Parent := frmDesign;
Edit2.Left := 321;
Edit2.Top := 257;
Edit2.Width := 110;
Edit2.Height := 21;
Edit2.TabOrder := 25;
Edit2.Visible := False;
PasswordEdit.PasswordChar :='*';
BankPinEdit.PasswordChar :='*';
end;
{******************************************************************************}
{******************************CLOSE WINDOW************************************}
{******************************************************************************}
procedure Closewin;
begin
if(FindColorSpiral(x,y,65536,472,29,500,56))then
Mouse(x,y,1,2,true);
end;
{******************************************************************************}
{******************************LOGOUT******************************************}
{******************************************************************************}
procedure Logsout;
begin
Mouse(650,478,1,2,true);
wait(500);
Mouse(648,377,1,2,true);
Writeln(User); Writeln('HAS CUT ' + inttostr(chopped) + ' YEWS');
Writeln('LOGGING OUT BECAUSE SET AMOUNT OF YEWS WERE CHOPPED');
end;
{******************************************************************************}
{*********************************PROGRESS REPORT******************************}
{******************************************************************************}
procedure ProgressReport;
begin
Writeln('Worked for' +scripttime2(2))
Writeln('Completed '+inttostr(trips)+ ' so far');
Writeln('Banked '+inttostr(chopped)+ ' so far');
Writeln('Gained around '+inttostr(exp)+ 'woodcutting exp so far');
Writeln('We are going to cut a total of '+inttostr(strtoint(NumbTrips)*28)+ 'yew logs');
end;
{******************************************************************************}
{*******************************MAIN LOOP - DONT TOUCH*************************}
{******************************************************************************}
begin
Setup;
beginscript;
SafeInitForm;
SafeShowFormModal;
activateclient;
loadbmp;
Checkiflogged;
repeat
Randomwalkselecter;
ChopYews;
RandomBankWalkSelecter;
BankYews;
until(inttostr(trips)=NumbTrips);
Closewin;
Logsout;
end.