PDA

View Full Version : My opendoor Function(worked on everydoor i tried)



Bramble
12-12-2006, 05:16 PM
ive been through falador/vorrock/lumbridge, any door that is parrallel to n/w/e/s this function can open i believe(need others to test it out)

instructions for use:
1. when you put in the direction for it to face, make sure its from the opposite side of the person like you<>Door<>Camera angle (if that makes any sense) this stops npc's from jumping in the way most of the time.
2. you have to be against the wall of the closed door and 1 block(or click) away from the door in order for this to work
program New;
{.include srl/srl.scar}

Function MyOpenDoor(Dir:string):boolean;
var doorfound:string;i:integer;CoX:Array[0..8] of integer;
CoY:Array[0..8] of integer;
begin
Cox[0]:=326;
Coy[0]:=151;
Cox[1]:=246;
Coy[1]:=156;
Cox[2]:=186;
Coy[2]:=156;
Cox[3]:=330;
Coy[3]:=155;
Cox[4]:=273;
Coy[4]:=154;
Cox[5]:=219;
Coy[5]:=153;
Cox[6]:=306;
Coy[6]:=158;
Cox[7]:=281;
Coy[7]:=186;
Cox[8]:=217;
Coy[8]:=155;
keydown(40);
wait(1500);
keyup(40);
wait(500+random(+250));
makecompass(dir);
doorfound := 'no';
repeat
if (doorfound = 'no') then
begin
mmouse(Cox[i],Coy[i],3,3);
if (IsUpTextMulti('Door', 'Doo', 'oor') = true) then
begin
if (IsUpTextMulti('Open', 'Op', 'en') = true) or (isuptextmulti('Ope', 'pen', 'Open') = true) then
begin
GetMousePos(x,y);
mouse(x,y,0,0,true);
Doorfound := 'yes';
end;
if (IsUpTextMulti('Close', 'lo', 'se') = true) then
begin
Doorfound := 'yes';
end;
end;
end;
i:= +1;
until (i = 3) or (doorfound = 'yes');
if (doorfound = 'no') then
begin
keydown(38);
wait(200);
keyup(38);
wait(1000+random(250));
end;
repeat
if (doorfound = 'no') then
begin
mmouse(Cox[i],Coy[i],3,3);
if (IsUpTextMulti('Door', 'Doo', 'oor') = true) then
begin
if (IsUpTextMulti('Open', 'Op', 'en') = true) or (isuptextmulti('Ope', 'pen', 'Open') = true) then
begin
GetMousePos(x,y);
mouse(x,y,0,0,true);
Doorfound := 'yes';
end;
if (IsUpTextMulti('Close', 'lo', 'se') = true) then
begin
Doorfound := 'yes';
end;
end;
end;
i:= +1;
until (i = 6) or (doorfound = 'yes');
if (doorfound = 'no') then
begin
keydown(38);
wait(200);
keyup(38);
wait(1000+random(250));
end;
repeat
if (doorfound = 'no') then
begin
mmouse(Cox[i],Coy[i],3,3);
if (IsUpTextMulti('Door', 'Doo', 'oor') = true) then
begin
if (IsUpTextMulti('Open', 'Op', 'en') = true) or (isuptextmulti('Ope', 'pen', 'Open') = true) then
begin
GetMousePos(x,y);
mouse(x,y,0,0,true);
Doorfound := 'yes';
end;
if (IsUpTextMulti('Close', 'lo', 'se') = true) then
begin
Doorfound := 'yes';
end;
end;
end;
i:= +1;
until (i = 9) or (doorfound = 'yes');
if (doorfound = 'no') then
writeln('Couldnt open door, or door is allready open');
end;

begin
setupsrl;
activateclient;
MyOpenDoor('n');
end.

hope thats better for all you NEAT FREAKS out there, lol j/k

TOB
12-12-2006, 05:38 PM
No idea if it works because I can't test but use arrays, neater :P

Bramble
12-12-2006, 05:40 PM
arrays for just the x,y axis right lol, working on that
::edit:: added arrays :-P just for TOB

SubiN
12-12-2006, 09:40 PM
isnt this posted on the wrong section ?

Boreas
12-12-2006, 09:54 PM
You're probably thinking of the member forum, it can stay here.

WT-Fakawi
12-12-2006, 09:57 PM
There is no test section in the Public Forum, subin :)

bramble: nice clean coding, though there will be some lag due to the use of all the multis :) good work.

Bramble
12-12-2006, 10:36 PM
it worked really fast for me, maybe its just my computer though

I Karma I
12-12-2006, 10:43 PM
I think this should be added to SRL xD