SCAR Code:
{.Script Info:
# ScriptName = = 3RD Degree Burnz
# Author = Exedos
# Description = Takes logs from bank and lights em for your firemakeing needs
# Version = 1.0
# Date = -
# Comments = Start in front of one of the bank booths at Varrock east bank,
Hit the play button setup char pass nick then Close :D and watch thouse dreaded
logs be burnt.
Program new;
{.include SRL\SRL.scar}
{.include SRL\SRL\Skill\Firemaking.scar}
const
DaMouseSpeed = 5; //Mouse speed higher = fast lower = slower
LoadAmnt = 100; //Number of loads per player.
MaxTimeperload = 3; //Maximum number of minutes per load
var
LogColor, FailSafe, Loadz, FailSafe2: Integer;
procedure Setup;
begin
Signature;
SetupSRL;
StartPlayers(True, '');
NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
MouseSpeed := DaMouseSpeed;
ActivateClient;
Wait(3000);
LoginPlayer;
PerfectNorth;
ChatsOff;
end;
procedure AntiBanz;
var
Ban: Integer;
begin
if (not (LoggedIn)) then Exit;
Ban := Random(500);
case Ban of
1: HoverSkill('FireMaking', True);
2: HoverSkill('Random', False);
3: PickUpMouse;
4: LeaveScreenEvery(3 + Random(7));
5: RandomChatEvery(8 + Random(6));
6: HoverEvery(3 + Random(5), 'Firemaking');
7: AlmostLogout;
8: ExamineObj('logs', LogColor, 10);
end;
end;
procedure AntiRandoms;
begin
Status('AntiRandoms;');
FindNormalRandoms;
DwarfItem;
FindLamp('Firemakeing');
OpenBox;
SolveBox;
if(DetectFrogCave)then SolveFrogSwamp;
if(InBlack)then Logout;
if(FindFight)then RunAway;
if(TalkToRand)then
begin
repeat
ClickToContinue;
until(not(TalkToRand));
end;
if(WeAreDead)then
begin
Logout;
Players[CurrentPlayer].Active:= False;
NextPlayer(True);
end;
end;
Procedure MyBankFinding;
begin
if (not (LoggedIn)) then Exit;
if(not(OpenBankGlass('veb', True, True))) then
begin
if(not(OpenBankQuiet('veb'))) then
begin
if(not(FindObjMultiText(x, y, 'ooth', 'ank booth', 'oth', 11579828, 10))) then
begin
if(not(FindObjMultiText(x, y, 'ooth', 'ank booth', 'oth', 2908279, 10))) then
begin
OpenBank3;
end;
end;
end;
end;
end;
procedure WithdrawIt;
begin
if (not (LoggedIn)) then Exit;
MyBankFinding;
FixBank;
MMouse(94, 78, 10, 10);
Wait(1000);
if(not(IsUpTextMulti('ogs', 'gs', 'log'))) then
begin
CloseBank;
NextPlayer(False);
end;
Withdraw(1, 1, 27);
CloseBank;
MarkTime(FailSafe);
repeat
Wait(500);
if(TimeFromMark(FailSafe) > 20000) then
WithdrawIt;
until(ExistsItem(28));
LogColor := GetColor(711, 445);
end;
procedure LightALog;
var
i: Integer;
begin
if (not (LoggedIn)) then Exit;
if(FindColor(x, y, LogColor, MIX1, MIY1, MIX2, MIY2)) then
begin
Mouse(x, y, 5, 5, True);
Wait(250 + Random(250));
Mouse(586, 228, 5, 5, True);
AntiRandoms;
end else
begin
for i := 2 to 28 do
begin
if(ExistsItem(i)) then
begin
MouseItem(i, True);
Mouse(586, 228, 5, 5, True);
AntiRandoms;
end;
end;
end;
end;
procedure WalkNLight;
var
Time: Integer;
begin
if (not (LoggedIn)) then Exit;
Time := MaxTimeperload * 60000
if(not(RadialRoadWalk(FindRoadColor, 0, 90, 60, 3, 3))) then
begin
Mouse(MMCX + 40, MMCY - 20, 10, 10, True);
FFlag(10);
end;
MarkTime(FailSafe2);
repeat
AntiRandoms;
LightALog;
MarkTime(FailSafe);
repeat
AntiRandoms;
Wait(500);
if(CantLightCheck) then
begin
if(FindColor(x, y, FindRoadColor, MSX1, MSY1, MSX2, MSY2)) then
begin
Mouse(x, y, 10, 10, True);
Flag;
end else
begin
Mouse(MSCX, MSCY - 40, 10, 10, True);
Flag;
end;
end;
if(ClickToContinue) then
begin
repeat
ClickToContinue;
Wait(2000 + Random(500));
until(not(ClickToContinue));
end;
if(TimeFromMark(FailSafe) > 20000) then
begin
LightALog;
MarkTime(FailSafe);
end;
until(InChatMulti('catc', 'nd', 're'));
until(CountItemColor(LogColor) < 1) or (TimeFromMark(FailSafe2) > Time);
end;
procedure WalkBack;
begin
if (not (LoggedIn)) then Exit;
if(not(FindSymbol(x, y, 'bank'))) then
begin
if(not(RadialRoadWalk(FindRoadColor, 88, 92, 50, 3, 3))) then
begin
Mouse(MMCX + 50, MMCY, 10, 10, True);
FFlag(10);
AntiRandoms;
end;
if(not(FindSymbol(x, y, 'bank'))) then
begin
if(not(FindColorTolerance(x, y, 3982554, MMX1, MMY1, MMX2, MMY2, 30))) then
begin
Writeln('Cant find bank... Changing player...');
NextPlayer(False);
end;
end;
end;
Mouse(x, y, 5, 5, True);
Flag;
end;
procedure ProggyReport;
var
Logs: Integer;
begin
Logs := Loadz * 27;
Writeln('~~~~~~~~~~Exedos 3RD Degree Brunz~~~~~~~~~~');
Writeln('Worked for ' + TimeRunning);
Writeln('Burnt ' + IntToStr(Logs) + ' logs');
SRLRandomsReport;
end;
begin
Setup;
repeat
WithdrawIt;
WalkNLight;
WalkBack;
Loadz := Loadz + 1;
ProggyReport;
if (not (LoggedIn)) then Exit;
until(Loadz >= LoadAmnt);
if(Loadz >= LoadAmnt) then NextPlayer(True);
if(Loadz <= LoadAmnt) then NextPlayer(False);
Loadz := 0;
end.