SCAR Code:
program TestForFindLumbyDoor1st;
{start in middle of checkered room in first floor lumby castle (or outside
if door is open)
should click west, then you press f12
then it click south, then you press f11
then it click east then you press f12
then it click north door
}
{.include SRL/SRL.scar}
{*******************************************************************************
function FindLumbyDoor1st(Direction:string):boolean;
By: Boreas
Description: Sets x,y to the location of one of the 4 doors in lumbridge
castle 1st floor foyer (the chessboard room)
Direction: 'north','east','south','west'
*******************************************************************************}
function FindLumbyDoor1st(Direction:string):boolean;
var
xAddToBmp,yAddToBmp:integer;
bmpLD:array [1..7] of integer;
i,dacolor,DoorColor:integer;
daboolean,AutoDoor:boolean;
//CompassBox:Tbox;
begin
//CompassBox:=cBox2(546,3,585,36);
case Direction of
'north':
begin
xAddToBmp:=9+random(4);
yAddToBmp:=1;
end;
'east':
begin
xAddToBmp:=17;
yAddToBmp:=25+random(8);
end;
'south':
begin
xAddToBmp:=10+random(4);
yAddToBmp:=58;
end;
'west':
begin
xAddToBmp:=1;
yAddToBmp:=13+random(8);
end;
end;
bmpLD[1] := BitmapFromString(18, 59, 'z78DAEDD7310D00000803304B5' +
'3817F49BC9CBC90D6C0921D902537D4100018DFE15F16807BAB73' +
'0000B04136EBA0014E51AF1D');
bmpLD[2] := BitmapFromString(13, 59, 'z78DAEDD8210100000803B04A4' +
'F41FF48D86B14628BB1E48B2901000000E0A48F65014901611E');
bmpLD[3] := BitmapFromString(18, 30, 'z78DA33301805A360148C82513' +
'00A862A700383E167D7281805A360148C96B700863461AF');
bmpLD[4] := BitmapFromString(12, 18, 'z78DA33301878E086040C46C12' +
'81805230C502BEF536E0E00CC34F511');
bmpLD[5] := BitmapFromString(18, 59, 'z78DAEDD7310900000800C14AA' +
'6B07F24C100E2287257E0E78F0000009864FBD70200002E3FC8E6' +
'0E0ADEDDAD0D');
bmpLD[6] := BitmapFromString(18, 30, 'z78DA3330181AC00D09188C825' +
'1300A46C1281805A360148C8251300AE8DE1AA7A75D000A2561AF' +
'');
bmpLD[7] := BitmapFromString(13, 59, 'z78DAEDD7410900000800B14AA' +
'6B07F24413308225B80FB5F04C067D96ED6000000F63E6814A4B6' +
'611E');
///////////////auto door color finder//////////////////
dacolor:=200;
repeat
dacolor:=dacolor+1;
if not(((dacolor=206)or(dacolor=217)or(dacolor=233)or(dacolor=241)))then
begin
AutoDoor:=findmmcolor(x,y,dacolor);
end;
until ((dacolor=254) or (AutoDoor));
DoorColor:=dacolor;
writeln(inttostr(dacolor));
if AutoDoor=true then writeln('true');
///////////////////auto door color finder end////////////////////
dacolor:=200;
repeat
dacolor:=dacolor+1;
///////////door color user ////////////////
if AutoDoor then
begin
dacolor:=DoorColor;
AutoDoor:=false;
end;
/////////////door color user end///////////////
if not(((dacolor=206)or(dacolor=217)or(dacolor=233)or(dacolor=241)))then
begin
i:=0;
repeat
i:=i+1;
case i of
1:
begin
FastSetPixel(bmpLD[i],10,1,dacolor);
FastSetPixel(bmpLD[i],11,1,dacolor);
FastSetPixel(bmpLD[i],1,16,dacolor);
FastSetPixel(bmpLD[i],1,17,dacolor);
FastSetPixel(bmpLD[i],17,28,dacolor);
FastSetPixel(bmpLD[i],17,29,dacolor);
FastSetPixel(bmpLD[i],11,58,dacolor);
FastSetPixel(bmpLD[i],12,58,dacolor);
end;
2:
begin
FastSetPixel(bmpLD[i],10,1,dacolor);
FastSetPixel(bmpLD[i],11,1,dacolor);
FastSetPixel(bmpLD[i],11,58,dacolor);
FastSetPixel(bmpLD[i],12,58,dacolor);
end;
3:
begin
FastSetPixel(bmpLD[i],1,16,dacolor);
FastSetPixel(bmpLD[i],1,17,dacolor);
FastSetPixel(bmpLD[i],17,28,dacolor);
FastSetPixel(bmpLD[i],17,29,dacolor);
end;
4:
begin
FastSetPixel(bmpLD[i],10,1,dacolor);
FastSetPixel(bmpLD[i],11,1,dacolor);
FastSetPixel(bmpLD[i],1,16,dacolor);
FastSetPixel(bmpLD[i],1,17,dacolor);
end;
5:
begin
FastSetPixel(bmpLD[i],17,28,dacolor);
FastSetPixel(bmpLD[i],17,29,dacolor);
FastSetPixel(bmpLD[i],11,58,dacolor);
FastSetPixel(bmpLD[i],12,58,dacolor);
end;
6:
begin
FastSetPixel(bmpLD[i],10,1,dacolor);
FastSetPixel(bmpLD[i],11,1,dacolor);;
FastSetPixel(bmpLD[i],17,28,dacolor);
FastSetPixel(bmpLD[i],17,29,dacolor);
end;
7:
begin
FastSetPixel(bmpLD[i],1,16,dacolor);
FastSetPixel(bmpLD[i],1,17,dacolor);
FastSetPixel(bmpLD[i],11,58,dacolor);
FastSetPixel(bmpLD[i],12,58,dacolor);
end;
end;
daboolean:=FindBitmapIn(bmpLD[i],x,y,591,40,mmx2,mmy2);
if daboolean then writeln(inttostr(x)+' '+inttostr(y));
until ((i=7) or (daboolean));
end;
until ((dacolor=254) or (daboolean));
i:=0;
repeat
i:=i+1;
FreeBitmap(bmpLD[i]);
until i=7;
x:=x+xAddToBmp;
y:=y+yAddToBmp;
result:=daboolean;
end;
begin
SetupSRL;
activateclient;
gametab(2);
gametab(4);
makecompass('n');
wait(random(500)+500);
makecompass('n');
FindLumbyDoor1st('west');
mouse(x,y,0,0,true);
repeat
wait(30);
until isfkeydown(12);
FindLumbyDoor1st('south');
mouse(x,y,0,0,true);
repeat
wait(30);
until isfkeydown(11);
FindLumbyDoor1st('east');
mouse(x,y,0,0,true);
repeat
wait(30);
until isfkeydown(12);
FindLumbyDoor1st('north');
mouse(x,y,0,0,true);
end.