SCAR Code:
program FireMak0r;
{.include srl/srl.scar}
var
TreeLog, OakLog, WillowLog, TeakLog, MapleLog : Integer;
MahoganyLog, YewLog, MagicLog, TinderBOX1 : Integer;
x, y, FiresLighted, Mark, Banked : Integer;
TreeLogMask : Integer;
Fyre : TPoint;
Const
WhatLog = 'WillowLog'; // What Log to Withdraw and Fire?
// Valid Arguments are:
{ TreeLog
OakLog
WillowLog |This Script Will Work in Varrock East Bank
TeakLog
MapleLog
MahoganyLog
YewLog
MagicLog }
procedure DeclarePlayers;
begin
Disguise('SRL - Forms- Index...');
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Active := True;
Players[0].Integers[0] := 4;
writeln(inttostr(HowManyPlayers) + ' Players');
end;
Procedure LoadVarz;
Begin
TinderBOX1 := DTMFromString('78DA631467606098C18002BC1C3919FE03694' +
'620FE0F048C2035FD0C6880118904D22A4062110135FC40620101' +
'354A40A2175585879B338A1A00B7A009E7');
TreeLogMask := DTMFromString('78DA63CC63626078C680027C5D6518FE03694' +
'620FE0F048C4940357719D000231209A44B806A6E125003B2EB1D' +
'0135B14035AF08A8A906AA7941404D2650CD1D026A12816A1EE15' +
'7030040F1103F');
TreeLog := BitmapFromString(19, 11, 'beNp9kt0KAVEUhR8Ew7VE' +
'JEIjVxKammaaGiI08pOoqSmKZFKuPYCH8IaWVu1OzqTWzezzrb3Xn' +
'H0C8/10qMg17qt2HJiqUNF1nDR2TkWMJy/72HQSSQp9rosWXKFfW9' +
'tlMYpXt5OPxvWDV4VlPiiOunnVJZ1F51kTPEYg29IqUfDiE/WLn4P' +
'wj8JPewW0JUMMs2AHDGE6G35juAbyEBMl8sAoVvZWejtMEWA2Such' +
'puIRo4Z2RgV0qWuCEeN+roiniRZZLi/njzHxPWBlr1tfn6g/IXFx0' +
'fEHnG7qLA==');
OakLog := BitmapFromString(16, 10, 'beNorcVvRmQhELUmGU0vcJ' +
'he54kITCly6sh1b0u0g6uFa4LqACiCoN9epPdOhKcW2JsGqNNocrh' +
'i/svwwEyAqijTrSDUCoro4PYgaIMoINMwJNoLIAlVWxFoCtdQnWQP' +
'1At0DREDFQGVAKSACqsGqDGgX0P1AZUB2eaRObqAGUByOMJXBEVAQ' +
'4h6gLqAUGkJWCfEXUBk8iBoT9OFexlQJQUDD0dQja0FWCZGqjtZFi' +
'wLkUEVTPBUAS6TDUQ==');
WillowLog := BitmapFromString(15, 10, 'beNoLVCzOcoKggnSHqE' +
'BF/AiuGIKwqgnzlQ/0lPN1lcGjEqgGrszDUcrZVhKuPjfFDiILRHY' +
'W4kAElAUioDIgAioDIqBGIIKohMjCEaYyCEqLt06INIeIoyGIAriT' +
'gAjiDKAWuEuwIoixmAGISzFygOBRDBQEGkuMySBBAAOie7A=');
TeakLog := BitmapFromString(19, 11, 'beNptkWtLAlEQhn9fQVEUR' +
'YVFJZVURkaZSIRUYlrGslRqdsVuSJgIsoiYVIifJATt9md6YGBYdo' +
'OXw9nhfeadnZP1ZTZ70Gf1oJ7z126Wq1dLIu5UXm9XRO/3q6JSev4' +
'yNpEIDgj4/WJQVJtbNKlcLBZP5x6OpjM7Y9FAn4DCNh4DgmNTkU7K' +
'kzmbS0yCmFvD++v9EX+vUD91U/xMqCqfLRSOvXeHU8x2sj1ihIc4Y' +
'fm8jnt+31KoY+3qD9IwGRqks9rIAs8bM/RhWhoyNvduJcrlfG8cG0' +
'pFRrWt26+ro9h63mBODA7xX+q3I7JwQEYl9KMYtLI+h/5FZM/4dbG' +
'8pq4IpxsRis2zf+IU/Kol7aAi9iChmvm1dilkf0r3oziCOClaf9Vv' +
'Z28=');
MapleLog := BitmapFromString(19, 11, 'beNqFkU0HAlEUhvfNdPsh' +
'KfoQLSIiYtQmidRiaFKLWaRdtGoR0W/u4eUYx3TjXcy9nuecO+dk4' +
'XMeKq9j/7pqlVmwcKzNZRH209TE92nwi7RQrZg381m6nSQmRlx4uq' +
'DQCGU9TpajRsQynhYo8ASRcORe4jPv2d9R0GG4BJhQTQWJLGEWeCl' +
'V3orr8nHo3jZtfett1sLxNnCReiq6A2qjCaid26ZbaO1mbTh/RTfz' +
'+65T7WhLiVvlF6rnrc0=');
MahoganyLog := BitmapFromString(18, 10, 'beNplketKQlEQhd/A1' +
'wihfIf++cegEsMixYrMTOUEESEWIkIZJSJd7aJiWoREBBISESI+lx' +
'8sGOIcWBw4s7+19szsnrM770Ojl9xvOzN8Sg8aO9L3Q+qnuUcR/XW' +
'yJo66F3G58uE5KgCQkmDSpHHPkb7uks+na+aiYoxXJNDJ5832azVx' +
'X4rKhY4jgcnbvrz/W+Je8vv1zc55DL5eCJ8dLJhFsAaRGOHjaospa' +
'On6JFLLL/PFyC88OlyataGIujxaJNMYbsH7XtsghCaVhoWeH8urMO' +
'i2uCK4VVl3wWBKpuKE/KngDKcuMYvBxqt5XOoQL2/kkpfXcwDbGtm' +
'/7QTMy8syngKnCxqG');
YewLog := BitmapFromString(19, 11, 'beNqNkbEKgzAQhtdqfBWLkK' +
'GDUAsVwQ6ZHLp08QX6GL62X3JyhESC8A0x/N/deZma7f8C19Xrp4H' +
'f5JHzKd+3cX092lsiFqAg1jKY+VE974cIizXlPI1Q6IWlYm7JzLEi' +
'cAYuUYBRJQnUhDQWoA5oTbG0Zq5IXhXZHp9zW4GWjUny8c79X4RR4' +
'2kL6BLolS+2rAiEr4j5M13pePJSOw8wkho=');
MagicLog := BitmapFromString(19, 11, 'beNplkm8rg1EYhz+ODC/W' +
'suVPEmkiKUVNzxozpmlhGuKJnmyYaY02SyGl1Er5KF5IqTV/vsTe7' +
'I2r7rq7m7o6nXOe+zq/c7ofL9pbv/M93VQvV68vElA+jwuyVNqtej' +
'oxkooPrzgDS5FQZC4g4v7mBK7qTKiUHdhNj28lRxHXYkOIzkI/Yt/' +
'LA2L3/VWtlGy3XhmFw0wYOHAnNSYWcYjEIc7P+kXMrAezGyEpVoUg' +
'LFXkkhKHSD0W/FcIUsXCDohIPY9ShTmWwNJCgXB27IC95FF2UvH2p' +
'pTcwXTxJFbwotTn3EVGNjlKvpJFgXDqztgGQSm/rC6X+Ww23j7eu2' +
'pF4rQF2j7bSuvyrsb3V8/zre+xot20rsWK7vZg8/eHpvAn8GQ6aN0' +
'O1C38ATUJGyk=');
end;
Procedure WithdrawLogs;
Begin
MakeCompass('N');
OpenBankFast('veb');
If BankScreen Then
FixBank;
Case WhatLog of
'TreeLog': Begin
If FindBitMapIn(TreeLog, x, y, MSX1, MSY1, MSX2, MSY2) Then
MMouse(x, y, 1, 1);
If IsUpText('og') Then
Begin
Mouse(x, y, 1, 1, False);
ChooseOption('All');
end;
end;
'OakLog': Begin
If FindBitMapIn(OakLog, x, y, MSX1, MSY1, MSX2, MSY2) Then
MMouse(x, y, 1, 1);
If IsUpText('ak') Then
Begin
Mouse(x, y, 1, 1, False);
ChooseOption('All');
end;
end;
'WillowLog': Begin
If FindBitMapIn(WillowLog, x, y, MSX1, MSY1, MSX2, MSY2) Then
MMouse(x, y, 1, 1);
If IsUpText('ill') Then
Begin
Mouse(x, y, 1, 1, False);
ChooseOption('All');
end;
end;
'TeakLog' : Begin
If FindBitMapIn(TeakLog, x, y, MSX1, MSY1, MSX2, MSY2) Then
MMouse(x, y, 1, 1);
If IsUpText('eak') Then
Begin
Mouse(x, y, 1, 1, False);
ChooseOption('All');
end;
end;
'MapleLog' : Begin
If FindBitMapIn(MapleLog, x, y, MSX1, MSY1, MSX2, MSY2) Then
MMouse(x, y, 1, 1);
If IsUpText('apl') Then
Begin
Mouse(x, y, 1, 1, False);
ChooseOption('All');
end;
end;
'MahoganyLog' : Begin
If FindBitMapIn(MahoganyLog, x, y, MSX1, MSY1, MSX2, MSY2) Then
MMouse(x, y, 1, 1);
If IsUpText('oga') Then
Begin
Mouse(x, y, 1, 1, False);
ChooseOption('All');
end;
end;
'YewLog' : Begin
If FindBitMapIn(YewLog, x, y, MSX1, MSY1, MSX2, MSY2) Then
MMouse(x, y, 1, 1);
If IsUpText('ew') Then
Begin
Mouse(x, y, 1, 1, False);
ChooseOption('All');
end;
end;
'MagicLog' : Begin
If FindBitMapIn(MagicLog, x, y, MSX1, MSY1, MSX2, MSY2) Then
MMouse(x, y, 1, 1);
If IsUpText('agi') Then
Begin
Mouse(x, y, 1, 1, False);
ChooseOption('All');
end;
end;
end;
Begin
Wait(1000+Random(200));
CloseBank;
Begin
Case Random(1) Of
0: Begin
RadialRoadWalk(FindVarrockRoadColor, 35, 69, 61, 5, 5);
FFlag(0);
end;
{1: Begin
RadialRoadWalk(FindVarrockRoadColor, 290, 315, 66, 5, 5);
Wait(1800+Random(800));
FFlag(0)
end; }
end;
end;
end;
end;
Procedure Relocate;
Begin
MFF(MMCX-Random(5), MMCY+Random(4), 5, 5);
FFlag(0)
end;
Function CantLight : Boolean;
Begin
If FindBlackChatMessage('ight a fir') Then
Result := True;
end;
Procedure WaitWhileFireMaking;
Begin
If Cantlight Then
Begin
Relocate;
end else
MarkTime(Mark);
Repeat
FTWait(4+Random(3));
FindNormalRandoms;
UNTIL(FindBlackChatMessage('ire ca')) or (TimeFromMark(Mark) > 6000)
wait(1);
end;
Procedure MakeFire;
Begin
Repeat
If FindDTM(TinderBOX1, Fyre.x, Fyre.y, MIX1, MIY1, MIX2, MIY2) Then
Begin
MMouse(Fyre.x, Fyre.y, 1, 1);
If IsUpText('derb') Then
Begin
Case Random(4) of
0,1,2 : Mouse(Fyre.x, Fyre.y, 1, 1, True);
3: Begin
Mouse(Fyre.x, Fyre.y, 2, 2, False);
wait(800+Random(200));
ChooseOption('se');
end;
end;
Begin
If FindDTM(TreeLogMask, Fyre.x, Fyre.y, MIX1, MIY1, MIX2, MIY2) Then
Begin
Mouse(Fyre.x, Fyre.y, 4, 4, True);
wait(800+Random(700));
WaitWhileFireMaking;
FiresLighted := FiresLighted + 1;
end;
end;
end;
end;
Until(Not(FindDTM(TreeLogMask, x, y, MIX1, MIY1, MIX2, MIY2)))
end;
Procedure BackToBank;
Begin
If (Not(FindDTM(TreeLogMask, x, y, MIX1, MIY1, MIX2, MIY2))) Then
Begin
WriteLn('Lighted All Logs! ');
SymbolAccuracy := 0.8;
If FindSymbol(x, y, 'bank') Then
Begin
Mouse(x, y, 1, 1, true);
FFlag(0)
Banked := Banked + 1;
Exit;
end;
If Not FindSymbol(x, y, 'bank') Then
Begin
SymbolAccuracy := 0.5;
If FindSymbol(x, y, 'bank') Then
Begin
Mouse(x, y, 1, 1, true);
FFlag(0)
Exit;
end else
NextPlayer(False);
end;
wait(1);
end;
Exit;
end;
begin
SetupSRL;
ActivateClient;
LoadVarz;
DeclarePlayers;
repeat
WithDrawLogs;
MakeFire;
BackToBank;
WriteLn('Lighted' + IntToStr(Banked * 27) +' Logs !!!');
WriteLn('Loads Lighted' +IntToStr(Banked));
WriteLn('');
Until(Banked > Players[CurrentPlayer].Integers[0]);
end.