Code:
program CutNSell;
{.include srl/srl.scar}
{.include srl/srl/skill/woodcutting.scar}
{ By Jahuro
Cuts and sells logs in lumbridge.
V2.5
Thanks to JAD, Hobbit
and ~alex~ }
/////////////////////////////////////////////////
////////////////////{SETUP}//////////////////////
/////////////////////////////////////////////////
const
Color = 2132088;
TreeTime = 2000; {Time it takes to cut Oak}
ShopKeep = 2971004; {Color of shop keeper}
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := 'rock gholem';
Players[0].Pass := 'eminem';
Players[0].Nick := 'roc';
Players[0].Active := True;
end;
/////////////////////////////////////////////////
/////////////////////////////////////////////////
var LogDTM, crossbmp, WoodLoads, i: Integer;
function FindFastRandoms: Boolean;
begin
for i := 1 to 16 do
begin
case I of
1: CloseWindow;
2: if FindTalk then
Result := True;
3: if FindDead then
Result := True;
4: if FindMod then
Result := True;
5: if FindMime then
Result := True;
6: if FindMaze then
Result := True;
7: if FindQuiz then
Result := True;
8: if FindDemon then
Result := True;
9: if FindScapeRune then
Result := True;
10: if FindTalk then
Result := True;
11: if FindLamp(LampSkill) then
Result := True;
12: if (FindNewBox) then
begin
Result := True;
if (UseBoxSolver) then
SolveBox
else
GambleNewBox;
end;
14:
begin
if NoGameTab then
begin
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
end;
end;
16: if RC then
Result := True;
end;
Wait(1);
end;
end;
/////////////////////////////////////////////////
/////////////////////////////////////////////////
procedure TheAntiBan;
begin
RotateEvery(1 + random(4));
RandomChatEvery(2 + random(4));
RandomRClickEvery(3 + random(4));
LeaveScreenEvery(1 + random(4));
AntiBan;
end;
/////////////////////////////////////////////////
/////////////////////////////////////////////////
procedure Report;
begin
Writeln('[]-------------------------------------------[]');
Writeln('[]------------JAHURO WOOD WHACKER------------[]');
Writeln('Worked For : ' + ScriptTime2(2));
Writeln('Cut-N-Sold ' + IntToStr(WoodLoads) + ' Loads');
Writeln('[]-------------------------------------------[]');
end;
/////////////////////////////////////////////////
/////////////////////////////////////////////////
procedure ClickTree;
var x, y: integer;
begin
repeat
if (FindObj(x, y, 'Oak', color, 5)) then
MMouse(x, y, 0, 0);
wait(100 + random(50));
Mouse(x, y, 0, 0, true);
Report;
FindFastRandoms;
wait(TreeTime + random(50));
TheAntiban;
until (InvFull);
end;
/////////////////////////////////////////////////
/////////////////////////////////////////////////
procedure Shopwalk;
var x, y: integer;
begin
if (FindSymbol(x, y, 'shop')) then
begin
Mouse(x, y, 5, 5, true)
Flag;
wait(1000 + random(50));
end;
end;
/////////////////////////////////////////////////
/////////////////////////////////////////////////
procedure CloseShop;
begin
begin
crossbmp := BitmapFromString(6, 6, 'z78DA33373033343133A798' +
'3473327531318690062060082191C571A92159A589A9B90916125' +
'90D00DAB82C47');
end;
begin
if (FindBitmap(crossbmp, x, y)) then
begin
FindBitmap(crossbmp, x, y)
Mouse(x, y, 6, 6, True)
Wait(1000);
end else
begin
WriteLn('didnt find cross bmp, blind clicking')
MMouse(484, 41, 2, 2)
wait(100)
if (IsUpText('lose')) then
begin
Mouse(484, 41, 2, 2, true)
end else
begin
Writeln('I dont think we are in a shop..')
Writeln('Not clicking')
end;
end;
end;
wait(10)
FreeBitmap(crossbmp);
end;
/////////////////////////////////////////////////
/////////////////////////////////////////////////
procedure Sell;
var x, y: integer;
begin
if (FindObj(x, y, 'hop K', ShopKeep, 5)) then
MMouse(x, y, 0, 0);
begin
Mouse(x, y, 0, 0, False);
wait(100 + random(50));
ChooseOption(x, y, 'rade');
Wait(3000 + random(150));
if FindDTM(LogDTM, X, Y, 555, 205, 740, 464) then
begin
Mouse(x, y, 0, 0, False);
Wait(100 + random(5));
ChooseOption(x, y, 'ell 10');
CloseShop;
end;
end;
RadialWalk(612139, 297, 585, 48, 1, 1);
end;
/////////////////////////////////////////////////
/////////////////////////////////////////////////
procedure LoadDTMS;
begin
LogDTM := DTMFromString('78DA632C666260E0646440067921460CFF813' +
'448F43F103066314179C880118904D2354035FF19F0AB2905AA11' +
'22604E23500D0F0135C94035DCF8D50000507909F5');
end;
/////////////////////////////////////////////////
/////////////////////////////////////////////////
begin
setupsrl;
LoadDTMS;
DeclarePlayers;
LoginPlayer;
Report;
SRLRandomsReport;
TheAntiBan;
repeat
ClickTree;
Report;
shopwalk;
Sell;
Report;
SRLRandomsReport;
MakeCompass('N');
until false;
end.
/////////////////////////////////////////////////
/////////////////////////////////
the first problem i know of about this program is: RotateEvery(1 + random(4));