SCAR Code:
//Hi this is my willow cutter and dropper!!!
//Use it anywere there are willows
//It has pretty good anti randoms
//Its anti ban is good too
//PLEASE FILL OUT DECLARE PLAYERS, COLORS IN CONST, AND LINE 170!!!!!!!!!!!!!!
//Please rate thread, Rep+ me if you liked it!, give feedback, post bugs, srl randoms reports, and post progress reports!!
//Use with srl rev 28, and scar divi 3.15
//I do need a failsafe for if It doesnt find any trees though.. THANKS!!
//Thanks to random developers, srl function developers, and people who gave me good feedback
//This script is made by Andyz55, and will only be edited in this thread with my permission, and should not be posted anywere else unless done by me..lol
// -Andyz55
//I also think that my proggie is quite descriptive!
//Start with axe in hand, as It drops the entire invintory when it drops!!!!
program Willow_Chainsaw;
{.include srl/srl.scar}
{.include srl/srl/skill/woodcutting.scar}
const//Fill this out
willow = 4088941;
willow2 = 6193785;
willow3 = 5405031;
var
x, y, times, talk, fight, random1,
loads, ents: integer;
procedure Declareplayers; //Fill this all out
Begin
HowManyPlayers := 1;//Dont change unless you add more people
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;//Dont change
Players[0].Name := '';//Your Username
Players[0].Pass := '';//Your Password
Players[0].Nick := '';//3-4 letters of name in order except first letter
Players[0].Active := True;//use this player?
Players[1].Name := ' ';//Your Username
Players[1].Pass := ' ';//Your Password
Players[1].Nick := ' ';//3-4 letters of name in order except first letter
Players[1].Active := False;//use this player?
Players[2].Name := ' ';//Your Username
Players[2].Pass := ' ';//Your Password
Players[2].Nick := ' ';//3-4 letters of name in order except first letter
Players[2].Active := False;//use this player?
Players[3].Name := ' ';//Your Username
Players[3].Pass := ' ';//Your Password
Players[3].Nick := ' ';//3-4 letters of name in order except first letter
Players[3].Active := False;//use this player?}
end;
procedure Antiban;
begin
case random(70) of
1 : MMouse(0, 0, 1000, 700);
2 : Hoverskill('Woodcutting', false);
4 : BoredHuman;
end;
end;
procedure Proggie;
begin
if (not loggedin) then //Change to match 'times' after the Main Loop
begin
ClearDebug;
Writeln('Thank you for using Andyz55''s Willow CHAINSAW!');
Writeln('Ran for ' + timerunning);
Writeln('Found ' + IntToStr(talk) + ' Talks!');
Writeln('Found ' + IntToStr(fight) + ' Fights!');
Writeln('Found ' + IntToStr(ents) + ' Ents!');
Writeln('Found ' + IntToStr(random1) + ' Randoms!');
Writeln('Found ' + IntToStr(mods) + ' Mods!');
Writeln('Earned about ' + IntToStr(Loads * Times * 28 * 68) + ' Woodcutting Experiance!');
Writeln('Cut and Dropped ' + IntToStr(Loads * Times * 28) + ' Logs!');
Writeln('Please Post Proggies and bugs and Randoms reports so I can UPDATE!!!!!!!!');
Writeln(' -Andyz55');
end;
end;
Procedure Talkfind;
begin
if findtalk then
Inc(talk);
if findtalk then
case random(6) of
1 : typesend('...');
2 : typesend('man this is boooorrringgg');
3 : typesend('i dont feel like talking');
4 : typesend('Boreddddd');
5 : typesend('my wc level is 80.. almost 81');
6 : typesend('okkk...?');
end;
end;
procedure Entfind;
begin
if Findent(x, y, true) then
Inc(ents);
if Findent(x, y, true) then
Runaway('E', false, 1, 16000+random(7000));
end;
procedure Randoms;
begin
Lampskill := 'Woodcutting';
FindNormalRandoms;
Findmod;
FindTalk;
Talkfind;
Entfind;
if findfight then
Inc(fight);
if findfight then
RunAway('E', true, 1, 15000+random(4000));
end;
procedure DropAllLogs;
var x, y, t, k, i, tries:integer;
begin
repeat
Randoms;
if not LoggedIn then exit;
for i:=2 to 28 do
begin
if (i mod 5) = 0 then
begin
Randoms;
wait(150);
end;
if ExistsItem(i) then
begin
MMouseItem(i);
for k:= 0 to 4 do
begin
wait(200);
if IsUpText('log') then break;
if lowercase(Players[CurrentPlayer].Strings[0]) = 'tree' then
if IsUpText('Logs') then break;
end;
if not IsUpText('axe') then
begin
GetMousePos(x, y);
Mouse(x, y, 1, 1, False);
Wait(170 + Random(50));
if (ChooseOption('rop')) then
Wait(RandomRange(50, 200));
end else
DragItem(i, 1);
wait(Random(150));
end;
end;
t:= 0;
for i:=2 to 28 do
if ExistsItem(i) then
begin
Inc(t);
break;
end;
Inc(Tries);
ArrangeInv;
if tries >= 3 then break;
until(t = 0);
Proggie;
end;
procedure Cuttree;
begin
loads := 0;
If not (LoggedIn) then Exit;
repeat
Gametab(4);
SetRun(True);
Wait(200+random(200));
if FindObjTPA(x, y, 4876128, 20, 2, 15, 25, 10, ['illow', 'Willo', 'Willow']) then
Wait(200+random(300));
Mouse(x, y, 4, 4, false);
Wait(200+random(200));
ChooseOption('hop');
Writeln('Chopping tree');
Randoms;
Wait(2500+random(1000));
Randoms;
Antiban;
Wait(6500+random(1000));
Randoms;
Until InvFull;
if InvFull then DropAllLogs
end;
begin
times := 0;
SetupSrl;
SetupWoodcutting;
Declareplayers;
LoginPlayer;
repeat
Cuttree;
Inc(times);
until times =15 //Times to cut and drop 28 logs
Wait(500+random(200));
Logout;
Writeln('Please wait for your progress report!');
Wait(200+random(100));
Proggie;
end.