I Edited Some Guys From This Thread Its Pretty Good Script Since I Edited It, For First Time It Had Problems BUT I Fixed Em All.
program MAPLES;
{.include SRL/SRL.Scar}
{.include SRL/SRL/Skill/Woodcutting.Scar}
//Made By ILikePie1995.
//Edited Some Guys.
//VERSION 1.00.
{Features======================================================================}
{-------------------------------------------------------------------------------
-Anti - Ban.
-Anti - Randoms.
-Awsome Maple Cutting Procedure.
-Radial Walking.
-Good Bank Finding.
-Exp And Log Counting.
-DTM Of Maple Log.
-Ent Finder.
-Report Procedure.
-------------------------------------------------------------------------------}
{Features======================================================================}
{INSTRUCTIONS~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{
Start At The Seers Bank Logged In.
SetUp Const And Declare Players.
Drag The Thingy Onto The Runescape Window.
Click Run And Enjoy My Script.
}
{INSTRUCTIONS~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
Const
MMTree = 2775176;//Pick The Color Of The Maple Tree On The Mini - Map.
RareTree = 1481764;//Pick The Color Of The Rare Tree Symbol On The Mini - Map.
Var
MapleLog, TotalMaples, Maple, BankTrips, Banked, x, y, ExpGained: Integer;
Procedure DeclarePlayers;
begin
HowManyPlayers:= 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer:= 0;
Players[0].Name := 'Username'; //UserName.
Players[0].Pass := 'Password'; //Password.
Players[0].Nick := 'ser'; //3-4 letters of username.
Players[0].Integers[1] := 10; //Number of loads to do for this player.
Players[0].Active := True; //True If You Are Using This Player, False If Not.
Writeln('Using '+IntToStr(HowManyPlayers)+' Players');
NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
end;
Procedure LoadDTMS;
begin
MapleLog := DTMFromString('78DA633CC1C4C02000C44820C28693E13F906' +
'604E2FF40C00852C38EAA06220B2381F45EA03C37116A2408A839' +
'05949724A0E63A505E88809A8B407916FC6A00316B0BAE');
end;
procedure InGameOrNot;
begin
if not(LoggedIn)then
WriteLn('We Aren`t Logged In, Probally Because Couldn`t Find Maples, Terminating Script.');
Exit;
TerminateScript;
end;
procedure Chats;
begin
if (not(LoggedIn)) then
Exit;
SetChat('on', 1);
SetChat('off', 2);
SetChat('on', 3);
SetChat('friends', 4);
ClearDebug;
end;
function FindFastRandoms: Boolean;
var
i: Integer;
begin
for i:=1 to 11 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;
8: begin
if InBlack then
begin
Result := True;
Players[CurrentPlayer].loc := 'InBlack';
Logout;
Exit;
end;
end;
9: RC;
10: Respond;
11: ClickToContinue;
end;
wait(1);
end;
end;
procedure FindRandoms;
begin
FindTalk;
FindFastRandoms;
FindNormalRandoms;
FindLamp('Woodcutting');
SolvePinball;
FindEnt(x, y, true);
if (FindFight) then
begin
MakeCompass('N');
RunTo('N', True);
Wait(7000 +Random(3000));
RunBack;
end;
end;
procedure AntiBan;
begin
if (not(LoggedIn)) then
Exit;
case Random(5) of
0: RandomMovement;
1: HoverSkill('Woodcutting', False);
1: RandomRClick;
2: BoredHuman;
3: PickUpMouse;
4: AlmostLogout;
5: begin
GameTab(2 +Random(12));
wait(2000 +Random(1000));
GameTab(4);
end;
end;
end;
procedure EntFinder; // Thanks to YoHoJo. Modded by Bobbohobbo
var
EX, EY: integer;
FX, FY: integer;
SafeEntWait: LongInt;
begin
if (not (LoggedIn)) then
Exit;
begin
Status('Checking For Ent')
if
(FindObjCustom(EX, EY, ['aple'], [4690821], 5)) then
begin
MMouse(EX, EY, 0, 0)
if FindColorTolerance(FX, FY, 55769, 85, 15, 115, 15, 20) then
begin
Writeln('Ent Found');
MouseFindFlag(645, 83, 2, 2);
MarkTime(SafeEntWait)
repeat
FTWait(5)
FindNormalRandoms;
if not (LoggedIn) then
NextPlayer(False);
until TimeFromMark(SafeEntWait) > 29000 + Random(10000)
EntsAvoided := EntsAvoided +1;
ReportVars[1]:= ReportVars[1] +1;
end;
end;
end;
end;
procedure Walk2Maple;
begin
if (Not(LoggedIn)) then
Exit;
begin
Wait(1000+random(1000));
RadialWalk(RareTree, 6, 75, 55, 2, 2);{ClickExactMMColorTol(MMTree, 5);}
If FindSymbol(x, y, 'Tree')Then
FFlag(0);
WriteLn('At Maples!');
end;
end;
procedure GetToRightSpot;
begin
if (Not(LoggedIn)) then
Exit;
begin
repeat
Wait(1000+random(1000));
ClickExactMMColorTol(MMTree, 5);
FFlag(0);
WriteLn('Tryed To Go To Maples, Checking If Maples Here.');
InGameOrNot;
until(FindObj(x, y, 'aple', 9295, 8));
if(FindObj(x, y, 'aple', 9295, 8))then
end;
end;
procedure CheckIfNoMaples;
begin
if not(FindObj(x, y, 'aple', 9295, 8))then
begin
PerfectNorth;
HighestAngle;
GetToRightSpot;
end;
end;
procedure FindAndChop;
var CuttingTime : integer;
begin
MarkTime(CuttingTime);
repeat
if (not(LoggedIn)) then
Exit;
MakeCompass('N');
HighestAngle;
if (FindObj(x, y, 'aple', 9295, 8)) then;
begin
MMouse(x, y, 4, 4);
EntFinder;
FindEnt(x, y, True);
if (IsUpText('aple')) then
begin
GetMousePos(x, y);
Mouse(x, y, 1, 1, true);
Wait(4000 +Random(3000));
FindRandoms;
CheckIfNoMaples;
end;
end;
until (InvFull) or (TimeFromMark(CuttingTime) > 600000+random(60000));
TotalMaples := TotalMaples +27;
ReportVars[0]:= ReportVars[0] +27;
Writeln('Chopped a full load of maples, now heading for the bank');
end;
function BankIt: Boolean;
begin
if (InvFull) then
begin
SymbolAccuracy := 0.6;
if (FindSymbol(x, y,'Bank')) then
begin;
Mouse(x, y, 3, 3, true);
FFlag(0);
MakeCompass('E');
OpenBankQuiet('feb');
Flag;
wait(500 + random(500));
FixBank;
Deposit(2,28,2);
end;
CloseBank;
MakeCompass('N');
begin
BankTrips := BankTrips +1;
ExpGained:=ExpGained+2700;
end;
end;
end;
procedure ProgressReport;
begin
Writeln('=======================================') ;
Writeln(' Maple Cutter ');
Writeln('=======================================') ;
Wait(500);
Writeln('Worked For : '+ (TimeRunning));
Writeln('Chopped: ' + IntToStr(TotalMaples) + ' Logs');
Writeln('Bank Trips: ' + IntToStr(BankTrips) + ' Trips Made');
Writeln('Advoided: ' + IntToStr(EntsAvoided) + ' Number Of Ents');
Writeln('Gained: ' + IntToStr(ExpGained) + ' EXP Approx.');
Writeln('---------------------------------------');
end;
procedure TheLoop;
begin
Walk2Maple;
begin
GetToRightSpot;
FindAndChop;
AntiBan;
BankIt;
SRLRandomsReport;
ProgressReport;
end;
end;
begin
SetUpSRL;
ActivateClient;
DeclarePlayers;
If Not(LoggedIn)Then
LoginPlayer;
HighestAngle;
PerfectNorth;
Chats;
begin
repeat
TheLoop;
until Players[CurrentPlayer].Integers[1] = Banked
NextPlayer(True);
end;
end.