SCAR Code:
program Willow_Chopper;
var
x,y,cx,cy,i,TreesChopped,loadzdone,loadz:Integer;
{.include SRL/SRL/Misc/Smart.scar}
{.include srl/srl.scar}
{.include srl/srl/skill/woodcutting.scar}
const
///Set up your colors below///
WillowColor1 = 4487022;
CurrentVersion = '2.0';// no need to change this
yourSRLID='';
yourSRLPW='';
WillowColor2 = 4480100;
loads = 10;//How many loads to do?
TreeBaseColor = 472887;//See the topic for instructions!
BoothColor1 = 739167;//You have to set these colors
BoothColor2 = 671057;
SmartWorld = 142;//smart world :)
Procedure DeclarePlayers;
begin
HowManyPlayers := 3;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := ''; //3 - 4 letters of YOUR username, example: "sern"
Players[0].Active :=True; //Do not use capital letters or numbers.
Players[1].Name := '';
Players[1].Pass := '';
Players[1].Nick := ''; //3 - 4 letters of YOUR username, example: "sern"
Players[1].Active :=True; //Do not use capital letters or numbers.
Players[2].Name := '';
Players[2].Pass := '';
Players[2].Nick := ''; //3 - 4 letters of YOUR username, example: "sern"
Players[2].Active :=True; //Do not use capital letters or numbers.
end;
{****************************************************************************}
{Procedure BankWalk }
{By: Wade007 }
{Description: This will walk to to the bank }
{****************************************************************************}
Procedure BankWalk;
begin
RadialWalk(FindRoadColor,0,90,50,5,5)
Flag;
if(FindSymbol(x,y,'bank'))then
begin
writeln('Walking To bank!')
Mouse(x,y,2,2,true)
flag;
FindNormalRandoms;
end;
end;
{****************************************************************************
Procedure WillowWalk
By: Wade007
Description: This will walk you to willows.
{****************************************************************************}
Procedure WillowWalk;
begin
If(Not(LoggedIn)) then LoginPlayer;
setangle(true)
RadialWalk(TreeBaseColor,170,240,50,4,4)
Status('Walking to willows!')
writeln('Walking to willows!')
end;
{*****************************************************************************
function InFight: Boolean;
By: WT-Fakawi
Description: Returns as True if in fight.
*****************************************************************************}
function InFight: Boolean;
var
x, y : Integer;
begin
Result := (FindColor(x, y, 65280, 230, 130, 280, 180) or FindColor(x, y, 255,
230, 130, 280, 180))
end;
{****************************************************************************
Procedure Depositing
By: the find and open bank part is by Wade007 and the deposit part is by frozen_soul
Description: This will deposit your logs.
*****************************************************************************}
procedure Depositing;
begin
if FindObjCustom(cx, cy, ['booth', 'ooth'], [BoothColor1, BoothColor2], 3) then
begin
repeat
Status('Banking');
Mouse(cx,cy,2,2,false)
chooseoption('Use-quickly')
wait(1000)
until(bankscreen)
Begin
for i := 2 to 28 do
Begin
if ExistsItem(i) then
Begin
MouseItem(i, false);
ChooseOption('ll');
Wait(1000 + random(500));
end;
end;
Mouse(485, 41, 4, 4, True);
Wait(500 + random(250));
end;
{case random(2) of
1: Deposit(2, 28, 2)
2: Deposit(2, 28, 2)
end;}
closebank;
FindNormalRandoms;
loadzdone := loadzdone+1
WillowWalk;
end;
end;
{****************************************************************************
Procedure: ChopDemWillows
By: Wade007
Description: This Chops trees (DUH!)
*****************************************************************************}
Procedure ChopDemWillows;
var tries:Integer;
Begin
if FindObjCustom(cx, cy, ['illow', 'llow'], [WillowColor1, WillowColor2], 3) then
begin
Status('Chopping Willows');
if(FindEnt(cx, cy, True))then exit;
Mouse(cx,cy,2,2,False)
ChooseOption('hop')
flag;
Wait(4000+random(800))
TreesChopped := TreesChopped+1
FindNormalRandoms;
end else
begin
tries := tries+1;
if (tries = 10)then
begin
Writeln('Could not find any trees :(')
Writeln('Try changing the colors.')
NextPlayer(false);
end;
end;
end;
{****************************************************************************
Procedure FFindEnt
By: Osmm
Description: This will find an ent, and run away from it.
*****************************************************************************}
function FFindEnt(fx, fy: Integer; AvoidWhenFound: Boolean): Boolean;
var
arUpTextEntColorPoints: TPointArray;
x, y, EntTime, tcts: Integer;
begin
if not(LoggedIn)then exit;
GetMousePos(x, y);
if(x <> fx)or(y <> fy)then
mmouse(fx, fy, 0, 0);
if(IsUpText('Chop'))then
begin
tcts := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorspeed2Modifiers(0.4, 0.4);
FindColorsTolerance(arUpTextEntColorPoints, 51657, 80, 6, 127, 20, 5);
Result := Length(arUpTextEntColorPoints) > 10;
ColorToleranceSpeed(tcts);
end;
if(result)then
begin
MarkTime(EntTime);
WriteLn('Ent Found!!');
Writeln('Waiting for it to go away.');
begin
case random(10) of
1: mouse(628, 85, 5, 5, true);
2: DoEmote(4);
3: BoredHuman;
end;
end;
Inc(EntsAvoided);
end;
end;
{****************************************************************************
Procedure Proggy
By: Wade007
Description: This will print a proggy to the debug box.
*****************************************************************************}
Procedure Proggy;
begin
Writeln('Willow Chopper by wade007 has run for ' +TimeRunning)
Writeln('Willow Chopper has Chopped ' +intToStr(TreesChopped)+ ' Trees')
if (loadzdone = loadz) then
begin
Writeln('We have done all the loads you said to!')
end else
begin
Writeln('We have not done all the loads specified')
end;
end;
{****************************************************************************
Procedure: Running
By: Wade007
Description: This TINY procedure will run away if it is in a fight.
*****************************************************************************}
Procedure Running;
begin
If (InFight) then
begin
Writeln('We have found a fight! Running away!')
Status('Running');
BankWalk;
wait(2000)
WillowWalk;
end else
begin
Exit;
end;
end;
{****************************************************************************
Procedure: SetUp
By: Wade007
Description: this will run when it is start up....
*****************************************************************************}
procedure SetUp;
begin
SetUpSRL;
ScriptID := '651';
if not(yourSRLID = '') then SRLID := yourSRLID;
if not(yourSRLPW = '') then SRLPassword := yourSRLPW;
If (GetPage('http://wade007.freehostia.com/version.txt')) > '2.0' then
begin
Writeln('Hmm... Your version is not up to date. please get the new update from the topic.')
Writeln('I hope to have a direct download link for this in the near future.')
TerminateScript;
end else
begin
writeln('You have the latest version, Continueing.')
end;
end;
{****************************************************************************
MAIN LOOP
Description: This is where it all begins...
*****************************************************************************}
begin
SmartSetupEx((SmartWorld),false,false);
SetTargetDC(SmartGetDC);
SetupSRL;
ClearDebug;
DeclarePlayers;
ActivateClient;
SetUp;
repeat
If (not (loggedIn)) then loginplayer;
WillowWalk;
FindNormalRandoms;
repeat
ChopDemWillows;
solvesandwich;
Running;
FindNormalRandoms;
Until(InvFull)
Running;
bankWalk;
wait(100)
depositing;
SetUp;
ClearDebug;
Proggy;
i := +1
until(loadzdone = loadz)
ClearDebug;
Proggy;
end.
And i get a type mismatch, any help?