SCAR Code:
program DraynorCutta;
{.include SRL/SRL.scar}
{.include SRL/SRL/Skill/woodcutting.scar}
const
BankSymbolColor=11250352;
willowcolor1=2902351;
willowcolor2=3686456;
willowcolor3=2971728;
loadsperplayer=2;
PickWielded=true;
var
logs : integer; Trees : integer; loads : integer; tries : integer;
var
frmDesign : TForm;
Start : TButton;
var
x, y: integer;
Procedure DeclarePlayers;
begin
HowManyPlayers :=3; // Set Number of Players here.
NumberOfPlayers(HowManyPlayers); // Sets the Players Array Length;
CurrentPlayer:=0; // CurrentPlayer = Array Index
Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='';;
Players[0].Active:=True;
Players[1].Name :='';
Players[1].Pass :='';
Players[1].Nick :='';
Players[1].Active:=false;
Players[2].Name :='';
Players[2].Pass :='';
Players[2].Nick :='';
Players[2].Active:=false;
Players[3].Name :='';
Players[3].Pass :='';
Players[3].Nick :='';
Players[3].Active:=false;
NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
writeln(inttostr(HowManyPlayers)+' Players');
end;
procedure LoadDtms;
begin;
Logs:= DTMFromString('78DA63F460626078CA80021C2CC5C1342394C' +
'F180854731B558DAB2D9A9A60A09AD7A86AFC5C2551D53801D5BC' +
'4355939F668BAAC606D33D9E4E68E63802D5DC455563652282A20' +
'60013200B2C');
end;
Procedure ProgressReport;
begin;
Writeln('-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-');
Writeln('Willow cutter in draynor by Dritar progress report:');
Writeln('Cutted '+ IntToStr(trees) + ' Trees');
Writeln('Did '+ intToStr(loads) + ' loads');
Writeln('-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-');
end;
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 PrepCharacter;
begin
Activateclient;
wait(30)
MakeCompass('N');
wait(30)
setchat('Hide',1)
setchat('friends',2)
setchat('off',3)
highestangle;
end;
procedure ToTrees;
begin
setrun(true)
case random(3) of
0: Mouse(640,125,2,2,true);
1: Mouse(628,126,2,2,true);
2: Mouse(645,144,2,2,true);
3: Mouse(621,117,2,2,true);
end
end;
procedure DoAntiRandoms;
begin
FindTalk;
FindNormalRandoms;
if (FindFight = true) then
begin
RunAwayDirection('N');
Wait(10000 + random(2000));
RunBack;
end;
end;
Procedure Antiban;
begin
case random(7) of // case 7 only
0 : RandomRClick; // start a random case with 0!
1 : GameTab(1 + random(7));
2 : Boredhuman;
3 : Almostlogout;
4 : begin // begin and end;
HoverSkill('woodcutting',false);
Wait(2222+random(333))
end;
5 : PickupMouse; // you forgot the ';'
6 : begin
LowestAngle; //LowestAngle;
Wait(5+random(5))
end;
end
end;
Procedure CutTrees;
begin
wait(6000+random(2000))
repeat // edit
//FindHead; // not found that procedure
If(findcolortolerance(x,y,willowcolor1,25,26,473,310,5))or
(findcolortolerance(x,y,willowcolor2,25,26,473,310,5))or
(findcolortolerance(x,y,willowcolor3,25,26,473,310,5))then
begin
Mmouse(x,y,2,2);
If(IsUpText('illow'))then
begin
Mouse(x,y,2,2,false)
chooseoption('own') // no more x, y,
wait(4000+random(3000))
end
end;
Until(InvFull)
end;
Function InString(Text1, Text2: String): Boolean;
Begin
Result:= (Pos(LowerCase(Text2), LowerCase(Text1)) <> 0);
End;
Function AutoResponder: Boolean;
Var
Responce: Array [0..9] of String;
NewLine: String;
MasterDetected: Boolean;
Label
ResponceLabel;
Begin
If(Not Loggedin)Then Exit;
If(Not UseResponder)Then Exit;
If(TimeFromMark(ResponceTime)<1000)Then Exit;
MarkTime(ResponceTime);
If(Not LastChatter(LastChatterString))Then Exit;
If(InString(LastChatterString, Players[CurrentPlayer].Nick))Then Exit;
OldLine:= TheLine;
GetLastChatText(TheLine);
NewLine:= TheLine;
If(OldLine = TheLine)Then Exit;
If(InString(TheLine, 'hi')) Or (InString(TheLine, 'ello')) Or (InString(TheLine, 'yo') Or (InString(TheLine, 'up')Or (InString(TheLine, 'yo'))Then
Begin
Responce[0]:= 'Hi';
Responce[1]:= 'Hello';
Responce[2]:= 'ello';
Responce[3]:= 'hi lol';
Responce[4]:= 'Hi mate';
Responce[5]:= 'yo';
Responce[6]:= 'hi there!';
Responce[7]:= 'Yo wazzup';
Responce[8]:= 'sup';
Responce[9]:= 'Hi there';
Result:= True;
GoTo ResponceLabel;
End;
If(InString(TheLine, 'wc')) Or (InString(TheLine, 'lev')) Or (InString(TheLine, 'woodcut')Or (InString(TheLine, 'lv'))Then
Begin
Responce[0]:= IntToStr(Players[CurrentPlayer].Level[15]);
Responce[1]:= IntToStr(Players[CurrentPlayer].Level[15]) +', You?';
Responce[2]:= IntToStr(Players[CurrentPlayer].Level[15])+ ' here!';
Responce[3]:= 'Currently ' +IntToStr(Players[CurrentPlayer].Level[15]);
Responce[4]:= 'right now ' +IntToStr(Players[CurrentPlayer].Level[15]);
Responce[5]:= 'soon ' +IntToStr(Players[CurrentPlayer].Level[15]+1);
Responce[6]:= 'very soon ' +IntToStr(Players[CurrentPlayer].Level[15]+1);
Responce[7]:= 'secret';
Responce[9]:= 'ill tell when i get level';
Result:= True;
GoTo ResponceLabel;
End;
If(InString(TheLine, 'lol')) Or (InString(TheLine, 'ha')) Or (InString(TheLine, 'he'))Or
(InString(TheLine, 'lmao')) Or (InString(TheLine, 'rofl')) Or (InString(TheLine, 'omg'))Then
Begin
Responce[0]:= 'lol';
Responce[1]:= 'lmao';
Responce[2]:= 'haha';
Responce[3]:= 'lmfao';
Responce[4]:= 'rofl';
Responce[5]:= 'hehe';
Responce[6]:= 'ahah';
Responce[7]:= 'lmao haha';
Responce[8]:= 'hehe lol';
Responce[9]:= 'haha lol lmao rofl';
Result:= True;
GoTo ResponceLabel;
End;
If(InString(TheLine, 'noob')) Or (InString(TheLine, 'newbie')) Or (InString(TheLine, 'n00b') Or (InString(TheLine, 'froob')Or (InString(TheLine, 'fr00b'))Then
Begin
Responce[0]:= 'Watch your mouth!';
Responce[1]:= 'Look at mirro';
Responce[2]:= 'shut up';
Responce[3]:= 'are you?';
Responce[4]:= 'Really? Watch yourself!';
Responce[5]:= 'Go away!';
Responce[6]:= 'atleast im not **** like you';
Responce[7]:= 'shut up!!';
Responce[8]:= '...and who there is?!';
Responce[9]:= 'Shut up m8';
Result:= True;
GoTo ResponceLabel;
End;
If(InString(TheLine, '*')) Or (InString(TheLine, '**')) Or (InString(TheLine, '***')Or (InString(TheLine, '****'))Then
Begin
Responce[0]:= 'Shut up man';
Responce[1]:= '..Watch at mirror';
Responce[2]:= 'Stfu.';
Result:= True;
GoTo ResponceLabel;
End;
If(InString(TheLine, 'Mac')) Or (InString(TheLine, 'roing')) Or (InString(TheLine, 'bot'))Or
(InString(TheLine, 'auto')) Or (InString(TheLine, 'er')) Or (InString(TheLine, 'noob macro'))Then
Begin
Responce[0]:= 'No im not';
Responce[1]:= 'Mate im person, not an bot';
Responce[2]:= 'Im a person not bot!';
Responce[3]:= 'Im not macroing';
Responce[4]:= 'Whats this?';
Responce[5]:= 'Nah..Im not';
Responce[6]:= 'Why would I?';
Responce[7]:= 'Why do you think so?!';
Responce[8]:= 'Naaaaaaaaaaaaaaa!!!Im not';
Responce[9]:= 'No way mate';
Result:= True;
GoTo ResponceLabel;
End;
If(InString(TheLine, 'Do you like')) Or (InString(TheLine, 'Would you')) Or (InString(TheLine, 'can you'))Or
(InString(TheLine, 'do you use')) Or (InString(TheLine, 'what would you like this')) Or (InString(TheLine, 'would'))Then
Begin
Responce[0]:= 'yes';
Responce[1]:= 'yup';
Responce[2]:= 'yeah';
Responce[3]:= 'this...ehm..';
Responce[4]:= 'no';
Responce[5]:= 'no sorry cant...';
Responce[6]:= 'cannot';
Responce[7]:= 'nope';
Responce[8]:= 'nothing';
Responce[9]:= 'Naaa...im too lazy :p';
Result:= True;
GoTo ResponceLabel;
End;
If(InString(TheLine, 'where are you from')) Or (InString(TheLine, 'where do you live')) Or (InString(TheLine, 'your location?'))Or
(InString(TheLine, 'de donde eres?')) Or (InString(TheLine, 'donde vives?')) Or (InString(TheLine, 'mist oot'))Then
Begin
Responce[0]:= 'USA';
Responce[1]:= 'from USA';
Responce[2]:= 'Im from USA';
Responce[3]:= 'England';
Responce[4]:= 'From England';
Responce[5]:= 'sorry a seret';
Responce[6]:= 'secret';
Responce[7]:= 'In Usa, you?';
Responce[8]:= 'In Englan, you?';
Responce[9]:= 'I will not tell you';
Result:= True;
GoTo ResponceLabel;
End;
ResponceLabel:
If(Result)Then
Begin
If( MasterDetected )Then
Writeln('A Scar Scripter said hi ;)');
Writeln('Responded: '+Responce[CurrentResponce]+' To: '+ TheLine);
TypeSend(Responce[CurrentResponce]);
CurrentResponce:= CurrentResponce + 1;
RespondedTimes:= RespondedTimes + 1;
TRespond:= TRespond + 1;
If(CurrentResponce = 9)Then
CurrentResponce:= 0;
End;
End;
//More will be in ver 2.0
Procedure ToBank;
begin;
If(findSymbol(x,y,'bank'))then
begin
Mouse(x,y,2,2,true)
Wait(5000+random(2000))
end else
begin
If(FindColorTolerance(x,y,banksymbolcolor,582,24,700,125,5))then
Mouse(x,y,2,2,true)
wait(5000+random(2000))
end
end;
Procedure Bank;
begin;
repeat
openbank3
wait(200+random(300));
tries:= tries + 1;
until(tries = 20);
makecompass('w')
repeat
openbank3;
wait(200+random(300))
until(bankscreen)
end;
procedure BankLogs;
begin
If(Pickwielded=true)then
DepositAll;
If(pickwielded=false)then
Deposit(2,28,2)
trees:= trees + 28;
loads:= loads + 1;
end;
begin;
setupsrl;
repeat
toTrees;
CutTrees;
tobank;
opendabank;
bankwillows;
until(loads=loadsperplayer)
ProgressReport;
NextPlayer(false);
end.
Version 2.0 of Draynor willow cutta.
Everything made by Dritar with some help of MasterKill and JuKKa
writeLN('Version 2.0 - DraynorWillowCutta')
writeLN('Made by Dritar 2007 - MasterKill and JuKKa helped alot')