coe12
2007-10-31 15:04:55
<!– BEGIN TEMPLATE: formanswers –>
coe12 - SRL Member Application Form
coe12
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
Programming Knowledge
i no java
Other Communitys
BH edgeville cutter
How Long have You Played Runescape
3 half years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
hey im george coe im 18 i played runescpae for 3 half years i gt about 4 acounts on runescpae mina 1s and about 10 lvl 20+ for autoing it awesome i write some of my own scrips liek talking 1's and things but my computer gt whiped -.- making new 1 now tho lving dis site thx have worked for jagex ltd but did not like it..as not very good pay
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
——————————————————
<!– END TEMPLATE: formanswers –>
coe12 - SRL Member Application Form
coe12
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
Programming Knowledge
i no java
Other Communitys
BH edgeville cutter
How Long have You Played Runescape
3 half years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
hey im george coe im 18 i played runescpae for 3 half years i gt about 4 acounts on runescpae mina 1s and about 10 lvl 20+ for autoing it awesome i write some of my own scrips liek talking 1's and things but my computer gt whiped -.- making new 1 now tho lving dis site thx have worked for jagex ltd but did not like it..as not very good pay
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
program RogerukOakBanker;
{.include SRL/SRL.scar}
{.include SRL/SRL/skill/WoodCutting.scar}
var
success,x,axedtm,l,nobooth,Levels,users,y,oaklogdtm,aoaklogs,trys:Integer;
CurrentWCLevel,BeginWCLevel,TotalLoadsC,TotalOaks,starttime:Integer;
oakexp: extended;
const
YourSRLId = '';
YourSRLpass = '';
Debug = false;
procedure DeclarePlayers;
begin
HowManyPlayers := 4;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Users:= HowManyPlayers;
Players[0].Name := ''; //Account's name
Players[0].Pass := ''; //Account's pass
Players[0].Nick := ''; //Nick 3-4 letters (NO Caps!)
Players[0].Loc := 'Bank'; //At Bank or Tree?
Players[0].Skill := 'Woodcutting'; //Skill
Players[0].Active := True; //Active?
Players[1].Name := ''; //Account's name
Players[1].Pass := ''; //Account's pass
Players[1].Nick := ''; //Nick 3-4 letters (NO Caps!)
Players[1].Loc := 'Bank'; //At Bank or Tree?
Players[1].Skill := 'Woodcutting'; //Skill
Players[1].Active := False; //Active?
Players[2].Name := ''; //Account's name
Players[2].Pass := ''; //Account's pass
Players[2].Nick := ''; //Nick 3-4 letters (NO Caps!)
Players[2].Loc := 'Bank'; //At Bank or Tree?
Players[2].Skill := 'Woodcutting'; //Skill
Players[2].Active := False; //Active?
Players[3].Name := ''; //Account's name
Players[3].Pass := ''; //Account's pass
Players[3].Nick := ''; //Nick 3-4 letters (NO Caps!)
Players[3].Loc := 'Bank'; //At Bank or Tree?
Players[3].Skill := 'Woodcutting'; //Skill
Players[3].Active := False; //Active?
NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
end;
Procedure BMP;
begin
oaklogdtm := DTMFromString('78DA63CC66626078CA800272820C197418191' +
'88088E13F10302601D5DC6540038C4824904E06AA794B404D1A50' +
'CD47026AAA806A5E1350530654F388809A52A09A9BF8D50000827' +
'30E7C');
axedtm := DTMFromString('78DA634C616060706640010E0E09609A11CA6' +
'74C07121EA86A92843950D5C40009475435D9FEBCA86AC2804424' +
'AA9AAA682C6A82D1DCA3C780AA261ED3AE690502286A00B843088' +
'2');
end;
procedure Setup;
begin
SetupSRL;
SetupWoodcutting;
ScriptID := '261';
BMP;
L:=0;
nobooth:=0;
DeclarePlayers;
SRLID := YourSRLId;
SRLPassword := YourSRLPass;
if (SRLID = '') or (SRLPassword = '') then
begin
ClearDebug;
Writeln('SRL Stats ID not found. Please register.');
Wait(1000);
Writeln('Loading registration page...');
Wait(1000);
OpenWebPage('http://stats.srl-forums.com/index.php?action=register');
TerminateScript;
end;
ClearDebug;
end;
procedure PlayerReport;
var
i : Integer;
Active : String;
begin
Writeln('[-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=]');
Writeln(' ');
for i := 0 to HowManyPlayers - 1 do
begin
if Players[i].Active=True then Active:='T' else Active:='F';
Writeln ( IntToStr(i) + ' : '
+Players[i].Nick+' = '
+Active+' - '
+'Oaks chopped: '+IntToStr(Players[i].Integers[0])+'. '
+'Loads: '+IntToStr(Players[i].Integers[1])+'. '
+'Location: '+Players[i].Loc);
end;
Writeln(' ');
Writeln('[-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=]');
end;
procedure ProgressReport;
begin
if not LoggedIn then Exit;
oakexp:=37.5*TotalOaks;
Writeln(' ');
Writeln('[-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=]');
Writeln('| Rogeruks Oak Banker 2.9');
WriteLn('| ' + Players[CurrentPlayer].Name+'.');
Writeln('| Woodcutting Level: ' + IntToStr(CurrentWCLevel));
Writeln('| Worked for: ' + TimeRunning);
Writeln('| Banked: ' + IntToStr(TotalLoadsC) + ' times.');
Writeln('| Chopped: ' + IntToStr(TotalOaks) + ' oaks in total');
Writeln('| Total EXP: ' + FloatToStr(oakexp));
Writeln('| Gained: ' +IntToStr(Levels)+ ' woodcutting levels');
Writeln('[-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=]');
Writeln(' ');
Players[CurrentPlayer].Integers[0]:= 0 + Players[CurrentPlayer].Integers[0] + TotalOaks;
Players[CurrentPlayer].Integers[1]:= 0 + Players[CurrentPlayer].Integers[1] + TotalLoadsC;
PlayerReport;
end;
procedure CheckLevel;
begin
CurrentWCLevel := GetSkillLevel('Woodcutting');
Levels:=CurrentWCLevel- BeginWCLevel;
end;
function CountItemDTMA(DTM: Integer): Integer;//Based off of the
var //one in srl for bmps
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 RotateOrigin(RotAng : Double; x, y : Double; Var Nx, Ny : Double);
var
SinVal : Double;
CosVal : Double;
begin
SinVal := Sin(RotAng);
CosVal := Cos(RotAng);
Nx := x * CosVal - y * SinVal;
Ny := y * CosVal + x * SinVal;
end;
//--------------------------------------------------------------------------//
//----[ Rotate - Rotates x,y around ox, oy ]---->
//--------------------------------------------------------------------------//
Procedure Rotate(RotAng : Double; x, y, ox, oy : Double; Var Nx, Ny : Integer);
var
newX, newY : double;
begin
RotateOrigin(RotAng, x - ox, y - oy, newx, Newy);
Nx := round(Newx + ox);
Ny := round(Newy + oy);
end;
Function NoContinueOn: Boolean;
var i, P: Integer;
begin
P := 0;
For i:=0 to HowManyPlayers - 1 do
Begin
If(Players[i].Active = False) Then
P := P + 1;
end;
If(P = HowManyPlayers) Then
Result := True;
end;
Procedure NoMorePlayers;
begin
if(NoContinueOn = True) then
begin
WriteLn(TheTime + ' All players are inactive.');
SendSRLReport;
TerminateScript;
end;
end;
function FindAxeA: Boolean; //Modded SRL version
var
InvAxe, WieldAxe, Ix, Iy: Integer;
dtmAxes: array[0..1] 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]);
if(debug=true)then
begin
writeln('Found axe');
end;
end;
end;
procedure checkaxe;
begin
if not LoggedIn then Exit;
if(FindAxeA = false)then
begin
writeln('No axe. Logging out');
Players[CurrentPlayer].Active := False;
Logout;
Exit;
end;
end;
function FindObjExA(var x, y: Integer; ObjText: string; x1, y1, x2, y2, Color,
tol, MinXDist, MinYDist, WaitPerCheck: Integer; Spiral: Boolean): Boolean;
var
Points: TPointArray;
I, Ci, n: Integer;
begin
if (Spiral) then
FindColorsSpiralTolerance(x, y, Points, Color, x1, y1, x2, y2, tol)
else
FindColorsTolerance(Points, Color, x1, y1, x2, y2, tol);
ci := 0;
n := GetArrayLength(Points);
for I := 1 to n - 1 do
begin
if (Distance(Points[ci].x, 0, Points[i].x, 0) >= MinXDist) and
(Distance(0, Points[ci].y, 0, Points[i].y) >= MinYDist) then
ci := I
else
begin
Points[I].x := 0;
Points[I].y := 0;
end;
end;
for i := 0 to n - 1 do
begin
if (Points[i].x <> 0) then
begin
MMouse(Points[i].x, Points[i].y, 8, 8);
Wait(WaitPerCheck); //adjust wait length for computer speed
if (IsUpText(ObjText)) then
begin
Result := True;
Break;
end;
end;
end;
if (Result) then
begin
x := Points[i].x;
y := Points[i].y;
end;
end;
procedure SOSAntiBan;
begin
case random(20) of
3, 9, 15 : HoverSkill('woodcutting',false);
1, 5, 18, 20 : MMouse(MSX1, MSY1, MSX2, MSY2);
else
FTWait(4+random(2))
end;
end;
procedure Counting;
begin
if not LoggedIn then Exit;
aoaklogs:=CountItemDTMA(oaklogdtm);
writeln('Count: ' +IntToStr(aoaklogs));
end;
Procedure OpenBankBooth;
var
x, y, BoothDTM, QBankDTM : integer;
z : extended;
begin
QBankDTM := DTMFromString('78DA63FCCBC0C070890105FCFFFF1F4C33023' + '11788E603B2AEE15603A69F301056F31C489C23A04601C8BACC80' + '15C0D59803596719D00D4255E38FE9E6D810775435518C187EC73' + '0470BC8BA45C0CD6C44A879C880E1667435001FFF2803');
BoothDTM := DTMFromString('78DA6364666460A8634001D5B9610C22401A2' + '8C3F01F08185981AC62543556A6A60C1A503520C0F8074814A0AA' + 'F1B7E1809B0356C3C348580D1FA67BEA0A2251D5FC021235A86A5' + 'A4AC231D5B4A3AA494888467533C83DAD686A224251D53001597D' + '04DCFC9381B01A3E22CC6103B2BA08B8E73F90E8C4AF060048511' + 'CE0');
x:= 600;
y:= 100;
if findDTMRotated(BoothDTM, x, y, 0, 0, 514, 336, 0, 360, 0.5, z)then
begin
mouse(x, y, 10, 10, false);
wait(500 + random(500));
if findDTM(QBankDTM, x, y, x - 200, y - 200, x + 200, y + 200)then
begin
mouse(x - 20, y - 2, 80, 4, true);
CountFlag(0);
wait(1000 + random(1500));
end;
if not getcolor(249, 40) = 2070783 then
exit;
status('Found booth successfully');
begin
Counting;
begin
Deposit(2, 28, 2);
end;
end;
repeat
CloseBank;
wait(500 + random(500));
until (not BankScreen);
success := success + 1
nobooth:=0;
end
else
begin
if nobooth > 5 then exit;
writeln('Omg error with finding booth!');
nobooth:=nobooth+1;
aoaklogs:=0;
wait(500+random(750));
OpenBankBooth;
end;
end;
function LoadOakDTM(tolerancelevel : integer) : integer;
begin
case tolerancelevel of
1:Result := DTMFromString('78DA635CC1C4C010CB00068C108A4125808D8' +
'10BCAFF0F048CDB816AA270AB018BAF04AAF120A0E618508D2B7E' +
'3500B3D90A33');
2:Result := DTMFromString('78DA635CCCC4C090C400068C108A412E41988' +
'10BCAFF0F048C4B816A7C71AB018B6F00AA8927A0E620508D377E' +
'3500C7850A8F');
3:Result := DTMFromString('78DA635CC1C4C010CB00068C108A4125808D4' +
'104CAFF0F048CDB816AA270AB018BAF04AAF120A0E618508D2B7E' +
'3500BE290A5B');
4:Result := DTMFromString('78DA635CCCC4C090C400068C108A412E41984' +
'104CAFF0F048C4B816A7C71AB018B6F00AA8927A0E620508D377E' +
'3500D1D50AB7');
5:Result := DTMFromString('78DA635CC1C4C010CB00068C108A4125808D4' +
'112CAFF0F048CDB816AA270AB018BAF04AAF120A0E618508D2B7E' +
'3500C3510A6F');
6:Result := DTMFromString('78DA635CCCC4C090C400068C108A412E41984' +
'112CAFF0F048C4B816A7C71AB018B6F00AA8927A0E620508D377E' +
'3500D6FD0ACB');
7:Result := DTMFromString('78DA635CC1C4C010CB00068C108A4125808D4' +
'119CAFF0F048CDB816AA270AB018BAF04AAF120A0E618508D2B7E' +
'3500CDA10A97');
8:Result := DTMFromString('78DA635CCCC4C090C400068C108A412E41984' +
'119CAFF0F048C4B816A7C71AB018B6F00AA8927A0E620508D377E' +
'3500E14D0AF3');
end;
end;
function OakDtmTest(var x, y : integer; whatangle : extended) : boolean;
var
oakmm:Integer;
begin
wait(200+random(150));
oakmm := DTMFromString('78DA635CC9C4C010C400062C108A21CD9C970' +
'128CAC008C4FF8180710A90E78CAAE6F9B737609A11CA07AB0922' +
'424D1C7E3500020810CE');
if FindDTMRotated(oakmm, x, y, MMX1, MMY1, MMX2, MMY2, 340, 380, 0.5, WhatAngle)then
begin
writeln('Found !!');
result := true;
end;
end;
function FindOakDtms(var x, y : integer; whatangle : extended) : boolean;
var
i : integer;
begin
if not LoggedIn then Exit
result := false;
for i := 1 to 8 do
begin
if FindDTMRotated(LoadOakDTM(i), x, y, MMX1, MMY1, MMX2, MMY2, 340, 380, 0.5, WhatAngle)then
begin
result := true;
writeln('Found using dtm with a tolerance level of ' + inttostr(i));
break;
end;
wait(150 + random(50));
end;
if(result = false)then
begin
Logout;
Exit;
NextPlayer(false);
end;
end;
Procedure WalkToBank;
var
x, y, xs, ys, BankersDTM, trytime : integer;
z : extended;
resetcolors : boolean;
Label Retry;
begin
if not LoggedIn then Exit;
Status('Banking');
trys := trys + 1;
BankersDTM := DTMFromString('78DA630C676260F06540017FFE30318800694' + '61806A909C5AD8601A626928039FE44A80906AA094255931E9FC0' + 'A0816C5728504D1C7E3500D5740EF0');
Retry :
MakeCompass('N');
SetRun(true);
wait(500 + random(500));
if random(3) = 0 then
SetRun(true);
MarkTime(trytime);
while(not FindDTMRotated(BankersDTM, x, y, 556, 0, 764, 179, 0, 360, 0.5, z)) and (timefrommark(trytime) < 30000) do
begin
if not LoggedIn then exit;
wait(50)
status('Error, can''t find bank. Resetting minimap to fix this')
case random(2)of
0 : Makecompass('S');
1 : MakeCompass('E');
2 : MakeCompass('W');
end
wait(500 + random(300))
MakeCompass('N');
wait(1000 + random(500));
FindNormalRandoms;
end;
if timefrommark(trytime) > 10000 then
begin
if resetcolors then
begin
Players[CurrentPlayer].Active := false;
resetcolors := false;
Logout;
Writeln('Relogin failed. Player "' + players[currentplayer].Name + '" has been lost.');
exit;
end else
begin
writeln('Attempting Relogin to fix minimap colors.');
resetcolors := true;
Logout;
LoginPlayer;
Goto Retry;
end;
end;
wait(200 + random(200));
Rotate(z, x + 12, y + 10, x, y, xs, ys);
Mouse(xs, ys, 3, 3, true);
makecompass('W');
HighestAngle;
CountFlag(0);
freedtm(BankersDTM);
end;
Procedure OpenBankSheepStyle;
begin
if not LoggedIn then Exit;
WalkToBank;
wait(100+random(125));
OpenBankBooth;
end;
Procedure WalkToOak2;
var
xx, yy:integer;
whatangle : extended;
begin
if not LoggedIn then Exit;
SetRun(true);
Status('Walking: Bank -> Oak tree 2');
makecompass('N');
if(OakDtmTest(xx, yy, WhatAngle))then
begin
Rotate(whatangle, xx, yy, xx, yy, xx, yy);
MouseFindFlag(xx, yy, 1, 1);
wait(300+random(350));
CountFlag(0);
end else
begin
writeln('Cannot find oaks!!');
terminatescript;
end;
end;
Procedure WalkToOak;
var
xx, yy, TryTime : integer;
found : boolean;
whatangle : extended;
begin
if not LoggedIn then Exit;
SetRun(true);
Status('Walking: Bank -> Oak tree');
//AntiRandom;
makecompass('N');
MarkTime(trytime);
found:=false;
while(not FindOakDtms(xx, yy, WhatAngle)) and (timefrommark(trytime) < 10000) do
begin
if not LoggedIn then
exit;
//FindFastRandoms;
wait(50)
status('Error, can''t find oaks. Resetting minimap to fix this');
keydown(VK_LEFT);
wait(random(1000));
keyup(VK_LEFT);
wait(random(1000));
keydown(VK_RIGHT);
wait(random(1000));
keyup(VK_RIGHT);
wait(1100 + random(300))
MakeCompass('N');
wait(500 + random(1000));
end;
if timefrommark(trytime) < 10000 then
found := true;
if not found then
begin
Logout;
Players[CurrentPlayer].Active := False;
Writeln('Got lost while trying to find oak tree on map.');
exit;
end;
writeln('Found oaks in ' + inttostr(timefrommark(trytime)) + 'ms.');
Rotate(whatangle, xx, yy, xx, yy, xx, yy);
MouseFindFlag(xx+10, yy+2, 1, 1);
wait(500+random(130));
Flag;
wait(600+random(350));
end;
function FindEntA(fx, fy: Integer): Boolean;
var
arUpTextEntColorPoints: TPointArray;
x, y, tcts: Integer;
begin
GetMousePos(x, y);
if(x <> fx)or(y <> fy)then
MMouse(fx, fy, 0, 0);
if(IsUpText('Oak'))then
begin
tcts := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorspeed2Modifiers(0.4, 0.4);
//FindColorsTolerance(arUpTextEntColorPoints, 51657, 80, 6, 127, 20, 5);
FindColorsTolerance(arUpTextEntColorPoints, 56026, 85, 8, 110, 20, 8);
Result := Length(arUpTextEntColorPoints) > 10;
ColorToleranceSpeed(tcts);
end;
if(Result)then
begin
WriteLn('Ent Found!!');
Writeln('Waiting for it to go away.');
OpenBankSheepStyle;
wait(100+random(350));
WalkToOak;
wait(2500+random(950));
EntsAvoided := EntsAvoided + 1;
end;
end;
//--------------------------------------------------------------------------//
//----[ TreeAt - Checks for a large range of lum in area around xpos, ypos ]---->
//--------------------------------------------------------------------------//
function TreeAt(var xpos, ypos:integer) : boolean;
var cx, cy:integer;
h,s, l, ssmin, ssmax:extended;
begin
ssmax := 0;
ssmin := 100;
for cx := xpos - 2 to xpos + 2 do
for cy := ypos - 2 to ypos + 2 do
begin
ColortoHSL(getcolor(cx, cy), h, s, l);
if l > ssmax then ssmax := l;
if l < ssmin then ssmin := l;
end;
result := round(ssmax - ssmin) > 5;
end;
//--------------------------------------------------------------------------//
//----[ FindTreeMiddle - Find the middle of the tree at cx, cy and returns the radius ]---->
//--------------------------------------------------------------------------//
Procedure FindTreeMiddle(var cx, cy, radius :integer);
var UpX, DownX, UpY, DownY, count : integer;
begin
for count := 1 to 3 do
begin
UpX := cx;
DownX := cx;
repeat
UpX := UpX + 3;
until (not TreeAt(UpX, cy)) or (UpX > 515);
radius := UpX - cx;
cx := upx;
repeat
DownX := DownX - 3;
until (not TreeAt(DownX, cy)) or (DownX < 4);
cx := (UpX + DownX) div 2;
UpY := cy;
DownY := cy;
repeat
UpY := UpY + 3;
until (not TreeAt(cx, UpY)) or (UpY > 337);
if (UpY - cy) < radius then radius := UpY - cy;
repeat
DownY := DownY - 3;
until (not TreeAt(cx, DownY)) or (DownY < 4);
cy := (UpY + DownY) div 2;
end;
end;
function SLFindMiddleOfTree(var ax, ay: Integer; tColor: Integer): Boolean;
var rad, size : integer;
begin
if(FindColorSpiralTolerance(ax, ay, tColor, ax - 5, ay - 5, ax + 5, ay + 5, 70))and
(LoggedIn)then
begin
result := true;
FindTreeMiddle(ax, ay, size);
rad := random(250);
size := random(size) div 2;
Rotate(rad, ax+size, ay, ax, ay, ax, ay);
end;
end;
Function FindFastRandoms: Boolean; // By WT-Fakawi.
Var
i: Integer;
Begin
if not LoggedIn then Exit;
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';
Players[CurrentPlayer].Active := False;
Logout;
Exit;
End;
End;
8 : RC;
9: If FindTalk Then
Result := True;
10: If FindCerter Then
Result := True;
11: If FindFight Then
Begin
Result := True;
WalkToBank;
wait(1000+random(650));
WalkToOak;
End;
End;
Wait(1);
End;
End;
procedure AntiRandom;
begin
if not LoggedIn then Exit;
FindFastRandoms;
FindNormalRandoms;
FindLamp('Woodcutting');
SolvePinball;
end;
procedure ChopOak;
var
fx,fy,i,treegone,treecol:Integer;
begin
if not LoggedIn then Exit
if InvFull then exit;
status('Starting to look for oak tree');
MakeCompass('N');
//4285541
If (FindObjExA(x,y,'Oak',273,58,418,271,4285541,0,7,7,300,false))then
begin
if(debug=true)then writeln('Found the tree Obj');
SLFindMiddleOfTree(x,y,4285541);
if IsUpText('Oak')then
begin
fx := x;
fy := y;
MMouse(x,y,5,5);
if(FindEntA(x,y))then exit;
Mouse(x,y,0,0,true);
treecol:=getcolor(x,y);
if(debug = true)then writeln('Clicked tree');
wait(750+random(350));
if(FindEntA(x,y))then exit;
AntiRandom;
end;
CountFlag(0);
MarkTime(i);
wait(100+random(80));
end;
while(FindColorSpiralTolerance(x,y,treecol,fx-12,fy-12,fx+12,fy+12,1)) and (TimeFromMark(i) < 7000 + random(2000)) and (InvFull = false)do
begin
status('Chopping Tree..');
wait(300+random(350));
AntiRandom;
if FindFight then Exit;
SOSAntiBan;
end;
MarkTime(treegone);
repeat
status('Waiting for tree to respawn');
FTWait(16+random(2));
MMouse(MSX1, MSY1, MSX2, MSY2);
if FindFight then Exit;
until(timefrommark(treegone) > 6500) or InvFull or (FindColorSpiralTolerance(x,y,treecol,fx-12,fy-12,fx+12,fy+12,1));
end;
begin
Setup;
ActivateClient;
if not LoggedIn then LoginPlayer;
SetChat('Friends',1);
SetChat('Off',2);
SetChat('On',3);
wait(2000+random(350));
marktime(starttime);
checkaxe;
repeat
BeginWCLevel := GetSkillLevel('Woodcutting');
HighestAngle;
WalkToOak;
repeat
ChopOak;
until (InvFull) or (not LoggedIn)
OpenBankSheepStyle;
TotalLoadsC := TotalLoadsC + 1;
TotalOaks:= TotalOaks + aoaklogs;
Banks := Banks + 1;
ReportVars[0] := ReportVars[0] + aoaklogs;
CheckLevel;
ProgressReport;
SRLRandomsReport;
aoaklogs:=0;
checkaxe;
wait(50+random(120));
if(not LoggedIn) and (NoContinueOn = false)then
begin
NextPlayer(Players[CurrentPlayer].Active);
TotalLoadsC:=0;
TotalOaks:=0;
aoaklogs:=0;
end;
until(NoContinueOn);
end.——————————————————
<!– END TEMPLATE: formanswers –>