Simba Code:
// script by EtherFreak
//V1.6
program LogBurner;
//Remove // for smart
{.Include SRL\SRL\Misc\SMART.SCAR}
{.include SRL/SRL.scar}
Const
// ----------------SETUP-----------------------------
// Start in Verock East Bank. Setup log location.
loadcount= 10 ; //how many cycles you need (27 logs per cycle)
BankCol=2 ; //log col in bank
BankRow= 2 ; //log row in bank
colorroad= 8752779 ; //grey road color to have RoadColorChecker; work
threelet='ohn' ;//2-4th letters of name. I.E. Johntrucker='ohn' (optional)
BankLoc='veb' ;//for future banking locations
BurnWait= 2500 ;//How long it takes for a log to light and burn.
// ---------------END SETUP----------------------------------------
var
x, y: integer;
counter, count, kill: Integer;
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
with Players[0] do
begin
// ----------------SETUP-----------------------------
Name := '';
Pass := '';
Nick := '';
Active := True;
end;
end;
// ---------------END SETUP----------------------------------------
Procedure initrun;
begin
Smart_Members := False;
Smart_Server := 1;
Smart_Signed := True;
Smart_SuperDetail := False;
SetupSRL;
DeclarePlayers;
LoginPlayer;
counter:=2;
count:=0;
kill:=0;
SymbolAccuracy:=0.6; //Ajust as needed for bank symbol
wait(4000);
findnormalrandoms;
roadcolor:=colorroad;
RoadColorChecker;
//bank
if findsymbol(x,y,'bank') then
writeln('initrun complete. You are at the bank. The roadcolor is:'+inttostr(roadcolor)+'.')
else
begin
writeln('cant tell if your at the bank. trying alternite method');
if CountDots('yellow')>9 then
begin
writeln('yellow dot of '+IntToStr(CountDots('yellow'))+' count indicates at bank')
end else
begin
writeln('Not at bank? Stop Script Now or Verify Working Corectly!');
end;
end;
setangle(true);
setrun(true);
end;
Procedure Burn;
Var
I,K:integer;
Begin
K:=0;
For I:= 1 to 28 do
Begin
findnormalrandoms;
if ExistsItem(I) then
begin
invmouse(I,2); //clicking log
wait(RandomRange(100,100));
WaitOptionMulti(['ight','ght','ancel'], 1500);
Wait(RandomRange(BurnWait,1000));
end;
if ExistsItem(I) then
begin
invmouse(I,2); //clicking log
wait(RandomRange(100,100));
WaitOptionMulti(['ight','ght','ancel'], 1500);
writeln('ReBurning #'+IntToStr(I)+' log.');
Wait(RandomRange(BurnWait,1000));
end;
if IsChatBoxTextBetween ('ere',clBlack,8,8) then //fire not allowed
begin
inc(k);
RadialRoadWalk(RoadColor,268,280,24,-2,0);
Wait(RandomRange(2850,1000));
dec(I);
writeln('Cant light a fire here, trying a different spot');
if k=4 then
begin
//Writeln('Issue making fire, Going back to bank...');
//exit;
Writeln('Fire Issue, logging out...');
logout;
terminatescript;
end;
end;
if IsChatBoxTextAnyLine (threelet,clBlue) then //name detection
begin
writeln('Someone said your name, logging out to be safe');
logout;
TerminateScript;
end;
end;
if invcount=0 then
writeln('Burned correctly') else
Burn;
End;
Procedure Bank;
Begin
writeln('Banking kill is:'+inttostr(kill)+'.');
mousespeed:=(7+random(3));
inc(kill);
findnormalrandoms;
Wait(RandomRange(850,1000));
openbankfast(BankLoc);
Wait(RandomRange(2000,2500));
withdraw(BankCol,BankRow,0);
Wait(RandomRange(2000,2500));
if kill=4 then
Begin
closewindow;
writeln('Banking failed, logging out...');
logout;
TerminateScript;
end;
if invcount=28 then
writeln('Banked corectly')
else
bank;
kill:=0;
End;
Procedure toburn;
Begin
findnormalrandoms;
writeln('Walking to burn. The roadcolor is:'+inttostr(roadcolor)+'.');
RadialRoadWalk(RoadColor,0,75,60,-2,0);
Wait(RandomRange(2500,1500));
End;
Procedure tobank;
Var
TPA:TPointArray;
ATPA:T2DPointArray;
L,S,I:Integer;
Begin
GetNewRoadColor(mmx1,mmy1,mmx2,mmy2,6);
repeat
findnormalrandoms;
RadialRoadWalk(RoadColor,80,110,70,-2,0);
writeln('Walking to bank. The roadcolor is:'+inttostr(roadcolor)+'.');
if kill=3 then
begin
writeln('Walking to bank failed, logging out...');
logout;
TerminateScript;
end;
inc(kill);
writeln(countdots('yellow'));
until findsymbol(x,y,'bank') Or (CountDots('yellow') > 10)
//bank
kill:=0;
wait(RandomRange(1000,1000));
writeln(countdots('yellow'));
if findsymbol(x,y,'bank') then
writeln('using bank symbol')else
begin
writeln('using alternate method');
TPA:=GetMinimapDotsIn('yellow', MMX1, MMY1, MMX2, MMY2);
L:=length(TPA);
S:=0;
I:=0;
repeat
inc(I);
if (TPA[I].y)=(TPA[I+1].y) then
if (TPA[I].y)=(TPA[I+2].y) then
S:=I;
until S>0
writeln(S)
writeln(TPA);
x:=TPA[S].x
y:=TPA[S].y
end;
mouse(x,y,7,7,true);
wait(RandomRange(8000,9000));
End;
Procedure MainLoop;
begin
initrun;
repeat
Bank;
toburn;
burn;
tobank;
inc(count);
writeln('There are '+IntToStr(loadcount-count)+' loads to go.');
until (count=loadcount)
writeln('Completed without error!');
end;
Begin
MainLoop;
end.