N
NWeaver
Guest
hi im having a problem with this script i have scar 3.13 and trying a script that chops yews and banks em at edgevill. ( i think
) so heres what happened: (From opening SCAR and opening the .YewBlaster.SCAR so its all loaded):
Loaded all chars. (NPCChars, TradeChars, SmallChars, StatChars, UpChars)
18.11.2007
SCAR 3.13 has been released! I fixed the bugs from 3.12e and this should
be the next big release. Note that all changes from 3.12b-e are the changes
of 3.13 as well, the other versions were more like previews. =)
Download at: http://freddy1990.com/scar.php
If you bought SCAR, ask who you bought it from a refund NOW! SCAR is
completely FREE.
SRL version 400 has been downloaded and installed.
Downloading includes from web...
Downloaded and saved file PH.scar
Include files updated from web
Include file C:\Program Files\SCAR 3.13\includes\SRL\SRL\Extended\xBank.scar does not exist.
Failed when compiling
SRL version 400 has been downloaded and installed.
Include file C:\Program Files\SCAR 3.13\includes\SRL\SRL\Extended\xBank.scar does not exist.
Failed when compiling
here is the script:
{ Script by GoF (Gofez0r)
Script chops yews at edgeville, no known bugs,
except with doors, but people never close doors there..
Still im working on a "doorsolver" to that place too.
Reason of making this script?
Soo much people have requested a working edgy
yew cutter, and heres one now.
This script has:
-Very nice YewFinding.
-Even nicer Spotswitching.
-Good chopping, but it takes some upgrading.
-SRL AntiRandoms and AntiBan.
-Autocolor, or set colors if u encounter any problems.
Instructions:
-Open RS with low detail, brightness Very High (Max)
-Screen resolution 32bit (usually no need to change this)
-Set colors if necessary, but autocolors and starting colors
should work.
-Have axe in INVENTORY, NOT EQUIPPED.
-Start at edgeville bank, closest booth to the yews LOGGED OUT!
-Run script, enjoy, report bugs and post proggies!
Cred to:
CharmZ, used hes autoresponder with a little editing.
Ill remove it if he doesnt like that i use it.
Pyro, used his entfinder.
~GoF (Gofez0r)
}
program EdgeChopperbyGoF;
{.include SRL/SRL.scar}
{.include SRL/SRL/skill/woodcutting.scar}
{.include SRL\SRL\Extended\xBank.scar}
const
YewColr = 4161648;//Color from yew. No need changing unless problems.
TotalToChop = 1000;//How many logs to chop?
BankMM = 3642296;//Bank icon color on minimap. Leave at 0 to autopick.
TreeMM = 100376;//Tree icon color on minimap. Leave at 0 to autopick.
RoadOutSide = 7302775; //"road" color outside the bank, grey on minimap.
AutoResp = false;//Set to true if u want to autorespond (may lagg)
RGBoxes = False;//Set to false if solvebox laggs for u.
Var
MiniBank,MiniTree,TreeXP,LogTT,BTD: integer;
Chat,Name,ChatName: String;
procedure DeclarePlayers; //ONLY 1 PLAYER!
begin //If u want multiplayers.. Wait for the next version.
HowManyPlayers := 1;
CurrentPlayer:= 0;
NumberOfPlayers(HowManyPlayers);
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Loc := 'Edgy'; //No need to mess with this.
Players[0].Active := True;
end;
////////////////////////////////////////////////////////////
//-----Randoms--------------------------------------------//
////////////////////////////////////////////////////////////
function FQRandoms :Boolean;
var //Seen this in 100 scripts ..So not sure if its actually stealing.
RL: Integer;
begin
for RL:=1 to 17 do
begin
case RL of
1: CloseWindow;
2: if FindTalk then
Result := True;
3: if FindDead then
Result := True;
4: if FindMod then
Result := True;
5: if FindMime then
Result := True;
6: if FindMaze then
Result := True;
7: if FindQuiz then
Result := True;
8: if FindDemon then
Result := True;
9: if FindScapeRune then
Result := True;
10: if FindTalk then
Result := True;
11: if FindLamp(LampSkill) then
Result := True;
12: if (FindNewBox) then
begin
Result := True;
if(RGBoxes = True)then
begin
if(not(GambleNewBox))then
LogOut;
end else
SolveBox;
end;
13: if FindTrade then
Result := True;
14: begin
if NoGameTab then
begin
if ( SolveFrog ) then Exit;
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
end;
end;
15: if SolvePinball then
Result := True;
16: AntiBan;
17: if(FindFight)then
begin
RunAwayDirection('S');
RunBack;
end;
end;
wait(15);
end;
end;
////////////////////////////////////////////////////////////
//-----Color----------------------------------------------//
////////////////////////////////////////////////////////////
procedure GetBankColor;
var
Bmark :integer;
begin
if not(BankMM=0)then
begin
MiniBank:=BankMM;
end;
if(BankMM=0)then
begin
MarkTime(BMark);
repeat
wait(30);
until(FindSymbol(x,y,'Bank') or
(TimeFromMark(BMark)>10000))
MiniBank:=GetSymbolColor(x,y,'Bank');
if(MiniBank=0) then
begin
writeln('Didnt find bank icon, logging out.. Try again please.');
terminatescript;
end;
writeln('Bank icon color is:'+inttostr(MiniBank)+'');
end;
end;
////////////////////////////////////////////////////////////
procedure GetTreeColor;
var
FMark :integer;
begin
if not(TreeMM=0)then
begin
MiniTree:=TreeMM;
end;
if(TreeMM=0)then
begin
MarkTime(FMark);
repeat
wait(30);
until(FindSymbol(x,y,'Tree') or
(TimeFromMark(FMark)>10000))
MiniBank:=GetSymbolColor(x,y,'Tree');
if(MiniTree=0) then
begin
Writeln('Couldnt find tree icon, try setting the color yourself and try again.');
TerminateScript;
end;
Writeln('Tree Icon color:'+inttostr(MiniTree)+'');
end;
end;
////////////////////////////////////////////////////////////
function FindHeadCol: Boolean; //By Liquid and StarBlaster100
begin //Modified a bit.
GameTab(4);
wait(100 + random(200));
if ( ExistsItem ( 1 )) then
MMouse(590, 220, 2, 2)
wait(200 + random(100));
if(IsUptext('xe'))then
begin
Head := GetColor(590, 220);
Head2 := GetColor(587, 219);
Head3 := GetColor(588, 218);
Result:= true;
EquipAxe := False;
end;
If(Result = 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;
end;
end;
If(Result = true) then
begin
writeln('Axe head colors: ' +inttostr(Head)+ ' '+inttostr(Head2)+ ' ' +inttostr(Head3));
end else
begin
DisguiseSCAR('ERROR! Axe not found.');
writeln('');
writeln('Restart script and try again.');
writeln('');
end;
end;
////////////////////////////////////////////////////////////
procedure PickAllColors;
begin
GetBankColor;
Wait(120+random(50));
GetTreeColor;
end;
////////////////////////////////////////////////////////////
//-----Walking--------------------------------------------//
////////////////////////////////////////////////////////////
Procedure ToTheYewzz; //Tweaking a little sometimes.
var
FSB :integer;
Begin
FSB:=0;
if(not(LoggedIn))then
begin
Writeln('Not logged in.. Terminating.');
TerminateScript;
end;
MakeCompass('S');
if(FindColorSpiralTolerance(x,y,MiniTree,600,10,730,95,10))then
begin
Mouse(x,y-10+random(3),1,1,true);
end;
if(not(FindColorSpiralTolerance(x,y,MiniTree,600,10,730,95,10)))then
begin
repeat
Mouse(670+random(10)-random(10),45+random(10)-random(10),1,1,true);//Clicks under the icon... As sometimes clicking
Flag; //Icon makes the acc walk outside the yews.
until(FindColorSpiralTolerance(x,y,MiniTree,600,10,730,95,10))
end;
if(FindColorSpiralTolerance(x,y,MiniTree,560,20,720,90,10))then
begin
DisguiseSCAR('At yews.');
end;
end;
////////////////////////////////////////////////////////////
function BankWalker : boolean;
begin
if(Findsymbol(x,y,'dungeon'))then
begin
Mouse(x,y-15,0,5,true)
if (FlagPresent) then
repeat
wait(100+random(200));
until (not(FlagPresent))
end
begin
ClickMMColorTol(RoadOutside,5)
if (FlagPresent) then
repeat
wait(100+random(200));
until (not(FlagPresent))
end
if(FindMMColorTol(x,y,MiniBank,10))then
begin
ClickMMColorTol(MiniBank,5)
if (FlagPresent) then
repeat
wait(100+random(200));
until (not(FlagPresent))
end
DisguiseSCAR('Walked to bank.');
end;
////////////////////////////////////////////////////////////
procedure CrappyBankOpen;
var //Same one i used in my flaxer.
Tries :integer;
BankTol :integer;
begin
if not (BankScreen) then
repeat
if(FindObj(x,y,'ank',607067,10))then
Mouse(x,y,4,4,false)
else if(FindObj(x,y,'ank',608095,10))then
Mouse(x,y,4,4,false)
Wait(250);
if(ClickOption('uickly', 1))then
begin
Tries := Tries+1;
Flag;
end;
until(BankScreen) or (Tries=10);
if(BankScreen)then
begin
if(existsitem(2))then
begin
Deposit2(2+random(10),0);
Wait(345+random(235));
end;
end;
end;
////////////////////////////////////////////////////////////
{procedure BankAllYews;
var
Tryes :integer;
BDN :boolean;
begin
BDN:=False;
Tryes:=0; Didnt like this one
repeat
Tryes:=Tryes+1;
OpenBank3;
until(BankScreen)or(Tryes=10);
if(Tryes=10)then
begin
Writeln('Cannot find bank. Terminating.');
LogOut;
TerminateScript;
end;
if(BankScreen)then
begin
Wait(1000+random(2000));
FixBank;
Deposit(2,28,2);
BDN:=True;
end;
if(BDN)then
begin
CloseWindow;
BTD:= BTD + 1;
LogTt:=LogTt+28;
end;
end;
}
////////////////////////////////////////////////////////////
//-----Chopping-------------------------------------------//
////////////////////////////////////////////////////////////
Function PyroEnt:boolean; // By Pyro.. I think i edited something in this..
begin
if(not(findcolorspiraltolerance(x,y,YewColr,msx1,msy1,msx2,msy2,5)))then exit;
if(isuptext('hop'))or(isuptext('Yew'))or(isuptext('Down'))then
begin
if(FindColorTolerance(x,y,515029,1,1,180,45,20))or
(FindColorSpiralTolerance(x,y,65535,1,1,200,40,20)) then
begin
Result:=True
Writeln('Ent found');
end;
end else
begin
FindObj(x,y,'Yew',YewColr,5)
PyroEnt;
end;
end;
{-----Autoresponder from CharmZ willow raper-----}
{Edited it a bit. BUT CRED TO HIM!}
Function GetChatMessage(Text: String): Boolean;
Var
TX, TY: Integer;
Chat: String;
Begin
If(IsTextInAreaEx(40, 415, 130, 415, TX, TY, ':', 0, SmallChars, False, True, 0, 0, 0))then
Begin
Chat:= Lowercase(Trim(GetTextAtEx(TX + 8, 415, 0, SmallChars, False, False, 0, 1, 16711680, 40, False, TR_AllChars)));
If(Pos(Text, Chat) <> 0)then
Begin
Result:= True;
End
End
End;
Function GetChatName(Name: String): Boolean;
Var
I: Integer;
Begin
ChatName:= Lowercase(Trim(GetTextAtEx(21, 415, 0, SmallChars, False, False, 0, 0, 0, 50, False, TR_AllChars)));
I:= Pos(':', ChatName);
If(I <> 0)then
Begin
Delete(ChatName, I, I);
End
If(Pos(Name, ChatName) <> 0)then
Begin
Result:= True;
End
End;
Function AutoRespond: Boolean;
Var
Responce, Lvl: String;
RandomReply: Integer;
Begin
if(AutoResp=False)then
begin
Exit;
end;
if(AutoResp)then
begin
OldLine:= TheLine;
TheLine:= Lowercase(Trim(GetTextAtEx(20, 415, 0, SmallChars, False, False, 0, 1, 16711680, 40, False, TR_AllChars)));
NewLine:= TheLine;
If(GetChatName(Players[CurrentPlayer].Name))then
Begin
Exit;
End
If(OldLine=NewLine)then
Begin
Exit;
End
If(GetChatMessage(Players[CurrentPlayer].Name)) or (GetChatMessage(Players[CurrentPlayer].Nick))then
Begin
WriteLn(''+ChatName+': '+Chat);
RandomReply:= Random(10)+1;
Case (RandomReply) of
0 : Responce:= ('?');
1 : Responce:= ('what');
2 : Responce:= ('yes');
3 : Responce:= ('no');
4 : Responce:= ('what do you want');
5 : Responce:= ('me?');
6 : Responce:= ('Yah?');
7 : Responce:= ('who?');
8 : Responce:= ('wha?');
9 : Responce:= ('?');
10 : Responce:= ('???');
End
TypeSend(Responce+' '+Name);
Result:= True;
End
If(GetChatMessage('lol')) or (GetChatMessage('lmao')) or (GetChatMessage('rofl')) or (GetChatMessage('haha'))then
Begin
WriteLn(''+ChatName+': '+Chat);
RandomReply:= Random(24)+1;
Case (RandomReply) of
0 : Responce:= ('heh');
1 : Responce:= ('loll');
2 : Responce:= ('lol');
3 : Responce:= ('haha');
4 : Responce:= ('hihi');
5 : Responce:= ('ehe');
6 : Responce:= ('lmao');
7 : Responce:= ('lmfao');
8 : Responce:= ('rofls');
9 : Responce:= ('fun');
10 : Responce:= ('nice');
11 : Responce:= ('lolz');
12 : Responce:= ('yep');
13 : Responce:= ('hola');
14 : Responce:= ('wow');
15 : Responce:= ('i bet');
16 : Responce:= ('rofl');
17 : Responce:= ('ghehehghehighhe');
18 : Responce:= ('cool');
19 : Responce:= ('...');
20 : Responce:= ('???');
21 : Responce:= ('wow');
22 : Responce:= ('grr..');
23 : Responce:= ('rowr');
24 : Responce:= ('lolololololol');
25 : Responce:= ('ha ha ha!!!');
End
TypeSend(Responce);
Result:= True;
End
If(GetChatMessage('wc')) or (GetChatMessage('woodcutting')) or (GetChatMessage('woodcuttin'))
And
(GetChatMessage('lvl')) or (GetChatMessage('level')) or (GetChatMessage('lvls')) or (GetChatMessage('levels'))then
Begin
WriteLn(''+ChatName+': '+Chat);
Lvl:= IntToStr(GetSkillLevel('woodcutting'));
RandomReply:= Random(5)+1;
Case (RandomReply) of
0 : Responce:= ('i''m lvl '+Lvl+' woodcuttin');
1 : Responce:= ('level '+Lvl+' wc');
2 : Responce:= ('lvl '+Lvl+' woodcut!');
3 : Responce:= (+Lvl);
4 : Responce:= ('i''m level '+lvl);
5 : Responce:= (+Lvl+' here
');
End
TypeSend(Responce);
Result:= True;
End
If(GetChatMessage('wat')) or (GetChatMessage('what')) and (GetChatMessage('doin')) or (GetChatMessage('doing'))then
Begin
WriteLn(''+ChatName+': '+Chat);
RandomReply:= Random(9)+1;
Case RandomReply of
0 : Responce:= ('not much');
1 : Responce:= ('nothing');
2 : Responce:= ('bored');
3 : Responce:= ('aye?');
4 : Responce:= ('emmm..nothin');
5 : Responce:= ('nope');
6 : Responce:= ('booo');
7 : Responce:= ('no ty');
8 : Responce:= ('what');
9 : Responce:= ('....');
10 : Responce:= ('nothin');
End;
TypeSend(Responce);
Result:= True;
End;
If(GetChatMessage('hey')) or (GetChatMessage('hi')) or (GetChatMessage('hello')) or (GetChatMessage('wats up')) or (GetChatMessage('whats up')) or (GetChatMessage('yo'))then
Begin
WriteLn(''+ChatName+': '+Chat);
RandomReply:= random(9)+1;
Case RandomReply of
0 : Responce:= ('hello');
1 : Responce:= ('wassup');
2 : Responce:= ('yo');
3 : Responce:= ('whats up everyone');
4 : Responce:= ('whats up');
5 : Responce:= ('welcome');
6 : Responce:= ('hello hello');
7 : Responce:= ('wat up');
8 : Responce:= ('yo');
9 : Responce:= ('sup?');
10 : Responce:= ('whats up');
End
TypeSend(Responce);
Result:= True;
End
End;
End;
////////////////////////////////////////////////////////////
Function ChopYewsDown(var Mx, My : integer; tol : integer) : boolean;
var //Based on some random yewchopping procedure i found on internet.. Cred to the creator,
//If he notices parts in this as his/her work. Just used it as a base.
YSX,YSY :integer;
A,Ctol :integer;
Chopping :boolean;
begin
if(FindObj(x,y,'ew',YewColr,Tol))then
begin
wait(100+random(100))
if(PyroEnt)then
begin
wait(4000+random(2000))
ChopYewsDown(x,y,1);
end else mouse(x,y,0,0,true)
Mx:= x;
My:= y;
Result:= true;
end;
if not Result then
repeat
wait(500+random(500))
CTol:=CTol + 1;
if(FindObj(x,y,'Yew',YewColr,CTol))then
begin
wait(100+random(100))
if(PyroEnt)then
begin
wait(4000+random(2000))
ChopYewsDown(x,y,1);
end else mouse(x,y,0,0,true)
Mx:= x;
My:= y;
result:= true;
end;
until Result or (CTol = tol * 5)
case Random(10) of
1 : FQRandoms;
end;
case Random(15) of
1 : AutoRespond;
end;
if(Result)Then Begin
Chopping:= true;
Repeat
If(InvFull)then Exit;
Wait(500+random(250))
Mmouse(Random(MSX2), Random(MSY2), 10, 10);
Until(Not(flag));
wait(1000)
MarkTime(Mark);
Repeat
If(InvFull)then Exit;
If(Not (Loggedin) or (WeAreDead)) Then break;
FindNormalRandoms;
WWait(1000+Random(1000));
FindNormalRandoms;
FQRandoms;
Findtalk;
A:= A + 1;
if(A mod 4 = 0)and (PyroEnt) then
begin
Mouse(647,82,2,2,true);
wait(800 + random(400));
Mouse(647,82,2,2,true);
wait(3000 + random(2000));
end;
If (Not (Loggedin) or (TimeFromMark(Mark) > 30000)) Then break;
Until(A = 10)or(Not(FindColorSpiralTolerance(x,y,YewColr,msx1,msy1,msx2,msy2,3)))
End;
If(Not(A = 10)) and (Chopping) Then
Begin
MakeCompass('S')
HighestAngle;
FindNormalRandoms;
If(FindColorSpiralTolerance(YSX,YSY,MiniTree,580,110,720,162,3))or
(FindColorSpiralTolerance(YSX,YSY,MiniTree,580,5,725,65,3))then
Mouse(YSX-5,YSY+5,0,0,true)
Flag;
End;
End;
////////////////////////////////////////////////////////////
//-----Misc.----------------------------------------------//
////////////////////////////////////////////////////////////
procedure AniMotion;
begin
ClearDebug;Writeln('');Writeln('#');Writeln('#');Writeln('#');Writeln(''); wait(100);Writeln(' # ');Writeln('# ');Writeln('# ');Writeln('# ');Writeln(' # ');wait(100);ClearDebug;Writeln(' ## ');Writeln('# ');Writeln('# ');Writeln('# ');Writeln(' ## ');wait(100)ClearDebug;Writeln(' ### ');Writeln('# ');Writeln('# # ');Writeln('# ');Writeln(' ### ');wait(100)ClearDebug;Writeln(' #### ');Writeln('# ');Writeln('# ## ');Writeln('# ');Writeln(' #### ');wait(100)ClearDebug;Writeln(' ##### ');Writeln('# ');Writeln('# ### ');;Writeln('# # ');Writeln(' #### ');wait(100)ClearDebug;Writeln(' ##### ');Writeln('# ');Writeln('# ### ');Writeln('# # ');Writeln(' #### ');wait(500);ClearDebug;Writeln(' ##### ');Writeln('# # ');Writeln('# ### # ');Writeln('# # # ');Writeln(' #### ');wait(100);ClearDebug;Writeln(' ##### # ');Writeln('# # ');Writeln('# ### # ');Writeln('# # # ');Writeln(' #### # ');wait(100)ClearDebug;Writeln(' ##### ## ');Writeln('# # ');Writeln('# ### # ');Writeln('# # # ');Writeln(' #### ## ');wait(100)ClearDebug;Writeln(' ##### ### ');Writeln('# # ');Writeln('# ### # ');Writeln('# # # ');Writeln(' #### ### ');wait(100)ClearDebug;Writeln(' ##### ### ');Writeln('# # # ');Writeln('# ### # # ');Writeln('# # # # ');Writeln(' #### ### ');wait(300);ClearDebug;Writeln(' ##### ### # ');Writeln('# # # # ');Writeln('# ### # # # ');Writeln('# # # # # ');Writeln(' #### ### # ');wait(100)ClearDebug;Writeln(' ##### ### ## ');Writeln('# # # # ');Writeln('# ### # # ## ');Writeln('# # # # # ');Writeln(' #### ### # ');Wait(100)ClearDebug;Writeln(' ##### ### ### ');Writeln('# # # # ');Writeln('# ### # # ### ');Writeln('# # # # # ');Writeln(' #### ### # ');wait(100);ClearDebug;Writeln(' ##### ### #### ');Writeln('# # # # ');Writeln('# ### # # #### ');Writeln('# # # # # ');Writeln(' #### ### # ');Writeln('');wait(1200);ClearDebug;Writeln('#### ### #### #### #### # # ##### #### ');Writeln('# # # # # # # ## # # # ');Writeln('#### ### ### ### ### # # # # ### ');Writeln('# # # # # # # ## # # ');Writeln('# # # #### #### #### # # # #### ');Writeln('');wait(1200);ClearDebug;Writeln('#### ### #### # # ');Writeln('# # # # # # ');Writeln('### # # # ### # ');Writeln('# # # # # # ');Writeln('#### ## #### # ');Writeln('');wait(1200);ClearDebug;Writeln('# # #### # # ### # ## #### ##### #### ### ');Writeln(' # # # # # # # # # # # # # # # # ');Writeln(' # ### # # # # ### # #### ### # ### ### ');Writeln(' # # ## ## # # # # # # # # # # ');Writeln(' # #### # # ### ##### # # #### # #### # # ');wait(1300)
end; {^^Dont mess with that... I wanted to make it smaller
Used to be too.. Huge.}
procedure LogsToEXP;
var
XPFT :integer;
begin
XPFT:=175;
TreeXP:=LogTT*XPFT;
end;
Procedure ProggyRprt;
begin
ClearDebug;
Writeln(' .GOFs YEWBLASTER PROGRESSREPORT.');
Wait(100);
Writeln(' ..GOFs YEWBLASTER PROGRESSREPORT..');
Wait(100);
Writeln(' ..:GOFs YEWBLASTER PROGRESSREPORT:..');
Wait(100);
Writeln(' ..::GOFs YEWBLASTER PROGRESSREPORT::..');
Wait(100);
Writeln('..:::GOFs YEWBLASTER PROGRESSREPORT:::...');
Wait(300+random(200));
ClearDebug;
Writeln('*********************************************');
Writeln('Logs cut:'+IntToStr(LogTT));;
Writeln('Times banked:'+IntToStr(BTD));;
LogsToEXP;
Writeln('Gained about'+IntToStr(TreeXP)+'Exp.');
Writeln('Script has been running:'+(TimeRunning));
Writeln('*********************************************');
end;
////////////////////////////////////////////////////////////
//-----Loop-----------------------------------------------//
////////////////////////////////////////////////////////////
Begin
wait(10);
AniMotion;
Wait(100+random(200));
ClearDebug;
SetupSRL;
DeclarePlayers;
ActivateClient;
Wait(500);
SetChat('On', 1);
SetChat('Off', 2);
SetChat('Off', 3);
LoginPlayer;
PickAllColors;
HighestAngle;
if(not(FindHeadCol))then
begin
Logout;
DisguiseSCAR('Axe NOT Found!');
Terminatescript;
end;
repeat
SetRun(true);
ToTheYewzz;
Flag;
SetRun(False);
MakeCompass('S');
repeat
ChopYewsDown(x,y,1);
FindHead;
Until(InvFull);
SetRun(True);
PerfectNorth;
BankWalker;
CrappyBankOpen;
ProggyRprt;
Until(LogTT>TotalToChop)
if(LogTT>TotalToChop)then
begin
ProggyRprt;
DisguiseSCAR('FINISHED!');
end;
End.
thanks really thankful for replys! and lots of help thank you!!
Loaded all chars. (NPCChars, TradeChars, SmallChars, StatChars, UpChars)
18.11.2007
SCAR 3.13 has been released! I fixed the bugs from 3.12e and this should
be the next big release. Note that all changes from 3.12b-e are the changes
of 3.13 as well, the other versions were more like previews. =)
Download at: http://freddy1990.com/scar.php
If you bought SCAR, ask who you bought it from a refund NOW! SCAR is
completely FREE.
SRL version 400 has been downloaded and installed.
Downloading includes from web...
Downloaded and saved file PH.scar
Include files updated from web
Include file C:\Program Files\SCAR 3.13\includes\SRL\SRL\Extended\xBank.scar does not exist.
Failed when compiling
SRL version 400 has been downloaded and installed.
Include file C:\Program Files\SCAR 3.13\includes\SRL\SRL\Extended\xBank.scar does not exist.
Failed when compiling
here is the script:
{ Script by GoF (Gofez0r)
Script chops yews at edgeville, no known bugs,
except with doors, but people never close doors there..
Still im working on a "doorsolver" to that place too.
Reason of making this script?
Soo much people have requested a working edgy
yew cutter, and heres one now.
This script has:
-Very nice YewFinding.
-Even nicer Spotswitching.
-Good chopping, but it takes some upgrading.
-SRL AntiRandoms and AntiBan.
-Autocolor, or set colors if u encounter any problems.
Instructions:
-Open RS with low detail, brightness Very High (Max)
-Screen resolution 32bit (usually no need to change this)
-Set colors if necessary, but autocolors and starting colors
should work.
-Have axe in INVENTORY, NOT EQUIPPED.
-Start at edgeville bank, closest booth to the yews LOGGED OUT!
-Run script, enjoy, report bugs and post proggies!
Cred to:
CharmZ, used hes autoresponder with a little editing.
Ill remove it if he doesnt like that i use it.
Pyro, used his entfinder.
~GoF (Gofez0r)
}
program EdgeChopperbyGoF;
{.include SRL/SRL.scar}
{.include SRL/SRL/skill/woodcutting.scar}
{.include SRL\SRL\Extended\xBank.scar}
const
YewColr = 4161648;//Color from yew. No need changing unless problems.
TotalToChop = 1000;//How many logs to chop?
BankMM = 3642296;//Bank icon color on minimap. Leave at 0 to autopick.
TreeMM = 100376;//Tree icon color on minimap. Leave at 0 to autopick.
RoadOutSide = 7302775; //"road" color outside the bank, grey on minimap.
AutoResp = false;//Set to true if u want to autorespond (may lagg)
RGBoxes = False;//Set to false if solvebox laggs for u.
Var
MiniBank,MiniTree,TreeXP,LogTT,BTD: integer;
Chat,Name,ChatName: String;
procedure DeclarePlayers; //ONLY 1 PLAYER!
begin //If u want multiplayers.. Wait for the next version.
HowManyPlayers := 1;
CurrentPlayer:= 0;
NumberOfPlayers(HowManyPlayers);
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Loc := 'Edgy'; //No need to mess with this.
Players[0].Active := True;
end;
////////////////////////////////////////////////////////////
//-----Randoms--------------------------------------------//
////////////////////////////////////////////////////////////
function FQRandoms :Boolean;
var //Seen this in 100 scripts ..So not sure if its actually stealing.
RL: Integer;
begin
for RL:=1 to 17 do
begin
case RL of
1: CloseWindow;
2: if FindTalk then
Result := True;
3: if FindDead then
Result := True;
4: if FindMod then
Result := True;
5: if FindMime then
Result := True;
6: if FindMaze then
Result := True;
7: if FindQuiz then
Result := True;
8: if FindDemon then
Result := True;
9: if FindScapeRune then
Result := True;
10: if FindTalk then
Result := True;
11: if FindLamp(LampSkill) then
Result := True;
12: if (FindNewBox) then
begin
Result := True;
if(RGBoxes = True)then
begin
if(not(GambleNewBox))then
LogOut;
end else
SolveBox;
end;
13: if FindTrade then
Result := True;
14: begin
if NoGameTab then
begin
if ( SolveFrog ) then Exit;
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
end;
end;
15: if SolvePinball then
Result := True;
16: AntiBan;
17: if(FindFight)then
begin
RunAwayDirection('S');
RunBack;
end;
end;
wait(15);
end;
end;
////////////////////////////////////////////////////////////
//-----Color----------------------------------------------//
////////////////////////////////////////////////////////////
procedure GetBankColor;
var
Bmark :integer;
begin
if not(BankMM=0)then
begin
MiniBank:=BankMM;
end;
if(BankMM=0)then
begin
MarkTime(BMark);
repeat
wait(30);
until(FindSymbol(x,y,'Bank') or
(TimeFromMark(BMark)>10000))
MiniBank:=GetSymbolColor(x,y,'Bank');
if(MiniBank=0) then
begin
writeln('Didnt find bank icon, logging out.. Try again please.');
terminatescript;
end;
writeln('Bank icon color is:'+inttostr(MiniBank)+'');
end;
end;
////////////////////////////////////////////////////////////
procedure GetTreeColor;
var
FMark :integer;
begin
if not(TreeMM=0)then
begin
MiniTree:=TreeMM;
end;
if(TreeMM=0)then
begin
MarkTime(FMark);
repeat
wait(30);
until(FindSymbol(x,y,'Tree') or
(TimeFromMark(FMark)>10000))
MiniBank:=GetSymbolColor(x,y,'Tree');
if(MiniTree=0) then
begin
Writeln('Couldnt find tree icon, try setting the color yourself and try again.');
TerminateScript;
end;
Writeln('Tree Icon color:'+inttostr(MiniTree)+'');
end;
end;
////////////////////////////////////////////////////////////
function FindHeadCol: Boolean; //By Liquid and StarBlaster100
begin //Modified a bit.
GameTab(4);
wait(100 + random(200));
if ( ExistsItem ( 1 )) then
MMouse(590, 220, 2, 2)
wait(200 + random(100));
if(IsUptext('xe'))then
begin
Head := GetColor(590, 220);
Head2 := GetColor(587, 219);
Head3 := GetColor(588, 218);
Result:= true;
EquipAxe := False;
end;
If(Result = 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;
end;
end;
If(Result = true) then
begin
writeln('Axe head colors: ' +inttostr(Head)+ ' '+inttostr(Head2)+ ' ' +inttostr(Head3));
end else
begin
DisguiseSCAR('ERROR! Axe not found.');
writeln('');
writeln('Restart script and try again.');
writeln('');
end;
end;
////////////////////////////////////////////////////////////
procedure PickAllColors;
begin
GetBankColor;
Wait(120+random(50));
GetTreeColor;
end;
////////////////////////////////////////////////////////////
//-----Walking--------------------------------------------//
////////////////////////////////////////////////////////////
Procedure ToTheYewzz; //Tweaking a little sometimes.
var
FSB :integer;
Begin
FSB:=0;
if(not(LoggedIn))then
begin
Writeln('Not logged in.. Terminating.');
TerminateScript;
end;
MakeCompass('S');
if(FindColorSpiralTolerance(x,y,MiniTree,600,10,730,95,10))then
begin
Mouse(x,y-10+random(3),1,1,true);
end;
if(not(FindColorSpiralTolerance(x,y,MiniTree,600,10,730,95,10)))then
begin
repeat
Mouse(670+random(10)-random(10),45+random(10)-random(10),1,1,true);//Clicks under the icon... As sometimes clicking
Flag; //Icon makes the acc walk outside the yews.
until(FindColorSpiralTolerance(x,y,MiniTree,600,10,730,95,10))
end;
if(FindColorSpiralTolerance(x,y,MiniTree,560,20,720,90,10))then
begin
DisguiseSCAR('At yews.');
end;
end;
////////////////////////////////////////////////////////////
function BankWalker : boolean;
begin
if(Findsymbol(x,y,'dungeon'))then
begin
Mouse(x,y-15,0,5,true)
if (FlagPresent) then
repeat
wait(100+random(200));
until (not(FlagPresent))
end
begin
ClickMMColorTol(RoadOutside,5)
if (FlagPresent) then
repeat
wait(100+random(200));
until (not(FlagPresent))
end
if(FindMMColorTol(x,y,MiniBank,10))then
begin
ClickMMColorTol(MiniBank,5)
if (FlagPresent) then
repeat
wait(100+random(200));
until (not(FlagPresent))
end
DisguiseSCAR('Walked to bank.');
end;
////////////////////////////////////////////////////////////
procedure CrappyBankOpen;
var //Same one i used in my flaxer.
Tries :integer;
BankTol :integer;
begin
if not (BankScreen) then
repeat
if(FindObj(x,y,'ank',607067,10))then
Mouse(x,y,4,4,false)
else if(FindObj(x,y,'ank',608095,10))then
Mouse(x,y,4,4,false)
Wait(250);
if(ClickOption('uickly', 1))then
begin
Tries := Tries+1;
Flag;
end;
until(BankScreen) or (Tries=10);
if(BankScreen)then
begin
if(existsitem(2))then
begin
Deposit2(2+random(10),0);
Wait(345+random(235));
end;
end;
end;
////////////////////////////////////////////////////////////
{procedure BankAllYews;
var
Tryes :integer;
BDN :boolean;
begin
BDN:=False;
Tryes:=0; Didnt like this one
repeat
Tryes:=Tryes+1;
OpenBank3;
until(BankScreen)or(Tryes=10);
if(Tryes=10)then
begin
Writeln('Cannot find bank. Terminating.');
LogOut;
TerminateScript;
end;
if(BankScreen)then
begin
Wait(1000+random(2000));
FixBank;
Deposit(2,28,2);
BDN:=True;
end;
if(BDN)then
begin
CloseWindow;
BTD:= BTD + 1;
LogTt:=LogTt+28;
end;
end;
}
////////////////////////////////////////////////////////////
//-----Chopping-------------------------------------------//
////////////////////////////////////////////////////////////
Function PyroEnt:boolean; // By Pyro.. I think i edited something in this..
begin
if(not(findcolorspiraltolerance(x,y,YewColr,msx1,msy1,msx2,msy2,5)))then exit;
if(isuptext('hop'))or(isuptext('Yew'))or(isuptext('Down'))then
begin
if(FindColorTolerance(x,y,515029,1,1,180,45,20))or
(FindColorSpiralTolerance(x,y,65535,1,1,200,40,20)) then
begin
Result:=True
Writeln('Ent found');
end;
end else
begin
FindObj(x,y,'Yew',YewColr,5)
PyroEnt;
end;
end;
{-----Autoresponder from CharmZ willow raper-----}
{Edited it a bit. BUT CRED TO HIM!}
Function GetChatMessage(Text: String): Boolean;
Var
TX, TY: Integer;
Chat: String;
Begin
If(IsTextInAreaEx(40, 415, 130, 415, TX, TY, ':', 0, SmallChars, False, True, 0, 0, 0))then
Begin
Chat:= Lowercase(Trim(GetTextAtEx(TX + 8, 415, 0, SmallChars, False, False, 0, 1, 16711680, 40, False, TR_AllChars)));
If(Pos(Text, Chat) <> 0)then
Begin
Result:= True;
End
End
End;
Function GetChatName(Name: String): Boolean;
Var
I: Integer;
Begin
ChatName:= Lowercase(Trim(GetTextAtEx(21, 415, 0, SmallChars, False, False, 0, 0, 0, 50, False, TR_AllChars)));
I:= Pos(':', ChatName);
If(I <> 0)then
Begin
Delete(ChatName, I, I);
End
If(Pos(Name, ChatName) <> 0)then
Begin
Result:= True;
End
End;
Function AutoRespond: Boolean;
Var
Responce, Lvl: String;
RandomReply: Integer;
Begin
if(AutoResp=False)then
begin
Exit;
end;
if(AutoResp)then
begin
OldLine:= TheLine;
TheLine:= Lowercase(Trim(GetTextAtEx(20, 415, 0, SmallChars, False, False, 0, 1, 16711680, 40, False, TR_AllChars)));
NewLine:= TheLine;
If(GetChatName(Players[CurrentPlayer].Name))then
Begin
Exit;
End
If(OldLine=NewLine)then
Begin
Exit;
End
If(GetChatMessage(Players[CurrentPlayer].Name)) or (GetChatMessage(Players[CurrentPlayer].Nick))then
Begin
WriteLn(''+ChatName+': '+Chat);
RandomReply:= Random(10)+1;
Case (RandomReply) of
0 : Responce:= ('?');
1 : Responce:= ('what');
2 : Responce:= ('yes');
3 : Responce:= ('no');
4 : Responce:= ('what do you want');
5 : Responce:= ('me?');
6 : Responce:= ('Yah?');
7 : Responce:= ('who?');
8 : Responce:= ('wha?');
9 : Responce:= ('?');
10 : Responce:= ('???');
End
TypeSend(Responce+' '+Name);
Result:= True;
End
If(GetChatMessage('lol')) or (GetChatMessage('lmao')) or (GetChatMessage('rofl')) or (GetChatMessage('haha'))then
Begin
WriteLn(''+ChatName+': '+Chat);
RandomReply:= Random(24)+1;
Case (RandomReply) of
0 : Responce:= ('heh');
1 : Responce:= ('loll');
2 : Responce:= ('lol');
3 : Responce:= ('haha');
4 : Responce:= ('hihi');
5 : Responce:= ('ehe');
6 : Responce:= ('lmao');
7 : Responce:= ('lmfao');
8 : Responce:= ('rofls');
9 : Responce:= ('fun');
10 : Responce:= ('nice');
11 : Responce:= ('lolz');
12 : Responce:= ('yep');
13 : Responce:= ('hola');
14 : Responce:= ('wow');
15 : Responce:= ('i bet');
16 : Responce:= ('rofl');
17 : Responce:= ('ghehehghehighhe');
18 : Responce:= ('cool');
19 : Responce:= ('...');
20 : Responce:= ('???');
21 : Responce:= ('wow');
22 : Responce:= ('grr..');
23 : Responce:= ('rowr');
24 : Responce:= ('lolololololol');
25 : Responce:= ('ha ha ha!!!');
End
TypeSend(Responce);
Result:= True;
End
If(GetChatMessage('wc')) or (GetChatMessage('woodcutting')) or (GetChatMessage('woodcuttin'))
And
(GetChatMessage('lvl')) or (GetChatMessage('level')) or (GetChatMessage('lvls')) or (GetChatMessage('levels'))then
Begin
WriteLn(''+ChatName+': '+Chat);
Lvl:= IntToStr(GetSkillLevel('woodcutting'));
RandomReply:= Random(5)+1;
Case (RandomReply) of
0 : Responce:= ('i''m lvl '+Lvl+' woodcuttin');
1 : Responce:= ('level '+Lvl+' wc');
2 : Responce:= ('lvl '+Lvl+' woodcut!');
3 : Responce:= (+Lvl);
4 : Responce:= ('i''m level '+lvl);
5 : Responce:= (+Lvl+' here
End
TypeSend(Responce);
Result:= True;
End
If(GetChatMessage('wat')) or (GetChatMessage('what')) and (GetChatMessage('doin')) or (GetChatMessage('doing'))then
Begin
WriteLn(''+ChatName+': '+Chat);
RandomReply:= Random(9)+1;
Case RandomReply of
0 : Responce:= ('not much');
1 : Responce:= ('nothing');
2 : Responce:= ('bored');
3 : Responce:= ('aye?');
4 : Responce:= ('emmm..nothin');
5 : Responce:= ('nope');
6 : Responce:= ('booo');
7 : Responce:= ('no ty');
8 : Responce:= ('what');
9 : Responce:= ('....');
10 : Responce:= ('nothin');
End;
TypeSend(Responce);
Result:= True;
End;
If(GetChatMessage('hey')) or (GetChatMessage('hi')) or (GetChatMessage('hello')) or (GetChatMessage('wats up')) or (GetChatMessage('whats up')) or (GetChatMessage('yo'))then
Begin
WriteLn(''+ChatName+': '+Chat);
RandomReply:= random(9)+1;
Case RandomReply of
0 : Responce:= ('hello');
1 : Responce:= ('wassup');
2 : Responce:= ('yo');
3 : Responce:= ('whats up everyone');
4 : Responce:= ('whats up');
5 : Responce:= ('welcome');
6 : Responce:= ('hello hello');
7 : Responce:= ('wat up');
8 : Responce:= ('yo');
9 : Responce:= ('sup?');
10 : Responce:= ('whats up');
End
TypeSend(Responce);
Result:= True;
End
End;
End;
////////////////////////////////////////////////////////////
Function ChopYewsDown(var Mx, My : integer; tol : integer) : boolean;
var //Based on some random yewchopping procedure i found on internet.. Cred to the creator,
//If he notices parts in this as his/her work. Just used it as a base.
YSX,YSY :integer;
A,Ctol :integer;
Chopping :boolean;
begin
if(FindObj(x,y,'ew',YewColr,Tol))then
begin
wait(100+random(100))
if(PyroEnt)then
begin
wait(4000+random(2000))
ChopYewsDown(x,y,1);
end else mouse(x,y,0,0,true)
Mx:= x;
My:= y;
Result:= true;
end;
if not Result then
repeat
wait(500+random(500))
CTol:=CTol + 1;
if(FindObj(x,y,'Yew',YewColr,CTol))then
begin
wait(100+random(100))
if(PyroEnt)then
begin
wait(4000+random(2000))
ChopYewsDown(x,y,1);
end else mouse(x,y,0,0,true)
Mx:= x;
My:= y;
result:= true;
end;
until Result or (CTol = tol * 5)
case Random(10) of
1 : FQRandoms;
end;
case Random(15) of
1 : AutoRespond;
end;
if(Result)Then Begin
Chopping:= true;
Repeat
If(InvFull)then Exit;
Wait(500+random(250))
Mmouse(Random(MSX2), Random(MSY2), 10, 10);
Until(Not(flag));
wait(1000)
MarkTime(Mark);
Repeat
If(InvFull)then Exit;
If(Not (Loggedin) or (WeAreDead)) Then break;
FindNormalRandoms;
WWait(1000+Random(1000));
FindNormalRandoms;
FQRandoms;
Findtalk;
A:= A + 1;
if(A mod 4 = 0)and (PyroEnt) then
begin
Mouse(647,82,2,2,true);
wait(800 + random(400));
Mouse(647,82,2,2,true);
wait(3000 + random(2000));
end;
If (Not (Loggedin) or (TimeFromMark(Mark) > 30000)) Then break;
Until(A = 10)or(Not(FindColorSpiralTolerance(x,y,YewColr,msx1,msy1,msx2,msy2,3)))
End;
If(Not(A = 10)) and (Chopping) Then
Begin
MakeCompass('S')
HighestAngle;
FindNormalRandoms;
If(FindColorSpiralTolerance(YSX,YSY,MiniTree,580,110,720,162,3))or
(FindColorSpiralTolerance(YSX,YSY,MiniTree,580,5,725,65,3))then
Mouse(YSX-5,YSY+5,0,0,true)
Flag;
End;
End;
////////////////////////////////////////////////////////////
//-----Misc.----------------------------------------------//
////////////////////////////////////////////////////////////
procedure AniMotion;
begin
ClearDebug;Writeln('');Writeln('#');Writeln('#');Writeln('#');Writeln(''); wait(100);Writeln(' # ');Writeln('# ');Writeln('# ');Writeln('# ');Writeln(' # ');wait(100);ClearDebug;Writeln(' ## ');Writeln('# ');Writeln('# ');Writeln('# ');Writeln(' ## ');wait(100)ClearDebug;Writeln(' ### ');Writeln('# ');Writeln('# # ');Writeln('# ');Writeln(' ### ');wait(100)ClearDebug;Writeln(' #### ');Writeln('# ');Writeln('# ## ');Writeln('# ');Writeln(' #### ');wait(100)ClearDebug;Writeln(' ##### ');Writeln('# ');Writeln('# ### ');;Writeln('# # ');Writeln(' #### ');wait(100)ClearDebug;Writeln(' ##### ');Writeln('# ');Writeln('# ### ');Writeln('# # ');Writeln(' #### ');wait(500);ClearDebug;Writeln(' ##### ');Writeln('# # ');Writeln('# ### # ');Writeln('# # # ');Writeln(' #### ');wait(100);ClearDebug;Writeln(' ##### # ');Writeln('# # ');Writeln('# ### # ');Writeln('# # # ');Writeln(' #### # ');wait(100)ClearDebug;Writeln(' ##### ## ');Writeln('# # ');Writeln('# ### # ');Writeln('# # # ');Writeln(' #### ## ');wait(100)ClearDebug;Writeln(' ##### ### ');Writeln('# # ');Writeln('# ### # ');Writeln('# # # ');Writeln(' #### ### ');wait(100)ClearDebug;Writeln(' ##### ### ');Writeln('# # # ');Writeln('# ### # # ');Writeln('# # # # ');Writeln(' #### ### ');wait(300);ClearDebug;Writeln(' ##### ### # ');Writeln('# # # # ');Writeln('# ### # # # ');Writeln('# # # # # ');Writeln(' #### ### # ');wait(100)ClearDebug;Writeln(' ##### ### ## ');Writeln('# # # # ');Writeln('# ### # # ## ');Writeln('# # # # # ');Writeln(' #### ### # ');Wait(100)ClearDebug;Writeln(' ##### ### ### ');Writeln('# # # # ');Writeln('# ### # # ### ');Writeln('# # # # # ');Writeln(' #### ### # ');wait(100);ClearDebug;Writeln(' ##### ### #### ');Writeln('# # # # ');Writeln('# ### # # #### ');Writeln('# # # # # ');Writeln(' #### ### # ');Writeln('');wait(1200);ClearDebug;Writeln('#### ### #### #### #### # # ##### #### ');Writeln('# # # # # # # ## # # # ');Writeln('#### ### ### ### ### # # # # ### ');Writeln('# # # # # # # ## # # ');Writeln('# # # #### #### #### # # # #### ');Writeln('');wait(1200);ClearDebug;Writeln('#### ### #### # # ');Writeln('# # # # # # ');Writeln('### # # # ### # ');Writeln('# # # # # # ');Writeln('#### ## #### # ');Writeln('');wait(1200);ClearDebug;Writeln('# # #### # # ### # ## #### ##### #### ### ');Writeln(' # # # # # # # # # # # # # # # # ');Writeln(' # ### # # # # ### # #### ### # ### ### ');Writeln(' # # ## ## # # # # # # # # # # ');Writeln(' # #### # # ### ##### # # #### # #### # # ');wait(1300)
end; {^^Dont mess with that... I wanted to make it smaller
procedure LogsToEXP;
var
XPFT :integer;
begin
XPFT:=175;
TreeXP:=LogTT*XPFT;
end;
Procedure ProggyRprt;
begin
ClearDebug;
Writeln(' .GOFs YEWBLASTER PROGRESSREPORT.');
Wait(100);
Writeln(' ..GOFs YEWBLASTER PROGRESSREPORT..');
Wait(100);
Writeln(' ..:GOFs YEWBLASTER PROGRESSREPORT:..');
Wait(100);
Writeln(' ..::GOFs YEWBLASTER PROGRESSREPORT::..');
Wait(100);
Writeln('..:::GOFs YEWBLASTER PROGRESSREPORT:::...');
Wait(300+random(200));
ClearDebug;
Writeln('*********************************************');
Writeln('Logs cut:'+IntToStr(LogTT));;
Writeln('Times banked:'+IntToStr(BTD));;
LogsToEXP;
Writeln('Gained about'+IntToStr(TreeXP)+'Exp.');
Writeln('Script has been running:'+(TimeRunning));
Writeln('*********************************************');
end;
////////////////////////////////////////////////////////////
//-----Loop-----------------------------------------------//
////////////////////////////////////////////////////////////
Begin
wait(10);
AniMotion;
Wait(100+random(200));
ClearDebug;
SetupSRL;
DeclarePlayers;
ActivateClient;
Wait(500);
SetChat('On', 1);
SetChat('Off', 2);
SetChat('Off', 3);
LoginPlayer;
PickAllColors;
HighestAngle;
if(not(FindHeadCol))then
begin
Logout;
DisguiseSCAR('Axe NOT Found!');
Terminatescript;
end;
repeat
SetRun(true);
ToTheYewzz;
Flag;
SetRun(False);
MakeCompass('S');
repeat
ChopYewsDown(x,y,1);
FindHead;
Until(InvFull);
SetRun(True);
PerfectNorth;
BankWalker;
CrappyBankOpen;
ProggyRprt;
Until(LogTT>TotalToChop)
if(LogTT>TotalToChop)then
begin
ProggyRprt;
DisguiseSCAR('FINISHED!');
end;
End.
thanks really thankful for replys! and lots of help thank you!!


