SCAR Code:
program FremBot;
{.include SRL\SRL.scar}
//////////////////////////////////////////
// FREMBOT SETTINGS //
//////////////////////////////////////////
// HP POTION ACTION BAR SLOTS : 1 - 7 //
// MP POTION ACTION BAR SLOT : 8 - 0 //
// USERNAME //
const Username = ''; //
// PASSWORD //
const Password = ''; //
//////////////////////////////////////////
// THE USERNAME AND PASSWORD NOT NEEDED //
// (I stopped improving this script) //
//////////////////////////////////////////
var x,y, MOB_HP_BAR: Integer;
INV_FULL,quizes: Integer;
killed, GMQuiz: Integer;
s1, s2, s3, s4: Integer;
s5, s6, s7, s8: Integer;
s9, s0, HPTaken: Integer;
sKILLED: Boolean;
Status: String;
Patq, lot_1, lot_2, Lot: Integer;
LX1, LY1, LX2, LY2: Integer;
RX1, RY1, RX2, RY2: Integer;
AX1, AY1, BX1, BY1: Integer;
n1, n2, n3, n4: Integer;
n5, n6, n7, n8: Integer;
n9, n10, Solved: Integer;
StartX, StartY, StopX, StopY: Integer;
const Ver = '5';
procedure SolveLot;
begin
if (FindBitmapIn(lot_2, x, y, 0, 0, 1024, 768)) then
begin
StartX := x + 31;
StartY := y + 209;
StopX := x + 92;
StopY := y + 208;
Mouse(StartX, StartY, 1, 1, true);
Wait(1500);
Mouse(StopX, StopY, 1, 1, true);
Wait(250);
Lot := Lot + 1;
end;
end;
procedure FindLot;
begin
if (FindBitmapIn(lot_1, x, y, 0, 0, 1024, 768)) then
begin
SolveLot;
end;
end;
function AddToOnlineReport(Text, Username, Password: String): Boolean;
var
Site: Integer;
S: String;
begin
Site := InitializeHTTPClient ( false, false );
ClearPostData( Site );
AddPostVariable( Site, 'report', Text);
AddPostVariable( Site, 'username', Username);
AddPostVariable( Site, 'password', Password);
S := PostHTTPPageEx ( Site, '' );
if(S <> '') then
begin
if(S = 'Authentication Successful') then
Result:=True
else
Result:=False;
end else
Result:=False;
Writeln(S);
end;
procedure CalculateX1Y1X2Y2;
begin
if (FindDTM(Patq, x, y, 0, 0, 1024, 768)) then
begin
LX1 := x + 1;
LY1 := y + 29;
LX2 := x + 43;
LY2 := y + 54;
RX1 := x + 66;
RY1 := y + 29;
RX2 := x + 115;
RY2 := y + 54;
AX1 := x + 170;
AY1 := y + 42;
BX1 := x + 170;
BY1 := y + 41;
end;
end;
function GetLeftNumber(): Integer;
begin
if (FindBitmapMaskTolerance(n10, x, x, LX1, LY1, LX2, LY2, 10, 5)) then
begin
ClearDebug;
Writeln('Left box validated (Number: 10)');
Result := 10;
end else if (FindBitmapMaskTolerance(n2, x, x, LX1, LY1, LX2, LY2, 10, 5)) then
begin
ClearDebug;
Writeln('Left box validated (Number: 2)');
Result := 2;
end else if (FindBitmapMaskTolerance(n3, x, x, LX1, LY1, LX2, LY2, 10, 5)) then
begin
ClearDebug;
Writeln('Left box validated (Number: 3)');
Result := 3;
end else if (FindBitmapMaskTolerance(n4, x, x, LX1, LY1, LX2, LY2, 10, 5)) then
begin
ClearDebug;
Writeln('Left box validated (Number: 4)');
Result := 4;
end else if (FindBitmapMaskTolerance(n5, x, x, LX1, LY1, LX2, LY2, 10, 5)) then
begin
ClearDebug;
Writeln('Left box validated (Number: 5)');
Result := 5;
end else if (FindBitmapMaskTolerance(n6, x, x, LX1, LY1, LX2, LY2, 10, 5)) then
begin
ClearDebug;
Writeln('Left box validated (Number: 6)');
Result := 6;
end else if (FindBitmapMaskTolerance(n7, x, x, LX1, LY1, LX2, LY2, 10, 5)) then
begin
ClearDebug;
Writeln('Left box validated (Number: 7)');
Result := 7;
end else if (FindBitmapMaskTolerance(n8, x, x, LX1, LY1, LX2, LY2, 10, 5)) then
begin
ClearDebug;
Writeln('Left box validated (Number: 8)');
Result := 8;
end else if (FindBitmapMaskTolerance(n9, x, x, LX1, LY1, LX2, LY2, 10, 5)) then
begin
ClearDebug;
Writeln('Left box validated (Number: 9)');
Result := 9;
end else if (FindBitmapMaskTolerance(n1, x, x, LX1, LY1, LX2, LY2, 10, 5)) then
begin
ClearDebug;
Writeln('Left box validated (Number: 1)');
Result := 1;
end else
begin
ClearDebug;
Writeln('Left box failed in validation.');
end;
end;
function GetRightNumber(): Integer;
begin
if (FindBitmapMaskTolerance(n10, x, x, RX1, RY1, RX2, RY2, 10, 5)) then
begin
Writeln('Right box validated (Number: 10)');
Result := 10;
end else if (FindBitmapMaskTolerance(n2, x, x, RX1, RY1, RX2, RY2, 10, 5)) then
begin
Writeln('Right box validated (Number: 2)');
Result := 2;
end else if (FindBitmapMaskTolerance(n3, x, x, RX1, RY1, RX2, RY2, 10, 5)) then
begin
Writeln('Right box validated (Number: 3)');
Result := 3;
end else if (FindBitmapMaskTolerance(n4, x, x, RX1, RY1, RX2, RY2, 10, 5)) then
begin
Writeln('Right box validated (Number: 4)');
Result := 4;
end else if (FindBitmapMaskTolerance(n5, x, x, RX1, RY1, RX2, RY2, 10, 5)) then
begin
Writeln('Right box validated (Number: 5)');
Result := 5;
end else if (FindBitmapMaskTolerance(n6, x, x, RX1, RY1, RX2, RY2, 10, 5)) then
begin
Writeln('Right box validated (Number: 6)');
Result := 6;
end else if (FindBitmapMaskTolerance(n7, x, x, RX1, RY1, RX2, RY2, 10, 5)) then
begin
Writeln('Right box validated (Number: 7)');
Result := 7;
end else if (FindBitmapMaskTolerance(n8, x, x, RX1, RY1, RX2, RY2, 10, 5)) then
begin
Writeln('Right box validated (Number: 8)');
Result := 8;
end else if (FindBitmapMaskTolerance(n9, x, x, RX1, RY1, RX2, RY2, 10, 5)) then
begin
Writeln('Right box validated (Number: 9)');
Result := 9;
end else if (FindBitmapMaskTolerance(n1, x, x, RX1, RY1, RX2, RY2, 10, 5)) then
begin
Writeln('Right box validated (Number: 1)');
Result := 1;
end else
begin
Writeln('Right box failed in validation.');
end;
end;
function PSlot(potion: String): String;
begin
//Slot 1: 273, 747, 313, 788
//Slot 2: 315, 747, 356, 788
//Slot 3: 358, 747, 399, 788
//Slot 4: 401, 747, 442, 788
//Slot 5: 444, 747, 485, 788
//Slot 6: 487, 747, 528, 788
//Slot 7: 530, 747, 571, 788
//Slot 8: 573, 747, 614, 788
//Slot 9: 616, 747, 657, 788
//Slot 0: 659, 747, 700, 788
if (potion = 'hp') then
begin
if not (findbitmapin(s1, x, y, 273, 747, 313, 788)) then
begin
ClearDebug;
Writeln('-------------------------------');
Writeln('--- FremBot Beta Private V'+Ver+' ---');
Writeln('-------------------------------');
Writeln('GM Quizes: '+IntToStr(quizes));
Writeln('HP Potions taken: '+IntToStr(HPTaken));
Writeln('-------------------------------');
Writeln('Using HP slot: 1');
Writeln('-------------------------------');
Result := '1';
end else if not (findbitmapin(s2, x, y, 315, 747, 356, 788)) then
begin
ClearDebug;
Writeln('-------------------------------');
Writeln('--- FremBot Beta Private V'+Ver+' ---');
Writeln('-------------------------------');
Writeln('GM Quizes: '+IntToStr(quizes));
Writeln('HP Potions taken: '+IntToStr(HPTaken));
Writeln('-------------------------------');
Writeln('Using HP slot: 2');
Writeln('-------------------------------');
Result := '2';
end else if not (findbitmapin(s3, x, y, 358, 747, 399, 788)) then
begin
ClearDebug;
Writeln('-------------------------------');
Writeln('--- FremBot Beta Private V'+Ver+' ---');
Writeln('-------------------------------');
Writeln('GM Quizes: '+IntToStr(quizes));
Writeln('HP Potions taken: '+IntToStr(HPTaken));
Writeln('-------------------------------');
Writeln('Using HP slot: 3');
Writeln('-------------------------------');
Result := '3';
end else if not (findbitmapin(s4, x, y, 401, 747, 442, 788)) then
begin
ClearDebug;
Writeln('-------------------------------');
Writeln('--- FremBot Beta Private V'+Ver+' ---');
Writeln('-------------------------------');
Writeln('GM Quizes: '+IntToStr(quizes));
Writeln('HP Potions taken: '+IntToStr(HPTaken));
Writeln('-------------------------------');
Writeln('Using HP slot: 4');
Writeln('-------------------------------');
Result := '4';
end else if not (findbitmapin(s5, x, y, 444, 747, 485, 788)) then
begin
ClearDebug;
Writeln('-------------------------------');
Writeln('--- FremBot Beta Private V'+Ver+' ---');
Writeln('-------------------------------');
Writeln('GM Quizes: '+IntToStr(quizes));
Writeln('HP Potions taken: '+IntToStr(HPTaken));
Writeln('-------------------------------');
Writeln('Using HP slot: 5');
Writeln('-------------------------------');
Result := '5';
end else if not (findbitmapin(s6, x, y, 487, 747, 528, 788)) then
begin
ClearDebug;
Writeln('-------------------------------');
Writeln('--- FremBot Beta Private V'+Ver+' ---');
Writeln('-------------------------------');
Writeln('GM Quizes: '+IntToStr(quizes));
Writeln('HP Potions taken: '+IntToStr(HPTaken));
Writeln('-------------------------------');
Writeln('Using HP slot: 6');
Writeln('-------------------------------');
Result := '6';
end else if not (findbitmapin(s7, x, y, 530, 747, 571, 788)) then
begin
ClearDebug;
Writeln('-------------------------------');
Writeln('--- FremBot Beta Private V'+Ver+' ---');
Writeln('-------------------------------');
Writeln('GM Quizes: '+IntToStr(quizes));
Writeln('HP Potions taken: '+IntToStr(HPTaken));
Writeln('-------------------------------');
Writeln('Using HP slot: 7');
Writeln('-------------------------------');
Result := '7';
end;
end else if (potion = 'pet') then
begin
if not (findbitmapin(s8, x, y, 573, 747, 614, 788)) then
begin
ClearDebug;
Writeln('-------------------------------');
Writeln('--- FremBot Beta Private V'+Ver+' ---');
Writeln('-------------------------------');
Writeln('GM Quizes: '+IntToStr(quizes));
Writeln('HP Potions taken: '+IntToStr(HPTaken));
Writeln('-------------------------------');
Writeln('Using Pet HP slot: 8');
Writeln('-------------------------------');
Result := '8';
end else if not (findbitmapin(s9, x, y, 616, 747, 657, 788)) then
begin
ClearDebug;
Writeln('-------------------------------');
Writeln('--- FremBot Beta Private V'+Ver+' ---');
Writeln('-------------------------------');
Writeln('GM Quizes: '+IntToStr(quizes));
Writeln('HP Potions taken: '+IntToStr(HPTaken));
Writeln('-------------------------------');
Writeln('Using Pet HP slot: 9');
Writeln('-------------------------------');
Result := '9';
end else if not (findbitmapin(s0, x, y, 659, 747, 700, 788)) then
begin
ClearDebug;
Writeln('-------------------------------');
Writeln('--- FremBot Beta Private V'+Ver+' ---');
Writeln('-------------------------------');
Writeln('GM Quizes: '+IntToStr(quizes));
Writeln('HP Potions taken: '+IntToStr(HPTaken));
Writeln('-------------------------------');
Writeln('Using Pet HP slot: 0');
Writeln('-------------------------------');
Result := '0';
end;
end;
end;
procedure declareStuff;
begin
killed := 0;
HPTaken := 0;
quizes := 0;
sKILLED := false;
Status := 'on';
Lot := 0;
lot_1 := BitmapFromString(30, 30, 'beNqN1EtoE1EUxvETMmoWVbqQE' +
'lBLiy4MRCGgi2iktFiUanxUKiVQVEJX2ShBEYrFiihIsAgDhVIQgg' +
'+IBstAoQiBQiAIQkGEEVEK4mIWLmbhYhZdjN+9Z3Jvmk5My5/DkMc' +
'vJzPNeLbvuUGuo/I2fZXzx1N5fx1Ury6Kg5bXhP95biF7Gc1cyKaJ' +
'eBZ7dIWYLrdfV6Dw0jIlDzbNrvJ8Lst1lzedJ5ezaO04odoRUTUZQ' +
'/XxQVQ+2WfGY9zba4mvT0cwZ472vjZIF9Gxr+QxovppYhyx/P1hGv' +
'Ly5OFWWVUe2LtFpmC2yQgyp+S2nXGAhX0rx2svTSVeDh/oujNqjBI' +
'HnGX3zTiq3U3BxOaIZT4bYPXaUb22ln2nNJFF9gS9zhDP5TP9yPuY' +
'Q/ajdGUoztkP0mjtRhKtPxtZSPXNxAi93S0SMlhDJP8VtczsiEEl2' +
'de5DIK8lk8E3UiGypV9AY46ycVDWsbakBWLndlElVP91q1kq6zwnc' +
'icORBTAUTmwV7EJlfdL2Jfy99KljmF7DuEHh+mHNGazJWzLGvIVol' +
'eEG3I8Gw9QgtR4VhxUbVXxL8vx3Ha5OolIeel4MrAzpJ4MCcvupJh' +
'cpBXBwIc7UTmZrfJvDl/a5ZrRwXOfldZpU5FWa66qm4Rhg4yBxzs4' +
'tWskH+XrKUp5D4ntJynlCFuKRMyHCwZ5DbzDfocDT4xp75IH9VPUC' +
'0ZNDd6dgS/lB/roTKzt+UsShN+Q8oLkXCZYxl1knnnksR55+JWGVP' +
'JxQFaH6VPZwL8/zunpcny9p25NplxpHfeNK33eeSVCVlFSvRQBq+X' +
'TRKZu8iOibmyh5wYreyix1ERbrzcvWP0+aKoMSx6kh1DvrfRSZ6UZ' +
'ZoyWCWPk6hV/pILcNRJRpAHKcAz8mzwzihULg0LmduhnGnK2JZlPh' +
'XbZXtaxLiWfdP6kEd+hbj0QYoTJeXbh4imI+LyYc5FqWbQfJRuRkQ' +
'JCipfp58FkX1LxPc33Oi6ymO0RWa2Tf51X+M7kYeaMkwEXC2conZZ' +
'4f+XwTKebJERy2Bb5Y0H5DwSsQ+2YS1KuVb9MIvY56az5+ISRwkjP' +
'FxlVLiQXnlVXH6ZV01fOWe9m/c9O1S2KvPA2e8ks8mxefN8ChMscJ' +
'abmTo83sz944Tmu1WdY+r4jf8A0gfF6Q==');
lot_2 := BitmapFromString(182, 18, 'beNqdWmFvG0UQ/U1846STDq' +
'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');
s1 := BitmapFromString(37, 37, 'beNq1l29r2lAUxtuyqnTdyFAk/Y' +
'OQtTikTr3ONhXK1km3sDArZs1WCm6FsBdF+mIEoW/6cfZyH6lfwX0' +
'E98QTb85uYuobLw8hxpv87nPuuecm98bvUSDrcEfXtSUobPbxzp97' +
'A5qx9KXi0N41AyK7sHQcpBd0q1nayG2sTVsmkykWivlCnpRyrhU0S' +
'AhBJ4ni/XunZWO/oj3TXjzNrq6uPjw8TCYTEB8F0Qmx/F8+NLwddv' +
'vdRJzsT7jnG5m7u7vxeDyZNnAXsRbHkQB1+o5oCO6O+hMOzwdFwS0' +
'Sz7i7WqOGE//Wh4jI+xNube3J3/F4ZWWFcAgmZpMrZWokDnIuHFzB' +
'kX5aZ5b0SHJPy5X9Si63uZXf5Dh0dvvuIjhI4ihn5AAGg0Hg+mZYq' +
'9c4TtcN62iPQipxFBCzYULijTBeGjiSovNp4+7CSw0Ba2GQb4ZQ97' +
'y7CA4eoc77TqIScTiCJQUQRAZnON06Kqk4ik9NaJoWX2skCrXs7F6' +
'46cGnVFkEx9faPJwpzMVxoBBufX090V201hoCccbiSnHHl14ch5bN' +
'ZqmIbW9tKzhlrdG0Bpo6AkXB0XhIdtdWcMauTqLOeEI0+1+cQBdM3' +
'5hmuaHg7E+2fII/8s1mGGSJ67V3JE6OVrpLX3cSB9ETLr9eRhM6Y3' +
'HcPHcSJ92JpkgpLJQtkbXZAFJwie4iCyMfYeRbj4Ljo4XNOC7aXOP' +
'BCTfdqFK5l655aNL1sDZalvy386EDRfSWydesk4Tjo6XrosXGP2OB' +
'y4MmU8vzPH47X7MSZx+VEt2508YfCAoJUQ3q8PcBKY7GjYSTxHQc9' +
'UdAoqlsiTCMI59wdJHbVyLD16yTmirK/gUp48FO2uv3Wo2Wko3y3s' +
'SqouD4/hUv+HyDA05m3fWPa45LqZnzcIo1fk4iX6T2cTvdGsfxqsJ' +
'vUXZqhTgPJ/uTqgdVb+AxnEHiJUXURVhv60Lem5D5MyPxv6rVam4z' +
'JyuS3F4B6rX3FJzyasRLsaKUv5BI9BcNOI6jtJQbZWiQJUx8dUgW5' +
'VIil78a8WD+t23VhX1uezceT0tZguZFNZHI3WkFvdMsBcePnavBVb' +
'i4+g508vak/KrM6x53zSsz7xMnIhoYIS1ziQOrclBJf8+XLO+nx0M' +
'x79uBTwHhwCJc+lcMPS3YrD/bYOHIp1h5n1GyK9HdPByve8GcvhbK' +
'Wz2kvM9Eb2usEQ5flGfNInZRY3cR6UyP9+eflmd1jb6XoWXjusfFA' +
'PQPFbR6mg==');
s2 := BitmapFromString(37, 37, 'beNq9l81u20YUhW3rxy4iOUzsBR' +
'eOrAEbIWxoSpPSoFgoMKIKFSpAVayaqMI0iyALIxAcxBCM2jC86co' +
'v0qWXXflZ/Ap+hfYML3U1oSRbKIIODgZjipyP587lnfGFuDqz/zqz' +
'zS2RyPz6MjZFywOIpFjtwEpU//oCi4mBXQTlf3BH/bOtb4yikclkl' +
'uO2srKSz+eNuJmbJsvYNO6X1vRnzU2j2QgqogQtLS2dnp7e3t7+E7' +
'ebmxsQNx5vSFf+Z5y74wZekMKh96pOYS1DoD/iRsT14vroeDQ6GoX' +
'7oV/zdZz9nX0vrvu6e352Hr2Jpt09LmTzuTyCCVMIJqGz2SzhIB2H' +
'GaCgHjg7Tmm7hN52bPGtoB6mILCGR0PgiBjbnOAa9kaz0ZRVmclmL' +
'i8vCZfL5dQjF+feCy954xg3eDPAJOpNjkf9X/tQp9th7bX2oOhdBP' +
'XDPqlSqeBtg7paGnfHJlyhUMAiEuv6+hrT340DyJhqa4U1ViptgLO' +
'2BeHKT8qIJGULeoy9XW8mjkJ0B856akHzcNDz0jpCB0dkDR6Nh8qa' +
'jhu8HSziDiCKJAbz3D0qZA8PDzk5V5ZX7Kd2gjs7D38LIUIgLXqve' +
'8nC7feNgiEdKbYFK3obkX3IqTqcscDFqWJBuewyMp+WDNaQnKurq2' +
'VRnsaBpeNIzVdNFnCsoBGkcOi9qssZojcd58YN1lLuYA0GdXem1vT' +
'vkXFwh+8Oa7c8bqBnM1nGAZQkW9xSwVTS1+g+HNwhM2HcElZSrAwD' +
'5Yvm1Kf1pfrYw4MQF/Emvf3ejOKmVRXcJqVMcGaMM82KZc3EIfH0o' +
'GEA0II4FBbcoJ496BPxXhy7I4FIvzIO8moeoG7V7f7SpR6muIjxs4' +
'TzpLsgjlJiGgeWGnwcKlAsqpkkOW7sDqwYV2zUA1EW6Adh/9PRp8/' +
'Hn0nqM9/19HAhPvQO7+JG6NaPLRK9EmqythckajZkRQiIcSNE4GhI' +
'oNHJ6G5cu9VO4QbRgGYGCylN0dZx8YcgkPnAkRTxZESsmTiO8Dwcr' +
'FFV4fXVcV7V1oNJ7rAcCCmgd7iTNanj8CcGzIJBrCxnr+4OqWJXKh' +
'CSJAr7nf0O9srh8RD6Ahe3xN3JyH/ho+BgAArlxjCODN5H5f+OfPD' +
'wAYpD8VERz4o4VdA7lrW0tNbcaxBODRx7Ho4zFiCVpWMc5T/hAEqq' +
'jRYTHae21zGO9qwFcbTK5C6pJPNxvnSn3TEOIZ3GcalBJFPuGMdEC' +
'uNMd61XLfeZy585RSa9m8ebLK6gN7dMKPo9Srba8d5HOEWsyekSTf' +
'vdgjgMCIdBCkdlB2r/1J4QpZyHA+teHFtTG82UOxKzlPQd4csNiN1' +
'FYUSgFI6toYcAIhYfApO9oyYnBuniQX/KXVEdU587mBa9XpxVWfje' +
'Q4Ht9Xs432I2SJ11NRcf3n9o/9x2nORkAkdJKYh/pRzWT2I6Ds33f' +
'caBQixwefU5aOEg9Hd9BrFA5FLAVYWPtaiZOg6LkmS77xOLoPqEBJ' +
'o+JOhE9qW7i4+1E3elJyVKg0Tzzh5zrqeSP4Ujd3//aYuy3XtZIXV' +
'+EBO91LTA9a4m/Z5WXRim6q8uBHDoQSRN/o2FypoWuT7nHmZd/Qte' +
'Y49g');
s3 := BitmapFromString(37, 37, 'beNq9l1FL21AUx11a27ToCLOUPB' +
'QxCB2FtpoxjHV1Y8FRVsiYmZmsexplD6P4MMpQEd/9InvcJ/Ar+BX' +
'0I/gV3D89zclNchNrhwt/QmjPvb/8zzn39vbc+H3qy6gZuv6I6m2v' +
'/zk3IGI5Hf+TxxOIb1pV4Ij1H9ypqgaiplUrT0uKknsyuRRFKagFr' +
'aLNLb2mQ5Zl+Q+VqSzTaqwZULFYOj05ub6+vptceAC0UCz8C8777I' +
'1/jiFQkribG591fHx8cXGBh9vbW3icG8cskci4cnm5VMgjmfl8Hr7' +
'IYy6Xs9/Z80lkkUQc6tjfWi8Wy3B0eXlJ+VxcXGw0G1PVp+o7fZ5h' +
'9GPUfd2tP6+TwuCozFYTgmV7uxPD3QXXwsKCkguTyeUWcZC7786eY' +
'caBRThkkt2JtWNc51WHWcNvwwcVNOYOd7WswhcZBDrb3eDLYD6cqi' +
'6pfqv4l4hbqaxA1Uo1HCK0gfvZpYBYTJo63SmuUFDR+bQQKJlXV1e' +
'oHSah2aQ4+71NoFjMLDgscyISC9bUksqzZeCSMZB74CLANE0pDpvY' +
's2UVu9d0E8spYPFrZ+CkMeamGSb8wE3iuFW4JSBpQtxDl6fq7fXEe' +
'Nb411iU602J3bfdxpoOMc56YSHAO/QgNB4LFJI/Q3S78A68qQ5Dcb' +
'yvdNxD3YEiNSgdyzha5rPgRHdUozlw7E5cR9I1Fdl1dX10NHL2Hfr' +
'q3rGTVonjYsFi16Gxw5J5HuEgxmWMTcNJRyVx1ksLw2CNDWaPleKk' +
'r8dDYpnE1d5sk0E8ZI+N4vTe1iruafmnyZOL119lR2NSu9XWgktaO' +
'1uGk74kvkL2wp4MdifgvH2PcL7HgCitnZ3iLkmUWuMfJsYxUVq7JC' +
'4t/+hDxkVOXBMcGSSc3zkfHfl+y7ia0e+s4y7NeaQhTUsaM/w+jBw' +
'qPrlm26TE6sHV2Qq2aAGXsdbo/CatS7PVTJ6+CJqNE3MOFv1yiafT' +
'tN84sZdEDb4OAJLixJyzLxDF/VBaF7+O0e5lnZ2egRjBBcucE0imc' +
'KeeT1uPyTrSS+IIylo1VtN2lSQoez+U1hEDmdXeaKdtYlCMIuLuJc' +
'aGOB8cKHFWibhLO0Tda23mk5iPwz9KbUnb26j2d+qhdg2WsxMq+nm' +
'd1d8VhLBAPBCtuLeh0f9lCDi91giFFmLVBEU+F+MF1QypfNBfLrPb' +
'cQ==');
s4 := BitmapFromString(37, 37, 'beNq1l89OGlEUxgGFjv+SqRBzFw' +
'SckphMg4NjaIcxuJlim5hQ69QplKSLxlVDXDTEhSFuuvIVfIBuTFx' +
'25bP4Cr5C+80cuFzu/AFbe/PlZoKH+fmde+65l0vt9kL/eaGzojYS' +
'i1ExRmy2VFVrmQCRfNY7uzJSI0Z7MWrMFlicaOtroMzvjih/4Y7mp' +
'r7mNBy1oGZz2UwwcrlcvpDfKGxgJuEZAaTB9wGXZVmRMZJYQXWa9p' +
'ZWglKpFHDKspJOp38HA0TxJfQQiYMiYyBzx4REHOZ6rUruMguZu7s' +
'7woErWRNf5Z64nMWKLDLGqBmDswHkHruSO+AqpQq3RjjJWgIuHANW' +
'/1ufcEScxuWXlKWbm5v7+3uezN7nnqRup0sang85DuhwZFhb5YrTQ' +
'DJZfduosBW8H5SrqyvuLm7RIRA5LiFsulQYcIACt6osXl9fPzw8oG' +
'b+Nw5ayKTBQjI5Dg/YFE+Oo2TmFidFwsf683VtU0MAlzoefhlwnKp' +
'OxaD+TZPWFA+R7tZXF3PZLBIoJrPyooJvtd60uNrjIeLcj+7R8VF9' +
'p04zscRCIqi4dqCYNUMtMCoYjJXlFYo3XhokVBcoRtUgmYYJgYUYA' +
'pHMYEhEMZkg+tu8aQOXzT0DUVEUsuZvq3GWQASOiDyrhOuf9SFAxW' +
'RySe4CXJ5wJBgJV4Je1fmHfE29jjc4H5C8rseYv75wTWH439rv21I' +
'To23+KFy32yUcB1mvLBaMZBzvKjNxYmcmnLVr+ayOb+pp3cGa6K5p' +
'N8ECCPIfuh63OZ+7Neu1xV2Ecc6BA6HT4kDBPOm9H1yo9bbFJZaKj' +
'PNLpQQBd3hwmICTJOLitnkkzj/vtqvYd8nunhY3M5nz4HpfepB4Gs' +
'YnM09dJbkyJ7jzKRw1bRyCkPfJg6Jw2ObmVlmDUiklrjL1lzo/It2' +
'OS+I4IvJjF0rGBSeCPue+G114ds2wu0nnLzLczWa6mz+Z/4IT3DmR' +
'pRK+Q44Kb+qWNVWZ4sXJO/HGf5KaWCxOukM+CmeZViTOrE1O3tOvp' +
'5I78Q4ZiePlJN14JZzQM53IS3L4Dini6JJML7Tr9vBimIzjPdNu2O' +
'FdDIXXztgxcJhST0Z/pgTy1iqykCWxirDNtXJJK8/ASWvHcf7RM16' +
'vyMxUq1UJ5ycn6Jkijto+rUvk/T9cHqKkO5jkzgx6pogTFfkbIRkX' +
'J+7u1w9d29SP9rdIh3vaRPuC5vi8LUiMaTU0lfnz7aUGHGYQSVO/u' +
'zcFzfN5TAxn3f4B7fZz6g==');
s5 := BitmapFromString(37, 37, 'beNq9l+FK21AUx13btB1zmmFX4i' +
'ibUXDrqK3RuliZiMUhFKozmrl17MPwg4zSDyWIjuGD+AD7IuwJfAV' +
'fwVfwFbZ/ctKTm5vbTgbu8iekaXJ/93/uuSc35+bP777MkmkY96jt' +
'1blf5yZErHbDv3J/AnFjoQgcsf6Du3xeBxHnKy+nNS33QGipVErLa' +
'npBHyGjYLDE61OFKVKxUOSLjbeN8owJAfeiOHF8fPw73iYnJ72+B7' +
'X32tXF6jCc1/Mg58CxLItxABFRiZt8lLu4uADi5uZmbGyM3DGu2+t' +
'C9JSz51iLVhJHdwLK7oioxOW19NXVFXCXl5fAgZXNZTFaxpE72KTO' +
'iUg4d89lHBlka2pcycykU7e3txxGnIM4OztLnUDugWtbNjuF6sv10' +
'O+h450E97iuETTlRDdWI9zDXIZwp6enZBNRzWVzjAOLBAqJu03ieB' +
'KH4aYL46l0mqYMwSSPOBdxYRIaxmh3/AjNoxK33ZjDsbnZhEBJ4ii' +
'YOHIwIWvJghhHRH5EIkY4w3wGd7CXTmuaxu4ymQweqVQrdt3m3nDO' +
'QpZCnJm0Fvw7e6GsBUuZmU8e55NzNzExIeEghAs/KW7Uj4jzfw5wz' +
'ntH1/VhuLOzM07O6+vrbDZbXaju7u/m9byIi2azbks4ypC74JbmDU' +
'3Lc/mCr+WlZTwIHNzBiDQp4TShTyGYIf0OuO03fsXGRSxnSoNoIoK' +
'1RnUMsoJGPWBqeJr8ONOqP3B5PIbQrJpVnjEgxjGLakiyquAklm+6' +
'DguMA0iJAwhqtVoiDoIFFvqExJpJEosVmuiOiIyjvEI7+nokuiMWB' +
'VNU0p2kyFrPEwuCmE6gSDiAWkmcoVv1EIfeXMe1l20cO587rDAlgn' +
'eEiEgmFS0fCcfRk9WL1Gw2y5UyjnQdLBoepS71LKUxQEocR08enuN' +
'CNBFg+b76Ho784vNfRkGHnIdSD0qcPx2CQcd1EE9E1b85iCREf4EF' +
'buzNHm9SSOM4ZMtzKkpICeVWgYyIcwSVX5clHGq1+9Gt1vzHcex+6' +
'/7A2IIF0rAUuNEScdL7xR//iu2/Gk48UCCC8t5pBA6Z3/nSYUmVn3' +
'GdTx0WTEH/hhsmESfvyuLu2jttaXMY4UpmK3i9ivvD2F4xaFY1iGT' +
'QIYxIwzNKhm0P0uPEs5dsaf8pbo0YJ4HC3VTQnH2HccktEHDuB5dx' +
'ye2uEqckRtZo5Cu2Ehet00P3LjilNShi9cMwggiVF8OFgJPIWj+K5' +
'GicuOdn1Wv1WPUbXG++a6orXt8zB+W3+FT6RoilSpK1u7OLNBNLn/' +
'ivsujRpkIE/RVXeVUhEEkshtJXT5LFcyoRk7iNzQ3USRJwCCNvZYf' +
'h6C0MiUNikDKY+KLUx/WtWrG1Nh9p3WS11yLFr8+zWuuCcNtA/CDs' +
'bNV0+l6GgDNK5UhIIVZJUOy6eL+gkqmUD/oDaYWmZQ==');
s6 := BitmapFromString(37, 37, 'beNqtl1FL21AUx9tU5ijoghYXmK' +
'TGsrJsbTQso3ZThEw2JqvVzKJ27HEPo/gwikgRX/bkV/AD7EXwcU9' +
'+Fv0IfoXtn5705HiTSjsMfy43bXJ/+Z+ce27uqXXZs3/3bGPeimQ8' +
'kOZj6QVj482zy1MrVJ/1sV6KtPIw2nxrscBiYt2eAuXB3c0WZklzh' +
'TmjoNdX6midamXVniotlHK5XLZ/oGM8NbY+bwW7Qc2rGYND3m5X7P' +
'bXNuT7vlt1oWA76B52g53AXXb1gg7RlXQL4UpFE8pkMpOPJi8uLv4' +
'Ojl6vVzSL3Z9dqNVqMY5vB47+DXXYBQ4ti4j8bIwjd0/yubOzM1Cu' +
'rq6Oj4/Rubm5YZzijm6XOPjSdZ1ZMEju+NkUdxO57PX1NSiwmdXCe' +
'ObzeafqSGs45O2j4KSA81fq5aIJaVqWYhjisllN00zT7B51ofZe2y' +
'gYpDsjYPwBjt5vTN8Nca7rcp9xaL1qBYYId3t7Sy2yxXEcBed/8Fn' +
'Bl4DHb/UPiSMWC6fsTuLwBs/Pz9FBbKenpxmHFrJf2SzXcSVOcYfx' +
'0abiwmBm7wST+hMTE4SDTo5OoPa39ijBxOC4gHEUzzA4YTANr+rkt' +
'CyFESwQY5wICNT50WlsNZgY2+nnRpQqAzqHl+iEKxdLUH5SwxSgiU' +
'AzIgomArXbSk8VgaNZxjiKLeOkO7DgDo7gheYCsXAaTQSBI3fOkjO' +
'WOyWYIKKIzegzOS0uYouLi1Ea3MWxZCbQXGMcGVTmBR4gxBlGeRG4' +
'2dpKLZ6Sd5+N0kzmtr/uS3c1t4aHid7vYae508Qp2v/Aydc9DEcRU' +
'HAQ3cVjEs5znCQuyZLu7Bf2Pe68ZS+ZWqnuSs9Lm582JYur0D24Ye' +
'5wyPXLX+3jSmGq4HclgKT2QVTENt5vDIstPRLjGjsNJXUJOhYOHTm' +
'+zEx5ChwRITmO5zqMw7wDDqK/9vf378cpsZVmU93BCCiKO8oQ/GUt' +
'WExknPPSIRfJzJGDp+LwgSFLNFLFXargAssyqQK09lrRenfQTq6VY' +
'QUWC5CCawZNyo1huEzmMZyKlXcMHDoKznvtDcPR8gp3Y+HMohm/OM' +
'dVcGQQiidOxVbcUTBHxOEjJ7am68lgEpRx0cfAYL2Du7pX51Isi1g' +
'qjkuxLFNxqmw3sJowjos8r3dj4bC6EU6yUnEAyQWF1zvCQRhczq8k' +
'LmIdxsUtFaf3j/j5hwQT7UnvZBiOWfxZfj9O2SMgG8uWCWGar79bp' +
'2cIGoHE4aOLRkOn870DIVD8QU5DqYv7wLiyR0jFoaNUJ2LhM4xAya' +
'FSa1pyjxAWsYIOHGom42hZVNIgKTlUNPH7VZqrXHKPkOou+cWVKjn' +
'UsGvkXo/2ktT++WVbC3ZzrUySu87NNaERfm8IyZ2s3L0ChxZEktxT' +
'GwtCo/wulXAXbsz/AQMx5Ko=');
s7 := BitmapFromString(37, 37, 'beNq1l99KG0EUxnWTbNJa6VJjGK' +
'iIS4o0uG6zNjWJCJJtNHQhpKam2FgvSkAowYsSqIh47yv4AL0Reum' +
'Vr+Ar+Aq+QvttJjk72X9ZUzt8LLPDmfntmTlnZvZc/XVqS11i6oJK' +
'YoKitAfZkKwN9fe5Lc6qb75sbKgkS1CU9iAbEohbqzPAMaZa61k8l' +
'bQyVnPpOa5MOiO2szQj+dqUN8u5JQYlk0+Tidi0UCRJSsiJIBwG4a' +
'OF4Lw2Iu6Pp8zOztZ365Cvd3w0vBqG0fvRa+41G7sNl3dkE+Td1NT' +
'U5eUlWHd3d8B1j7tc6itnnumzRRzELTnOZePC2WFTzs4+fwEidw0V' +
'fVXn45imKa7FyLooiqE7OJqK4LVTIY6LxxNXV1dg3d7eykmZDwLlt' +
'JwXNPjyUZye10PWV8StLTNy7ejoaD4z78L5EkNwAWs3wLG5mZOTE7' +
'Du7+/Bza/lRZyvayG44LXr45iakuM3Nzd8JqelaXPHFHFBOZh6ltI' +
'0jSwRNrzd6BdXgpgVk3CxmAS/gLu4uIjH4y4cRTu69457zd2mkTeC' +
'cBSrvAvhCm8LhJMkZ+FST1IunNgdOJLWLy6cbTNssQO7Ynq9kxMxj' +
'pNlufK+0j5si11GFIpDEXGidyJuXpmRpBjtXea2450rj5zP3ja9ac' +
'6jxWUzCJXSMM2ZWhvdor04CrYQHEXmv+OI6BqKpu4RcWIeUXun0wF' +
'rMpwVihMPFycMPjXFNEfkGKuG0i9kY32wfLboiXD2l4/D7X/enxhX' +
'3amKCfIgnPZGi47TV3SAgIviHZ5e3KK6SDiFqeb6Mp40YziaHZyiM' +
'KEE4vzUarVoTGunGoQr5AvOXqEbBaPQ+Njofu9CIbjc65wLVywUaU' +
'xjRY/inR3kfRCg4d4BZ26ZI64xFuRd70Cjywkk4uBalMkEjhwcsPq' +
'4zmFbxLGFXK2s//xa8E4+P3Qi7pk8zfEUE6e8Xm4ftIFFZXia++AA' +
'oiPyoXumiAMLIC8OGoBaTQRH0N1yZFfxnN0uXGuvdXZ65ovD045Dg' +
'JhiS+getGe6KCKuaBTBghlw7skcpnnQfVKsuw7riAIOSeHFhYB45X' +
'FxY4ne28jEuLGu0b2RhweCE0LMQO0vbVGdbx1QUKEEJBz+N+vl/l8' +
'neyw5BXsIV7WUxXfW3mXsv9c+sVbK+soSFKW9VlokgcIFIljX58N/' +
'8//vHVjXfwE5+JpF');
s8 := BitmapFromString(37, 37, 'beNq9l+1K21AYx7u+GZFKocVlOn' +
'RdR1icxmZ0S7spQnEbBMrWYBkr7Ksyih9GGegHv+8WvAC/CLsCb8F' +
'b8Ba8BfdPnubp0ySNiY4d/oST2Jyfz+s5Oa2dn9T+nNZqz3w9nUhN' +
'qVnvlqvq3psVUCDgQPm84+vdRHZKzXoXLCZu66V2q12ulkmVaoW0V' +
'F1SqyrJMi1VDPqlaZr8Vvjd6XXKQOBqbG4Ap2lavpB/5I9sNlssFh' +
'cXF4nV3++Pfo5I/X6fcGDxQ2ffIXQYRBPC1ddWoUwmUyqVjo+Pr6+' +
'vb72ByeHhYaFQYNN4ZchqWmSLfAgiWxcmBqzL5/M3NzcA/fYGJriF' +
'mezMsHUSRywo0rSAddt6JZfNkV2wFBSaY8Ixcpc9cuX0HI7UGPdr5' +
'Hx1AkEMCLhOq62trWoeTplTyJNsHW4RwX+Lw7XpOrOysLAAu27FOD' +
'g4eAhOX9cjrSPcvDJ/dXUFytnZ2cXFBSa4jcSZDTMJbvBtMPwxNLa' +
'MSGfmstm42DVMYt1tnTdMw/33hkdDSH+pK4qCZOu0TFybmzpwWYFj' +
'r94PRyzGEZFw2loN8lJljlLl8vIS/qRUQaUDREqIY5bEQaAQDtZlM' +
'sqTxypskWWey+WWl5cBwvoQ42JiZ742ZeETyO7aEDuTrEMNFpUiXM' +
'pNDA5HnSbKTL+JSYu6vS7a/iQzVdUtBFXVntcJJ9ssN4SEOBYoRsO' +
'IqLtYHBOT48K7QySuaRgBnOx1iepO9Mw7cZ51JeutFblnpe0qMfud' +
'l5krUBiXLnbTuFn7ncTZH+z7xy5kXeR+5xUCWrSGNiKtSx07gYvZ7' +
'xiHVHGPIv5OSuvTQGJDVEppY8cLeppq0cAFTgiyMxAxbeyYZbwyJA' +
'5NjKyLLFssgspNZZ0fL5e193EPCmyvkTiuXIlLHjvCDb4PGCedOTn' +
'gHY36vb7VsCiOCXtmZGnjzEYnN7Vc3t1xrxsv6oyj8IEl0+YhOD4o' +
'Eg4siRuflkVGpeqZPECH5F9BicQFlLBn3imnZwtnljrbnbie6e3mX' +
'BTeUUeNzGS5g0/huvbue2tDq0NhXLBnzsDJb4cYHByLzAQOV+DQxM' +
'wtM65nzsBRrGkrp3h1v3RZ/J1CBz/GBawL90wIGSJ36nB85cFvPKa' +
'PtezM3fXSp3Z98rGp/nvRt6T/RamDAuJYrfvLFpLP5dcrcOcn+n+w' +
'zmX9BTTBflo=');
s9 := BitmapFromString(37, 37, 'beNq1l89O20AQxps/lITQKoKUrt' +
'Skwg1CiqA0bgMmCFSVIgVZoiguLm0qTpwqxAGhCnrgDo/AA/SEeuT' +
'EK/AKvAKvQL/dScbrtRNCoatPluOs97czOzO7PrJ+/5KyxoVVtFhC' +
'Uz/Pu/VhuQvWnyMpYq0tvlhfsFiupn6ed+vDAvH96xxwQljuXBnX0' +
'cIoaaww1u1eCOHUHMj3fafqiILorXwhT6ov1ivjAiLc0NCTZDKZUC' +
'2ZSmaymVgoeu/v7be1K6UP7tiOv+Hfiis9ewrI1dXVjWqXl5eAZoe' +
'yUSJ6wy7G+c3Q4DwTcHvgso/TxDo+Pr64uMANrqlUKurPKA4ulVJ2' +
'BYZ3iDG4opVKJsiuR6rh5vr6GgZyZ1YI93Pf3/Sdtw60/HGZZdu2t' +
'+Fxf2rOrFMZtyADBwrd94MDyHAay1YtFpcdbDvz9PQU/rw/DiDq43' +
'/1o7jScxkqcCC5kXBYu53dnbXmWutbixWwOs4k6X3gSb2PnNWsE+B' +
'UImQyw5QItHZo6XTa8728COZcmarwOJXpiu6okAeKwnEcPWxk5NQC' +
'HBIhlUonkgkQCQffZjPZfnBwF+YPP8xUZ2JxsiCoysC4wtMhWruDg' +
'wNKhJOTk1Kx1BtHLiJ3AUdECDj/i/Q5oIEHwrjDw8ObTjs7O8vlcq' +
'uNVbwCYmurxWJc63sLdhERIhCmhLUm0ySrKGJx1QkxMDCY6LSRkZG' +
'lxSXJ2vAQY0G8Tdu6dbHBTwkeU1Xmg6rSUCWa/+IxOVv7wXHwM+ue' +
'uMmJST3YvE2PZcbhQ1in/8U51VYYx/tCLM7tgkMMy2UObzHGyFFtb' +
'21PT00b8zT2uz5xOteesQOpFg2eO+EQvTpuvbkeijrVwPI+e71Z/2' +
'BdrVpDIuvBwDh+2APKuLywVubK+Q6O45lfj27WehTp/eUrNVs/ADD' +
'O/bB8H1w03agEoejpBwDu5ryzb8W1S24EpydIaHo1m3BM7N+64ABw' +
'R5x+tiFQ+ZXFOA4VGpNPOHotCjJOHfbsqh2LMyJZqijk4bAojO01i' +
'jMSrf1c4WJLZSxOvtUT18u0PdM0A2eUBfnWripoGg4sxvGw8aZh1Z' +
'pet40g2LhVKQidtIuho5FbL8vvlIKgTRkZrbNQTOg5bqI5hV1VT/9' +
'YhQ4PHRzVDYPlfnKZhZ+xOXUrjqw2cAbLfmNv/9iGCESKzSkY2JsV' +
'Ojxo1uks2IWrsYhGTgUalnt9W51tAhU1elbB9+ZaXX11iodS0GT1U' +
'FqZL2NWjdkx+fWqiI35cqxcTf08b8y/ZIFCAhGs86POt/n/tw6s87' +
'/b4XzA');
s0 := BitmapFromString(37, 37, 'beNq9l99K40AUxtO0trpQyGrRgK' +
'LrCl0qWozWTbN0V6guglDE7AY1eyN4KV6IeCHi43i5T7Cv4Cv4Cr7' +
'C7jdzkpPJJKlWZYePkE4n88v5M2cmt4t314u/bxcXP8SaS2SPqKJn' +
'rYa9szkLCgQcKPtfY31JtDeiip4Fi4m9Vt3relbD0tRea9tKU/+iH' +
'nfTFeq4uWNS4xsWELi2V1eAm5meMU2zJBtuquNVjDk7P7u8uoSCow' +
'DTZnHoFwMuhIIgeBK3tDAPGYZRLpcfHh7+yoYbQGsTNcYRkR70f/q' +
'O47B1RTh4hkZmrZuomvf39wD9kQ03+IkXGBwMmEVTYYZoctmj4sil' +
'jBOvKvvxiGZd2Sw9Pj6CUjJKsBQ3+FmpVHhyMZvj7u7s8k9QKHCMc' +
'2TzPnuAhr/Cm+ubm6tI3qawq9/1mgvzEGJGbjQRt5IZ3ZsmhoFCCn' +
'4GmBNEZ82BANKsI9cBl2gzUngUEg7XzuoK4yhVGCfWTsMmES4yZC0' +
'ndhQmu6jF1hXhEDu8cC4ONj6JI+uyONWZKg6xwyQ8nOIlQtZ17bko' +
'JYBITO44kOr51Gs0bOlMu7Pa5lQxZKNUGRsb43xjHLFwpUnUXPIDn' +
'3FJRsVEwjUXlqB3tTLlv7oQJt9PatYFxwGxyIGUigyybAvKej5eCB' +
'EO1hkGPFdRlzlM21jfCMMQ1kFYwsLSrhux4nhFq8xOlMXFyzxyJoi' +
'91tR0Y7pWrZmyVavVqakpSvhUayuSjadiceXRcbbE2Xbzo8C56y6N' +
'x01R3SOQRU3JE372BTjhqPNL/8CHaSlWPLn/wxdQ2ckVRhS6wwACS' +
'GVlcZ12O4tLdJEvDQdQrnWUJxnr6sjeCKcktoh+bF1/u6/iUoMzOH' +
'IFqnRnrRP7GcvcaS7MQqPiWiut4TjqB04hviVOix1p/2AfOFwZJ0t' +
'0E5UkiyNieByynm8dOTMG2RpOpEoGp+3OmnVFqZJUPC1VlBL9ehw7' +
'k+pPykXxbs44wxjPdSZwreUWaSTrxN7UcbnsMI6211zraDsAhaTFb' +
'jgOD47gTOkc/9BXq0pvu1eIk56nYp4cYK5Sr63ud6/H0ZyM4+Mumc' +
'k42u/exLrcE0oWN9y65nITIMg/9odbl4vjRAVLcWZdOyTwUVZdRFo' +
'stLyCBoNB/3ufhI0jtRwO9ra+uSufliDGRRmVxmWJ8mSl79rDRTjk' +
'J3CiiBVbp/okOSzF1ek5LBHZhsU41ZkipWVeaRGnVFfOjYm8ngfBk' +
'ycnJ/AhdHp6imuUq9HrWezMreX6rreUfGzaby/6loy/KFuggBip+3' +
'LtKVL71a9X4O6uW//BOsH6B3hX9cM=');
MOB_HP_BAR := BitmapFromString(3, 1, 'beNoTFPQXBCMABe4BVA==' +
'');
INV_FULL := BitmapFromString(38, 6, 'beNqFUtGNwjAMtZMmbdOUC' +
'qi4j9MdSPxR1ipsgHQb3Aqs0BVYgRW6AivcuQmOLFGJyrLcp5c8Pz' +
't1gYh/ABRDyLHwi2K3/9BajQzeAYzR3fG7besfhQ/GKa4Av6Eg0Nq' +
'sO34aoyThjOicPePzF9VTkS6/MEdnyrk8yt24GSq8z9etfwQVEHzg' +
'4jSJ6l70GQ9CyBFRrAjiIIFKz+Dkumkc4mTqHkwlzsBtQ8hxVsk7M' +
'PkqFCeVuVqGzbOqyoeXmVAPaTu9aCO12gvmW0X50cTI5uxM6rq8sa' +
'M4ybK0tPpRgGN4DOlmFCpUF6VJe0xelssqKV54NVHx0H2BmAYtdLv' +
'brFZ+EOD0Jv8BaLyLGQ==');
GMQuiz := DTMFromString('78DA636C67646098CE8002FEFFFF0FA619A17' +
'CC65E22D47403593389503307B71A66989A4504D4CC05B2161350' +
'339B08BBA60059F309A8D90C64CD22A0660B90B580809A2344AA9' +
'94940CD6922FC75167F7C81D59C07B2161250F3888870BE43847B' +
'9E1311CE5F81ACB904D47031118E0B901A42E1AC49841A59A09A7' +
'904D4083111F6972350CD6C026AFC89B02B9489703847136117C8' +
'1C3C712A0DA20BF0DB0556534EA49A4504D4D410760F00B32E897' +
'9');
Patq := DTMFromString('78DABDD5B94AC4501480E144C5B711CC90B9B' +
'999C46E702B14F1319419041702AE8DCB8388A5D8DB4D31697C03' +
'0B5F40100BDB787330838DE7FC95692E818F7BD690D8CD4751321' +
'7FD7E9AA69133FE798F5BD307C603531AC607931926D7CD427B96' +
'C0AC04D3FBDB2C76B112C338600A60D682490DB3A1CF42CC66300' +
'E186F98613003C3ACEA3315B30ECC3630BBD00C80C90CB305FABC' +
'03E67500628DC13D7B60A6FB60A6ED3D05B8C7EAF30898C360726' +
'01C30567F8E813901A60273AF409F2BD81F628A7FECB355FB1130' +
'3760E7AFF5EF74A93D6FF55862EEF4BAC4DCEBB1963BE30CF3A0E' +
'F8F9847609E80790666A2F747CC54DF1F312FFA1E8A79D5FF9579' +
'6752C3BC419300531AE65DEF8F980F90CFA7BECF3363E5F3054C0' +
'D72AE41CEB5BEF3335318E614983350D70530E7C05CC2581EE4EC' +
'41ED19300E983EC8270575A5A03F96B9B2F3F906880F4A95');
n1 := BitmapFromString(6, 12, 'beNr7/58BCfwHAzQuXATCgIsgi' +
'yPrGhARdAAAU39cpA==');
n2 := BitmapFromString(9, 14, 'beNpjYCAG/EcCaOIE2bhEKJGio' +
'hYqimMCfGEKAFO8RLw=');
n3 := BitmapFromString(9, 12, 'beNpjYICD/zDAgAqQRXCxMbnES' +
'OGyDqs4kXYR6RI83kSznbALAQinR7k=');
n4 := BitmapFromString(10, 14, 'beNpjYCAD/P//H48ULlmIOFZZ' +
'uCCpssgiaLJ4uATNwQrICA0KZaEAABzUTbM=');
n5 := BitmapFromString(10, 14, 'beNpjYCAG/McAaLL49ZIhhWkp' +
'fr34jaLEkWiyJLkEq7G4fIQTAAALZE2z');
n6 := BitmapFromString(10, 14, 'beNpjYCAS/IcBrFJY2Zhc/Iqx' +
'qsRlL5oghfZSS5YYD+IJSewAAFMcU60=');
n7 := BitmapFromString(10, 14, 'beNpjYCAI/mMDeBTjN2rwaByc' +
'lmIBAJgSNcs=');
n8 := BitmapFromString(10, 14, 'beNpjYCAS/IcBrFJY2Zhc/Irx' +
'a8dlNZ1dRVM3YwcAYeNQsA==');
n9 := BitmapFromString(10, 14, 'beNpjYCAS/IcBrFJY2Zhc/Iqp' +
'KIupGKt6uDhWf1HFXpJCEjsAAP5UU60=');
n10 := BitmapFromString(17, 14, 'beNpjYKAQ/P//H6sgBOCSwmMI' +
'miyEi1UQqwgmg6AW/FaPaiFbBFcCICnBEAsAHEx6hg==');
end;
procedure HEROcmd(Text: string);
var
S: string;
I, L: Integer;
C: Byte;
Shift: Boolean;
begin
S:= 'ABCDEFGHIJKLMNOPQRSTUVWXZ' + '~!@#$%^&*()_+{}|:"<>?';
L := Length(Text);
for I:= 1 to L do
begin
Shift:= (Pos(Text[i], S) > 0);
if(Shift)then
begin
KeyDown(VK_SHIFT) Wait(40 + Random(40));
while(Pos(Text[i], S) > 0)and(I <= Length(Text))do
begin
C := GetKeyCode(StrGet(Text, I));
TypeByte(c);
I:= I + 1;
if(I > Length(Text))then Break;
end;
end;
if(Shift)then
KeyUp(VK_SHIFT);
Wait(40 + Random(40));
if(I <= Length(Text))then
begin
C:= GetKeyCode(StrGet(Text, I));
TypeByte(C);
Wait(40 + Random(40));
end;
end;
end;
procedure SolveGMQuiz;
begin
CalculateX1Y1X2Y2;
Solved := GetLeftNumber() + GetRightNumber();
Mouse(AX1, AY1, 1, 1, true);
Wait(100);
ClickMouse(AX1, AY1, true); // Clicks on Answer box.
TypeSend(IntToStr(Solved)); // Writes the solved int.
Wait(500);
Mouse(BX1, BY1, 1, 1, true);
Wait(100);
ClickMouse(BX1, BY1, true); // Clicks on OK button.
Wait(1000);
Status := 'on';
quizes := quizes + 1;
end;
procedure CheckForGMQuiz;
begin
FindLot;
if (FindDTM(Patq, x, y, 0, 0, 1024, 768)) then
begin
Status := 'pause';
SolveGMQuiz;
end;
end;
procedure checkPetHP;
begin
FindLot;
if not (Status = 'pause') then
begin
if (findcolor(x, y, 1062094, 188, 114, 192, 121)) then
begin
CheckForGMQuiz;
end else
begin
HEROcmd(PSlot('pet'));
HPTaken := HPTaken + 1;
CheckForGMQuiz;
Wait(10);
ClearDebug;
Writeln('-------------------------------');
Writeln('--- FremBot Beta Private V'+Ver+' ---');
Writeln('-------------------------------');
Writeln('GM Quizes: '+IntToStr(quizes));
Writeln('HP Potions taken: '+IntToStr(HPTaken));
Writeln('-------------------------------');
Writeln('HP Fill. (Slot: '+PSlot('hp')+')');
Writeln('-------------------------------');
CheckForGMQuiz;
end;
end;
end;
procedure checkHP;
begin
FindLot;
if not (Status = 'pause') then
begin
checkPetHP;
if (findcolor(x, y, 1061070, 174, 63, 184, 72)) then
begin
CheckForGMQuiz;
end else
begin
HEROcmd(PSlot('hp'));
HPTaken := HPTaken + 1;
CheckForGMQuiz;
Wait(10);
ClearDebug;
Writeln('-------------------------------');
Writeln('--- FremBot Beta Private V'+Ver+' ---');
Writeln('-------------------------------');
Writeln('GM Quizes: '+IntToStr(quizes));
Writeln('HP Potions taken: '+IntToStr(HPTaken));
Writeln('-------------------------------');
Writeln('HP Fill. (Slot: '+PSlot('hp')+')');
Writeln('-------------------------------');
CheckForGMQuiz;
end;
end;
end;
procedure selectMOB;
begin
if not (Status = 'pause') then
begin
HEROcmd('v');
CheckForGMQuiz;
ClearDebug;
Writeln('-------------------------------');
Writeln('--- FremBot Beta Private V'+Ver+' ---');
Writeln('-------------------------------');
Writeln('GM Quizes: '+IntToStr(quizes));
Writeln('HP Potions taken: '+IntToStr(HPTaken));
Writeln('-------------------------------');
Writeln('Selected.');
Writeln('-------------------------------');
end;
end;
procedure attackMOB;
begin
if not (Status = 'pause') then
begin
HEROcmd('a');
CheckForGMQuiz;
FindLot;
ClearDebug;
Writeln('-------------------------------');
Writeln('--- FremBot Beta Private V'+Ver+' ---');
Writeln('-------------------------------');
Writeln('GM Quizes: '+IntToStr(quizes));
Writeln('HP Potions taken: '+IntToStr(HPTaken));
Writeln('-------------------------------');
Writeln('Fighting...');
Writeln('-------------------------------');
Wait(100);
sKILLED := false;
end;
end;
function NotInFight():boolean;
begin
if not (Status = 'pause') then
begin
if (findbitmapin(MOB_HP_BAR, x, y, 442, 121, 621, 136)) then
begin
checkHP;
Wait(100);
attackMOB;
HEROcmd('s');
checkHP;
Wait(100);
HEROcmd('s');
checkHP;
Wait(100);
HEROcmd('s');
checkHP;
Wait(50);
Result := false;
end else
begin
ClearDebug;
Writeln('-------------------------------');
Writeln('--- FremBot Beta Private V'+Ver+' ---');
Writeln('-------------------------------');
Writeln('GM Quizes: '+IntToStr(quizes));
Writeln('HP Potions taken: '+IntToStr(HPTaken));
Writeln('-------------------------------');
Writeln('Not in fight.');
Writeln('-------------------------------');
Result := true;
end;
end;
end;
begin
SetUpSRL;
declareStuff;
ClearDebug;
Writeln('-------------------------------');
Writeln('--- FremBot Beta Private V'+Ver+' ---');
Writeln('-------------------------------');
Wait(2000);
repeat
if not (Status = 'pause') then
begin
checkHP;
Wait(100);
selectMOB;
Wait(150);
attackMOB;
repeat
Wait(50);
until(NotInFight);
end else
begin
Wait(200);
end;
until(false);
end.