PHP Code:
{=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=]
[ ~Bomh's Draynor Willow Killer & Banker~ ]
[ ~First Script~ ]
[=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=]
| 1. Need SCAR version 3.11 |
| 2. Need SRL version 4. |
| 3. Set your screen to 32 bit true color |
| 4. Start script in Draynor Bank. |
| 5. Start with a axe in your first inventory slot or wielded. |
| 6. More axes in the 1ST BANK SLOT |
[=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=|
|~Thanks To: |
| YoHoJo for a great ent finder |
| Sumilion & Lorax for autoresponder |
| RuneKillers i use most of his script |
[=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=}
Program BomhWillowSmasher;
{.include SRL/SRL.Scar}
{.include SRL/SRL/Core/Users.Scar}
{.include SRL/SRL/Skill/Woodcutting.Scar}
Const
ScriptName = ' Bomhs Willow Killer & Banker ';
YourSRLId = '';
YourSRLPassword = '';
AutoRespond = True; //May lag the script a little
WillowColor = 5267552; //No need to touch this
Var x, y, H, M, S, mx, my, i, WillowLog, BankDTM, Willow, TotalWillows, Banked,
EntsAvioded, RemoveChatters, FreeSlot: Integer;
LevelsGained : Integer;
TextFound, Name : String;
Chatters : Array[0..1000] of string;
Procedure DeclarePlayers;
begin
HowManyPlayers:= 6;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer:= 0;
Players[0].Name := ''; //UserName
Players[0].Pass := ''; //Password
Players[0].Nick := ''; //2-4 letters of username
Players[0].Integers[1] := 90000; //Number of loads before switching
Players[0].Booleans[1] := True; //Is the axe wielded?
Players[0].Active := True; //Active
Players[1].Name := 'Username'; //UserName
Players[1].Pass := 'Password'; //Password
Players[1].Nick := 'Nick'; //2-4 letters of username
Players[1].Integers[1] := 1000; //Number of loads before switching
Players[1].Booleans[1] := True; //Is the axe wielded?
Players[1].Active := True;
Players[2].Name := 'Username'; //UserName
Players[2].Pass := 'Password'; //Password
Players[2].Nick := 'Nick'; //2-4 letters of username
Players[2].Integers[1] := 1000; //Number of loads before switching
Players[2].Booleans[1] := True; //Is the axe wielded?
Players[2].Active := True; //Active
Players[3].Name := 'Username'; //UserName
Players[3].Pass := 'Password'; //Password
Players[3].Nick := 'Nick'; //2-4 letters of username
Players[3].Integers[1] := 1000; //Number of loads before switching
Players[3].Booleans[1] := True; //Is the axe wielded?
Players[3].Active := True; //Active
Players[4].Name := 'Username'; //UserName
Players[4].Pass := 'Password'; //Password
Players[4].Nick := 'Nick'; //2-4 letters of username
Players[4].Integers[1] := 1000; //Number of loads before switching
Players[4].Booleans[1] := True; //Is the axe wielded?
Players[4].Active := True; //Active
Players[5].Name := 'Username'; //UserName
Players[5].Pass := 'Password'; //Password
Players[5].Nick := 'Nick'; //2-4 letters of username
Players[5].Integers[1] := 1000; //Number of loads before switching
Players[5].Booleans[1] := True; //Is the axe wielded?
Players[5].Active := True; //Active
Writeln('Using '+IntToStr(HowManyPlayers)+' Players');
NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
end;
procedure LoadDTMs;
begin
WillowLog := DTMFromString('78DA639CCEC4C0F0940105B83B48308800694' +
'620FE0F048C3D40357719D000231209A41700D5DC22A0663150CD' +
'1B026AFA816A3E1050D38EE966743500A9740DA6');
BankDTM := DTMFromString('78DA63EC60626008614001FFFFFF676060042' +
'310FB3F6303508D37448E09AAE6ED5B08CD08E583D50413A1269C' +
'809A0AC26A00E665129F');
end;
function CountItemDTM(DTM: Integer): Integer;
var
i, x, y: Integer;
TB: Tbox;
begin
if not LoggedIn then
Exit;
GameTab(4);
for i := 1 to 28 do
begin
TB := InvBox(i);
if ExistsItem(i) then
if (FindDTM(DTM, x, y, TB.x1, TB.y1, TB.x2, TB.y2)) then
begin
Inc(Result);
end;
end;
end;
procedure DoChats;
begin
If(Not Loggedin)Then
LoginPlayer
Else NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick,UpChars);
Exit;
SetChat('on', 1);
SetChat('friends', 2);
SetChat('on', 3);
SetChat('on', 4);
end;
function FindEnt2(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
WriteLn('Ent Found!!');
if(AvoidWhenFound)then
begin
mx := 644;
my := 83;
Mouse(mx, my + 15, 0, 0, true);
Writeln('Waiting for it to go away.');
MarkTime(EntTime);
while(TimeFromMark(EntTime) < 35000)do
if (Random(20) > 15) then
Begin
FindNormalRandoms;
IdleTime(500, 500, 0.4)
end else
Begin
FindNormalRandoms;
Wait(500 + random(250));
end;
EntsAvoided := EntsAvoided + 1;
Mouse(mx, my - 10, 0, 0, true);
FFlag(2);
end;
end;
end;
Function PosArray(SubStr : Array of String; S : String) : Boolean;
Begin
for i := 0 to GetArrayLength(SubStr) - 1 do
Begin
Result := Pos(SubStr[i], S) > 0;
if Result then exit;
end;
end;
procedure AutoResponder;
begin
GetLastChatText(TextFound);
if Not(PosArray(['wc l', 'woodcutting l', 'lol', 'haha','hehe','lmao','rofl','hi ','hello','hey','yo ','bot ','macro','u noob','u nub','u loser',Players[CurrentPlayer].Name,'woot','woop'],TextFound)) then exit;
LastChatter(Name);
if Lowercase(Name) = Lowercase(Players[CurrentPlayer].Name) then exit;
if TimeFromMark(RemoveChatters) >= 50000 then
Begin
MarkTime(RemoveChatters);
for i := 0 to FreeSlot do
Begin
Chatters[i] := ''
end;
end;
for i := 0 to FreeSlot do
Begin
if Chatters[i] = Name then exit;
end;
for i := FreeSlot to 1000 do
if Chatters[i] = '' then
Begin
Chatters[i] := Name;
FreeSlot := FreeSlot + 1;
Break;
end;
if (PosArray(['wc l','woodcutting l'],TextFound)) then
Begin
Case Random(6) of
0: Typesend(IntToStr(Players[CurrentPlayer].integers[2] + LevelsGained));
1: Typesend('me ' + IntToStr(Players[CurrentPlayer].integers[2] + LevelsGained) + ' u?');
2: Typesend(IntToStr(Players[CurrentPlayer].integers[2] + LevelsGained) + ' =p');
3: Typesend('I' + chr(39) + 'm ' + IntToStr(Players[CurrentPlayer].integers[2] + LevelsGained));
4: Typesend(IntToStr(Players[CurrentPlayer].integers[2] + LevelsGained) + '...');
5: Typesend('low =[');
end;
WriteLn('Talked to ' + Name);
talks := talks + 1;
exit;
end;
if (PosArray(['lol','haha','hehe','lmao','rofl'],TextFound)) then
Begin
Case Random(10) of
0: Typesend('lol');
1: Typesend('');
2: Typesend('lmao');
3: Typesend('rofl');
4: Typesend('?');
5: Typesend('...');
6: Typesend('haha');
7: Typesend('hehe');
8: Typesend('=]');
9: TypeSend('');
end;
WriteLn('Talked to ' + Name);
talks := talks + 1;
exit;
end;
if (PosArray(['Hi ','Hello','hey','sup','yo '],TextFound)) then
Begin
Case Random(12) of
0: Typesend('hi');
1: Typesend('hello');
2: Typesend('hey');
3: Typesend('yo');
4: Typesend('sup');
5: Typesend('wasup');
6: Typesend('g' + chr(39) + 'day');
7: Typesend('good mornin!');
8: Typesend('good aftanoon!');
9: Typesend('good evenin!');
10: Typesend('ohaiyogozaimasu');
11: Typesend('hau');
end;
WriteLn('Talked to ' + Name);
talks := talks + 1;
exit;
end;
if (PosArray(['bot ', 'macro'],TextFound)) then
Begin
Case Random(10) of
0: Typesend('Wats that?');
1: Typesend('wots the point in gettin sumthin else 2 play 4 u?');
2: Typesend('bots r stupid');
3: Typesend('i h8 bots');
4: Typesend('they r ruinin rs for us =[');
5: Typesend('?');
6: Typesend('bots are forcing jagex to fight back... wich affects us 2 =[');
7: Typesend('they made our shop prices rise =[');
8: Typesend('bots r so obvious');
9: Typesend('theres no point banning them coz there r bots to even make new bots =[');
end;
end;
if (PosArray(['u noob','u nub','u loser'],TextFound)) then
Begin
Case Random(10) of
0: Typesend('stfu');
1: Typesend('look in da mirror');
2: Typesend('lmao u r');
3: Typesend('...');
4: Typesend('omg...');
5: Typesend('get a life');
6: Typesend('gotta start sumwhea');
7: Typesend('shut up');
8: Typesend('hmph');
9: TypeSend('=[');
end;
WriteLn('Talked to ' + Name);
talks := talks + 1;
exit;
end;
if (PosArray([Players[CurrentPlayer].Name],TextFound)) then
Begin
Case Random(9) of
0: Typesend('me?');
1: Typesend('wot u want');
2: Typesend('...');
3: Typesend('leave me alone!');
4: Typesend('I' + chr(39) + 'm not in the mood =(');
5: Typesend('ye?');
6: Typesend('yo?');
7: Typesend('uh?');
8: Typesend('shudup');
end;
WriteLn('Talked to ' + Name);
talks := talks + 1;
exit;
end;
if (PosArray(['woot','woop'],TextFound)) then
Begin
Case Random(9) of
0: Typesend('gratz');
1: Typesend('grats');
2: Typesend('...');
3: Typesend('what?');
4: Typesend('huh?');
5: Typesend('wat?');
6: Typesend('wot?');
7: Typesend('uh whatd i miss?');
8: Typesend('');
end;
WriteLn('Talked to ' + Name);
talks := talks + 1;
exit;
end;
end;
function SolveChatRandom2: Boolean;
var
Event: string;
begin
if (not SolveChatRandoms) or (not AreTalking) then
Exit;
Event := GetNPCEvent;
case Capitalize(Event) of
'Unknown': Exit;
'Pious Pete': // Candle Lighting
begin
Writeln(Players[CurrentPlayer].Name + ': Stupid Pete =(');
Logout;
NextPlayer(false);
Result := True;
Exit;
end;
'Mysterious Old Man': // Maze + Pinball
begin
if ((GetColor(83, 431) = 0) and (GetColor(88, 418) = 0)) or
((GetColor(83, 430) = 0) and (GetColor(88, 417) = 0)) or
((GetColor(151, 426) = 0) and (GetColor(470, 393) = 0) and
(GetColor(372, 370) = 128)) then
begin
SolvePinball;
end
Exit;
end;
'Quiz Master': FindQuiz; // Quiz Master
'Prison Pete': // ScapeRune balloons
begin
Inc(ScapeRunes);
Writeln(Players[CurrentPlayer].Name + ': Yay Balloon Animals!');
Logout;
NextPlayer(false);
Result := True;
Exit;
end;
'Sergeant Damien': FindDemon; // Camo
'Leo The Gravedigger': // Zombie
begin
Writeln(Players[CurrentPlayer].Name + ': I Don' + chr(39) + 't Want To Dig Any Graves! ');
Logout;
NextPlayer(false);
Result := True;
Exit;
end;
'Evil Bob': // ScapeRune island
begin
Inc(ScapeRunes);
Writeln(Players[CurrentPlayer].Name + ': An Evil Cat? What is the World Coming To?!');
Logout;
NextPlayer(false);
Result := True;
Exit;
end;
'Freaky Forester': // Lederhosen
begin
Writeln(Players[CurrentPlayer].Name + ': Since When Do Birds Have More Than One Tail...');
Logout;
NextPlayer(false);
Result := True;
Exit;
end;
'Mr Mordaut': // Surprise Exam
begin
Writeln(Players[CurrentPlayer].Name + ': School? NO WAY!');
Logout;
NextPlayer(false);
Result := True;
Exit;
end;
end;
end;
{*******************************************************************************
function FindNormalRandoms: Boolean;
by: The SRL Developers Team!... all time sexiness by Mutant
Description: Calls the 'normal' random checks.
*******************************************************************************}
function FindNormalRandoms2: Boolean;
var
i: Integer;
begin
for i := 0 to 14 do
begin
case I of
0: if SolveChatRandom2 then
Result := True;
1: if SolveTalkingRandom(Players[CurrentPlayer].Nick) then
Result := True;
2: Respond;
3: if FindTalk then
Result := True;
4: if FindDead then
Begin
Writeln(Players[CurrentPlayer].Name + ': Noooo I died =...(');
Logout;
NextPlayer(false);
Result := True;
end;
5: if FindMod then
Begin
Writeln(Players[CurrentPlayer].Name + ': Ooh A Moderator!');
Logout;
MakeCompass('N');
HighestAngle;
SetRun(true);
Result := True;
end;
6: if FindDemon then
Result := True;
7: if FindMime then
Begin
Writeln(Players[CurrentPlayer].Name + ': Miming?! Why Can' + chr(39) + 't You Just Talk?');
NextPlayer(false);
Result := True;
end;
8: if FindMaze then
Begin
Writeln(Players[CurrentPlayer].Name + ': Aww Mazes Are Too Hard =(');
NextPlayer(false);
Result := True;
end;
9: if FindQuiz then
Result := True;
10: if FindTalk then // Call it twice
Result := True;
11: if FindLamp(LampSkill) then // Maybe we missed it?
Result := True;
12: if (FindBox) then
begin
Result := True;
if (UseBoxSolver) then
SolveBox
else
GambleBox;
end;
13:
begin
if NoGameTab then
begin
Wait(3000 + Random(300));
if SolveChatRandom2 then
begin
Result := True;
Exit;
end;
Logout;
NextPlayer(false);
Result := True;
Exit;
end;
end;
14: if RC then
Result := True;
end;
if Result then
Break;
end;
If Not(LoggedIn) then
Begin
Writeln(Players[CurrentPlayer].Name + ': Hey Why Are We Just Sitting Here?');
NextPlayer(false);
end;
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
Procedure CheckForRandoms;
begin
FindEnt2(x,y,true);
if (FindFight) then
begin
x := 644;
y := 83;
Mouse(x, y + 50, 0, 0, true);
Wait(8500 + random(3500));
Mouse(x, y - 50, 0, 0, true);
end;
FindNormalRandoms2;
AutoResponder;
DwarfItem;
end;
function FindObjMultiText2(var cx, cy: Integer; Ut1, UT2, UT3: string; color,
tolerance: Integer): Boolean;
var
x, y, a, c, i, x1, y1, x2, y2: Integer;
begin
Color := Color;
if (FindColorTolerance(x, y, color, msx1, msy1, msx2, msy2, tolerance)) then
begin
x1 := 245;
y1 := 165;
x2 := 277;
y2 := 185;
repeat
if (not (Loggedin)) then
Break;
a := a + 1;
if (a = 1) or (a = 3) then
c := c + 1;
for i := 1 to c do
begin
if (a = 1) then
begin
x1 := x1 + 30;
x2 := x2 + 30;
end
else if (a = 2) then
begin
y1 := y1 - 20;
y2 := y2 - 20;
end
else if (a = 3) then
begin
x1 := x1 - 30;
x2 := x2 - 30;
end
else if (a = 4) then
begin
y1 := y1 + 20;
y2 := y2 + 20;
end;
if (x1 = 485) and (x2 = 517) then
x2 := x2 - 2;
if (y1 = 325) and (y2 = 345) then
y2 := y2 - 7;
if (x2 > 515) then
Break;
if (FindColorTolerance(x, y, Color, x1, y1, x2, y2, tolerance)) then
begin
MMouse(x, y, 0, 0)
Wait(10);
cx := x;
cy := y;
if (IsUpTextMulti(UT1, UT2, UT3)) then
begin
Result := True;
Break;
end;
end;
end;
if (a = 4) then
a := 0;
until (x2 > 515) or (Result = True);
end;
end;
procedure AntiBan;
var
DBanMe : Integer;
begin
DBanMe:= Random(4);
case DBanMe of
0: PickUpMouse;
1: DragItem(1, 1 + Random(18));
2: GameTab(1 + Random(12));
3: DoEmote(1 + Random(20));
end;
end;
function FindTheAxe : Boolean;
var
InvAxe, WieldAxe, Ix, Iy : Integer;
dtmAxes: array[0..6] of Integer;
begin
if LoggedIn then
begin
GameTab(4);
DTMAxes[1]:= DTMFromString('78DA63F4606260B8CD8002ECED63197418191' +
'88088E13F1030FA00D5DC4355932EC2C160C4005103028C8E4035' +
'D719D000231209A42D816ADE1250630D54F381801A3BA09A3BF8D' +
'500005D910CA6');
GameTab(5);
for WieldAxe := 1 to 2 do
begin
if(WieldAxe = 2)then
Break;
if(FindDtm(dtmAxes[WieldAxe], Ix, Iy, MIX1, MIY1, MIX2, MIY2))then
Break;
end;
GameTab(4);
for InvAxe := 1 to 2 do
begin
if(InvAxe = 2)then
Break;
if(FindDtm(dtmAxes[InvAxe], Ix, Iy, MIX1, MIY1, MIX2, MIY2))then
Break;
end;
if(InvAxe = 2)and(WieldAxe = 2)then
begin
Result := False;
Writeln('No axe was found.');
FreeDtm(dtmAxes[0]);
Exit;
end;
if((InvAxe - WieldAxe) < 0)then
EquipAxe := False
else
EquipAxe := True;
Result := True;
//FreeDtm(dtmAxes[0]);
Writeln('Found axe');
end;
end;
procedure CheckAxe;
begin
if (not(LoggedIn)) then
Exit;
begin
if (FindTheAxe = True) then
Exit;
if (FindTheAxe = false) then
begin
SymbolAccuracy:= 0.4;
Makecompass('N');
HighestAngle;
FindSymbol(x, y, 'bank');
OpenBankQuiet('db');
Flag;
Wait(500 + random(500));
Withdraw(1, 1, 1);
CloseBank;
Players[CurrentPlayer].Booleans[1] := False;
Writeln('Got a axe from the bank now back to chopping!');
if (FindTheAxe = true)then
Exit;
end;
if (FindTheAxe = false) then
Writeln('No axe. Logging out');
NextPlayer(False);
end;
end;
procedure Counting;
begin
if not LoggedIn then
Exit;
Willow:= CountItemDTM(WillowLog);
Writeln('Count: ' +IntToStr(Willow));
end;
function InChatLine(myString: string): Boolean;
begin
Result := ( pos(myString, TheLine) <> 0 );
end;
procedure Chop;
var CuttingTime : integer;
begin
MarkTime(CuttingTime);
repeat
if (not(LoggedIn)) then
Exit;
MakeCompass('N');
CheckForRandoms;
HighestAngle;
If FindObjMultiText2(x, y, 'Wil', 'ill', 'low', WillowColor, 5) then
begin
if Not(FindEnt2(x,y,false)) then
begin
Mouse(x, y, 1, 1, true);
Wait(4000 +Random(3000));
CheckForRandoms;
AutoResponder;
end;
end;
until (InvFull) or (TimeFromMark(CuttingTime) > 600000+random(60000));
Writeln('Chopped a full load of willows, now heading for the bank');
end;
procedure WillowsWalk;
var WaterColor : integer;
begin
if (not(LoggedIn)) then
Exit;
MakeCompass('N');
HighestAngle;
WaterColor := FindWaterColor;
RadialWalk(WaterColor, 225, 351, 64, 2, 2);
Flag;
Writeln('We are at the willows');
end;
Function FindDraynorBank(Var x, y: Integer): Boolean;
Var
BankA: Extended;
I : Integer;
Begin
Repeat
I := I + 1;
Wait(1);
// Result:= FindDTMRotated(BankDTM, x, y, MMX1, MMY1, MMX2, MMY2, -Pi, Pi, 0.05, BankA);
Result:= FindDTMRotated(BankDTM, x, y, MMX1, MMY1, MMX2, MMY2, -Pi, Pi, 0.1, BankA);
Until Result Or (I > 10);
End;
procedure BankWalk;
Var
x, y: Integer;
Begin
If Not LoggedIn Then Exit;
Mouse(650, 30, 5, 5, True);
Wait(4000);
FFlag(0);
Wait(500);
Wait(500);
If FindDraynorBank(x, y) Then
Begin
Mouse(x, y, 0, 0, True);
Wait(100);
FFlag(0);
Wait(500);
End;
Players[CurrentPlayer].Loc := 'Bank';
End;
procedure BankIt;
var Tries : Integer;
begin
if (not(LoggedIn)) then
Exit;
repeat
MakeCompass('N');
HighestAngle;
OpenBankQuiet('db');
Flag;
Wait(500 + random(500));
FixBank;
Tries := Tries + 1;
if (Tries = 25) then
begin
NextPlayer(False);
Exit;
end;
until (BankScreen)
begin
if (BankScreen) then
begin
Counting;
if (Players[CurrentPlayer].Booleans[1] = True) then
begin
DepositAll;
CloseBank;
MakeCompass('N');
end;
begin
if (Players[CurrentPlayer].Booleans[1] = False) then
begin
Deposit(2, 28, 2);
CloseBank;
MakeCompass('N');
end;
end;
begin
TotalWillows:= TotalWillows + Willow;
Banked := Banked + 1
Writeln('Deposited a full load of willows, now going to chop more');
end;
end;
end;
end;
Procedure Starting;
begin
WriteLn(' ______ _____ ________ __ __ ___ __ ______ ______ __');
WriteLn('<-/ __ / /_ // _ _ / / /_/ /--/ / /---/ ____// __ // /---------->');
WriteLn(' / __ / //_/ // // // / / __ / /__ / /___ // __// /__');
WriteLn('/_____/ /____//_//_//_/ /_/ /_/ /__/ /_____//_/\_\ /____/ /' + ScriptName + ' first /');
WriteLn('')
Wait(3000);
WriteLn('');
Wait(3000);
WriteLn('this is fucking rock ~ starting:');
End;
procedure Report;
begin
ClearDebug;
Writeln('[=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-]');
Writeln('| ~ Bomhs Willow Killer & Banker ~ |');
Writeln('|=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-|');
ConvertTime(GetTimeRunning, H, M, S);
Writeln('|This are my first script');
Writeln('|Time Run: ' + IntToStr(H) + ':' + IntToStr(M) + ':' + IntToStr(S));
Writeln('|Chopped: ' + IntToStr(TotalWillows) + ' Logs');
Writeln('|Banked: ' + IntToStr(Banked) + ' Loads Of Willows');
Writeln('|Avioded: ' +IntToStr(EntsAvioded) + ' Number Of Ents');
Writeln('--------------------------------------------')
end;
procedure ScriptReport;
begin
ReportVars[0] := ReportVars[0] + 28;
ReportVars[1] := ReportVars[1] + 1;
end;
Begin
SetupSRL;
SetupWoodcutting;
SRLId := YourSRLID;
SRLPassword := YourSRLPassword;
Starting;
ActivateClient;
DeclarePlayers;
LoadDTMs;
If(Not Loggedin)Then
LoginPlayer
Else NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick,UpChars);
HighestAngle;
DoChats;
CheckAxe;
repeat
WillowsWalk;
repeat
Chop;
until (InvFull) or (not LoggedIn)
CheckAxe;
AntiBan;
BankWalk;
BankIt;
SRLRandomsReport;
ScriptReport;
Report;
TotalWillows:= 0;
until Players[CurrentPlayer].Integers[1] = Banked
NextPlayer(True);
end.
enjoy