D1zl3
2008-12-11 21:42:21
<!– BEGIN TEMPLATE: formanswers –>
D1zl3 - SRL Member Application Form
D1zl3
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
No
Other Communitys
None
How Long have You Played Runescape
on and off
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
Well I learned scar about 4 months ago, and worked on this for maybe a month?
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
——————————————————
<!– END TEMPLATE: formanswers –>
D1zl3 - SRL Member Application Form
D1zl3
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
No
Other Communitys
None
How Long have You Played Runescape
on and off
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
Well I learned scar about 4 months ago, and worked on this for maybe a month?
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
{
[[=============================[]===================================]]
[[ The Tree-inator [] Credits To: Srl-Forums, ]]
[[ Made By D1ZL3 [] Nava2, Blumblebee, Mormonman, ]]
[[ Version 1.00 [] 006786, NaumanAkhlaQ, And ]]
[[ Start In The Bank Or [] Freddy1990. For More Versions To ]]
[[ Where You Are PowerChopping [] Come, Take Your Time And Post ]]
[[ Enter Your Location [] Your Progress Report :) Enjoy! ]]
[[=============================[]===================================]]
[[ What Does It Do? ]]
[[==================================================================]]
[[ So Far This Script Can PowerChop Willows, ]]
[[ Chop And Bank Willows At Draynor, ]]
[[ And Chop And Bank Yews At Draynor. More To Come! ]]
[[==================================================================]]
_____ __ ______
/\__ _\/\ \ /\__ _\
\/_/\ \/\ \ \___ __ \/_/\ \/ _ __ __ __
\ \ \ \ \ _ `\ /'__`\ \ \ \/\`'__\/'__`\ /'__`\ _______
\ \ \ \ \ \ \ \/\ __/ \ \ \ \ \//\ __//\ __/ /\______\
\ \_\ \ \_\ \_\ \____\ \ \_\ \_\\ \____\ \____\ \/______/
\/_/ \/_/\/_/\/____/ \/_/\/_/ \/____/\/____/
______ __
/\__ _\ /\ \__
\/_/\ \/ ___ __ \ \ ,_\ ___ _ __
\ \ \ /' _ `\ /'__`\ \ \ \/ / __`\/\`'__\
\_\ \__/\ \/\ \/\ \_\.\_\ \ \_/\ \_\ \ \ \/
/\_____\ \_\ \_\ \__/.\_\\ \__\ \____/\ \_\
\/_____/\/_/\/_/\/__/\/_/ \/__/\/___/ \/_/
}
program WillowChopperPlus;
{.Include SRL\SRL.SCAR}
{.include srl/srl/misc/path.scar}
{.include srl/srl/misc/Users.scar}
{.include SRL/SRL/skill/WoodCutting.scar}
var
X, Y, D, W, NW, AntiRandomz, TotalLogs, AntiBanz, Loads, Runz: Integer;
BankLog, LogDTM, LogsCut, LogsChopped, ExperienceGained, Number: Integer;
{====================}
{Enter Your Info Here}
{====================}
const
YourSRLID = ''; //Your SRL ID, 4 digits long.
YourSRLPW = ''; //Your Srl Password
VersionNumber = '2.75'; //Leave Alone :)
PowerChop = False; //True If You Want To PowerChop Willows Instead, False If Your Banking At Draynor
WhereToChop = 'DY'; //DY = Draynor Yews, DW = Draynor Willows
{=======================}
{No more Editting Needed}
{=======================}
procedure LogCount;
begin
if not LoggedIn then Exit;
LogDTM := DTMFromString('78DA639CCEC4C0C0C9C80002AC0C10E06A27C' +
'12002A441A2FF8180B18F09CA43068C4824909E0354F39701BF9A' +
'8540350204CC990854234A404D3B500D2F01354B816AB8F0AB010' +
'0353C0A3A');
LogsCut := ItemAmount('inv', 'dtm', LogDTM, []);
TotalLogs:= (TotalLogs + LogsCut);
LogsChopped := TotalLogs+1;
Reportvars[0] := TotalLogs+1;
ExperienceGained := TotalLogs*65;
Reportvars[1] := TotalLogs*65;
Loads := Runz;
FreeDTM(LogDTM);
end;
procedure ProggySaver;
begin
Number := RewriteFile(ScriptPath+'WillowChopperPlus Proggy.txt',True);
if( Number < 0 )then
WriteLn('Error! Please check the SCAR Filewall Request!!');
WriteFileString(Number, GetDebugText);
CloseFile(Number);
end;
procedure Report;
begin
ClearDebug;
WriteLn('=====================================================================');
begin
if (PowerChop) then
WriteLn(Padr('|| Willows Dropped: ' + IntToStr(TotalLogs), 67) + '||');
end;
begin
if (PowerChop = false)and(WhereToChop = 'DW') then
WriteLn(Padr('|| Willows Chopped: ' + IntToStr(TotalLogs), 67) + '||');
end;
begin
if (PowerChop = false)and(WhereToChop = 'DY') then
WriteLn(Padr('|| Yews Chopped: ' + IntToStr(TotalLogs), 67) + '||');
end;
begin
if (WhereToChop = 'DW')or(PowerChop = True) then
WriteLn(Padr('|| Experience Gained: ' + IntToStr(TotalLogs*65), 67) + '||');
end;
begin
if (PowerChop = False)and(WhereToChop = 'DY') then
WriteLn(Padr('|| Experience Gained: ' + IntToStr(TotalLogs*175), 67) + '||');
end;
WriteLn(Padr('|| Loads Done: ' + IntToStr(Runz), 67) + '||');
WriteLn(Padr('|| AntiBan: ' + IntToStr(AntiBanz), 67) + '||');
WriteLn(Padr('|| AntiRandoms: ' + IntToStr(AntiRandomz), 67) + '||');
WriteLn(Padr('|| Ran For: ' + TimeRunning, 67) + '||');
WriteLn('=====================================================================');
WriteLn('Thanks For Using This Script, Please Post This In The Proper Thread !');
WriteLn('=====================================================================');
SRLRandomsReport;
end;
{=======================}
{Basically FindRoadColor}
{ So Not Mine :) }
{=======================}
function AutoColorD: Integer;
var
GC, a, l, TestColor, Red, Green, Blue : integer;
var
P:array of Tpoint;
begin
GC := 5921889;
Flag;
FindColorsSpiralTolerance(MMCX, MMCY, P, GC, MMX1, MMY1, MMX2, MMY2, 60);
l:=GetArrayLength(P);
for a:= 0 to l-1 do
begin
if rs_OnMinimap(P[a].x,P[a].y) then
begin
TestColor := GetColor(P[a].x,P[a].y);
if SimilarColors(TestColor,GC,60) then
begin
ColorToRGB(TestColor,Red,Green,Blue);
if InRange((Red - Green),5,10) then
if InRange((Red - Blue),4,10) then
if GetColor(P[a].x + 5, P[a].y + 5) = TestColor then
if GetColor(P[a].x + 3, P[a].y + 3) = TestColor then
if GetColor(P[a].x, P[a].y + 5) = TestColor then
if GetColor(P[a].x + 5, P[a].y) = TestColor then
if GetColor(P[a].x, P[a].y + 3) = TestColor then
if GetColor(P[a].x + 3, P[a].y) = TestColor then
if GetColor(P[a].x + 5, P[a].y + 3) = TestColor then
if GetColor(P[a].x + 3, P[a].y + 5) = TestColor then
begin
Result := TestColor;
RoadColor := TestColor;
WriteLn('RoadColor = ' + IntToStr(TestColor));
Exit;
end;
end;
end;
end;
WriteLn('Could not find Road Color!');
Result := 0;
end;
{=======================}
{Basically FindRoadColor}
{ So Not Mine :) }
{=======================}
Function AutoColorG : Integer;
var
GC, a, l, TestColor, Red, Green, Blue : integer;
var
P:array of Tpoint;
begin
GC := 2566186;
Flag;
FindColorsSpiralTolerance(MMCX, MMCY, P, GC, MMX1, MMY1, MMX2, MMY2, 60);
l:=GetArrayLength(P);
for a:= 0 to l-1 do
begin
if rs_OnMinimap(P[a].x,P[a].y) then
begin
TestColor := GetColor(P[a].x,P[a].y);
if SimilarColors(TestColor,GC,60) then
begin
ColorToRGB(TestColor,Red,Green,Blue);
if InRange((Red - Green),5,10) then
if InRange((Red - Blue),4,10) then
if GetColor(P[a].x + 5, P[a].y + 5) = TestColor then
if GetColor(P[a].x + 3, P[a].y + 3) = TestColor then
if GetColor(P[a].x, P[a].y + 5) = TestColor then
if GetColor(P[a].x + 5, P[a].y) = TestColor then
if GetColor(P[a].x, P[a].y + 3) = TestColor then
if GetColor(P[a].x + 3, P[a].y) = TestColor then
if GetColor(P[a].x + 5, P[a].y + 3) = TestColor then
if GetColor(P[a].x + 3, P[a].y + 5) = TestColor then
begin
Result := TestColor;
RoadColor := TestColor;
WriteLn('RoadColor = ' + IntToStr(TestColor));
Exit;
end;
end;
end;
end;
WriteLn('Could not find Road Color!');
Result := 0;
end;
procedure AntiBan;
begin
if(not(LoggedIn))then Exit;
keydown(VK_DOWN);
wait(200+random(125)+random(138));
keyup(VK_DOWN);
wait(random(232));
case random(4) of
0: PickUpMouse;
1: RandomMovement;
2: RandomRClick;
3: BoredHuman;
end;
end;
procedure AntiRandoms;
begin
FindTalk;
if FindNormalRandoms then
FindLamp('woodcutting');
if FindFight then
begin
RunAway('E', True, 1, 5000);
Wait(10000+random(2000));
Inc(AntiRandomz);
end;
end;
procedure FastAntiBan;
begin
if(not(LoggedIn))then Exit;
case random(9) of
0: PickUpMouse;
1: RandomMovement;
2: RandomRClick;
3: BoredHuman;
4: MakeCompass('n');
5: MakeCompass('s');
6: MakeCompass('e');
7: SleepAndMoveMouse(1500+Random(500));
end;
begin
MakeCompass('w');
end;
end;
procedure DropLogs;
begin
if(not(LoggedIn))then Exit;
if (PowerChop = False) then Exit;
begin
LogDTM := DTMFromString('78DA639CCEC4C0C0C9C80002AC0C10E06A27C' +
'12002A441A2FF8180B18F09CA43068C4824909E0354F39701BF9A' +
'8540350204CC990854234A404D3B500D2F01354B816AB8F0AB010' +
'0353C0A3A');
if(FindDTM(LogDTM, X, Y, MIX1, MIY1, MIX2, MIY2))then
begin
LogCount;
if Players[CurrentPlayer].booleans[0] then
for W := 1 to 28 do
DropItem(W);
if not Players[CurrentPlayer].booleans[0] then
for NW := 2 to 28 do
Dropitem(NW);
inc(Runz);
Players[CurrentPlayer].Integers[10] := Players[CurrentPlayer].Integers[10]
+ 1;
end;
end;
end;
procedure Formz;
begin
SRLPlayerForm(True, ['Axe Weilded?'], ['Loads Per Player'], [], []);
end;
procedure FindSomeTalk;
begin
if(not(LoggedIn))then Exit;
if(InChat('woodcutting'))or (InChat('wcing'))or (InChat('lvl'))or (InChat('level')) or (InChat('lvls?')) then
case random(7) of
0: TypeSend(IntToStr(GetSkillLevel(' woodcutting')));
1: TypeSend('Only '+(IntToStr(GetSkillLevel('woodcutting'))+' ... and you?'));
2: TypeSend('too low to say haha');
3: TypeSend('Almost to '+(IntToStr(GetSkillLevel('woodcutting')+ 1)+' :)'));
4: TypeSend('too high to say :)');
5: TypeSend('Ill probly be '+(IntToStr(GetSkillLevel('woodcutting')+ 1)+' in the next hour'));
6: TypeSend('99... hah jk only '+(IntToStr(GetSkillLevel('woodcutting'))));
end;
end;
{========}
{By Nava2}
{========}
function FindBirdNest(var fx, fy: Integer): Boolean;
var
arP, arAP: TPointArray;
arC, arUC: TIntegerArray;
ararP: T2DPointArray;
tmpCTS, i, j, arL, arL2: Integer;
P: TPoint;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.10, 0.40);
if not(FindColorsTolerance(arP, 2832187, MSX1, MSY1, MSX2, MSY2, 11)) then
begin
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;
arC := GetColors(arP);
arUC := arC;
ClearSameIntegers(arUC);
arL := High(arUC);
arL2 := High(arC);
for i := 0 to arL do
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 1.06) and (X <= 8.30) and (Y >= 1.14) and (Y <= 8.78) and (Z >= 0.81) and (Z <= 5.83) then
for j := 0 to arL2 do
if (arUC[i] = arC[j]) then
begin
SetLength(arAP, Length(arAP) + 1);
arAP[High(arAP)] := arP[j];
end;
end;
ararP := SplitTPAEx(arAP, 10, 10);
SortATPAFrom(ararP, Point(MSCX, MSCY));
arL := High(ararP);
for i := 0 to arL do
begin
if (Length(ararP[i]) < 5) then Continue;
P := MiddleTPA(ararP[i]);
MMouse(P.x - 4, P.y - 4, 9, 9);
Wait(100 + Random(100));
if (IsUpText('Take Bird')) then
begin;
Result := True;
Break;
end;
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
GetMousePos(fx, fy);
end;
{=============}
{Also By Nava2}
{=============}
function PickUpBirdsNest : Boolean;
var
x, y, SAngle, TAngle, T : Integer;
begin
Result := False;
if Pos('nest falls', GetBlackChatMessage) = 10 then
begin
Writeln('PickUpBirdsNest : Bird''s Nest has dropped, searching.');
SetAngle(True);
if FindBirdNest(x, y) then
begin
Mouse(x, y, 0, 0, True);
Result := True;
Flag;
end else
begin
SAngle := Round(rs_GetCompassAngleDegrees);
TAngle := SAngle;
MarkTime(T);
repeat
TAngle := TAngle + RandomRange(40, 60);
if TAngle > (SAngle + 360) then
SetAngle(False);
if TAngle > (SAngle + 360 * 2) then
begin
SetAngle(True);
TAngle := SAngle;
end;
MakeCompass(IntToStr(TAngle));
if FindBirdNest(x, y) then
begin
Mouse(x, y, 0, 0, True);
Flag;
Result := True;
Break;
end;
Wait(RandomRange(200, 300));
until (TimeFromMark(T) > 90000) or Result;
if (TimeFromMark(t) > 90000) and not Result then
Writeln('PickUpBirdsNest : Could not find Bird''s nest in 90 seconds.');
MakeCompass(IntToStr(SAngle));
end;
end;
if Result then Writeln('PickUpBirdsNest : Found and picked up Birds Nest.');
end;
procedure RandomGameTab;
begin
if(not(LoggedIn))then Exit;
case gametab(randomrange(1,12)) of
0: begin
if(Random(10) > 5) then
Wait(400+Random(150));
RandomRClick;
Wait(100+Random(100));
end;
1: begin
if(Random(10) > 5) then
Wait(400+Random(150));
PickUpMouse;
Wait(100+Random(100));
GameTab(Random(12));
end;
end;
Inc(AntiBanz);
end;
procedure WTPA; forward;
procedure YTPA; forward;
procedure WalkToW; forward;
Function IsAxeBroken : Boolean; forward;
procedure SetupPlayers;
begin
if (YourSRLID = '')or (YourSRLPW = '') then
begin
WriteLn('Did you know that not following instructions is bad?!')
Wait(60000);
end;
ActivateClient;
if not LoggedIn then LoginPlayer;
MakeCompass('w');
SetAngle(true);
SetRun(true);
FindAxe;
FastAntiBan;
WalkToW;
end;
procedure WalkToBankW; forward;
procedure WalkToBankY; forward;
procedure ChopW; forward;
procedure ChopY; forward;
procedure WalkToW;
begin
if(not(LoggedIn))then Exit;
if (PowerChop) then Exit;
if (WhereToChop = 'DY') then Exit;
Wait(2000);
SetRun(True);
MakeCompass('w');
Disguise('Walking To The Willows...');
begin
if invfull then
MakeCompass('w');
WalkToBankW;
Exit;
begin
MakeCompass('w');
WriteLn('Couldnt Use AutoColorThis...Using WaterWalk');
RadialWalk(FindWaterColor, 260, 350, 60, 5, 5);
Wait(300+Random(200));
ChopW;
begin
if not RadialWalk(FindWaterColor, 260, 350, 60, 5, 5)then
WriteLn('Couldnt Use WaterWalk...Using Symbol');
MakeCompass('w');
LoadSymbolBitmapColor('fish');
Symbolaccuracy :=5;
wait(200+random(154));
if FindSymbol(x,y,'fish')then
wait(500+random(600));
mouse(x,y,2,2,true);
if not FindSymbol(x,y,'fish')then
begin
WriteLn('Couldn''t Find Fish Symbol, Logging Out...');
TerminateScript;
end;
end;
end;
end;
end;
procedure WalkToY;
begin
if(not(LoggedIn))then Exit;
if (PowerChop = True) then Exit;
if (WhereToChop = 'DW') then Exit;
if (WhereToChop = 'DY') then
if (invfull) then Exit;
begin
MakeCompass('e');
MakeCompass('w');
SetRun(True);
Wait(1000+Random(1000));
begin
RadialRoadWalk(AutoColorD, 1, 50, 60, -1, -1);
end;
begin
RadialWalk(FindWaterColor, 1, 30, 69, -1, -1);
end;
begin
RadialWalk(FindRockColor, -340, 50, 60, -1, -1);
end;
begin
Mouse(634, 51, 3, 3, True);
end;
end;
end;
procedure DepositLogs;
begin
if(not(LoggedIn))then Exit;
if (PowerChop = True) then Exit;
if (PowerChop = False) and (WhereToChop = 'DW')or (WhereToChop = 'DY') then
begin
BankLog := DTMFromString('78DA639CCEC4C0C0C9C80002AC0C10E06A27C' +
'12002A441A2FF8180B18F09CA43068C4824909E0354F39701BF9A' +
'8540350204CC990854234A404D3B500D2F01354B816AB8F0AB010' +
'0353C0A3A');
MakeCompass('n');
OpenBank('db',false,false);
Wait(100+Random(100));
if (PinScreen) then
begin
InPin(Players[CurrentPlayer].PIN);
end;
if (BankScreen) then
begin
Disguise('Depositing Logs...');
Wait(500+Random(200));
LogCount;
Report;
if(FindDTM(BankLog, X, Y, MIX1, MIY1, MIX2, MIY2))then
Mouse(x, y, 5, 5, False);
Wait(50+random(50));
ChooseOption('-All');
Wait(50+Random(50));
if Players[CurrentPlayer].booleans[0] then
Deposit(1,28, True);
if not Players[CurrentPlayer].booleans[0] then
Deposit(2, 28, True);
MakeCompass('w');
FreeDTM(BankLog);
CloseBank;
MakeCompass('w');
Players[CurrentPlayer].Integers[10] := Players[CurrentPlayer].Integers[10]
+ 1;
end;
end;
end;
{============================}
{Credits To WT-Fakawi And Ron}
{ Some Edited By Me }
{============================}
procedure DWalk(TheBank: string);
var
bx, by, TheDTM: Integer;
WhichAngle: Extended;
begin
TheBank := LowerCase(TheBank);
case TheBank of
'feb': TheDTM := DTMFromString('78DA63AC67626088634001FFFFFD63F80FA41' +
'9416C2060AC01AA4987C83141D5FCF9C3C4C0055503028CAD44A8' +
'E924AC0600131E11B5');
'fwb': TheDTM := DTMFromString('78DA636C676260086540038C0CFFC12403C37' +
'F206004A98986C8304155FCF9C3C4C0055503D6D14C849A6EC26A' +
'009F5A0EA1');
'db': TheDTM := DTMFromString('78DA636C67626008644001FFFFFD63F80FA41' +
'9416C2060AC01AAF182C8B140D5FCF9C304A619A17CB09A204C35' +
'22E86AC2F09B0300F8811153');
'veb': TheDTM := DTMFromString('78DA63EC61626008624001FFFFFD63F80FA41' +
'9416C2060EC00AA8982C83141D5FCF9C3C4C0055503028C138850' +
'D343580D00122211A9');
'vwb': TheDTM := DTMFromString('78DA63EC606260B066C000FF819811440301E' +
'354A01A3B88381354FECF1F260611A81A1000AB3125428D2E7E35' +
'0087F80E5E');
'akb': TheDTM := DTMFromString('78DA636C606260F06140019D9D710CFF81342' +
'310FF0702C652A01A37881C1354CD9F3F4C0C5C5035200056E345' +
'841A3FFC6A002A3B0F97');
else
begin
srl_Warn('FindBank', 'Invalid bank name', warn_Warning);
Exit;
end;
end;
if FindDtmRotated(TheDTM, bx, by, MMX1, MMY1, MMX2, MMY2, Radians(-30), Radians(30), 0.05,
WhichAngle) then
begin
Mouse(bx, by+17, 2, 2, True);
FFlag(0);
MakeCompass('N');
FreeDTM(TheDTM);
end;
end;
Function IsAxeBroken : Boolean;
begin
try
If Not GetColor(585, 220) = 65536 Then Exit Else
if Players[CurrentPlayer].booleans[0] then
begin
Gametab(5);
MMouse(x+587, y+300, 1, 1);
If IsUpText('roke') Then
Result := True;
Mouse(x+587, y+300, 1, 1, False);
ChooseOption('emove');
end;
begin
if not Players[CurrentPlayer].booleans[0] then
MMouseItem(1);
If IsUpText('roke') Then
Result := True;
WalkToBankW;
end;
except
WriteLn('Axe Not broken');
finally
Exit;
end;
end;
Procedure WalkToBankW;
begin
if(not(LoggedIn))then Exit;
if (PowerChop = True) then Exit;
if (WhereToChop = 'DY') then Exit;
begin
if (invfull)then
try
begin
Disguise('Walking To Bank...');
DWalk('db');
Wait(800+Random(200));
DepositLogs;
end;
except
begin
if not FindSymbol(x, y, 'bank') then
WriteLn('Couldn''t Find Bank, Logging Out');
Report;
LogOut;
NextPlayer(False);
if FindSymbol(x, y, 'bank') then
Wait(200+Random(100));
Mouse(x, y, 5, 5, True);
Disguise('Walking To Bank...');
WriteLn('Couldnt Properly Walk, Using Symbols');
Wait(800+Random(200));
DepositLogs;
end;
End else
writeln(' ');
end;
end;
Procedure WalkToBankY;
begin
if(not(LoggedIn))then Exit;
if (PowerChop = True) then Exit;
if (WhereToChop = 'DW') then Exit;
if (invfull) then
begin
Disguise('Walking To Bank...');
SetRun(True);
Wait(1000+Random(1000));
MakeCompass('w');
RadialWalk(FindRoadColor,150,180,69,-1,-1);
end;
begin
RadialWalk(FindRockColor,270,180,65,-1,-1);
end;
begin
Mouse(572, 86, 3, 3, True);
FFlag(8);
end;
begin
RadialRoadWalk(AutoColorD, 260, 280, 60, -1, -1);
end;
begin
RadialRoadWalk(AutoColorG, 90, 280, 70, -1, -1);
inc(Runz);
end;
end;
procedure ChopW;
begin
if (WhereToChop = 'DY') then Exit;
if not FindObjTPA(x, y, 6391421, 10, 20, 10, 10, 1,['hop','illow'])then
RadialWalk(FindWaterColor, 260, 350, 60, 5, 5);
repeat
repeat
repeat
if FindObjTPA(x, y, 6391421, 10, 20, 10, 10, 1,['hop','illow'])then
WTPA;
FindEnt(x,y, True);
Case random(2) of
0 : begin
FindEnt(x,y, True);
if IsUpText('hop') then
begin
Mouse(x, y, 2, 2, False);
Disguise('Chopping Willows...');
Wait(300 + Random(243));
ChooseOption('hop');
Wait(5000 + Random(1854));
RandomGameTab;
FindEnt(x,y, True);
PickUpBirdsNest;
if FindObjTPA(x, y, 6391421, 10, 20, 10, 10, 1,['hop','illow'])then
FindEnt(x,y, True);
Mouse(x, y, 2, 2, True);
end;
end;
1 : begin
FindEnt(x,y, True);
if IsUpText('hop') then
begin
Mouse(x, y, 2, 2, True);
Disguise('Chopping Willows...');
Wait(300 + Random(243));
ChooseOption('hop');
RandomGameTab;
FindEnt(x,y, True);
AntiRandoms;
FindBirdsNest;
Wait(5000 + Random(1976));
end;
end;
end;
until invfull;
until(Players[CurrentPlayer].Integers[0] >= Players[CurrentPlayer].Integers[0]);
SetupPlayers;
if (PowerChop) then
begin
DropLogs;
end else
Exit;
until(Players[CurrentPlayer].Integers[0] >= Players[CurrentPlayer].Integers[0]);
end;
procedure ChopY;
begin
if (WhereToChop = 'DW') then Exit;
if (PowerChop) then Exit;
if (invfull)then Exit;
repeat
repeat
repeat
if FindObjTPA(x, y, 2247262, 10, 20, 10, 10, 1,['alk here / 1 more option','ore'])then
Mouse(x, y, 1, 1, False);
Wait(400+Random(1000));
if ChooseOption('tump')then
begin
AntiRandoms;
Case random(2) of
0 : begin
BoredHuman;
Wait(5000+Random(800));
end;
1 : begin
RandomRClick;
Wait(4000+Random(1800));
end;
end;
FastAntiBan;
Case random(2) of
0 : begin
RandomGameTab;
Wait(5600+Random(200));
end;
1 : begin
BoredHuman;
Wait(5000+Random(800));
end;
end;
end;
if FindObjTPA(x, y, 6391421, 10, 20, 10, 10, 1,['ew','ew'])then
YTPA;
FindEnt(x,y, True);
Case random(2) of
0 : begin
FindEnt(x,y, True);
if IsUpText('ew') then
begin
Mouse(x, y, 2, 2, False);
Disguise('Chopping Yews...');
Wait(300 + Random(243));
ChooseOption('hop');
Wait(5000 + Random(1854));
RandomGameTab;
FindEnt(x,y, True);
PickUpBirdsNest;
if FindObjTPA(x, y, 3165511, 10, 20, 10, 10, 1,['ew','ew'])then
FindEnt(x,y, True);
Mouse(x, y, 2, 2, True);
end;
end;
1 : begin
FindEnt(x,y, True);
if IsUpText('ew') then
begin
Mouse(x, y, 2, 2, True);
Disguise('Chopping Yews...');
Wait(300 + Random(243));
ChooseOption('hop');
RandomGameTab;
FindEnt(x,y, True);
AntiRandoms;
FindBirdsNest;
Wait(5000 + Random(1976));
end;
end;
end;
until invfull;
begin
WalkToBankY;
end;
until(Players[CurrentPlayer].Integers[0] >= Players[CurrentPlayer].Integers[0]);
SetupPlayers;
until(Players[CurrentPlayer].Integers[0] >= Players[CurrentPlayer].Integers[0]);
end;
procedure WTPA;
var
D1TPA : TPointArray;
D1Point : TPoint;
begin
if (WhereToChop = 'DY') then Exit;
FindColorsTolerance(D1TPA, 6391421, MSx1, MSy1, MSx2, MSy2, 5);
if Length(D1TPA) = 0 then FindColorsTolerance(D1TPA, 6391421, MSX1, MSY1, MSX2, MSY2, 5);
for d := 1 to Low(D1TPA)do
begin
D1Point := D1TPA[d]
MMouse (D1Point.x, D1Point.y, 1, 1);
if (IsUpTextMultiCustom(['hop', 'illow'])) then
begin
GetMousePos(x, y);
Mouse(x, y, 3, 3, True);
Wait(5500+random(250));
end;
Wait(5500+random(350));
end;
end;
procedure YTPA;
var
D1TPA : TPointArray;
D1Point : TPoint;
begin
if (WhereToChop = 'DW') then Exit;
FindColorsTolerance(D1TPA, 3165511, MSx1, MSy1, MSx2, MSy2, 5);
if Length(D1TPA) = 0 then FindColorsTolerance(D1TPA, 3165511, MSX1, MSY1, MSX2, MSY2, 5);
for d := 1 to Low(D1TPA)do
begin
D1Point := D1TPA[d]
MMouse (D1Point.x, D1Point.y, 1, 1);
if (IsUpTextMultiCustom(['ew', 'ew'])) then
begin
GetMousePos(x, y);
Mouse(x, y, 3, 3, True);
Wait(5500+random(250));
end;
Wait(5500+random(350));
end;
end;
procedure MainLoop;
begin
repeat
repeat
WalkToW;
WalkToY;
FindSomeTalk;
ChopW;
ChopY;
AntiRandoms;
FindSomeTalk;
DropLogs;
WalkToBankW;
WalkToBankY;
LogCount;
Report;
DepositLogs;
until (Players[CurrentPlayer].Integers[10] >= Players[CurrentPlayer].Integers[0])
begin
NextPlayer(False);
SetupPlayers;
end;
If AllPlayersInactive then Break;
until(AllPlayersInactive);
Report;
WriteLn('All Players Inactive');
end;
begin
SetUpSRL;
ScriptID := '1097';
SRLID := YourSRLID;
SRLPassword := YourSRLPW;
Formz;
SymbolAccuracy := 0.45;
SetupPlayers;
repeat
MainLoop;
until(false);
SendSRLReport;
end.——————————————————
<!– END TEMPLATE: formanswers –>