senrath
03-05-2008, 02:26 AM
Well, here it is, my first ever function/script. It is designed to walk from Lumby to Varrock East Bank, and has been working reliably for me ever since I got it "finished".
I'd appreciate it if people would run it themselves, and/or look over it. Tell me of any errors that come up (please use detail). Also, please tell me of any standards that I might have missed (I've been working with Java and Eclipse's autoindentation feature has me spoiled).
Feel free to use this in any FREE script, provided you give me proper credit.
And before people say anything, I'm also working on one for Varrock West Bank, one for the center of Varrock, one for Draynor, and two for Falador (East and West banks, respectively). The Varrock ones shouldn't take much longer (once I actually start on them).
{************************************************* ******************************
function DeadWalkVE: Boolean;
By: Senrath
Description: Walks from Lumbridge Courtyard to Varrock East Bank. Must include
path.scar (found SRL/SRL/misc/path.scar)
************************************************** *****************************}
function DeadWalkVE: Boolean;
var
count, x, y : Integer;
begin
if not(LoggedIn)then Exit;
MakeCompass('n');
wait(1000 + random(500));
RadialRoadWalk(FindRoadColor, 85, 95, 70, 1, 1);
RadialWalk(FindWaterColor, 60, 90, 70, 1, 1);
RadialRoadWalk(FindRoadColor, 45, 90, 60, 1, 1);
RadialRoadWalk(FindRoadColor, 45, 90, 60, 1, 1);
repeat
begin
RadialRoadWalk(FindRoadColor, 320, 360, 70, 1, 1);
count := count + 1;
end;
until(FindSymbol(x, y, 'churn'))or(count > 10);
count := 0;
repeat
begin
RadialRoadWalk(FindRoadColor, 0, 90, 70, 1, 1);
count := count + 1;
end;
until(FindSymbol(x, y, 'quest'))or(count > 10);
if(FindSymbol(x, y ,'quest'))then Mouse(x, y, 4, 4, true);
RoadColor:=FindVarrockRoadColor;
Path[0].Mainpoint.x:=700;
Path[0].Mainpoint.y:=82;
Path[0].Subpoints[0].x:=588;
Path[0].Subpoints[0].y:=63;
Path[0].Subpoints[1].x:=659;
Path[0].Subpoints[1].y:=78;
Path[0].Subpoints[2].x:=606;
Path[0].Subpoints[2].y:=82;
WalkPath(0);
Flag;
RoadColor:=FindVarrockRoadColor;
Path[1].Mainpoint.x:=689;
Path[1].Mainpoint.y:=79;
Path[1].Subpoints[0].x:=576;
Path[1].Subpoints[0].y:=75;
Path[1].Subpoints[1].x:=604;
Path[1].Subpoints[1].y:=68;
Path[1].Subpoints[2].x:=636;
Path[1].Subpoints[2].y:=82;
Path[1].Subpoints[3].x:=660;
Path[1].Subpoints[3].y:=68;
WalkPath(1);
Flag;
RoadColor:=FindVarrockRoadColor;
Path[2].Mainpoint.x:=638;
Path[2].Mainpoint.y:=36;
Path[2].Subpoints[0].x:=656;
Path[2].Subpoints[0].y:=21;
Path[2].Subpoints[1].x:=601;
Path[2].Subpoints[1].y:=78;
Path[2].Subpoints[2].x:=676;
Path[2].Subpoints[2].y:=99;
WalkPath(2);
Flag;
RoadColor:=FindVarrockRoadColor;
Path[3].Mainpoint.x:=624;
Path[3].Mainpoint.y:=24;
Path[3].Subpoints[0].x:=585;
Path[3].Subpoints[0].y:=125;
Path[3].Subpoints[1].x:=621;
Path[3].Subpoints[1].y:=130;
Path[3].Subpoints[2].x:=667;
Path[3].Subpoints[2].y:=139;
Path[3].Subpoints[3].x:=642;
Path[3].Subpoints[3].y:=102;
Path[3].Subpoints[4].x:=656;
Path[3].Subpoints[4].y:=43;
WalkPath(3);
Flag;
RoadColor:=FindVarrockRoadColor;
Path[4].Mainpoint.x:=641;
Path[4].Mainpoint.y:=24;
Path[4].Subpoints[0].x:=644;
Path[4].Subpoints[0].y:=154;
Path[4].Subpoints[1].x:=638;
Path[4].Subpoints[1].y:=134;
Path[4].Subpoints[2].x:=661;
Path[4].Subpoints[2].y:=104;
Path[4].Subpoints[3].x:=613;
Path[4].Subpoints[3].y:=57;
WalkPath(4);
Flag;
RoadColor:=FindVarrockRoadColor;
Path[5].Mainpoint.x:=612;
Path[5].Mainpoint.y:=24;
Path[5].Subpoints[0].x:=624;
Path[5].Subpoints[0].y:=159;
Path[5].Subpoints[1].x:=622;
Path[5].Subpoints[1].y:=158;
Path[5].Subpoints[2].x:=611;
Path[5].Subpoints[2].y:=136;
Path[5].Subpoints[3].x:=599;
Path[5].Subpoints[3].y:=117;
Path[5].Subpoints[4].x:=614;
Path[5].Subpoints[4].y:=102;
Path[5].Subpoints[5].x:=631;
Path[5].Subpoints[5].y:=76;
Path[5].Subpoints[6].x:=609;
Path[5].Subpoints[6].y:=57;
WalkPath(5);
RoadColor:=FindVarrockRoadColor;
Path[6].Mainpoint.x:=631;
Path[6].Mainpoint.y:=20;
Path[6].Subpoints[0].x:=648;
Path[6].Subpoints[0].y:=151;
Path[6].Subpoints[1].x:=649;
Path[6].Subpoints[1].y:=134;
Path[6].Subpoints[2].x:=628;
Path[6].Subpoints[2].y:=116;
Path[6].Subpoints[3].x:=628;
Path[6].Subpoints[3].y:=96;
Path[6].Subpoints[4].x:=629;
Path[6].Subpoints[4].y:=60;
Path[6].Subpoints[5].x:=640;
Path[6].Subpoints[5].y:=47;
WalkPath(6);
Flag;
RoadColor:=FindVarrockRoadColor;
Path[7].Mainpoint.x:=613;
Path[7].Mainpoint.y:=21;
Path[7].Subpoints[0].x:=632;
Path[7].Subpoints[0].y:=158;
Path[7].Subpoints[1].x:=629;
Path[7].Subpoints[1].y:=133;
Path[7].Subpoints[2].x:=640;
Path[7].Subpoints[2].y:=116;
Path[7].Subpoints[3].x:=633;
Path[7].Subpoints[3].y:=92;
Path[7].Subpoints[4].x:=619;
Path[7].Subpoints[4].y:=67;
Path[7].Subpoints[5].x:=628;
Path[7].Subpoints[5].y:=47;
WalkPath(7);
Flag;
RoadColor:=FindVarrockRoadColor;
Path[8].Mainpoint.x:=580;
Path[8].Mainpoint.y:=75;
Path[8].Subpoints[0].x:=624;
Path[8].Subpoints[0].y:=44;
Path[8].Subpoints[1].x:=617;
Path[8].Subpoints[1].y:=61;
Path[8].Subpoints[2].x:=595;
Path[8].Subpoints[2].y:=73;
Path[8].Subpoints[3].x:=620;
Path[8].Subpoints[3].y:=81;
Path[8].Subpoints[4].x:=638;
Path[8].Subpoints[4].y:=103;
if not(WalkPath(8))then
begin
RadialRoadWalk(FindVarrockRoadColor, 0, 20, 30, 1, 1);
WalkPath(8);
Flag;
end;
RoadColor:=FindVarrockRoadColor;
Path[9].Mainpoint.x:=571;
Path[9].Mainpoint.y:=94;
Path[9].Subpoints[0].x:=669;
Path[9].Subpoints[0].y:=68;
Path[9].Subpoints[1].x:=668;
Path[9].Subpoints[1].y:=83;
Path[9].Subpoints[2].x:=673;
Path[9].Subpoints[2].y:=99;
Path[9].Subpoints[3].x:=642;
Path[9].Subpoints[3].y:=88;
Path[9].Subpoints[4].x:=617;
Path[9].Subpoints[4].y:=89;
WalkPath(9);
Flag;
count:=0;
repeat
if(FindSymbol(x, y, 'bank'))then
begin
Mouse(x, y, 1, 1, true);
Flag;
Result := True;
end;
SymbolAccuracy := SymbolAccuracy - 0.1;
count := count + 1;
wait(1000 + random(500));
until(Result)or(count > 5);
SymbolAccuracy := 0.8;
end;
I'd appreciate it if people would run it themselves, and/or look over it. Tell me of any errors that come up (please use detail). Also, please tell me of any standards that I might have missed (I've been working with Java and Eclipse's autoindentation feature has me spoiled).
Feel free to use this in any FREE script, provided you give me proper credit.
And before people say anything, I'm also working on one for Varrock West Bank, one for the center of Varrock, one for Draynor, and two for Falador (East and West banks, respectively). The Varrock ones shouldn't take much longer (once I actually start on them).
{************************************************* ******************************
function DeadWalkVE: Boolean;
By: Senrath
Description: Walks from Lumbridge Courtyard to Varrock East Bank. Must include
path.scar (found SRL/SRL/misc/path.scar)
************************************************** *****************************}
function DeadWalkVE: Boolean;
var
count, x, y : Integer;
begin
if not(LoggedIn)then Exit;
MakeCompass('n');
wait(1000 + random(500));
RadialRoadWalk(FindRoadColor, 85, 95, 70, 1, 1);
RadialWalk(FindWaterColor, 60, 90, 70, 1, 1);
RadialRoadWalk(FindRoadColor, 45, 90, 60, 1, 1);
RadialRoadWalk(FindRoadColor, 45, 90, 60, 1, 1);
repeat
begin
RadialRoadWalk(FindRoadColor, 320, 360, 70, 1, 1);
count := count + 1;
end;
until(FindSymbol(x, y, 'churn'))or(count > 10);
count := 0;
repeat
begin
RadialRoadWalk(FindRoadColor, 0, 90, 70, 1, 1);
count := count + 1;
end;
until(FindSymbol(x, y, 'quest'))or(count > 10);
if(FindSymbol(x, y ,'quest'))then Mouse(x, y, 4, 4, true);
RoadColor:=FindVarrockRoadColor;
Path[0].Mainpoint.x:=700;
Path[0].Mainpoint.y:=82;
Path[0].Subpoints[0].x:=588;
Path[0].Subpoints[0].y:=63;
Path[0].Subpoints[1].x:=659;
Path[0].Subpoints[1].y:=78;
Path[0].Subpoints[2].x:=606;
Path[0].Subpoints[2].y:=82;
WalkPath(0);
Flag;
RoadColor:=FindVarrockRoadColor;
Path[1].Mainpoint.x:=689;
Path[1].Mainpoint.y:=79;
Path[1].Subpoints[0].x:=576;
Path[1].Subpoints[0].y:=75;
Path[1].Subpoints[1].x:=604;
Path[1].Subpoints[1].y:=68;
Path[1].Subpoints[2].x:=636;
Path[1].Subpoints[2].y:=82;
Path[1].Subpoints[3].x:=660;
Path[1].Subpoints[3].y:=68;
WalkPath(1);
Flag;
RoadColor:=FindVarrockRoadColor;
Path[2].Mainpoint.x:=638;
Path[2].Mainpoint.y:=36;
Path[2].Subpoints[0].x:=656;
Path[2].Subpoints[0].y:=21;
Path[2].Subpoints[1].x:=601;
Path[2].Subpoints[1].y:=78;
Path[2].Subpoints[2].x:=676;
Path[2].Subpoints[2].y:=99;
WalkPath(2);
Flag;
RoadColor:=FindVarrockRoadColor;
Path[3].Mainpoint.x:=624;
Path[3].Mainpoint.y:=24;
Path[3].Subpoints[0].x:=585;
Path[3].Subpoints[0].y:=125;
Path[3].Subpoints[1].x:=621;
Path[3].Subpoints[1].y:=130;
Path[3].Subpoints[2].x:=667;
Path[3].Subpoints[2].y:=139;
Path[3].Subpoints[3].x:=642;
Path[3].Subpoints[3].y:=102;
Path[3].Subpoints[4].x:=656;
Path[3].Subpoints[4].y:=43;
WalkPath(3);
Flag;
RoadColor:=FindVarrockRoadColor;
Path[4].Mainpoint.x:=641;
Path[4].Mainpoint.y:=24;
Path[4].Subpoints[0].x:=644;
Path[4].Subpoints[0].y:=154;
Path[4].Subpoints[1].x:=638;
Path[4].Subpoints[1].y:=134;
Path[4].Subpoints[2].x:=661;
Path[4].Subpoints[2].y:=104;
Path[4].Subpoints[3].x:=613;
Path[4].Subpoints[3].y:=57;
WalkPath(4);
Flag;
RoadColor:=FindVarrockRoadColor;
Path[5].Mainpoint.x:=612;
Path[5].Mainpoint.y:=24;
Path[5].Subpoints[0].x:=624;
Path[5].Subpoints[0].y:=159;
Path[5].Subpoints[1].x:=622;
Path[5].Subpoints[1].y:=158;
Path[5].Subpoints[2].x:=611;
Path[5].Subpoints[2].y:=136;
Path[5].Subpoints[3].x:=599;
Path[5].Subpoints[3].y:=117;
Path[5].Subpoints[4].x:=614;
Path[5].Subpoints[4].y:=102;
Path[5].Subpoints[5].x:=631;
Path[5].Subpoints[5].y:=76;
Path[5].Subpoints[6].x:=609;
Path[5].Subpoints[6].y:=57;
WalkPath(5);
RoadColor:=FindVarrockRoadColor;
Path[6].Mainpoint.x:=631;
Path[6].Mainpoint.y:=20;
Path[6].Subpoints[0].x:=648;
Path[6].Subpoints[0].y:=151;
Path[6].Subpoints[1].x:=649;
Path[6].Subpoints[1].y:=134;
Path[6].Subpoints[2].x:=628;
Path[6].Subpoints[2].y:=116;
Path[6].Subpoints[3].x:=628;
Path[6].Subpoints[3].y:=96;
Path[6].Subpoints[4].x:=629;
Path[6].Subpoints[4].y:=60;
Path[6].Subpoints[5].x:=640;
Path[6].Subpoints[5].y:=47;
WalkPath(6);
Flag;
RoadColor:=FindVarrockRoadColor;
Path[7].Mainpoint.x:=613;
Path[7].Mainpoint.y:=21;
Path[7].Subpoints[0].x:=632;
Path[7].Subpoints[0].y:=158;
Path[7].Subpoints[1].x:=629;
Path[7].Subpoints[1].y:=133;
Path[7].Subpoints[2].x:=640;
Path[7].Subpoints[2].y:=116;
Path[7].Subpoints[3].x:=633;
Path[7].Subpoints[3].y:=92;
Path[7].Subpoints[4].x:=619;
Path[7].Subpoints[4].y:=67;
Path[7].Subpoints[5].x:=628;
Path[7].Subpoints[5].y:=47;
WalkPath(7);
Flag;
RoadColor:=FindVarrockRoadColor;
Path[8].Mainpoint.x:=580;
Path[8].Mainpoint.y:=75;
Path[8].Subpoints[0].x:=624;
Path[8].Subpoints[0].y:=44;
Path[8].Subpoints[1].x:=617;
Path[8].Subpoints[1].y:=61;
Path[8].Subpoints[2].x:=595;
Path[8].Subpoints[2].y:=73;
Path[8].Subpoints[3].x:=620;
Path[8].Subpoints[3].y:=81;
Path[8].Subpoints[4].x:=638;
Path[8].Subpoints[4].y:=103;
if not(WalkPath(8))then
begin
RadialRoadWalk(FindVarrockRoadColor, 0, 20, 30, 1, 1);
WalkPath(8);
Flag;
end;
RoadColor:=FindVarrockRoadColor;
Path[9].Mainpoint.x:=571;
Path[9].Mainpoint.y:=94;
Path[9].Subpoints[0].x:=669;
Path[9].Subpoints[0].y:=68;
Path[9].Subpoints[1].x:=668;
Path[9].Subpoints[1].y:=83;
Path[9].Subpoints[2].x:=673;
Path[9].Subpoints[2].y:=99;
Path[9].Subpoints[3].x:=642;
Path[9].Subpoints[3].y:=88;
Path[9].Subpoints[4].x:=617;
Path[9].Subpoints[4].y:=89;
WalkPath(9);
Flag;
count:=0;
repeat
if(FindSymbol(x, y, 'bank'))then
begin
Mouse(x, y, 1, 1, true);
Flag;
Result := True;
end;
SymbolAccuracy := SymbolAccuracy - 0.1;
count := count + 1;
wait(1000 + random(500));
until(Result)or(count > 5);
SymbolAccuracy := 0.8;
end;