SRL Archive - Test corner

Runescape All Over Walker!


Timer

2008-02-28 19:18:02

Runescape All Over Walker!

Include After SRL

lc = front of cassle, Home tele area
db = draynor bank
ak = Al-Kahard
veb = Varrock East Bank
vwb = Varrock West Bank
feb = Fally East Bank
fwb = Fally West Bank

;)

Currently…

Walk('lc', 'db');
Walk('lc', 'ak');
Walk('lc', 'veb');
Walk('lc', 'vwb');
Walk('lc', 'feb');
Walk('lc', 'fwb');
Walk('db', 'lc');
Walk('db', 'ak');
Walk('db', 'veb');
Walk('db', 'vwb');
Walk('db', 'feb');
Walk('db', 'fwb');
Walk('ak', 'lc');
Walk('ak', 'db');
Walk('ak', 'veb');//Not Yet
Walk('ak', 'vwb');//Not Yet
Walk('ak', 'feb');
Walk('ak', 'fwb');
Walk('veb', 'lc');
Walk('veb', 'db');
Walk('veb', 'ak');
Walk('veb', 'vwb');
Walk('veb', 'feb');//Not Yet
Walk('veb', 'fwb');
Walk('vwb', 'lc');
Walk('vwb', 'db');//Not Yet
Walk('vwb', 'ak');//Not yet
Walk('vwb', 'veb');//Not Yet
Walk('vwb', 'feb');//Not Yet
Walk('vwb', 'fwb');//Not Yet
Walk('feb', 'lc');
Walk('feb', 'db');//Not Yet
Walk('feb', 'ak');
Walk('feb', 'veb');
Walk('feb', 'vwb');
Walk('feb', 'fwb');
Walk('fwb', 'lc');
Walk('fwb', 'db');//Not Yet
Walk('fwb', 'ak');//Not Yet
Walk('fwb', 'veb');//Not yet
Walk('fwb', 'vwb');//Not Yet
Walk('fwb', 'feb');
Walk('lost', 'lc');
Walk('lost', 'db');
Walk('lost', 'ak');
Walk('lost', 'veb');
Walk('lost', 'vwb');
Walk('lost', 'feb');
Walk('lost', 'fwb');

if they WERE to set it into SRL at the BETA stages.. Lol!

//-----------------------------------------------------------------//
//-- Scar Standard Resource Library --//
//-- ยป Runescape Walking Routines --//
//-----------------------------------------------------------------//
// * function CntBankers: integer; // * by FootballJDS
// * function FallyBank: boolean; // * by FootballJDS
// * function VarryBank: boolean // * by FootballJDS
// * function LumbyBank: boolean; // * by FootballJDS
// * function AkBank: boolean; // * by FootballJDS
// * function DetectBank: string; // * by Timer150
// * function SetVrk: integer; // * by FootballJDS
// * function VrkRd: integer; // * by FootballJDS
// * function RdClr: integer; // * by FootballJDS
// * function FncClr: integer; // * by Timer150
// * function ExitDBDDTM: integer; // * by FootballJDS
// * function ExitAKDDTM: integer; // * by FootballJDS
// * function ExitBank(whichBnk: string): boolean; // * by FootballJDS
// * function WalkDTM(DTMd: integer; step: extended): boolean; // * by FootballJDS
// * function GetLumbridgeMins: integer; // * by Wizzup
// * procedure FWalkPath(SPlce, EPlce: string); // * by Timer150
// * procedure Walk(SPlace, EPlace: string); // * by Timer150
// * function ExistArea(Place: string): Boolean; // * by Timer150
// * procedure Relocate(Area: string); // * by Timer150
// * procedure WalkLCLC; // * by Timer150
// * function Forest: integer; // * FootballJDS
// * function WalkLCDB: Boolean; // * by Timer150
// * function EnterVarrockEastBank: Boolean; // * by Timer150
// * procedure WalkLCVEB; // * by Timer150
// * procedure WalkLCVWB; // * by Timer150
// * procedure WalkLCFEB; // * by Timer150
// * procedure WalkLCFWB; // * by Timer150
// * procedure WalkLCAK; // * by Timer150
// * procedure WalkDBLC; // * by Timer150
// * procedure WalkDBDB; // * by Timer150
// * procedure WalkDBVEB; // * by Timer150
// * procedure WalkDBVWB; // * by Timer150
// * procedure WalkDBFEB; // * by Timer150
// * procedure WalkDBFWB; // * by Timer150
// * procedure WalkDBAK; // * by Timer150
// * procedure WalkAKLC; // * by Timer150
// * procedure WalkAKDB; // * by Timer150
// * procedure WalkAKAK; // * by Timer150
// * procedure WalkAKFEB; // * by Timer150
// * procedure WalkAKFWB; // * by Timer150
// * procedure WalkAKVWB; // * by Timer150
// * procedure WalkAKVEB; // * by Timer150
// * procedure WalkVEBDB; // * by Timer150
// * procedure WalkVEBLC; // * by Timer150
// * function VEBtoAKddtm: Integer; // * FootballJDS
// * function VEBtoAKddtm1: Integer; // * FootballJDS
// * function VEBtoAKddtm2: Integer; // * FootballJDS
// * function VEBtoAKddtm3: Integer; // * FootballJDS
// * function VEBtoAKddtm4: Integer; // * FootballJDS
// * function VEBtoAKddtm5: Integer; // * FootballJDS
// * function VEBtoAKddtm6: Integer; // * FootballJDS
// * function VEBtoAKddtm7: Integer; // * FootballJDS
// * function VEBtoAKddtm8: Integer; // * FootballJDS
// * function VEBtoAKddtm9: Integer; // * FootballJDS
// * function VEBtoAKddtm10: Integer; // * FootballJDS
// * function VEBtoAKddtm11: Integer; // * FootballJDS
// * procedure WalkVEBAK; // * by FootballJDS
// * procedure WalkVEBVEB; // * by Timer150
// * procedure WalkVEBVWB; // * by Timer150
// * procedure WalkVEBFEB; // * by Timer150
// * procedure WalkVEBFWB; // * by Timer150
// * procedure WalkVWBLC; // * by Timer150
// * procedure WalkVWBDB; // * by Timer150
// * procedure WalkVWBAK; // * by Timer150
// * procedure WalkVWBVEB; // * by Timer150
// * procedure WalkVWBVWB; // * by Timer150
// * procedure WalkVWBFEB; // * by Timer150
// * procedure WalkVWBFWB; // * by Timer150
// * procedure WalkFEBLC; // * by Timer150
// * procedure WalkFWBLC; // * by Timer150
// * procedure WalkFEBDB; // * by Timer150
// * procedure WalkFWBDB; // * by Timer150
// * procedure WalkFEBAK; // * by Timer150
// * procedure WalkFWBAk; // * by Timer150
// * procedure WalkFEBVEB; // * by Timer150
// * procedure WalkFWBVEB; // * by Timer150
// * procedure WalkFEBVWB; // * by Timer150
// * procedure WalkFWBVWB; // * by Timer150
// * procedure WalkFEBFEB; // * by Timer150
// * procedure WalkFWBFEB; // * by Timer150
// * procedure WalkFEBFWB; // * by Timer150
// * procedure WalkFWBFWB; // * by Timer150

{.include SRL\SRL\Misc\NewAutoColor.scar}

var
BankLoc: string;
xxx, yyy,
GlobalPalm: integer;

function CntBankers: integer;
var
bnkrs: TPointArray;
begin
FindColorsTolerance(bnkrs, 195836, MMX1, MMY1, MMX2, MMY2, 0);
RAaSTPA(bnkrs, 4);
Result := GetArrayLength(bnkrs);
end;

function FallyBank: boolean;
begin
if FindWaterColor > 0 then if FindFallyRoadColor > 0 then
begin
Result := True;
if FindColorTolerance(xxx, yyy, 5064858, MMX1, MMY1, MMX2, MMY2, 15) then
BankLoc := 'fwb' else BankLoc := 'feb';
Writeln('In ' + BankLoc);
end;
end;

function VarryBank: boolean;
var
bnkrs: integer;
begin
if FindVarrockRoadColor > 0 then
begin
bnkrs := CntBankers;
Result := True;
if bnkrs >= 12 then BankLoc := 'vwb' else if bnkrs >= 6 then BankLoc := 'veb';
Writeln('In ' + BankLoc);
end;
end;

function LumbyBank: boolean;
var
bnkrs: integer;
points: TPointArray;
begin
bnkrs := CntBankers;
if Bnkrs = 1 then
begin
Result := true;
BankLoc := 'lb';
Writeln('In ' + BankLoc);
end;
FindColorsTolerance(points, 65536, MMX1, MMY1, MMX2, MMY2, 0);
if (GetArrayLength(points) >= 13500) then
if (GetArrayLength(points) <= 17000) then
begin
Result := True;
BankLoc := 'lb';
Writeln('In ' + BankLoc);
end;
end;

function AKBank: boolean;
var
stne, plm: integer;
tpases: TPointArray;
begin
if FindWaterColor > 0 then
Stne := FindStoneColor;
if FindStoneColor > 0 then
begin
SetupNewAutoColor;
SetAutoColorReference('brown rock', stne);
plm := srl_AutoGetColor('green palm');
FindColorsTolerance(tpases, plm, MMX1, MMY1, MMX2, MMY2, 0);
if length(tpases) >= 150 then
begin
Result := True;
BankLoc := 'ak';
end;
end;
end;

function DetectBank: string;
var
Idk: Integer;
begin
for Idk := 0 to 5 do
begin
if VarryBank then
Break;
if FallyBank then
Break;
if LumbyBank then
Break;
if AKBank then
Break;
end;
if BankLoc <> '' then
begin
Result := BankLoc;
end else
Result := 'lost';
end;

function SetVrk: integer;
begin
Result := FindVarrockRoadColor;
RoadColor := Result;
end;

function VrkRd: integer;
begin
if not(FindColor(xxx, yyy, RoadColor, MMX1, MMY1, MMX2, MMY2)) then
RoadColor := FindVarrockRoadColor;
Result := RoadColor;
end;

function RdClr: integer;
begin
if not(FindColor(xxx, yyy, RoadColor, MMX1, MMY1, MMX2, MMY2)) then
RoadColor := FindRoadColor;
Result := RoadColor;
end;

function FncClr: integer;
var
Fx, Fy, Tolen: Integer;
begin
Tolen := 0;
if not FindColor(Fx, Fy, 15658734, MMX1, MMY1, MMX2, MMY2) then
begin
repeat
if FindColorTolerance(Fx, Fy, 15658734, MMX1, MMY1, MMX2, MMY2, Tolen) then
begin
Result := GetColor(Fx, Fy);
Break;
end;
Tolen := Tolen + 1;
until(Tolen > 300);
end else Result := GetColor(Fx, Fy);
end;

function ExitDBDDTM: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
rarckClorodls: integer;
begin
rarckClorodls := FindRockColor;

dtmMainPoint.x := 627;
dtmMainPoint.y := 73;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 2576210;
dtmMainPoint.Tolerance := 300;

dtmSubPoints[0].x := 687;
dtmSubPoints[0].y := 109;
dtmSubPoints[0].AreaSize := 10;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 3569229;
dtmSubPoints[0].Tolerance := 15;

dtmSubPoints[1].x := 558;
dtmSubPoints[1].y := 92;
dtmSubPoints[1].AreaSize := 10;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 3569229;
dtmSubPoints[1].Tolerance := 15;

dtmSubPoints[2].x := 571;
dtmSubPoints[2].y := 115;
dtmSubPoints[2].AreaSize := 10;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := rarckClorodls;
dtmSubPoints[2].Tolerance := 0;

dtmSubPoints[3].x := 632;
dtmSubPoints[3].y := 131;
dtmSubPoints[3].AreaSize := 10;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := rarckClorodls;
dtmSubPoints[3].Tolerance := 0;

dtmSubPoints[4].x := 577;
dtmSubPoints[4].y := 129;
dtmSubPoints[4].AreaSize := 10;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := rarckClorodls;
dtmSubPoints[4].Tolerance := 0;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

function ExitAKDDTM: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..6] of TDTMPointDef;
TempTDTM: TDTM;
plm, wtr : integer;
begin
SetupNewAutoColor;
SetAutoColorReference('brown rock', FindStoneColor);
Plm := srl_AutoGetColor('green palm');
wtr := FindWaterColor;

dtmMainPoint.x := 643;
dtmMainPoint.y := 96;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 7587785;
dtmMainPoint.Tolerance := 300;

dtmSubPoints[0].x := 586;
dtmSubPoints[0].y := 56;
dtmSubPoints[0].AreaSize := 3;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := plm;
dtmSubPoints[0].Tolerance := 0;

dtmSubPoints[1].x := 573;
dtmSubPoints[1].y := 77;
dtmSubPoints[1].AreaSize := 3;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := plm;
dtmSubPoints[1].Tolerance := 0;

dtmSubPoints[2].x := 577;
dtmSubPoints[2].y := 105;
dtmSubPoints[2].AreaSize := 3;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := Plm;
dtmSubPoints[2].Tolerance := 0;

dtmSubPoints[3].x := 594;
dtmSubPoints[3].y := 124;
dtmSubPoints[3].AreaSize := 3;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := Plm;
dtmSubPoints[3].Tolerance := 0;

dtmSubPoints[4].x := 647;
dtmSubPoints[4].y := 62;
dtmSubPoints[4].AreaSize := 3;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := srl_AutoGetColor('brown rock');;
dtmSubPoints[4].Tolerance := 0;

dtmSubPoints[5].x := 560;
dtmSubPoints[5].y := 76;
dtmSubPoints[5].AreaSize := 3;
dtmSubPoints[5].AreaShape := 0;
dtmSubPoints[5].Color := wtr;
dtmSubPoints[5].Tolerance := 0;

dtmSubPoints[6].x := 578;
dtmSubPoints[6].y := 137;
dtmSubPoints[6].AreaSize := 3;
dtmSubPoints[6].AreaShape := 0;
dtmSubPoints[6].Color := wtr;
dtmSubPoints[6].Tolerance := 0;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

function ExitBank(whichBnk: string): boolean;
var
DTM, Rx, Ry: integer;
l: extended;
begin
case whichBnk of
'vwb' : DTM := DTMFromString('78DA636C64626068674001B13EA60C3A8C0C0' +
'C40C4F01F0818FB816A9A20724C70558C4824909E0D94E9C2AD86' +
'11A6068F3960BBE603656C2032CC5015BE65660C22C876ED04AA8' +
'9C2AF0600316E118F');
'veb' : DTM := DTMFromString('78DA632C656260706040017595A50C3A8C0C0' +
'C40C4F01F081813816A622172CC5035BE65660C220C1035200056' +
'134A841A3F026A3A88541346841A026E060064171183');
'fwb' : DTM := DTMFromString('78DA632C606260B06140011545090C3A8C0C0' +
'C40C4F01F0818F3806AAA51D54CF37167E06780A80101C62AA09A' +
'2A22D42411505348849A62A09A7C026A72816A62216C66A8D89F3' +
'F4C103964BB08A92925424D25116AEA08AB010059DB1EDE');
'feb' : DTM := DTMFromString('78DA632C61626070654001D525490C3A8C0C0' +
'C40C4F01F0818B3806A622172CC50357FFE30816946289F318F08' +
'356544A8A923AC0600FD6E117C');
'ak' : DTM := ExitAKDDTM;
'db' : begin MakeCompass('W'); MakeCompass('N'); FindColorSpiral(Rx, Ry, FindRockColor, 605, 99, 640, 152); MouseFlag(Rx + 10, Ry - 60, 0, 0); exit; end;
else begin
Writeln('Invalid');
EXIT;
end;
end;
if FindDTMRotated(DTM, xxx, yyy, MMX1, MMY1, MMX2, MMY2,
radians(-15), radians(15), 0.01, l)then
begin
FreeDTM(DTM);
MouseFlag(xxx, yyy, 0, 0);
Result := True;
end else FreeDTM(DTM);
end;

function WalkDTM(DTMd: integer; step: extended): boolean;
var
dds: extended;
begin
if FindDTMRotated(DTMd, xxx, yyy, MMX1, MMY1, MMX2, MMY2,
radians(-20), radians(20), step, dds) then
begin
Result := True;
FreeDTM(DTMd);
MouseFlag(xxx, yyy, 1, 1);
end else FreeDTM(DTMd);
wait(200);
end;

procedure FWalkPath(SPlce, EPlce: string); forward;
procedure Walk(SPlace, EPlace: string); forward;
function ExistArea(Place: string): Boolean; forward;
procedure Relocate(Area: string); forward;
procedure WalkLCLC; forward;
function WalkLCDB: Boolean; forward;
procedure WalkLCVEB; forward;
procedure WalkLCVWB; forward;
procedure WalkLCFEB; forward;
procedure WalkLCFWB; forward;
procedure WalkLCAK; forward;
procedure WalkDBLC; forward;
procedure WalkDBDB; forward;
procedure WalkDBVEB; forward;
procedure WalkDBVWB; forward;
procedure WalkDBFEB; forward;
procedure WalkDBFWB; forward;
procedure WalkDBAK; forward;
procedure WalkAKLC; forward;
procedure WalkAKDB; forward;
procedure WalkAKAK; forward;
procedure WalkAKFEB; forward;
procedure WalkAKFWB; forward;
procedure WalkAKVWB; forward;
procedure WalkAKVEB; forward;
procedure WalkVEBDB; forward;
procedure WalkVEBLC; forward;
procedure WalkVEBAK; forward;
procedure WalkVEBVEB; forward;
procedure WalkVEBVWB; forward;
procedure WalkVEBFEB; forward;
procedure WalkVEBFWB; forward;
procedure WalkVWBLC; forward;
procedure WalkVWBDB; forward;
procedure WalkVWBAK; forward;
procedure WalkVWBVEB; forward;
procedure WalkVWBVWB; forward;
procedure WalkVWBFEB; forward;
procedure WalkVWBFWB; forward;
procedure WalkFEBLC; forward;
procedure WalkFWBLC; forward;
procedure WalkFEBDB; forward;
procedure WalkFWBDB; forward;
procedure WalkFEBAK; forward;
procedure WalkFWBAk; forward;
procedure WalkFEBVEB; forward;
procedure WalkFWBVEB; forward;
procedure WalkFEBVWB; forward;
procedure WalkFWBVWB; forward;
procedure WalkFEBFEB; forward;
procedure WalkFWBFEB; forward;
procedure WalkFEBFWB; forward;
procedure WalkFWBFWB; forward;

{*******************************************************************************
Function GetLumbridgeMins: Integer;
By: Wizzup?
Description: Returns the number of minutes left before you can cast home teleport
again, returns 0 when you can cast it.
*******************************************************************************}
function GetLumbridgeMins: Integer;
begin
GameTab(7);
Mouse(570, 239, 5, 5, True);
Wait(1000 + Random(500));
Mouse(66, 485, 46, 12, True);
Wait(1000 + Random(100));
if Pos('another', GetBlackChatMessage) <> 0 then
try Result := StrToInt(Trim(Between('another', 'minutes', GetBlackChatMessage))); except end
else Result := 0;
Mouse(12, 486, 37, 11, True);
Wait(1000 + Random(100));
end;

procedure WalkDBDB;
begin
Writeln('BITCH!!! your already there!');
end;

procedure WalkDBLC;
var
Spots: TPointArray;
CSpot: TPoint;
Good: Boolean;
begin
Good := True;
ExitBank('db');
if not RadialRoadWalk(FindRoadColor, 165, 108, 70, 5, 5) then
Good := False;
if not RadialRoadWalk(FindRoadColor, 200, 138, 70, 5, 5) then
Good := False;
if not RadialRoadWalk(FindDirtRoadColor, 55, 100, 65, 5, 5) then
Good := False;
if not RadialRoadWalk(FindDirtRoadColor, 55, 100, 65, 5, 5) then
Good := False;
if not RadialRoadWalk(FindDirtRoadColor, 55, 100, 65, 5, 5) then
Good := False;
if not RadialRoadWalk(FindDirtRoadColor, 120, 50, 65, 5, 5) then
Good := False;
if not RadialRoadWalk(FindDirtRoadColor, 120, 50, 65, 5, 5) then
Good := False;
if not RadialRoadWalk(FindDirtRoadColor, 90, 20, 65, 5, 5) then
Good := False;
MouseFlag(693, 88, 2, 2);
if not RadialRoadWalk(FindRoadColor, 192, 128, 72, 5, 5) then
Good := False;
if not RadialRoadWalk(FindRoadColor, 110, 180, 72, 5, 5) then
Good := False;
if not FindColorsTolerance(Spots, FindLadderColor, 569, 73, 624, 161, 0) then
Good := False;
CSpot := MiddleTPA(Spots);
MouseFlag(CSpot.x, CSpot.y, 5, 5);
if not FindColorsTolerance(Spots, 10704994, MMX1, MMY1, 611, 119, 10) then
Good := False;
CSpot := MiddleTPA(Spots);
MouseFlag(CSpot.x, CSpot.y, 5, 5);
if Good then
begin
ReportVars[0] := ReportVars[0] + 1;
end else
ReportVars[1] := ReportVars[1] + 1;
end;

procedure WalkDBVEB;
begin
WalkDBLC;
WalkLCVEB;
end;

procedure WalkDBVWB;
begin
WalkDBLC;
WalkLCVEB;
WalkVEBVWB;
end;

procedure WalkDBFEB;
var
Trie, Color: Integer;
Spot: TPointArray;
OSpot: TPoint;
begin
MouseFlag(578, 68, 5, 5);
repeat
Color := GetSymbolColor(xxx, yyy, 'quest');
if Color <> 0 then
Break;
Trie := Trie + 1;
Flag;
Wait(500);
if FindSymbol(xxx, yyy, 'quest') then
Break;
until(Trie > 9);
if Trie > 9 then
begin
Exit;
end;
if FindSymbolIn(xxx, yyy, 'quest', xxx - 10, yyy - 10, xxx + 10, yyy + 10) then
begin
MouseFlag(xxx, yyy, 5, 5);
if FindColor(xxx, yyy, FindRockColor, MMX1, MMY1, MMX2, MMY2) then
begin
repeat
Wait(10);
until(FlagPresent);
MouseFlag(xxx + 35, yyy, 5, 5);
RadialRoadWalk(RdClr, 278, 365, 53, 5, 5);
RadialRoadWalk(RdClr, 237, 294, 53, 5, 5);
RadialRoadWalk(RdClr, 317, 239, 47, 5, 5);
RadialRoadWalk(RdClr, 239, 293, 47, 5, 5);
RadialRoadWalk(RdClr, 312, 228, 63, 5, 5);
Color := 0;
Trie := 0;
repeat
Color := FindWaterColor;
if Color <> 0 then
Break;
Trie := Trie + 1;
until(Trie > 9);
if not Trie > 9 then
begin
if FindColor(xxx, yyy, Color, MMX1, MMY1, MMX2, MMY2) then
begin
MouseFlag(xxx - 50, yyy, 0, 0);
RadialRoadWalk(RdClr, 321, 380, 54, 5, 5);
RadialRoadWalk(RdClr, 337, 380, 54, 5, 5);
RadialRoadWalk(RdClr, 322, 380, 75, 5, 5);
RadialRoadWalk(FindFallyRoadColor, 329, 380, 59, 5, 5);
RadialRoadWalk(FindFallyRoadColor, 329, 380, 59, 5, 5);
if FindColorsTolerance(Spot, 195836, 623, 53, 700, 93, 0) then
begin
ospot := MiddleTPA(Spot);
MouseFlag(ospot.x, ospot.y - 8, 5, 5);
ReportVars[0] := ReportVars[0] + 1;
end else
ReportVars[1] := ReportVars[1] + 1;
end else
begin
Exit;
end;
end else
begin
Writeln('Lost');
Exit;
end;
end;
end;
end;

procedure WalkDBFWB;
begin
WalkDBFEB;
WalkFEBFWB;
end;

procedure WalkDBAK;
begin
WalkDBLC;
WalkLCAK;
end;

procedure WalkLCLC;
begin
Writeln('BITCH!!! your already there!');
end;

function Forest: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..3] of TDTMPointDef;
TempTDTM: TDTM;
Plm, c, v : integer;
begin
SetupNewAutoColor;
SetAutoColorReference('guide', GetSymbolColor(c, v, 'guide'));
Plm := srl_AutoGetColor('green palm');
Writeln(IntToStr(Plm));
dtmMainPoint.x := 569;
dtmMainPoint.y := 72;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 1270108;
dtmMainPoint.Tolerance := 300;

dtmSubPoints[0].x := 572;
dtmSubPoints[0].y := 53;
dtmSubPoints[0].AreaSize := 4;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := Plm;
dtmSubPoints[0].Tolerance := 0;

dtmSubPoints[1].x := 662;
dtmSubPoints[1].y := 135;
dtmSubPoints[1].AreaSize := 4;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := Plm;
dtmSubPoints[1].Tolerance := 0;

dtmSubPoints[2].x := 657;
dtmSubPoints[2].y := 81;
dtmSubPoints[2].AreaSize := 4;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := Plm;
dtmSubPoints[2].Tolerance := 0;

dtmSubPoints[3].x := 690;
dtmSubPoints[3].y := 55;
dtmSubPoints[3].AreaSize := 5;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindWaterColor;
dtmSubPoints[3].Tolerance := 0;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

function WalkLCDB: Boolean;
var
BankDTM, FPX, FPY, BX, BY, Tx, Ty, BnkColor: Integer;
spots: TPointArray;
Spots2: Tpoint;
begin
try
BankDTM := DTMFromString('78DA63EC60626008614001FFFFFF676060042' +
'310FB3F6303508D37448E09AAE6ED5B08CD08E583D50413A1269C' +
'809A0AC26A00E665129F');
FindColorsTolerance(spots, FindLadderColor, 607, MMY1, MMX2, MMY2, 0);
spots2 := MiddleTPA(spots);
MouseFlag(spots2.x, spots2.y, 2, 2);
RadialRoadWalk(RdClr, 340, 380, 58, 5, 5);
RadialRoadWalk(RdClr, 312, 365, 51, 5, 5);
if DTMRotated(Forest, FPx, FPy, MMX1, MMY1, MMX2, MMY2) then
begin
MouseFlag(FPx, FPy, 5, 5);
RadialRoadWalk(FindDirtRoadColor, 251, 316, 60, 5, 5);
RadialRoadWalk(FindDirtRoadColor, 302, 221, 64, 5, 5);
RadialRoadWalk(FindDirtRoadColor, 207, 294, 70, 5, 5);
RadialRoadWalk(FindDirtRoadColor, 300, 200, 70, 5, 5);
RadialRoadWalk(FindDirtRoadColor, 283, 218, 70, 5, 5);
RadialRoadWalk(FindDirtRoadColor, 283, 218, 70, 5, 5);
RadialRoadWalk(RdClr, 269, 321, 56, 5, 5);
RadialRoadWalk(RdClr, 309, 370, 57, 5, 5);
RadialRoadWalk(RdClr, 340, 250, 60, 5, 5);
if DTMRotated(BankDTM, BX, BY, MMX1, MMY1, MMX2, MMY2) then
begin
MouseFlag(BX, BY, 5, 5);
ReportVars[0] := ReportVars[0] + 1;
end else
begin
if FindColor(BX, BY, FindRockColor, MMX1, MMY1, MMX2, MMY2) then
begin
Tx := Bx;
Ty := By - 50;
MouseFlag(Tx, Ty, 5, 5);
ReportVars[0] := ReportVars[0] + 1;
end else
begin
SetupNewAutoColor;
SetAutoColorReference('bank', GetSymbolColor(xxx, yyy, 'bank'));
BnkColor := srl_AutoGetColor('Bank');
if FindColor(Tx, Ty, BnkColor, 560, 102, MMX2, MMY2) then
begin
MouseFlag(Tx, Ty, 5, 5);
ReportVars[0] := ReportVars[0] + 1;
end else
begin
Result := False;
ReportVars[1] := ReportVars[1] + 1;
end;
end;
end;
end else
Result := False;
except
Writeln('[Run-Time Error] Line 701 in script ' + ScriptPath + '\Re-Army Locate.scar');
Writeln('Hacked Scar and Bypassed Script Stop! =]');
end;
FreeDTM(BankDTM);
end;

function EnterVarrockEastBank: Boolean;
var
Bankers, Bx, By: Integer;
begin
Bankers := DTMFromString('78DA633CC3CCC070890105FCFFFF9FE13F906' +
'684B0FF331E02AAB905916383AAF9F38789810BAA060418AF01D5' +
'DC26A0E614617300197B14BA');
if FindDTM(Bankers, Bx, By, MMX1, MMY1, MMX2, MMY2) then
begin
WriteLn(' Entering the bank by the Bankers DTM.');
Mouse(Bx, By, 5, 5, True);
Wait(1000);
Flag;
Result := True;
exit;
end;
if FindSymbol(Bx, By, 'bank') then
begin
WriteLn(' Entering the bank by the Bank Symbol.');
Mouse(Bx, By, 5, 5, True);
Wait(1000);
Flag;
Result := True;
exit;
end;
end;

procedure WalkLCVEB;
var
Spots: TPointArray;
OSpot: TPoint;
Good: Boolean;
Tx, Ty: Integer;
begin
Good := True;
FindColorsTolerance(Spots, FindLadderColor, 607, MMY1, MMX2, MMY2, 0);
OSpot := MiddleTPA(Spots);
MouseFlag(OSpot.x, OSpot.y, 2, 2);
if not RadialRoadWalk(RdClr, 37, 78, 62, 5, 5) then
Good := False;
if not RadialRoadWalk(RdClr, 42, 96, 62, 5, 5) then
Good := False;
if not RadialRoadWalk(RdClr, 329, 400, 62, 5, 5) then
Good := False;
if not RadialRoadWalk(RdClr, 300, 350, 62, 5, 5) then
Good := False;
if not RadialRoadWalk(RdClr, 324, 370, 62, 5, 5) then
Good := False;
if not RadialRoadWalk(RdClr, 289, 370, 62, 5, 5) then
Good := False;
if not RadialRoadWalk(RdClr, 370, 333, 62, 5, 5) then
Good := False;
if not RadialRoadWalk(RdClr, 0, 32, 62, 5, 5) then
Good := False;
if not RadialRoadWalk(RdClr, 10, 70, 62, 5, 5) then
Good := False;;
if not RadialRoadWalk(RdClr, 54, 90, 60, 5, 5) then
Good := False;
if not RadialRoadWalk(RdClr, 336, 390, 42, 5, 5) then
Good := False;
if not RadialRoadWalk(RdClr, 470, 370, 55, 5, 5) then
Good := False;
if not RadialRoadWalk(RdClr, 0, 120, 69, 5, 5) then
Good := False;
if not RadialRoadWalk(SetVrk, 47, 120, 63, 5, 5) then
Good := False;
if not RadialRoadWalk(VrkRd, 32, 136, 60, 5, 5) then
Good := False;
if not RadialRoadWalk(VrkRd, 430, 325, 60, 5, 5) then
Good := False;
if not RadialRoadWalk(VrkRd, 317, 396, 60, 5, 5) then
Good := False;
if not RadialRoadWalk(VrkRd, 335, 397, 60, 5, 5) then
Good := False;
if not RadialRoadWalk(VrkRd, 378, 308, 60, 5, 5) then
Good := False;
if not RadialRoadWalk(VrkRd, 390, 308, 60, 5, 5) then
Good := False;
if not RadialRoadWalk(VrkRd, 390, 308, 60, 5, 5) then
Good := False;
if not RadialRoadWalk(VrkRd, 390, 308, 60, 5, 5) then
Good := False;
if not RadialRoadWalk(VrkRd, 246, 365, 60, 5, 5) then
Good := False;
if not FindColorsTolerance(Spots, FindRockColor, MMX1, MMY1, 660, 135, 0) then
Good := False;
OSpot := MiddleTPA(Spots);
MouseFlag(OSpot.x, OSpot.y, 2, 2);
if not RadialRoadWalk(VrkRd, 290, 239, 47, 5, 5) then
Good := False;
if not EnterVarrockEastBank then
if not FindColorSprial(Tx, Ty, FindLadderColor, MMX1, MMY1, 607, 142) then
begin
if not FindColorSpiral(Tx, Ty, FindLadderColor, MMX1, MMY1, MMX2, MMY2) then
begin
Good := False;
LogOut;
end else
MouseFlag(Tx, Ty, 5, 5);
end else
MouseFlag(Tx, Ty, 5, 5);
if Good then
begin
ReportVars[0] := ReportVars[0] + 1;
end else
ReportVars[1] := ReportVars[1] + 1;
end;

procedure WalkLCVWB;
begin
WalkLCVEB;
WalkVEBVWB;
end;

procedure WalkLCFEB;
begin
WalkLCDB;
WalkDBFEB;
end;

procedure WalkLCFWB;
begin
WalkLCDB;
WalkDBFEB;
WalkFEBFWB;
end;

procedure WalkLCAK;
var
Spots: TPointArray;
CSpot: TPoint;
Good: Boolean;
DTM, Bx, By: Integer;
begin
Good := True;
FindColorsTolerance(Spots, FindLadderColor, 607, MMY1, MMX2, MMY2, 0);
CSpot := MiddleTPA(Spots);
MouseFlag(CSpot.x, CSpot.y, 5, 5);
if not RadialRoadWalk(RdClr, 20, 75, 60, 5, 5) then
Good := False;
if not RadialRoadWalk(RdClr, 94, 33, 60, 5, 5) then
Good := False;
if not RadialRoadWalk(RdClr, 321, 380, 60, 5, 5) then
Good := False;
if not RadialRoadWalk(RdClr, 300, 340, 57, 5, 5) then
Good := False;
if not RadialRoadWalk(RdClr, 312, 380, 57, 5, 5) then
Good := False;
if not RadialRoadWalk(RdClr, 300, 350, 57, 5, 5) then
Good := False;
if not RadialRoadWalk(RdClr, 375, 327, 57, 5, 5) then
Good := False;
if not RadialRoadWalk(RdClr, 0, 38, 57, 5, 5) then
Good := False;
if not RadialRoadWalk(RdClr, 10, 54, 57, 5, 5) then
Good := False;
if not RadialRoadWalk(RdClr, 47, 74, 57, 5, 5) then
Good := False;
if not RadialRoadWalk(RdClr, 0, 80, 57, 5, 5) then
Good := False;
if not RadialRoadWalk(SetVrk, 49, 88, 55, 5, 5) then
Good := False;
MouseFlag(635, 158, 0, 0);
MouseFlag(587, 135, 5, 5);
if not RadialWalk(FncClr, 215, 164, 68, 5, 5) then
Good := False;
if not RadialWalk(FncClr, 200, 164, 68, 5, 5) then
Good := False;
if not RadialWalk(FncClr, 200, 164, 68, 5, 5) then
Good := False;
if not RadialWalk(FncClr, 200, 164, 68, 5, 5) then
Good := False;
if not RadialWalk(FncClr, 200, 164, 68, 5, 5) then
Good := False;
if not RadialWalk(FncClr, 200, 164, 68, 5, 5) then
Good := False;
MouseFlag(625, 158, 5, 5);
MouseFlag(643, 145, 5, 5);
DTM := DTMFromString('78DA634C656260286600035608C5F0E70F139' +
'86604E2FF40C09802E477A2AAF9F74F18AE0604007AC409DD');
if DTMRotated(DTM, Bx, By, MMX1, MMY1, MMX2, MMY2) then
ReportVars[0] := ReportVars[0] + 1;
FreeDTM(DTM);
if not Good then
ReportVars[1] := ReportVars[1] + 1;
end;

procedure WalkVEBLC;
begin
Relocate('');
ReportVars[0] := ReportVars[0] + 1;
end;

procedure WalkVEBDB;
begin
WalkVEBLC;
WalkLCDB;
end;

procedure WalkVEBVWB;
var
Spots: TPointArray;
OSpot: TPoint;
begin
RadialRoadWalk(SetVrk, 278, 320, 52, 5, 5);
RadialRoadWalk(VrkRd, 244, 295, 52, 5, 5);
RadialRoadWalk(VrkRd, 244, 295, 52, 5, 5);
RadialRoadWalk(VrkRd, 256, 309, 58, 5, 5);
RadialRoadWalk(VrkRd, 256, 309, 58, 5, 5);
if FindColorsTolerance(Spots, FindLadderColor, 595, 42, 654, 94, 0) then
begin
ReportVars[0] := ReportVars[0] + 1;
end else
ReportVars[1] := ReportVars[1] + 1;
OSpot := MiddleTPA(Spots);
MouseFlag(OSpot.x, OSpot.y - 10, 0, 0);
end;

procedure WalkVEBVEB;
begin
Writeln('BITCH!!! your already there!');
end;

procedure WalkVEBFEB;
begin
WalkVEBVWB;
WalkVWBFEB;
end;

procedure WalkVEBFWB;
begin
WalkVEBVWB;
WalkVWBFWB;
end;

function VEBtoAKddtm: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..6] of TDTMPointDef;
TempTDTM: TDTM;
rkclr: integer;
begin
SetupNewAutoColor;
SetAutoColorReference('gray rock', FindRockColor);
rkClr := srl_AutoGetColor('gray rock');

dtmMainPoint.x := 677;
dtmMainPoint.y := 84;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 8160134;
dtmMainPoint.Tolerance := 300;

dtmSubPoints[0].x := 650;
dtmSubPoints[0].y := 96;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 65536;
dtmSubPoints[0].Tolerance := 0;

dtmSubPoints[1].x := 651;
dtmSubPoints[1].y := 123;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 65536;
dtmSubPoints[1].Tolerance := 0;

dtmSubPoints[2].x := 651;
dtmSubPoints[2].y := 150;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 65536;
dtmSubPoints[2].Tolerance := 0;

dtmSubPoints[3].x := 627;
dtmSubPoints[3].y := 100;
dtmSubPoints[3].AreaSize := 3;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := rkClr;
dtmSubPoints[3].Tolerance := 0;

dtmSubPoints[4].x := 639;
dtmSubPoints[4].y := 100;
dtmSubPoints[4].AreaSize := 3;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := rkClr;
dtmSubPoints[4].Tolerance := 0;

dtmSubPoints[5].x := 631;
dtmSubPoints[5].y := 65;
dtmSubPoints[5].AreaSize := 3;
dtmSubPoints[5].AreaShape := 0;
dtmSubPoints[5].Color := rkClr;
dtmSubPoints[5].Tolerance := 0;

dtmSubPoints[6].x := 629;
dtmSubPoints[6].y := 47;
dtmSubPoints[6].AreaSize := 4;
dtmSubPoints[6].AreaShape := 0;
dtmSubPoints[6].Color := srl_AutoGetColor('green palm');
dtmSubPoints[6].Tolerance := 0;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

function VEBtoAKddtm1: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
plm: integer;
begin
SetupNewAutoColor;
SetAutoColorReference('brown rock', FindStoneColor);
plm := srl_AutoGetColor('green palm');

dtmMainPoint.x := 635;
dtmMainPoint.y := 146;
dtmMainPoint.AreaSize := 3;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 8291976;
dtmMainPoint.Tolerance := 300;

dtmSubPoints[0].x := 655;
dtmSubPoints[0].y := 143;
dtmSubPoints[0].AreaSize := 3;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := plm;
dtmSubPoints[0].Tolerance := 0;

dtmSubPoints[1].x := 663;
dtmSubPoints[1].y := 136;
dtmSubPoints[1].AreaSize := 3;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := plm;
dtmSubPoints[1].Tolerance := 0;

dtmSubPoints[2].x := 646;
dtmSubPoints[2].y := 85;
dtmSubPoints[2].AreaSize := 3;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := plm;
dtmSubPoints[2].Tolerance := 0;

dtmSubPoints[3].x := 653;
dtmSubPoints[3].y := 36;
dtmSubPoints[3].AreaSize := 3;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := plm;
dtmSubPoints[3].Tolerance := 0;

dtmSubPoints[4].x := 635;
dtmSubPoints[4].y := 120;
dtmSubPoints[4].AreaSize := 3;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := plm;
dtmSubPoints[4].Tolerance := 0;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

function VEBtoAKddtm2: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..7] of TDTMPointDef;
TempTDTM: TDTM;
stne: integer;
begin
stne := FindStoneColor;

dtmMainPoint.x := 615;
dtmMainPoint.y := 144;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 5152165;
dtmMainPoint.Tolerance := 300;

dtmSubPoints[0].x := 636;
dtmSubPoints[0].y := 127;
dtmSubPoints[0].AreaSize := 4;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := stne;
dtmSubPoints[0].Tolerance := 0;

dtmSubPoints[1].x := 602;
dtmSubPoints[1].y := 148;
dtmSubPoints[1].AreaSize := 4;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := stne;
dtmSubPoints[1].Tolerance := 0;

dtmSubPoints[2].x := 616;
dtmSubPoints[2].y := 151;
dtmSubPoints[2].AreaSize := 4;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := stne;
dtmSubPoints[2].Tolerance := 0;

dtmSubPoints[3].x := 646;
dtmSubPoints[3].y := 125;
dtmSubPoints[3].AreaSize := 4;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := stne;
dtmSubPoints[3].Tolerance := 0;

dtmSubPoints[4].x := 645;
dtmSubPoints[4].y := 132;
dtmSubPoints[4].AreaSize := 4;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := stne;
dtmSubPoints[4].Tolerance := 0;

dtmSubPoints[5].x := 670;
dtmSubPoints[5].y := 132;
dtmSubPoints[5].AreaSize := 4;
dtmSubPoints[5].AreaShape := 0;
dtmSubPoints[5].Color := stne;
dtmSubPoints[5].Tolerance := 0;

dtmSubPoints[6].x := 662;
dtmSubPoints[6].y := 127;
dtmSubPoints[6].AreaSize := 4;
dtmSubPoints[6].AreaShape := 0;
dtmSubPoints[6].Color := stne;
dtmSubPoints[6].Tolerance := 0;

dtmSubPoints[7].x := 653;
dtmSubPoints[7].y := 124;
dtmSubPoints[7].AreaSize := 4;
dtmSubPoints[7].AreaShape := 0;
dtmSubPoints[7].Color := stne;
dtmSubPoints[7].Tolerance := 0;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

function VEBtoAKddtm3: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..9] of TDTMPointDef;
TempTDTM: TDTM;
stne: integer;
begin
stne := FindStoneColor;

dtmMainPoint.x := 625;
dtmMainPoint.y := 152;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 7255998;
dtmMainPoint.Tolerance := 300;

dtmSubPoints[0].x := 597;
dtmSubPoints[0].y := 141;
dtmSubPoints[0].AreaSize := 5;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := stne;
dtmSubPoints[0].Tolerance := 0;

dtmSubPoints[1].x := 606;
dtmSubPoints[1].y := 141;
dtmSubPoints[1].AreaSize := 5;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := stne;
dtmSubPoints[1].Tolerance := 0;

dtmSubPoints[2].x := 616;
dtmSubPoints[2].y := 144;
dtmSubPoints[2].AreaSize := 5;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := stne;
dtmSubPoints[2].Tolerance := 0;

dtmSubPoints[3].x := 597;
dtmSubPoints[3].y := 149;
dtmSubPoints[3].AreaSize := 5;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := stne;
dtmSubPoints[3].Tolerance := 0;

dtmSubPoints[4].x := 603;
dtmSubPoints[4].y := 98;
dtmSubPoints[4].AreaSize := 5;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := stne;
dtmSubPoints[4].Tolerance := 0;

dtmSubPoints[5].x := 593;
dtmSubPoints[5].y := 96;
dtmSubPoints[5].AreaSize := 5;
dtmSubPoints[5].AreaShape := 0;
dtmSubPoints[5].Color := stne;
dtmSubPoints[5].Tolerance := 0;

dtmSubPoints[6].x := 599;
dtmSubPoints[6].y := 89;
dtmSubPoints[6].AreaSize := 5;
dtmSubPoints[6].AreaShape := 0;
dtmSubPoints[6].Color := stne;
dtmSubPoints[6].Tolerance := 0;

dtmSubPoints[7].x := 629;
dtmSubPoints[7].y := 96;
dtmSubPoints[7].AreaSize := 5;
dtmSubPoints[7].AreaShape := 0;
dtmSubPoints[7].Color := stne;
dtmSubPoints[7].Tolerance := 0;

dtmSubPoints[8].x := 616;
dtmSubPoints[8].y := 90;
dtmSubPoints[8].AreaSize := 5;
dtmSubPoints[8].AreaShape := 0;
dtmSubPoints[8].Color := stne;
dtmSubPoints[8].Tolerance := 0;

dtmSubPoints[9].x := 670;
dtmSubPoints[9].y := 68;
dtmSubPoints[9].AreaSize := 5;
dtmSubPoints[9].AreaShape := 0;
dtmSubPoints[9].Color := stne;
dtmSubPoints[9].Tolerance := 0;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

function VEBtoAKddtm4: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..6] of TDTMPointDef;
TempTDTM: TDTM;
stne: integer;
begin
stne := FindStoneColor;

dtmMainPoint.x := 618;
dtmMainPoint.y := 153;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 5945023;
dtmMainPoint.Tolerance := 300;

dtmSubPoints[0].x := 603;
dtmSubPoints[0].y := 35;
dtmSubPoints[0].AreaSize := 4;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := stne;
dtmSubPoints[0].Tolerance := 0;

dtmSubPoints[1].x := 599;
dtmSubPoints[1].y := 94;
dtmSubPoints[1].AreaSize := 4;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := stne;
dtmSubPoints[1].Tolerance := 0;

dtmSubPoints[2].x := 600;
dtmSubPoints[2].y := 76;
dtmSubPoints[2].AreaSize := 4;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := stne;
dtmSubPoints[2].Tolerance := 0;

dtmSubPoints[3].x := 605;
dtmSubPoints[3].y := 136;
dtmSubPoints[3].AreaSize := 4;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := stne;
dtmSubPoints[3].Tolerance := 0;

dtmSubPoints[4].x := 604;
dtmSubPoints[4].y := 129;
dtmSubPoints[4].AreaSize := 4;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := stne;
dtmSubPoints[4].Tolerance := 0;

dtmSubPoints[5].x := 628;
dtmSubPoints[5].y := 30;
dtmSubPoints[5].AreaSize := 4;
dtmSubPoints[5].AreaShape := 0;
dtmSubPoints[5].Color := stne;
dtmSubPoints[5].Tolerance := 0;

dtmSubPoints[6].x := 673;
dtmSubPoints[6].y := 72;
dtmSubPoints[6].AreaSize := 4;
dtmSubPoints[6].AreaShape := 0;
dtmSubPoints[6].Color := stne;
dtmSubPoints[6].Tolerance := 0;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

function VEBtoAKddtm5: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..5] of TDTMPointDef;
TempTDTM: TDTM;
stne: integer;
begin
stne := FindStoneColor;

dtmMainPoint.x := 624;
dtmMainPoint.y := 151;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 7717835;
dtmMainPoint.Tolerance := 300;

dtmSubPoints[0].x := 617;
dtmSubPoints[0].y := 138;
dtmSubPoints[0].AreaSize := 4;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := stne;
dtmSubPoints[0].Tolerance := 0;

dtmSubPoints[1].x := 605;
dtmSubPoints[1].y := 30;
dtmSubPoints[1].AreaSize := 4;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := stne;
dtmSubPoints[1].Tolerance := 0;

dtmSubPoints[2].x := 629;
dtmSubPoints[2].y := 73;
dtmSubPoints[2].AreaSize := 4;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := stne;
dtmSubPoints[2].Tolerance := 0;

dtmSubPoints[3].x := 629;
dtmSubPoints[3].y := 62;
dtmSubPoints[3].AreaSize := 4;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := stne;
dtmSubPoints[3].Tolerance := 0;

dtmSubPoints[4].x := 620;
dtmSubPoints[4].y := 70;
dtmSubPoints[4].AreaSize := 4;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := stne;
dtmSubPoints[4].Tolerance := 0;

dtmSubPoints[5].x := 675;
dtmSubPoints[5].y := 100;
dtmSubPoints[5].AreaSize := 4;
dtmSubPoints[5].AreaShape := 0;
dtmSubPoints[5].Color := stne;
dtmSubPoints[5].Tolerance := 0;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

function VEBtoAKddtm6: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..5] of TDTMPointDef;
TempTDTM: TDTM;
stne: integer;
begin
stne := FindStoneColor;

dtmMainPoint.x := 638;
dtmMainPoint.y := 150;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 7717835;
dtmMainPoint.Tolerance := 300;

dtmSubPoints[0].x := 620;
dtmSubPoints[0].y := 76;
dtmSubPoints[0].AreaSize := 4;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := stne;
dtmSubPoints[0].Tolerance := 0;

dtmSubPoints[1].x := 686;
dtmSubPoints[1].y := 86;
dtmSubPoints[1].AreaSize := 4;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := stne;
dtmSubPoints[1].Tolerance := 0;

dtmSubPoints[2].x := 694;
dtmSubPoints[2].y := 94;
dtmSubPoints[2].AreaSize := 4;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := stne;
dtmSubPoints[2].Tolerance := 0;

dtmSubPoints[3].x := 686;
dtmSubPoints[3].y := 96;
dtmSubPoints[3].AreaSize := 4;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := stne;
dtmSubPoints[3].Tolerance := 0;

dtmSubPoints[4].x := 686;
dtmSubPoints[4].y := 104;
dtmSubPoints[4].AreaSize := 4;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := stne;
dtmSubPoints[4].Tolerance := 0;

dtmSubPoints[5].x := 679;
dtmSubPoints[5].y := 95;
dtmSubPoints[5].AreaSize := 4;
dtmSubPoints[5].AreaShape := 0;
dtmSubPoints[5].Color := stne;
dtmSubPoints[5].Tolerance := 0;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

function VEBtoAKddtm7: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
stne: integer;
begin
stne := FindStoneColor;
SetupNewAutoColor;
SetAutoColorReference('brown rock', stne);

dtmMainPoint.x := 617;
dtmMainPoint.y := 149;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 6525072;
dtmMainPoint.Tolerance := 300;

dtmSubPoints[0].x := 652;
dtmSubPoints[0].y := 127;
dtmSubPoints[0].AreaSize := 4;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := stne;
dtmSubPoints[0].Tolerance := 0;

dtmSubPoints[1].x := 663;
dtmSubPoints[1].y := 123;
dtmSubPoints[1].AreaSize := 4;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := stne;
dtmSubPoints[1].Tolerance := 0;

dtmSubPoints[2].x := 652;
dtmSubPoints[2].y := 137;
dtmSubPoints[2].AreaSize := 4;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := stne;
dtmSubPoints[2].Tolerance := 0;

dtmSubPoints[3].x := 679;
dtmSubPoints[3].y := 128;
dtmSubPoints[3].AreaSize := 4;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := stne;
dtmSubPoints[3].Tolerance := 0;

dtmSubPoints[4].x := 643;
dtmSubPoints[4].y := 128;
dtmSubPoints[4].AreaSize := 4;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := srl_AutoGetColor('green palm');
dtmSubPoints[4].Tolerance := 0;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

function VEBtoAKddtm8: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..5] of TDTMPointDef;
TempTDTM: TDTM;
stne, Plm: integer;
begin
stne := FindStoneColor;
SetupNewAutoColor;
SetAutoColorReference('brown rock', stne);
plm := srl_AutoGetColor('green palm');
GlobalPalm := plm;
dtmMainPoint.x := 614;
dtmMainPoint.y := 149;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 5550492;
dtmMainPoint.Tolerance := 300;

dtmSubPoints[0].x := 657;
dtmSubPoints[0].y := 71;
dtmSubPoints[0].AreaSize := 3;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := plm;
dtmSubPoints[0].Tolerance := 0;

dtmSubPoints[1].x := 671;
dtmSubPoints[1].y := 108;
dtmSubPoints[1].AreaSize := 3;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := plm;
dtmSubPoints[1].Tolerance := 0;

dtmSubPoints[2].x := 687;
dtmSubPoints[2].y := 97;
dtmSubPoints[2].AreaSize := 3;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := plm;
dtmSubPoints[2].Tolerance := 0;

dtmSubPoints[3].x := 676;
dtmSubPoints[3].y := 92;
dtmSubPoints[3].AreaSize := 3;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := stne;
dtmSubPoints[3].Tolerance := 0;

dtmSubPoints[4].x := 665;
dtmSubPoints[4].y := 81;
dtmSubPoints[4].AreaSize := 3;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := stne;
dtmSubPoints[4].Tolerance := 0;

dtmSubPoints[5].x := 678;
dtmSubPoints[5].y := 69;
dtmSubPoints[5].AreaSize := 3;
dtmSubPoints[5].AreaShape := 0;
dtmSubPoints[5].Color := stne;
dtmSubPoints[5].Tolerance := 0;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

function VEBtoAKddtm9: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..7] of TDTMPointDef;
TempTDTM: TDTM;
Wtr: integer;
begin
Wtr := FindWaterColor;

dtmMainPoint.x := 665;
dtmMainPoint.y := 133;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 7783629;
dtmMainPoint.Tolerance := 300;

dtmSubPoints[0].x := 588;
dtmSubPoints[0].y := 122;
dtmSubPoints[0].AreaSize := 6;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := Wtr;
dtmSubPoints[0].Tolerance := 0;

dtmSubPoints[1].x := 565;
dtmSubPoints[1].y := 119;
dtmSubPoints[1].AreaSize := 6;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := Wtr;
dtmSubPoints[1].Tolerance := 0;

dtmSubPoints[2].x := 586;
dtmSubPoints[2].y := 72;
dtmSubPoints[2].AreaSize := 6;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := Wtr;
dtmSubPoints[2].Tolerance := 0;

dtmSubPoints[3].x := 576;
dtmSubPoints[3].y := 72;
dtmSubPoints[3].AreaSize := 6;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := Wtr;
dtmSubPoints[3].Tolerance := 0;

dtmSubPoints[4].x := 582;
dtmSubPoints[4].y := 46;
dtmSubPoints[4].AreaSize := 6;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := Wtr;
dtmSubPoints[4].Tolerance := 0;

dtmSubPoints[5].x := 663;
dtmSubPoints[5].y := 72;
dtmSubPoints[5].AreaSize := 5;
dtmSubPoints[5].AreaShape := 0;
dtmSubPoints[5].Color := 3569229;
dtmSubPoints[5].Tolerance := 20;

dtmSubPoints[6].x := 680;
dtmSubPoints[6].y := 64;
dtmSubPoints[6].AreaSize := 5;
dtmSubPoints[6].AreaShape := 0;
dtmSubPoints[6].Color := 3569229;
dtmSubPoints[6].Tolerance := 20;

dtmSubPoints[7].x := 656;
dtmSubPoints[7].y := 59;
dtmSubPoints[7].AreaSize := 5;
dtmSubPoints[7].AreaShape := 0;
dtmSubPoints[7].Color := 3569229;
dtmSubPoints[7].Tolerance := 20;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

function VEBtoAKddtm10: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
plm: integer;
begin
plm := GlobalPalm;

dtmMainPoint.x := 614;
dtmMainPoint.y := 147;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 7783629;
dtmMainPoint.Tolerance := 300;

dtmSubPoints[0].x := 642;
dtmSubPoints[0].y := 39;
dtmSubPoints[0].AreaSize := 5;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := plm;
dtmSubPoints[0].Tolerance := 0;

dtmSubPoints[1].x := 650;
dtmSubPoints[1].y := 30;
dtmSubPoints[1].AreaSize := 5;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := plm;
dtmSubPoints[1].Tolerance := 0;

dtmSubPoints[2].x := 659;
dtmSubPoints[2].y := 39;
dtmSubPoints[2].AreaSize := 5;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := plm;
dtmSubPoints[2].Tolerance := 0;

dtmSubPoints[3].x := 676;
dtmSubPoints[3].y := 60;
dtmSubPoints[3].AreaSize := 5;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := plm;
dtmSubPoints[3].Tolerance := 0;

dtmSubPoints[4].x := 676;
dtmSubPoints[4].y := 67;
dtmSubPoints[4].AreaSize := 5;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := plm;
dtmSubPoints[4].Tolerance := 0;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

function VEBtoAKddtm11: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..3] of TDTMPointDef;
TempTDTM: TDTM;
plm: integer;
begin
SetupNewAutoColor;
SetAutoColorReference('brown rock', FindStoneColor);
plm := srl_AutoGetColor('green palm');

dtmMainPoint.x := 608;
dtmMainPoint.y := 126;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 6393483;
dtmMainPoint.Tolerance := 300;

dtmSubPoints[0].x := 628;
dtmSubPoints[0].y := 94;
dtmSubPoints[0].AreaSize := 3;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := srl_AutoGetColor('brown rock');;
dtmSubPoints[0].Tolerance := 0;

dtmSubPoints[1].x := 582;
dtmSubPoints[1].y := 58;
dtmSubPoints[1].AreaSize := 3;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := plm;
dtmSubPoints[1].Tolerance := 0;

dtmSubPoints[2].x := 645;
dtmSubPoints[2].y := 110;
dtmSubPoints[2].AreaSize := 3;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := plm;
dtmSubPoints[2].Tolerance := 0;

dtmSubPoints[3].x := 602;
dtmSubPoints[3].y := 124;
dtmSubPoints[3].AreaSize := 2;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 195836;
dtmSubPoints[3].Tolerance := 0;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

procedure WalkVEBAK;
var
spt: TPointArray;
begin
ExitBank('veb');
FindColorsTolerance(spt, FindRockColor, MMX1, MMY1, MMX2, MMY2, 0);
try spt[0] := MiddleTPA(spt); except ReportVars[1] := ReportVars[1] + 1;EXIT; end;
MouseFlag(spt[0].x, spt[0].y, 0, 0);
if not(WalkDTM(VEBtoAKddtm, 0.05)) then begin ReportVars[1] := ReportVars[1] + 1; EXIT; end;
if not(WalkDTM(DTMFromString('78DA639CC8C4C0D0CF8002DA9A6B187418191' +
'88088E13F10304601D5A441E418E1AA1851F860359944A86920A0' +
'261AA8A69D0835FD44A8994A849A59F8D5000044F80D0B'), 0.05)) then ReportVars[1] := ReportVars[1] + 1;begin ReportVars[1] := ReportVars[1] + 1; EXIT; end;
if not(WalkDTM(DTMFromString('78DA63EC646260E86440016DCD350C3A8C0C0' +
'C40C4F01F08183D806A1A21728C70558C287C4667A09A5A026A2C' +
'816AF288509346408D05504D140135E640351644D81540408D2D5' +
'04D397E35004C480C02'), 0.05)) then begin ReportVars[1] := ReportVars[1] + 1; EXIT; end;
RadialWalk(SetVrk, 152, 195, 70, 0, 0);
RadialWalk(VrkRd, 140, 180, 69, 0, 0);
RadialWalk(VrkRd, 220, 166, 54, 0, 0);
if not(WalkDTM(VEBtoAKddtm1, 0.05)) then begin ReportVars[1] := ReportVars[1] + 1; EXIT; end;
RadialWalk(VrkRd, 234, 204, 68, 0, 0);
if not(WalkDTM(VEBtoAKddtm2, 0.05)) then begin ReportVars[1] := ReportVars[1] + 1; EXIT; end;
if not(WalkDTM(VEBtoAKddtm3, 0.05)) then begin ReportVars[1] := ReportVars[1] + 1; EXIT; end;
if not(WalkDTM(VEBtoAKddtm4, 0.05)) then begin ReportVars[1] := ReportVars[1] + 1; EXIT; end;
if not(WalkDTM(VEBtoAKddtm5, 0.05)) then begin ReportVars[1] := ReportVars[1] + 1; EXIT; end;
if not(WalkDTM(VEBtoAKddtm6, 0.05)) then begin ReportVars[1] := ReportVars[1] + 1; EXIT; end;
if not(WalkDTM(DTMFromString('78DA632C66626098CA8002F6EDCD63D061646' +
'0002286FF40C0980A541300916386AAF12D3363106180A80101C6' +
'3CA09A08026A5A806A7209A82905AAC927A0A612A8468F809A72A' +
'09A24FC6A00426D1267'), 0.05)) then begin ReportVars[1] := ReportVars[1] + 1; EXIT; end;
if not(WalkDTM(VEBtoAKddtm7, 0.05)) then begin ReportVars[1] := ReportVars[1] + 1; EXIT; end;
if not(WalkDTM(VEBtoAKddtm8, 0.05)) then begin ReportVars[1] := ReportVars[1] + 1; EXIT; end;
if not(WalkDTM(DTMFromString('78DA63AC64626098C28002F61F8B65D061646' +
'0002286FF40C0D80154530C916386AAF12D3363106180A80101C6' +
'1EA09A2C026A9601D5E412503315A8A68C08735AF1AB0100382B1' +
'1BB'), 0.05)) then EXIT;
if not(WalkDTM(VEBtoAKddtm9, 0.05)) then begin ReportVars[1] := ReportVars[1] + 1; EXIT; end;
if not(WalkDTM(VEBtoAKddtm11, 0.05)) then begin ReportVars[1] := ReportVars[1] + 1; EXIT; end;
if not(WalkDTM(VEBtoAKddtm10, 0.05)) then begin ReportVars[1] := ReportVars[1] + 1; EXIT; end;
ReportVars[0] := ReportVars[0] + 1;
end;

procedure WalkVWBDB;
begin
WalkVWBVEB;
WalkVEBLC;
WalkLCDB;
end;

procedure WalkVWBLC;
begin
Relocate('');
ReportVars[0] := ReportVars[0] + 1;
end;

procedure WalkVWBVEB;
begin
{Proc - Varrock West To Varrock East}
end;

procedure WalkVWBVWB;
begin
Writeln('BITCH!!! your already there!');
end;

procedure WalkVWBFEB;
begin
{Proc - Varrock West Bank To Fally East Bank}
end;

procedure WalkVWBFWB;
begin
WalkVWBFEB;
WalkFEBFWB;
end;

procedure WalkVWBAK;
begin
WalkVWBVEB;
WalkVEBAK;
end;

procedure WalkFEBDB;
begin
{Proc - Fally East To Draynor Bank}
end;

procedure WalkFEBLC;
begin
Relocate('');
ReportVars[0] := ReportVars[0] + 1;
end;

procedure WalkFEBVWB;
begin
Relocate('');
WalkLCVEB;
WalkVEBVWB;
end;

procedure WalkFEBVEB;
begin
WalkFEBVWB;
WalkVWBVEB;
end;

procedure WalkFEBFEB;
begin
Writeln('BITCH!!! your already there!');
end;

procedure WalkFEBFWB;
var
Spot: TPointArray;
OSpot: TPoint;
begin
RadialRoadWalk(FindFallyRoadColor, 277, 327, 54, 5, 5);
RadialRoadWalk(FindFallyRoadColor, 277, 327, 58, 5, 5);
RadialRoadWalk(FindFallyRoadColor, 260, 327, 58, 5, 5);
RadialRoadWalk(FindFallyRoadColor, 300, 240, 75, 5, 5);
Wait(2000 + Random(500));
RadialRoadWalk(FindFallyRoadColor, 274, 196, 57, 5, 5);
if FindColorsTolerance(Spot, 195836, 595, 77, 650, 86, 0) then
begin
ReportVars[0] := ReportVars[0] + 1;
end else
ReportVars[1] := ReportVars[1] + 1;
OSpot := MiddleTPA(Spot);
MouseFlag(OSpot.x, OSpot.y - 15, 0, 0);
end;

procedure WalkFEBAK;
begin
WalkFEBDB;
WalkDBLC;
WalkLCAK;
end;

procedure WalkFWBDB;
begin
WalkFWBFEB;
WalkFEBDB;
end;

procedure WalkFWBLC;
begin
Relocate('');
ReportVars[0] := ReportVars[0] + 1;
end;

procedure WalkFWBAK;
begin
WalkFWBFEB;
WalkFEBDB;
WalkDBLC;
WalkLCAK;
end;

procedure WalkFWBVEB;
begin
WalkFWBVWB;
WalkVWBVEB;
end;

procedure WalkFWBVWB;
begin
Relocate('');
WalkLCVEB;
WalkVEBVWB;
end;

procedure WalkFWBFEB;
var
Spot: TPointArray;
OSpot: TPoint;
begin
RadialRoadWalk(FindFallyRoadColor, 15, 55, 64, 5, 5);
RadialRoadWalk(FindFallyRoadColor, 110, 73, 59, 5, 5);
RadialRoadWalk(FindFallyRoadColor, 66, 124, 63, 5, 5);
RadialRoadWalk(FindFallyRoadColor, 165, 80, 63, 5, 5);
RadialRoadWalk(FindFallyRoadColor, 62, 131, 68, 5, 5);
if FindColorsTolerance(Spot, 195836, 595, 90, 674, 138, 0) then
begin
ReportVars[0] := ReportVars[0] + 1;
end else
ReportVars[1] := ReportVars[1] + 1;
OSpot := MiddleTPA(Spot);
MouseFlag(OSpot.x, OSpot.y - 10, 0, 0);
end;

procedure WalkFWBFWB;
begin
Writeln('BITCH!!! your already there!');
end;

procedure WalkAKLC;
begin
Relocate('');
ReportVars[0] := ReportVars[0] + 1;
end;

procedure WalkAKDB;
begin
WalkAKLC;
WalkLCDB;
end;

procedure WalkAKAK;
begin
Writeln('BITCH!!! your already there!');
end;

procedure WalkAKVEB;
begin
{Proc - Al-Kahard To VEB}
end;

procedure WalkAKVWB;
begin
WalkAKVEB;
WalkVEBVWB;
end;

procedure WalkAKFEB;
begin
WalkAKLC;
WalkLCDB;
WalkDBFEB;
end;

procedure WalkAKFWB;
begin
WalkAKLC;
WalkLCDB;
WalkDBFEB;
WalkFEBFWB;
end;

procedure FWalkPath(SPlce, EPlce: string);
begin
case lowercase(SPlce) of
'db' : begin if EPlce = 'db' then WalkDBDB; if EPlce = 'lc' then WalkDBLC; if EPlce = 'veb' then WalkDBVEB; if EPlce = 'vwb' then WalkDBVWB; if EPlce = 'vwb' then WalkDBVWB; if EPlce = 'feb' then WalkDBFEB; if EPlce = 'fwb' then WalkDBFWB; if EPlce = 'ak' then WalkDBAK; end;
'lc' : begin if EPlce = 'db' then WalklcDB; if EPlce = 'lc' then WalklcLC; if EPlce = 'veb' then WalklcVEB; if EPlce = 'vwb' then WalklcVWB; if EPlce = 'vwb' then WalklcVWB; if EPlce = 'feb' then WalklcFEB; if EPlce = 'fwb' then WalklcFWB; if EPlce = 'ak' then WalklcAK; end;
'veb' : begin if EPlce = 'db' then WalkvebDB; if EPlce = 'lc' then WalkvebLC; if EPlce = 'veb' then WalkvebVEB; if EPlce = 'vwb' then WalkvebVWB; if EPlce = 'vwb' then WalkvebVWB; if EPlce = 'feb' then WalkvebFEB; if EPlce = 'fwb' then WalkvebFWB; if EPlce = 'ak' then WalkvebAK; end;
'vwb' : begin if EPlce = 'db' then WalkvwbDB; if EPlce = 'lc' then WalkvwbLC; if EPlce = 'veb' then WalkvwbVEB; if EPlce = 'vwb' then WalkvwbVWB; if EPlce = 'vwb' then WalkvwbVWB; if EPlce = 'feb' then WalkvwbFEB; if EPlce = 'fwb' then WalkvwbFWB; if EPlce = 'ak' then WalkvwbAK; end;
'feb' : begin if EPlce = 'db' then WalkfebDB; if EPlce = 'lc' then WalkfebLC; if EPlce = 'veb' then WalkfebVEB; if EPlce = 'vwb' then WalkfebVWB; if EPlce = 'vwb' then WalkfebVWB; if EPlce = 'feb' then WalkfebFEB; if EPlce = 'fwb' then WalkfebFWB; if EPlce = 'ak' then WalkfebAK; end;
'fwb' : begin if EPlce = 'db' then WalkfwbDB; if EPlce = 'lc' then WalkfwbLC; if EPlce = 'veb' then WalkfwbVEB; if EPlce = 'vwb' then WalkfwbVWB; if EPlce = 'vwb' then WalkfwbVWB; if EPlce = 'feb' then WalkfwbFEB; if EPlce = 'fwb' then WalkfwbFWB; if EPlce = 'ak' then WalkfwbAK; end;
'ak' : begin if EPlce = 'db' then WalkakDB; if EPlce = 'lc' then WalkakLC; if EPlce = 'veb' then WalkakVEB; if EPlce = 'vwb' then WalkakVWB; if EPlce = 'vwb' then WalkakVWB; if EPlce = 'feb' then WalkakFEB; if EPlce = 'fwb' then WalkakFWB; if EPlce = 'ak' then WalkakAK; end;
end;
end;

procedure Walk(SPlace, EPlace: string);
var
ScriptIdC: string;
begin
if (lowercase(SPlace) = 'lost') then
begin
Relocate(EPlace);
Exit;
end;
ScriptIdC := ScriptID;
ScriptID := '680';
FWalkPath(SPlace, EPlace);
SRLRandomsReport;
Wait(1000);
ScriptID := ScriptIDC;
end;

function ExistArea(Place: string): Boolean;
begin
case Place of
'db' : Result := True;//Draynor Bank
'lc' : Result := True;//LC Cassle
'veb' : Result := True;//Varrock East Bank
'vwb' : Result := True;//Varrock West Bank
'feb' : Result := True;//Fally East Bank
'fwb' : Result := True;//Fally West Bank
'ak' : Result := True;//Al-Kahard
'lost' : Result := True;//Lost - Fucker ermm, Sucker!!! lOl
end;
end;

procedure Relocate(Area: string);
var
Time: Integer;
ScriptIdC: string;
begin
ScriptIdC := ScriptID;
ScriptID := '680';
Time := GetLumbridgeMins;
if Time > 0 then
begin
LogOut;
Writeln('Waiting ' + IntToStr(Time) + ' Minz =[');
Wait((Time * 60 * 1000));
LogInPlayer;
Relocate(Area);
end else
begin
Wait(18000 + Random(2000));
repeat
LogOut;
until(not LoggedIn);
LogInPlayer;
Wait(1000 + Random(500));
end;
if ExistArea(Area) then
Walk('lc', Area);
SRLRandomsReport;
Wait(1000);
ScriptID := ScriptIDC;
end;

skilld u

2008-02-28 20:09:31

holy s**t, nice work.

Harry

2008-02-28 20:14:17

Looks nice, is it efficient?

Timer

2008-02-28 21:03:06

Very.

I'm accepting Help, also Hoping To Get It In SRL Core! :p

This is only about 1/10 of the way done, I'm accepting any buddys, Like you Hy!!! lol wanna help me, get on AIM, ill Send u the 'Going In SRL Core' Version lol

Harry

2008-02-28 21:05:40

Get MSN please :X I never use AIM, it is boring IMO.

BTW, I am not good at walking ;)

HellBoyz

2008-02-28 21:08:22

Nice… Going to used it very easy to move my army then…

Timer

2008-02-28 21:38:27

From: HellBoyz
Nice… Going to used it very easy to move my army then…


Help me delvelop?

munk

2008-02-28 23:29:06

wow, how tested is everything?

I had a similar idea to this once, but it was more based around a form with buttons to click for walking from one bank to another, cause I hate walking characters!

Id def use this to walk armies though like hellboyz said. I could help outa little if you want. I've been pretty busy but I'm around on msn sometimes:D

Timer

2008-02-28 23:40:18

8 hrs of work, almost flawless ;)

HellBoyz

2008-02-28 23:56:34

I'll help out with the testing after wards since I'm in progress of Regatta Sailing Competition photography works here…

Narcle

2008-02-29 00:17:07

Dang nice, hope u get it perfected and flawless. I would definitely use this in a future script if it was flawless etc. ;)

munk

2008-02-29 03:13:16

hey Timer, I probably wont be on much tomorrow(today?) so I'll just post these


procedure WalkVWBVEB;
var
I, mx, my, sr, VEBankers: integer;
begin
if not(loggedIn) then exit;
radialWalk(findVarrockRoadColor,180,90,60,-2,-2);
VEBankers:=DTMFromString('78DA63AC636260A86600034608C5F0E70F139' +
'CFF1F0818ABF0AB01D36544A86922AC060034250FD5');
sr:=90;
for i:=0 to 10 do
begin
if not(radialWalk(findVarrockRoadColor,sr,130,60,-2,-2)) then
if sr>20 then
sr:=sr-10;
if DTMrotated(VEBankers,mx,my,mmx1,mmy1,mmx2,mmy2) then
begin
mouse(mx,my-6,6,3,true);
wait(2500);
fflag(0);
break;
end;
end;
freeDTM(VEBankers);
end;

procedure WalkFEBDB;
var
i, mx, my, rockCol: integer;
p: TpointArray;
begin
if not(loggedIn) then exit;
if radialWalkEx(p,mmcx,mmcy,findWaterColor,0,180,250,65) then
begin
for i:=0 to high(p) do
begin
if rs_onMinimap(p[i].x,p[i].y) then
begin
mx:=p[i].x;
my:=p[i].y;
if findColorSpiral(mx,my,findFallyRoadColor,p[i].x,p[i].y-1,p[i].x+30,p[i].y+1) then
begin
mouse(mx,my,5,5,true);
// wait(10000);
fflag(random(11));
break;
end;
end;
end;
end;
setArrayLength(p,0);
radialWalk(findFallyRoadColor,165,205,60,-1,-2);
for i:=0 to 3 do
radialWalk(findRoadColor,110,200,60,-1,-2);
for i:=0 to 3 do
begin
radialWalk(findRoadColor,110,65,50,-1,-2);
if i>2 then
begin
rockCol:=findRockColor;
if rockCol<>0 then
begin
mx:=mmcx;
my:=mmy2;
if findColorSpiral(mx,my,rockCol,mmx1,mmy1,mmx2-40,mmy2) then
begin
mouse(mx+30,my+5,5,5,true);
fflag(0);
break;
end;
end;
end;
end;
radialWalk(findRoadColor,150,170,65,-2,-2);
if radialWalkEx(p,mmcx,mmcy,findRoadColor,0,160,100,63) then
for i:=0 to high(p) do
begin
if rs_onMinimap(p[i].x+5,p[i].y-5) then
begin
mouse(p[i].x+5,p[i].y-10,3,3,true);
fflag(0);
break;
end;
end;
end;

tell me if they work as good for you, as they did for me. I got the fally to draynor one to land in bank using radialwalkex, tested 4/5 landed in bank, 5th was right outside bank :)

Rikje

2008-02-29 05:27:41

This Looks Sexy! :o

rkroxpunk

2008-02-29 06:45:01

Nice work, seriously I admire the amount of effort you must have put into this. Don't get your hopes up about getting it put into SRL, it would make walking too easy just like another certain something that makes it too easy…….

Santa_Clause

2008-02-29 07:16:27

From: rkroxpunk
Nice work, seriously I admire the amount of effort you must have put into this. Don't get your hopes up about getting it put into SRL, it would make walking too easy just like another certain something that makes it too easy…….


Even if something like this was going to go into SRL, the Developers would probably end up making their own and sticking it in there…just because they don't like SRL Members functions.

JuKKa

2008-02-29 07:20:48

From: Santa_Clause
Even if something like this was going to go into SRL, the Developers would probably end up making their own and sticking it in there…just because they don't like SRL Members functions.

A big thing like this would probably just be fixed and coded a bit prettier. Adding a few things, more fail safes etc. But no.. Not re-coding everything. If added to SRL at all.

GJ ;)

Naum

2008-02-29 07:46:28

Very good. Timer i'm pretty good at walking i could give it a shot.

Markus

2008-02-29 07:47:17


(...)
procedure WalkLCVEB; forward;
procedure WalkLCVWB; forward;
procedure WalkLCFEB; forward;
procedure WalkLCFWB; forward;
procedure WalkLCAK; forward;
procedure WalkDBLC; forward;
procedure WalkDBDB; forward;
procedure WalkDBVEB; forward;
procedure WalkDBVWB; forward;
procedure WalkDBFEB; forward;
procedure WalkDBFWB; forward;
procedure WalkDBAK; forward;
procedure WalkAKLC; forward;
procedure WalkAKDB; forward;
procedure WalkAKAK; forward;
procedure WalkAKFEB; forward;
procedure WalkAKFWB; forward;
procedure WalkAKVWB; forward;
procedure WalkAKVEB; forward;
procedure WalkVEBDB; forward;
procedure WalkVEBLC; forward;
procedure WalkVEBAK; forward;
procedure WalkVEBVEB; forward;
procedure WalkVEBVWB; forward;
procedure WalkVEBFEB; forward;
procedure WalkVEBFWB; forward;
procedure WalkVWBLC; forward;
procedure WalkVWBDB; forward;
procedure WalkVWBAK; forward;
(...)
I'm pretty sure you only need like 10 of them, at max.


RadialRoadWalk(FindDirtRoadColor, 251, 316, 60, 5, 5);
RadialRoadWalk(FindDirtRoadColor, 302, 221, 64, 5, 5);
RadialRoadWalk(FindDirtRoadColor, 207, 294, 70, 5, 5);
RadialRoadWalk(FindDirtRoadColor, 300, 200, 70, 5, 5);
RadialRoadWalk(FindDirtRoadColor, 283, 218, 70, 5, 5);
RadialRoadWalk(FindDirtRoadColor, 283, 218, 70, 5, 5);
What if one of the fails? We will completely get lost!


if not RadialRoadWalk(RdClr, 0, 32, 62, 5, 5) then
Good := False;
if not RadialRoadWalk(RdClr, 10, 70, 62, 5, 5) then
Good := False;;
if not RadialRoadWalk(RdClr, 54, 90, 60, 5, 5) then
Good := False;
if not RadialRoadWalk(RdClr, 336, 390, 42, 5, 5) then
Good := False;
It'll continue like that for another 20 clicks, only at the end, it'll change something to the reportvars…

MouseFlag(635, 158, 0, 0);
MouseFlag(587, 135, 5, 5);
COORD CLICKS!
We don't like them


Relocate(Area);
This might cause a stack overflow.

No failsafes like if (not(loggedin)) then exit; at all…

Santa_Clause

2008-02-29 07:49:23

From: Markus

(...)
procedure WalkLCVEB; forward;
procedure WalkLCVWB; forward;
procedure WalkLCFEB; forward;
procedure WalkLCFWB; forward;
procedure WalkLCAK; forward;
procedure WalkDBLC; forward;
procedure WalkDBDB; forward;
procedure WalkDBVEB; forward;
procedure WalkDBVWB; forward;
procedure WalkDBFEB; forward;
procedure WalkDBFWB; forward;
procedure WalkDBAK; forward;
procedure WalkAKLC; forward;
procedure WalkAKDB; forward;
procedure WalkAKAK; forward;
procedure WalkAKFEB; forward;
procedure WalkAKFWB; forward;
procedure WalkAKVWB; forward;
procedure WalkAKVEB; forward;
procedure WalkVEBDB; forward;
procedure WalkVEBLC; forward;
procedure WalkVEBAK; forward;
procedure WalkVEBVEB; forward;
procedure WalkVEBVWB; forward;
procedure WalkVEBFEB; forward;
procedure WalkVEBFWB; forward;
procedure WalkVWBLC; forward;
procedure WalkVWBDB; forward;
procedure WalkVWBAK; forward;
(...)
I'm pretty sure you only need like 10 of them, at max.


RadialRoadWalk(FindDirtRoadColor, 251, 316, 60, 5, 5);
RadialRoadWalk(FindDirtRoadColor, 302, 221, 64, 5, 5);
RadialRoadWalk(FindDirtRoadColor, 207, 294, 70, 5, 5);
RadialRoadWalk(FindDirtRoadColor, 300, 200, 70, 5, 5);
RadialRoadWalk(FindDirtRoadColor, 283, 218, 70, 5, 5);
RadialRoadWalk(FindDirtRoadColor, 283, 218, 70, 5, 5);
What if one of the fails? We will completely get lost!


if not RadialRoadWalk(RdClr, 0, 32, 62, 5, 5) then
Good := False;
if not RadialRoadWalk(RdClr, 10, 70, 62, 5, 5) then
Good := False;;
if not RadialRoadWalk(RdClr, 54, 90, 60, 5, 5) then
Good := False;
if not RadialRoadWalk(RdClr, 336, 390, 42, 5, 5) then
Good := False;
It'll continue like that for another 20 clicks, only at the end, it'll change something to the reportvars…

MouseFlag(635, 158, 0, 0);
MouseFlag(587, 135, 5, 5);
COORD CLICKS!
We don't like them


Relocate(Area);
This might cause a stack overflow.

No failsafes like if (not(loggedin)) then exit; at all…


You didn't even say 'Good Job!'.

Markus

2008-02-29 09:22:05

From: Santa_Clause
You didn't even say 'Good Job!'.


I'm not a zombie who says something because all other people do.

That's why I say this: Nice that you guys put that much work in it! :) But it needs a bit of tweaking ;)

Wizzup?

2008-02-29 09:42:56

Scripters cup.
Lots of work!
Some parts look really nice, others needs to be a done a bit different.
I really don't like all the 'if not radialwalk then', try putting it in loops.

Maybe you can use looped radialwalks + symbol(color)s (newAutoColor!) for breakouts…

Like Fakawi and I tend to make walking.

Timer

2008-02-29 15:54:29

Markus, this isn't even a full BETA yet, im working on V0.51, no corrds, it'll be perfect, ;)

How this turns out well!

Thanks Wizzup!!!

BobboHobbo

2008-02-29 16:30:57

Very nice Timer, can see how much time of your life you wasted ;) Jks, hope to see this in SRL would be preety cool to have every location to walk to. Must of tool a looong time.

richk1693

2008-03-01 12:25:29

I see you finally let everyone see this. It still amazes me how fast you did this.

Edit: and congrats on the cup man.

king vash

2008-03-02 02:15:33

congrats on the cup, and it worked from moving my army to draynor

JuKKa

2008-03-02 16:29:10

al kharid to varrock VWB coming soon

program New;

{.Include SRL/SRL.Scar}

Function FindAlKharidSandColor: Integer;
Var
P, TP: TPointArray;
T, GC, L, A, Percentage, TestColor: Integer;
Red, Green, Blue: Integer;
Begin
T := GetSystemTime;
GC := 8242387;
FindColorsSpiralTolerance(MMCX, MMY1, P, GC, MMX1, MMY1, MMX2, MMY2, 50);
L := High(P);
For a:= 0 To L Do
Begin
If(Not rs_OnMinimap(p[a].x, p[a].y))Then Continue;
TestColor := GetColor(p[a].x, p[a].y);

Red := (TestColor mod 256);
Green := ((TestColor / 256) mod 256);
Blue := ((TestColor / 256) / 256);

If(Red - Green < 35)Then If(Blue > 90)Then
If(Red > 170)Then If(Green < 210)Then
If(Green - Blue < 100)Then
Begin
FindColorsTolerance(tP, TestColor, MMX1, MMY1, MMX2, MMY2, 0);
Percentage := Round((Length(tp) / 15741.0) * 100.0);
If(Percentage > 25)Then
Begin
Result := TestColor;
Writeln('Al kharid sand color = ' +IntTostr(Result) + ' In '+IntToStr(GetSystemTime - T) + ' MSec');
Exit;
End;
End;
End;
Result := 0;
Writeln('Couldnt get al kharid sand color');
End;

Function CheckSand(Col: Integer): Integer;
Var
X, Y: Integer;
Begin
X := MMCX;
Y := MMCY;

If(Col = 0)Then
Result := FindAlKharidSandColor
Else Result := Col;

If( FindColorSpiral(X, Y, Result, MMX1, MMY1, MMX2, MMY2))Then
Result := Result
Else Result := FindAlKharidSandColor;
End;

Function CheckRoad(Col: Integer): Integer;
Var
X, Y: Integer;
Begin
X := MMCX;
Y := MMCY;
If(Col = 0)Then
Result := FindVarrockRoadColor
Else Result := Col;
If( FindColorSpiral(X, Y, Result, MMX1, MMY1, MMX2, MMY2))Then
Result := Result
Else Result := FindVarrockRoadColor;
End;

Function rs_OnMinimapEx(x, y: Integer): Boolean;
Begin
Result := InCircle(x, y, MMCX, MMCY, 65);
End;

Function FindBrownStoneColor: Integer;
Var
L, T, A, GC, TestColor, Red, Green, Blue: Integer;
P: TPointArray;
Begin
T := GetSystemTime;
GC := 3104913; //Temporary.
FindColorsSpiralTolerance(MMCX, MMCY, P, GC, MMX1, MMY1, MMX2, MMY2, 50);
L := High(P);
For a:= 0 To L Do
Begin
If(Not rs_OnMinimapEx(p[a].x, p[a].y))Then Continue;
TestColor := GetColor(P[a].x,P[a].y);

Red := (TestColor mod 256);
Green := ((TestColor / 256) mod 256);
Blue := ((TestColor / 256) / 256);

If(Red - Green < 70)Then If(Blue < 60)Then
If(Green - Blue < 50)Then If(Red - Blue < 100)Then
If (GetColor(P[a].x-1,P[a].y)=TestColor-461068)Then //Tara
Begin
Result := TestColor;
WriteLn('Brown stone Color = ' + IntToStr(TestColor) + ' in ' + inttostr(getsystemtime - t)+ ' msec');
Exit;
End;
End;
WriteLn('Could not find Brown stone Color!');
Result := 0;
End;

function LinearWalkExtendedByJuKKa(TheColor: Integer; Direction: Integer; Radius: Integer; Xmod, Ymod: Integer): Boolean;
var
tpa: TPointArray;
i: Integer;
begin
Result := False;
if LinearWalkEx(tpa, MMCX, MMCY, TheColor, 0, Direction, Radius) then
for i := 0 to High(tpa) do//added distance. To make it not click so much ;)
if(distance(tpa[i].x, tpa[i].y, mmcx, mmcy) > 30)then
if MFNF(tpa[i].x, tpa[i].y, Xmod, Ymod) then
begin
FFlag(10);
Result := True;
Break;
end;
end;

Function WalkAKVEB: Boolean;
Var
Bank, BrownStone, X, Y, Sand: Integer;
P: TPointArray;
Music: String;
A: Extended;
begin
If(Not Loggedin)Then Exit;
Music := LowerCase(GetMusic);
If(Music = 'al kharid')Or
(Music = 'arabian')Or
(Music = 'arabian2')Then
Begin
GameTab(4);
MakeCompass('n');

Sand := FindAlKharidSandColor;
BrownStone := FindBrownStoneColor;
WaterColor := FindWaterColor;

RadialWalk(Sand, 10, 45, 60, -1, 1);

Repeat

Sand := CheckSand(Sand);

If(Not LinearWalkExtendedByJuKKa(Sand, 360-Random(20), 60, 0, 0))Then
Begin
If(Not FindColor(X, Y, WaterColor, MMX1, MMY1, MMX2, MMY2))Then
Begin
X := MMCX;
Y := MMY1;
If(FindColorSpiralTolerance(X, Y, BrownStone, MMX1, MMY1, MMX2, MMCY - 10, 5))Then
Begin
Mouse(X - 5, Y + 3, 5, 5, True);
FFlag(10);
End;
RoadColor := CheckRoad(RoadColor);
If(RoadColor > 0)Then
Begin
X := MMCX;
Y := MMCY;
If(FindColorSpiralTolerance(X, Y, RoadColor, MMX1, MMY1, MMX2, MMY2, 0))Then
Begin
Mouse(X - 5, Y + 5, 5, 5, True);
FFlag(10);
X := MMCX;
Y := MMCY;
RoadColor := CheckRoad(RoadColor);
If(FindColorSpiral(X, Y, RoadColor, MMX1, MMY1, MMX2, MMY2))Then
If(Distance(X, Y, MMCX, MMCY) < 10)Then
Break;
End;
End;
End Else
Begin
X := MMCX;
Y := MMY1;
If(FindColorSpiral(X, Y, WaterColor, MMX1, MMY1, MMX2, MMY2))Then
Begin
Mouse(X, Y, 0, 0, True);
FFlag(10);
End;
End;
End;

Wait(100);

Until(Not LoggedIn);

If(Not Loggedin)Then Exit;

RoadColor := CheckRoad(RoadColor);

Writeln('North of mine!');
Repeat

If(Not LinearWalkExtendedByJuKKa(RoadColor, 300, 60, 2, 0))Then
If(Not LinearWalkExtendedByJuKKa(RoadColor, 360, 60, 0, 2))Then
If(Not LinearWalkExtendedByJuKKa(RoadColor, 45, 70, -1, 1))Then
Begin
Writeln('No road...');
Logout;
Exit;
End;

If(FindSymbol(X, Y, 'water'))Then
Break
Else
If(FindSymbol(X, Y, 'staff shop'))Then
Break
Else
If(FindSymbol(X, Y, 'fur trader'))Then
Break
Else Wait(100);

RoadColor := CheckRoad(RoadColor);
Until(Not Loggedin);

If(Not Loggedin)Then Exit;
Writeln('Will now click middle of varrock');
RoadColor := CheckRoad(RoadColor);

FindColorsTolerance(P, RoadColor, MMX1, MMY1, MMX2, MMCY, 0);
MiddleTPAEx(P, X, Y);

If(X > 0)And(Y > 0)Then
Begin
Mouse(X + 10, Y, 5, 5, True);
Flag;
End Else
LinearRoadWalk(RoadColor, 45, 50, -1, 1);

Writeln('Varrok Center');

Bank := DTMFromString('78DA636C646260A86740018D75150CFF81342' +
'310FF0702C626A09A6654357FFE30318840D58000631B7E35605C' +
'8B5F0D50960100873D10BE');

Repeat
RoadColor := CheckRoad(RoadColor);

If(Not LinearWalkExtendedByJuKKa(RoadColor, 90, 50, 2, 0))Then
Break
Else Wait(100);

If(FindDTMRotated(Bank, X, Y, MMCX, MMY1, MMX2, MMy2, -20, 20, 0.1, A))Then
Begin
Mouse(X-5, Y, 5, 5, True);
Flag;
Writeln('In bank close to a bank booth');
Result := True;
Break;
End Else
If(FindSymbol(X, Y, 'bank'))Then
Begin
Mouse(X, Y, 5, 5, True);
Flag;
If(FindDTMRotated(Bank, X, Y, MMX1, MMY1, MMX2, MMy2, -20, 20, 0.1, A))Then
Begin
Mouse(X-5, Y, 5, 5, True);
Flag;
Writeln('In bank close to a bank booth');
Result := True;
Break;
End Else Writeln('In bank but not close to a bank booth');
End Else Wait(100);

Until(Not Loggedin);

FreeDTM(Bank);
If(Not Loggedin)Then Exit;
End Else Writeln('Not in Al Kharid');
end;

Begin
SetupSRL;

WalkAKVEB;
End.

that one is VEB, pretty much 100% works :P

edit

program New;

{.Include SRL/SRL.Scar}

Function FindAlKharidSandColor: Integer;
Var
P, TP: TPointArray;
T, GC, L, A, Percentage, TestColor: Integer;
Red, Green, Blue: Integer;
Begin
T := GetSystemTime;
GC := 8242387;
FindColorsSpiralTolerance(MMCX, MMY1, P, GC, MMX1, MMY1, MMX2, MMY2, 50);
L := High(P);
For a:= 0 To L Do
Begin
If(Not rs_OnMinimap(p[a].x, p[a].y))Then Continue;
TestColor := GetColor(p[a].x, p[a].y);

Red := (TestColor mod 256);
Green := ((TestColor / 256) mod 256);
Blue := ((TestColor / 256) / 256);

If(Red - Green < 35)Then If(Blue > 90)Then
If(Red > 170)Then If(Green < 210)Then
If(Green - Blue < 100)Then
Begin
FindColorsTolerance(tP, TestColor, MMX1, MMY1, MMX2, MMY2, 0);
Percentage := Round((Length(tp) / 15741.0) * 100.0);
If(Percentage > 25)Then
Begin
Result := TestColor;
Writeln('Al kharid sand color = ' +IntTostr(Result) + ' In '+IntToStr(GetSystemTime - T) + ' MSec');
Exit;
End;
End;
End;
Result := 0;
Writeln('Couldnt get al kharid sand color');
End;

Function CheckSand(Col: Integer): Integer;
Var
X, Y: Integer;
Begin
X := MMCX;
Y := MMCY;

If(Col = 0)Then
Result := FindAlKharidSandColor
Else Result := Col;

If( FindColorSpiral(X, Y, Result, MMX1, MMY1, MMX2, MMY2))Then
Result := Result
Else Result := FindAlKharidSandColor;
End;

Function CheckRoad(Col: Integer): Integer;
Var
X, Y: Integer;
Begin
X := MMCX;
Y := MMCY;
If(Col = 0)Then
Result := FindVarrockRoadColor
Else Result := Col;
If( FindColorSpiral(X, Y, Result, MMX1, MMY1, MMX2, MMY2))Then
Result := Result
Else Result := FindVarrockRoadColor;
End;

Function rs_OnMinimapEx(x, y: Integer): Boolean;
Begin
Result := InCircle(x, y, MMCX, MMCY, 65);
End;

Function FindBrownStoneColor: Integer;
Var
L, T, A, GC, TestColor, Red, Green, Blue: Integer;
P: TPointArray;
Begin
T := GetSystemTime;
GC := 3104913; //Temporary.
FindColorsSpiralTolerance(MMCX, MMCY, P, GC, MMX1, MMY1, MMX2, MMY2, 50);
L := High(P);
For a:= 0 To L Do
Begin
If(Not rs_OnMinimapEx(p[a].x, p[a].y))Then Continue;
TestColor := GetColor(P[a].x,P[a].y);

Red := (TestColor mod 256);
Green := ((TestColor / 256) mod 256);
Blue := ((TestColor / 256) / 256);

If(Red - Green < 70)Then If(Blue < 60)Then
If(Green - Blue < 50)Then If(Red - Blue < 100)Then
If (GetColor(P[a].x-1,P[a].y)=TestColor-461068)Then //Tara
Begin
Result := TestColor;
WriteLn('Brown stone Color = ' + IntToStr(TestColor) + ' in ' + inttostr(getsystemtime - t)+ ' msec');
Exit;
End;
End;
WriteLn('Could not find Brown stone Color!');
Result := 0;
End;

function LinearWalkExtendedByJuKKa(TheColor: Integer; Direction: Integer; Radius: Integer; Xmod, Ymod: Integer): Boolean;
var
tpa: TPointArray;
i: Integer;
begin
Result := False;
if LinearWalkEx(tpa, MMCX, MMCY, TheColor, 0, Direction, Radius) then
for i := 0 to High(tpa) do//added distance. To make it not click so much ;)
if(distance(tpa[i].x, tpa[i].y, mmcx, mmcy) > 30)then
if MFNF(tpa[i].x, tpa[i].y, Xmod, Ymod) then
begin
FFlag(10);
Result := True;
Break;
end;
end;

Function WalkAKVWB: Boolean;
Var
Bank, BrownStone, X, Y, Sand: Integer;
P: TPointArray;
Music: String;
A: Extended;
begin
If(Not Loggedin)Then Exit;
Music := LowerCase(GetMusic);
If(Music = 'al kharid')Or
(Music = 'arabian')Or
(Music = 'arabian2')Then
Begin
GameTab(4);
MakeCompass('n');

Sand := FindAlKharidSandColor;
BrownStone := FindBrownStoneColor;
WaterColor := FindWaterColor;

RadialWalk(Sand, 10, 45, 60, -1, 1);

Repeat

Sand := CheckSand(Sand);

If(Not LinearWalkExtendedByJuKKa(Sand, 360-Random(20), 60, 0, 0))Then
Begin
If(Not FindColor(X, Y, WaterColor, MMX1, MMY1, MMX2, MMY2))Then
Begin
X := MMCX;
Y := MMY1;
If(FindColorSpiralTolerance(X, Y, BrownStone, MMX1, MMY1, MMX2, MMCY - 10, 5))Then
Begin
Mouse(X - 5, Y + 3, 5, 5, True);
FFlag(10);
End;
RoadColor := CheckRoad(RoadColor);
If(RoadColor > 0)Then
Begin
X := MMCX;
Y := MMY1;
If(FindColorSpiralTolerance(X, Y, RoadColor, MMX1, MMY1, MMX2, MMY2, 0))Then
Begin
Mouse(X - 5, Y + 5, 5, 5, True);
FFlag(10);
X := MMCX;
Y := MMCY;
RoadColor := CheckRoad(RoadColor);
If(FindColorSpiral(X, Y, RoadColor, MMX1, MMY1, MMX2, MMY2))Then
If(Distance(X, Y, MMCX, MMCY) < 10)Then
Break;
End;
End;
End Else
Begin
X := MMCX;
Y := MMY1;
If(FindColorSpiral(X, Y, WaterColor, MMX1, MMY1, MMX2, MMY2))Then
Begin
Mouse(X, Y, 0, 0, True);
FFlag(10);
End;
End;
End;

Wait(100);

Until(Not LoggedIn);

If(Not Loggedin)Then Exit;

RoadColor := CheckRoad(RoadColor);

Writeln('North of mine!');
Repeat

If(Not LinearWalkExtendedByJuKKa(RoadColor, 300, 60, 2, 0))Then
If(Not LinearWalkExtendedByJuKKa(RoadColor, 360, 60, 0, 2))Then
If(Not LinearWalkExtendedByJuKKa(RoadColor, 45, 70, -1, 1))Then
Begin
Writeln('No road...');
Logout;
Exit;
End;

If(FindSymbol(X, Y, 'water'))Then
Break
Else
If(FindSymbol(X, Y, 'staff shop'))Then
Break
Else
If(FindSymbol(X, Y, 'fur trader'))Then
Break
Else Wait(100);

RoadColor := CheckRoad(RoadColor);
Until(Not Loggedin);

If(Not Loggedin)Then Exit;
Writeln('Will now click middle of varrock');
RoadColor := CheckRoad(RoadColor);

FindColorsTolerance(P, RoadColor, MMX1, MMY1, MMX2, MMCY, 0);
MiddleTPAEx(P, X, Y);

If(X > 0)And(Y > 0)Then
Begin
Mouse(X + 10, Y, 5, 5, True);
Flag;
End Else
LinearRoadWalk(RoadColor, 315, 50, -1, 1);

Writeln('Varrok Center');

Bank := DTMFromString('78DA636C646260A86740018D75150CFF81342' +
'310FF0702C626A09A6654357FFE30318840D58000631B7E35605C' +
'8B5F0D50960100873D10BE'); //Make a new DTM!

Repeat
RoadColor := CheckRoad(RoadColor);

If(Not LinearWalkExtendedByJuKKa(RoadColor, 270, 50, 2, 0))Then
Break
Else Wait(100);

If(FindDTMRotated(Bank, X, Y, MMCX, MMY1, MMX2, MMy2, -20, 20, 0.1, A))Then
Begin
Mouse(X-5, Y, 5, 5, True);
Flag;
Writeln('In bank close to a bank booth');
Result := True;
Break;
End Else
If(FindSymbol(X, Y, 'bank'))Then
Begin
Mouse(X, Y, 5, 5, True);
Flag;
If(FindDTMRotated(Bank, X, Y, MMX1, MMY1, MMX2, MMy2, -20, 20, 0.1, A))Then
Begin
Mouse(X-5, Y, 5, 5, True);
Flag;
Writeln('In bank close to a bank booth');
Result := True;
Break;
End Else Writeln('In bank but not close to a bank booth');
End Else Wait(100);

Until(Not Loggedin);

FreeDTM(Bank);
If(Not Loggedin)Then Exit;
End Else Writeln('Not in Al Kharid');
end;

Make a new DTM of the bankers to make it work for VWB

ShowerThoughts

2008-03-02 16:37:26

can i help? msn pls…

Naike

2008-03-03 09:35:04

Very nice done!
Will defently use this ;)

ShowerThoughts

2008-03-03 10:04:49

what is the hardest not done walking that still needs to be maked? PM(just PM)
me and i will Do it(try it xD)

JuKKa

2008-03-04 02:02:07

program New;

{.Include SRL/SRL.Scar}

Function FindAlKharidSandColor: Integer;
Var
P, TP: TPointArray;
T, GC, L, A, Percentage, TestColor: Integer;
Red, Green, Blue: Integer;
Begin
If(FlagPresent)Then
Flag;
T := GetSystemTime;
GC := 8242387;
FindColorsSpiralTolerance(MMCX, MMY1, P, GC, MMX1, MMY1, MMX2, MMY2, 50);
L := High(P);
For a:= 0 To L Do
Begin
If(Not rs_OnMinimap(p[a].x, p[a].y))Then Continue;
TestColor := GetColor(p[a].x, p[a].y);

Red := (TestColor mod 256);
Green := ((TestColor / 256) mod 256);
Blue := ((TestColor / 256) / 256);

If(Red - Green < 35)Then If(Blue > 90)Then
If(Red > 170)Then If(Green < 210)Then
If(Green - Blue < 100)Then
Begin
FindColorsTolerance(tP, TestColor, MMX1, MMY1, MMX2, MMY2, 0);
Percentage := Round((Length(tp) / 15741.0) * 100.0);
If(Percentage > 25)Then
Begin
Result := TestColor;
Writeln('Al kharid sand color = ' +IntTostr(Result) + ' In '+IntToStr(GetSystemTime - T) + ' MSec');
Exit;
End;
End;
End;
Result := 0;
Writeln('Couldnt get al kharid sand color');
End;

Function CheckSand(Col: Integer): Integer;
Var
X, Y: Integer;
Begin
X := MMCX;
Y := MMCY;

If(Col = 0)Then
Result := FindAlKharidSandColor
Else Result := Col;

If( FindColorSpiral(X, Y, Result, MMX1, MMY1, MMX2, MMY2))Then
Result := Result
Else Result := FindAlKharidSandColor;
End;

Function CheckRoad(Col: Integer): Integer;
Var
X, Y: Integer;
Begin
X := MMCX;
Y := MMCY;
If(Col = 0)Then
Result := FindVarrockRoadColor
Else Result := Col;
If( FindColorSpiral(X, Y, Result, MMX1, MMY1, MMX2, MMY2))Then
Result := Result
Else Result := FindVarrockRoadColor;
End;

Function rs_OnMinimapEx(x, y: Integer): Boolean;
Begin
Result := InCircle(x, y, MMCX, MMCY, 65);
End;

Function FindBrownStoneColor: Integer;
Var
L, T, A, GC, TestColor, Red, Green, Blue: Integer;
P: TPointArray;
Begin
T := GetSystemTime;
GC := 3104913; //Temporary.
FindColorsSpiralTolerance(MMCX, MMCY, P, GC, MMX1, MMY1, MMX2, MMY2, 60);
L := High(P);
For a:= 0 To L Do
Begin
If(Not rs_OnMinimapEx(p[a].x, p[a].y))Then Continue;
TestColor := GetColor(P[a].x,P[a].y);

Red := (TestColor mod 256);
Green := ((TestColor / 256) mod 256);
Blue := ((TestColor / 256) / 256);

If(Red - Green < 70)Then If(Blue < 60)Then
If(Green - Blue < 50)Then If(Red - Blue < 100)Then
If (GetColor(P[a].x-1,P[a].y)=TestColor-461068)Then //Tara
Begin
Result := TestColor;
WriteLn('Brown stone Color = ' + IntToStr(TestColor) + ' in ' + inttostr(getsystemtime - t)+ ' msec');
Exit;
End;
End;
WriteLn('Could not find Brown stone Color!');
Result := 0;
End;

function LinearWalkExtendedByJuKKa(TheColor: Integer; Direction: Integer; Radius: Integer; Xmod, Ymod: Integer): Boolean;
var
tpa: TPointArray;
i: Integer;
begin
Result := False;
if LinearWalkEx(tpa, MMCX, MMCY, TheColor, 0, Direction, Radius) then
for i := 0 to High(tpa) do//added distance. To make it not click so much ;)
if(distance(tpa[i].x, tpa[i].y, mmcx, mmcy) > 30)then
if MFNF(tpa[i].x, tpa[i].y, Xmod, Ymod) then
begin
FFlag(10);
Result := True;
Break;
end;
end;

Function WalkAKVEB: Boolean;
Var
Bank, BrownStone, X, Y, Sand: Integer;
P: TPointArray;
Music: String;
A: Extended;
begin
If(Not Loggedin)Then Exit;
Music := LowerCase(GetMusic);
If(Music = 'al kharid')Or
(Music = 'arabian')Or
(Music = 'arabian2')Then
Begin
GameTab(4);
MakeCompass('n');

Sand := FindAlKharidSandColor;
BrownStone := FindBrownStoneColor;
WaterColor := FindWaterColor;

RadialWalk(Sand, 10, 45, 60, -1, 1);

Repeat

Sand := CheckSand(Sand);

If(Not LinearWalkExtendedByJuKKa(Sand, 360-Random(20), 60, 0, 0))Then
Begin
If(Not FindColor(X, Y, WaterColor, MMX1, MMY1, MMX2, MMY2))Then
Begin
X := MMCX;
Y := MMY1;
If(FindColorSpiralTolerance(X, Y, BrownStone, MMX1, MMY1, MMX2, MMCY - 10, 5))Then
Begin
Mouse(X - 5, Y + 3, 5, 5, True);
FFlag(10);
End;
RoadColor := CheckRoad(RoadColor);
If(RoadColor > 0)Then
Begin
X := MMCX;
Y := MMCY;
If(FindColorSpiralTolerance(X, Y, RoadColor, MMX1, MMY1, MMX2, MMY2, 0))Then
Begin
Mouse(X - 5, Y + 5, 5, 5, True);
FFlag(10);
X := MMCX;
Y := MMCY;
RoadColor := CheckRoad(RoadColor);
If(FindColorSpiral(X, Y, RoadColor, MMX1, MMY1, MMX2, MMY2))Then
If(Distance(X, Y, MMCX, MMCY) < 10)Then
Break;
End;
End;
End Else
Begin
X := MMCX;
Y := MMY1;
If(FindColorSpiral(X, Y, WaterColor, MMX1, MMY1, MMX2, MMY2))Then
Begin
Mouse(X, Y, 0, 0, True);
FFlag(10);
End;
End;
End;

Wait(100);

Until(Not LoggedIn);

If(Not Loggedin)Then Exit;

RoadColor := CheckRoad(RoadColor);

Writeln('North of mine!');
Repeat

If(Not LinearWalkExtendedByJuKKa(RoadColor, 300, 60, 2, 0))Then
If(Not LinearWalkExtendedByJuKKa(RoadColor, 360, 60, 0, 2))Then
If(Not LinearWalkExtendedByJuKKa(RoadColor, 45, 70, -1, 1))Then
Begin
Writeln('No road...');
Logout;
Exit;
End;

If(FindSymbol(X, Y, 'water'))Then
Break
Else
If(FindSymbol(X, Y, 'staff shop'))Then
Break
Else
If(FindSymbol(X, Y, 'fur trader'))Then
Break
Else Wait(100);

RoadColor := CheckRoad(RoadColor);
Until(Not Loggedin);

If(Not Loggedin)Then Exit;
Writeln('Will now click middle of varrock');
RoadColor := CheckRoad(RoadColor);

FindColorsTolerance(P, RoadColor, MMX1, MMY1, MMX2, MMCY, 0);
MiddleTPAEx(P, X, Y);

If(X > 0)And(Y > 0)Then
Begin
Mouse(X + 10, Y, 5, 5, True);
Flag;
End Else
LinearRoadWalk(RoadColor, 45, 50, -1, 1);

Writeln('Varrok Center');

Bank := DTMFromString('78DA636C646260A86740018D75150CFF81342' +
'310FF0702C626A09A6654357FFE30318840D58000631B7E35605C' +
'8B5F0D50960100873D10BE');

Repeat
RoadColor := CheckRoad(RoadColor);

If(Not LinearWalkExtendedByJuKKa(RoadColor, 90, 50, 2, 0))Then
Break
Else Wait(100);

If(FindDTMRotated(Bank, X, Y, MMCX, MMY1, MMX2, MMy2, -20, 20, 0.1, A))Then
Begin
Mouse(X-5, Y, 5, 5, True);
Flag;
Writeln('In bank close to a bank booth');
Result := True;
Break;
End Else
If(FindSymbol(X, Y, 'bank'))Then
Begin
Mouse(X, Y, 5, 5, True);
Flag;
If(FindDTMRotated(Bank, X, Y, MMX1, MMY1, MMX2, MMy2, -20, 20, 0.1, A))Then
Begin
Mouse(X-5, Y, 5, 5, True);
Flag;
Writeln('In bank close to a bank booth');
Result := True;
Break;
End Else Writeln('In bank but not close to a bank booth');
End Else Wait(100);

Until(Not Loggedin);

FreeDTM(Bank);
If(Not Loggedin)Then Exit;
End Else Writeln('Not in Al Kharid');
end;

Function WalkAKVWB: Boolean;
Var
Bank, BrownStone, X, Y, Sand: Integer;
P: TPointArray;
Music: String;
A: Extended;
begin
If(Not Loggedin)Then Exit;
Music := LowerCase(GetMusic);
If(Music = 'al kharid')Or
(Music = 'arabian')Or
(Music = 'arabian2')Then
Begin
GameTab(4);
MakeCompass('n');

Sand := FindAlKharidSandColor;
BrownStone := FindBrownStoneColor;
WaterColor := FindWaterColor;

RadialWalk(Sand, 10, 45, 60, -1, 1);

Repeat

Sand := CheckSand(Sand);

If(Not LinearWalkExtendedByJuKKa(Sand, 360-Random(20), 60, 0, 0))Then
Begin
If(Not FindColor(X, Y, WaterColor, MMX1, MMY1, MMX2, MMY2))Then
Begin
X := MMCX;
Y := MMY1;
If(FindColorSpiralTolerance(X, Y, BrownStone, MMX1, MMY1, MMX2, MMCY - 10, 5))Then
Begin
Mouse(X - 5, Y + 3, 5, 5, True);
FFlag(10);
End;
RoadColor := CheckRoad(RoadColor);
If(RoadColor > 0)Then
Begin
X := MMCX;
Y := MMCY;
If(FindColorSpiralTolerance(X, Y, RoadColor, MMX1, MMY1, MMX2, MMY2, 0))Then
Begin
Mouse(X - 5, Y + 5, 5, 5, True);
FFlag(10);
X := MMCX;
Y := MMCY;
RoadColor := CheckRoad(RoadColor);
If(FindColorSpiral(X, Y, RoadColor, MMX1, MMY1, MMX2, MMY2))Then
If(Distance(X, Y, MMCX, MMCY) < 10)Then
Break;
End;
End;
End Else
Begin
X := MMCX;
Y := MMY1;
If(FindColorSpiral(X, Y, WaterColor, MMX1, MMY1, MMX2, MMY2))Then
Begin
Mouse(X, Y, 0, 0, True);
FFlag(10);
End;
End;
End;

Wait(100);

Until(Not LoggedIn);

If(Not Loggedin)Then Exit;

RoadColor := CheckRoad(RoadColor);

Writeln('North of mine!');
Repeat

If(Not LinearWalkExtendedByJuKKa(RoadColor, 300, 60, 2, 0))Then
If(Not LinearWalkExtendedByJuKKa(RoadColor, 360, 60, 0, 2))Then
If(Not LinearWalkExtendedByJuKKa(RoadColor, 45, 70, -1, 1))Then
Begin
Writeln('No road...');
Logout;
Exit;
End;

If(FindSymbol(X, Y, 'water'))Then
Break
Else
If(FindSymbol(X, Y, 'staff shop'))Then
Break
Else
If(FindSymbol(X, Y, 'fur trader'))Then
Break
Else Wait(100);

RoadColor := CheckRoad(RoadColor);
Until(Not Loggedin);

If(Not Loggedin)Then Exit;
Writeln('Will now click middle of varrock');
RoadColor := CheckRoad(RoadColor);

FindColorsTolerance(P, RoadColor, MMX1, MMY1, MMX2, MMCY, 0);
MiddleTPAEx(P, X, Y);

If(X > 0)And(Y > 0)Then
Begin
Mouse(X + 10, Y, 5, 5, True);
Flag;
End Else
LinearRoadWalk(RoadColor, 315, 50, -1, 1);

Writeln('Varrok Center');

Bank := DTMFromString('78DA63AC676260886640016FDEBC61F80FA41' +
'981F83F1030B601D544A1AAF9F387894104AA0604C06A9270AB61' +
'84A909C2AD0628CB0000F65F1177');

Repeat
RoadColor := CheckRoad(RoadColor);

If(Not LinearWalkExtendedByJuKKa(RoadColor, 270, 50, 2, 0))Then
Break
Else Wait(100);

If(FindDTMRotated(Bank, X, Y, MMCX, MMY1, MMX2, MMy2, -20, 20, 0.1, A))Then
Begin
Mouse(X-5, Y, 5, 5, True);
Flag;
Writeln('In bank close to a bank booth');
Result := True;
Break;
End Else
If(FindSymbol(X, Y, 'bank'))Then
Begin
Mouse(X, Y, 5, 5, True);
Flag;
If(FindDTMRotated(Bank, X, Y, MMX1, MMY1, MMX2, MMy2, -20, 20, 0.1, A))Then
Begin
Mouse(X-5, Y, 5, 5, True);
Flag;
Writeln('In bank close to a bank booth');
Result := True;
Break;
End Else Writeln('In bank but not close to a bank booth');
End Else Wait(100);

Until(Not Loggedin);

FreeDTM(Bank);
If(Not Loggedin)Then Exit;
End Else Writeln('Not in Al Kharid');
end;

fixed a few bugs, final version i think…

BobboHobbo

2008-03-04 05:57:02

Looks really nice JuKKa, GJ.

P1nky

2008-03-06 23:05:34

GRATS ON THE CUP!

btw timer keep it up :) wish i could help but i dont got much time :S