With developer revision #588 comes the new maze solver, which has been in development for about 8 months now.
It's not 100% done, as I'm not sure about the information for the start tile of Paths[TurquoisePath], I still need accounts in the random to perfect it.
However, since it's been 2 months since the last account, I reckon I'll release it and take the gamble. Better to have one which works than one which doesn't.
SCAR Code://-----------------------------------------------------------------//
//-- Scar Standard Resource Library --//
//-- ? Maze Routines --//
//-----------------------------------------------------------------//
// * function InMaze: Boolean; // * by ZephyrsFury
// * Function Maze_FindDoor : Boolean; // * by Naum
// * function Maze_TouchShrine: Boolean; // * by Sumilion edited by Naum
// * Function Maze_GetBlackBackground : Integer; // * by Naum
// * Procedure Maze_LoadPath(Const Path : Integer); // * by Naum
// * Function Maze_DetectStart : Integer; // * by Naum
// * Procedure Maze_WalkPath(Path : Integer); // * by Naum
// * function SolveMaze: Boolean; // * by Naum & Sum
{ Zeph -<3
~ SPECIAL Thank-you's go to (in no particular order):
> niels
> nickrules
> bbri06 (I love him!) !1!!11
> aran armath
> masterBB
> Heysus
> Hackncrack1 (I <3 him!)
> Town
> g0tp0t
> Broh3n (Cohen)
> keller
> Mrbanana
> Heavenguard
> IcePyre908 (Homie)
> Any other person I might have missed (PM me)
Check these guys out, without them this would not be here. }
//Need to test the 'Turquoise' Path!!!!
Type
TMazeLoc = Record
Name : String; //The name of the path
Path : Integer; //The path index
SearchBox : TBox; // the box to search for black colour in
Counts : TIntegerArray; //0 is min count, 1 is max count
End;
Type TMazeLocArray = Array Of TMazeLoc; // the type that stores the location details.
Const //consts relating to the paths (in the atpa)
Maze_StartFail = -3;
PurplePath = 0;
TurquoisePath = 1;
GreenPath = 2;
BluePath = 3;
NoOfPaths = 4;
Const
Maze_Door = -999; //Point manipulation to show information
ChangeCompass = 999;
Var
Paths : T2DPointArray; //Variable which stores the paths
DetectedPath : Integer; //Integer type which holds the path which has been detected
StartSpots : TMazeLocArray; //The record of start points within the maze
{*******************************************************************************
function InMaze: Boolean;
by: ZephyrsFury
Description: Checks if we're in the Maze Random.
*******************************************************************************}
function InMaze: Boolean;
var
X, Y: Integer;
begin
if (FindColorTolerance(X, Y, 237, MMCX - 10, MMCY - 10, MMCX + 10, MMCY + 10, 17)) then
if (CountColorTolerance(237, MMX1, MMY1, MMX2, MMY2, 17) > 500) then
Result := (CountColor(15395562, 128, 24, 395, 55) > 500);
end;
{*******************************************************************************
Function Maze_FindDoor : Boolean;
By Naum
Description: Opens the maze Maze_Door: using density, axis checks and sorting.
*******************************************************************************}
Const
Maze_Hue = 0.10;
Maze_Sat = 0.07;
Maze_DoorColor = 4868684;
Maze_DoorTolerance = 30;
Maze_DoorSplit = 1;
Maze_DoorSize = 1000;
Maze_DoorYLength = 60;
Maze_DoorArea = 950;
Maze_DoorUpText = 'all';
Function Maze_FindMaze_Door : Boolean;
Var
TPA : TPointArray; //variables
ATPA, ATPA2 : T2DPointArray;
I, II, X, Y : Integer;
TB : TBox;
Begin
If Not LoggedIn Then Exit;
Wait(600 + Random(400)); //waits for char to stop moving
ColorToleranceSpeed(2); //sets mods
SetColorSpeed2Modifiers(Maze_Hue, Maze_Sat);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, Maze_DoorColor, MSCX - 120, //searches for gray colors
MSCY - 120, MSCX + 120, MSCY + 113, Maze_DoorTolerance); //in a box around the character
ATPA := SplitTPA(TPA, Maze_DoorSplit); //to get the blocks and Maze_Door pane
SortATPAFromSize(ATPA, Maze_DoorSize, True); //sorts it
SetLength(ATPA2, 4); /// to avoid errors
ATPA2 := [ATPA[0], ATPA[1], ATPA[2], ATPA[3]]; //picks out the first 4 biggest ones
SortATPAFromFirstPoint(ATPA2, Point(MSCX, MSCY)); //sorts it from the char
For I := 0 To High(ATPA2) Do //loops through the atpa2
Begin
If MiddleTPAEx(ATPA[I], X, Y) Then //gets the middle of the suspected Maze_Door
Begin
TB := GetTPABounds(ATPA[I]); //gets the bounds of the 'suspected foor'
If (TB.y2 - TB.y1) < Maze_DoorYLength Then // checks that the height is less than 60
If (TB.x2 - TB.x1) * (TB.y2 - TB.y1) > Maze_DoorArea Then // checks that the suspected
Begin //Maze_Door covers an area of at least 950px
MMouse(X, Y, 0, 0); //moves the mouse over it
WriteLn(' ~ Found a suspected Maze_Door');
Wait(300 + Random(100));
{ v FAILSAFE v }
For II := 0 To 3 Do //uses a loop to see if it gets the uptext
Begin
If WaitUpText(Maze_DoorUpText, SRL_MaxWaitTime) Then //if the uptext is there then it breaks
Break;
If Not WaitUpText(Maze_DoorUpText, SRL_MaxWaitTime) Then
Begin
WriteLn(' + Didn''t Get UpText of Maze_Door, Trying again to find it');
GetMousePos(X, Y);
MMouse(X - 5, Y, 0, 1); //moves the mouse to get on the Maze_Door if it missed it
GetMousePos(X, Y); //if it finds it, it gets the mouse pos
End;
End;
If WaitUpText(Maze_DoorUpText, SRL_MaxWaitTime) Then
Begin
Begin //now clicks the Maze_Door
Mouse(X, Y, 0, 0, False);
WaitOption('pen', SRL_MaxWaitTime); //always side clicks
End;
Result := DidRedClick; //to see if clicked
If Not Result Then
Begin
Maze_FindMaze_Door;
WriteLn(' - Didn''t Red Click, Trying to find it again');
End Else
FFlag(0);
While LoggedIn And IsMoving Do //waits while the Maze_Door is opened
Wait(200 + Random(200));
Wait(800 + Random(400));
Exit;
End;
End;
End;
End;
End;
{*******************************************************************************
function TouchShrine: Boolean;
by: Sumilion edited by Naum
Description: Touches the shrine at the end of the maze.
*******************************************************************************}
function Maze_TouchShrine: Boolean;
var
sx, sy, i: Integer;
p: TPoint;
arP: TPointArray;
ararP: T2DPointArray;
bmp1, bmp2: Integer;
begin
If Not LoggedIn Then Exit;
MMouse(MSCX + 6, MSCY - 40, 0, 0);
Wait(200 + Random(200));
Result := IsUpText('Touch');
if Result then
begin
GetMousePos(sx, sy);
Mouse(sx, sy, 0, 0, True);
Wait(8000);
end else
begin
Writeln('Quick Shrine finding failed. Trying motion detector.');
bmp1 := BitmapFromString(MSX2 - MSX1, MSY2 - MSY1, '');
bmp2 := BitmapFromString(MSX2 - MSX1, MSY2 - MSY1, '');
{$IFDEF SIMBA}
CopyClientToBitmap(bmp1, MSX1, MSY1, MSX2, MSY2);
Wait(100);
CopyClientToBitmap(bmp2, MSX1, MSY1, MSX2, MSY2);
{$ELSE}
CopyCanvas(GetClientCanvas, GetBitmapCanvas(bmp1), MSX1, MSY1, MSX2, MSY2, 0, 0, MSX2 - MSX1, MSY2 - MSY1);
Wait(100);
CopyCanvas(GetClientCanvas, GetBitmapCanvas(bmp2), MSX1, MSY1, MSX2, MSY2, 0, 0, MSX2 - MSX1, MSY2 - MSY1);
{$ENDIF}
for sx := 0 to MSX2 - MSX1 - 1 do
for sy := 0 to MSY2 - MSY1 - 1 do
if (FastGetPixel(bmp1, sx, sy) <> FastGetPixel(bmp2, sx, sy)) then
begin
SetLength(arP, Length(arP) + 1);
arP[High(arP)] := Point(sx, sy);
FastSetPixel(bmp1, sx, sy, ClRed);
end;
DisplayDebugImgWindow(MSX2 - MSX1, MSY2 - MSY1);
{$IFDEF SIMBA}
DrawBitmapDebugImg(Bmp1);
{$ELSE}
CopyCanvas(GetBitmapCanvas(bmp1), GetDebugCanvas, 0, 0, MSX2 - MSX1, MSY2 - MSY1, 0, 0, MSX2 - MSX1, MSY2 - MSY1);
{$ENDIF}
ararP := SplitTPA(arP, 1);
SortATPAFromSize(ararP, 0, False);
for i := 0 to High(ararP) do
begin
p := MiddleTPA(ararP[i]);
MMouse(p.x, p.y, 0, 0);
Wait(200 + Random(50));
Result := IsUpText('Touch');
if Result then
Break;
end;
if (i <> Length(ararP)) then
begin
Mouse(p.x, p.y, 0, 0, True);
Wait(8000);
end else
If SpiralMouse(SX, SY, MSCX - 70, MSCY - 70, MSCX + 70, MSCY + 70,
'ouch', 5, 5) Then
Begin
Mouse(SX, SY, 0, 0, True);
Result := True;
End Else
Writeln('Shrine not found!');
FreeBitmap(bmp1);
FreeBitmap(bmp2);
end;
end;
{*******************************************************************************
Function Maze_GetBlackBackground : Integer;
By Naum
Description: Gets the black background color for location detection.
*******************************************************************************}
Const
Maze_BlackTol = 50;
Maze_BlackBackCTS = 1;
Function Maze_GetBlackBackground : Integer;
Var
TPA : TPointArray;
CTS : Integer;
Begin //gets the black color by using a related colour
If Not LoggedIn Then Exit;
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(Maze_BlackBackCTS);
FindColorsTolerance(TPA, ClBlack, MMX1, MMY1, MMX2, MMY2, Maze_BlackTol);
FilterPointsPie(TPA, 0.0, 360.0, 10.0, 76.0, MMCX, MMCY);
If Length(TPA) > 0 Then
Result := GetColor(TPA[0].X, TPA[0].Y);
WriteLn('Maze Background color = '+IntToStr(Result));
ColorToleranceSpeed(CTS);
End;
{*******************************************************************************
Procedure Maze_LoadPath(Const Path : Integer);
By Naum
Description: Loads the 4 walk-paths and ways to the maze.
*******************************************************************************}
Procedure Maze_LoadPath(Const Path : Integer);
Begin
SetLength(Paths, NoOfPaths);
Paths[PurplePath] := [//0
Point(-4, -2), Point(Maze_Door, -1), Point(-45, -8),
Point(Maze_Door, -1), Point(-45, 3), Point(Maze_Door, -1), Point(22, 9),
Point(Maze_Door, -1), Point(-20, 7), Point(Maze_Door, -1), Point(50, 9),
Point(Maze_Door, -1), Point(-50, 9), Point(Maze_Door, -1), Point(-37, 26),
Point(ChangeCompass, 90), Point(Maze_Door, -1), Point(ChangeCompass, 0),
Point(15, -13), Point(Maze_Door, -1), Point(2, 43), Point(ChangeCompass, 90),
Point(Maze_Door, -1), Point(ChangeCompass, 0), Point(19, -46), Point(ChangeCompass, 180),
Point(Maze_Door, -1), Point(ChangeCompass, 0), Point(40, 7), Point(Maze_Door, -1),
Point(17, 15), Point(ChangeCompass, 90), Point(Maze_Door, -1), Point(9, 35),
Point(ChangeCompass, 180), Point(Maze_Door, -1), Point(ChangeCompass, 0), Point(4, 35),
Point(Maze_Door, -1), Point(4, -12), Point(ChangeCompass, 90), Point(Maze_Door, -1)
];
Paths[TurquoisePath] := [//1 //the unsure one.
Point(60, 30{-7, 20}), Point(Maze_Door, -1), Point(-70, 8),
Point(Maze_Door, -1), Point(70, -8), Point(34, -15), Point(ChangeCompass, 270),
Point(Maze_Door, -1), Point(44, -10), Point(Maze_Door, -1), Point(22, -10),
Point(Maze_Door, -1), Point(-60, -6), Point(Maze_Door, -1), Point(40, 3),
Point(38, 3), Point(Maze_Door, -1), Point(34, -3), Point(Maze_Door, -1),
Point(5, -20), Point(ChangeCompass, 0), Point(Maze_Door, -1), Point(-2, 67),
Point(ChangeCompass, 270), Point(Maze_Door, -1), Point(30, -3), Point(Maze_Door, -1),
Point(-3, -25), Point(ChangeCompass, 0), Point(Maze_Door, 1), Point(13, 23),
Point(ChangeCompass, 270), Point(Maze_Door, -1), Point(-5, -38),
Point(ChangeCompass, 180), Point(Maze_Door, -1), Point(ChangeCompass, 0),
Point(0, 38), Point(Maze_Door, -1), Point(4, -12), Point(ChangeCompass, 90),
Point(Maze_Door, -1)
];
Paths[GreenPath] := [//2
Point(51, 4), Point(Maze_Door, -1), Point(-50, -45), Point(ChangeCompass, 90),
Point(Maze_Door, -1), Point(-45, -5), Point(Maze_Door, -1), Point(45, -10),
Point(Maze_Door, -1), Point(23, -10), Point(Maze_Door, -1), Point(6, -34),
Point(ChangeCompass, 0), Point(Maze_Door, -1), Point(40, -3), Point(Maze_Door, -1),
Point(-20, -3), Point(Maze_Door, -1), Point(60, -10), Point(ChangeCompass, 90),
Point(Maze_Door, -1), Point(-35, 10), Point(Maze_Door, -1), Point(ChangeCompass, 0),
Point(-17, 30), Point(Maze_Door, -1), Point(-40, -10), Point(ChangeCompass, 90),
Point(Maze_Door, -1), Point(ChangeCompass, 0), Point(18, -48), Point(Maze_Door, -1),
Point(40, 7), Point(Maze_Door, -1), Point(17, 15), Point(ChangeCompass, 90),
Point(Maze_Door, -1), Point(9, 35), Point(ChangeCompass, 0), Point(Maze_Door, -1),
Point(4, 35), Point(Maze_Door, -1), Point(4, -12), Point(ChangeCompass, 90),
Point(Maze_Door, -1)
];
Paths[BluePath] := [//3
Point(-4, 36), Point(ChangeCompass, 270), Point(Maze_Door, -1), Point(30, -10),
Point(Maze_Door, -1), Point(13, 23), Point(ChangeCompass, 0), Point(Maze_Door, -1),
Point(31, 7), Point(Maze_Door, -1), Point(-15, 7), Point(Maze_Door, -1), Point(-13, 35),
Point(ChangeCompass, 120), Point(Maze_Door, -1), Point(25, -20), Point(Maze_Door, -1),
Point(ChangeCompass, 90), Point(43, -13), Point(Maze_Door, -1), Point(16, -10),
Point(Maze_Door, -1), Point(ChangeCompass, 0), Point(40, -10), Point(Maze_Door, -1),
Point(-30, -20), Point(18, -48), Point(Maze_Door, -1), Point(40, 7), Point(Maze_Door, -1),
Point(17, 15), Point(ChangeCompass, 90), Point(Maze_Door, -1), Point(9, 35),
Point(ChangeCompass, 0), Point(Maze_Door, -1), Point(4, 35), Point(Maze_Door, -1),
Point(4, -12), Point(ChangeCompass, 90), Point(Maze_Door, -1)
];
// Next here.
End;
{*******************************************************************************
Function Maze_DetectStart : Integer;
By Naum
Description: Uses the countcolor on the minimap to get the location.
*******************************************************************************}
Function Maze_DetectStart : Integer;
Var
II : Integer;
//loads all the types for the path
Begin
SetLength(StartSpots, NoOfPaths);
With StartSpots[PurplePath] Do //Purple Path
Begin
Name := 'Purple Path';
Path := PurplePath;
SearchBox := IntToBox(668, 60, 687, 73);
Counts := [100, 1200];
End;
With StartSpots[TurquoisePath] Do //Turquoise Path
Begin
Name := 'Turquoise Path';
Path := TurquoisePath;
SearchBox := IntToBox(MMCX, MMCY, MMX2, MMY2);
Counts := [3000, 99999];
End;
With StartSpots[GreenPath] Do //Green Path
Begin
Name := 'Green Path';
Path := GreenPath;
SearchBox := IntToBox(458, 70, 626, 166);
Counts := [4000, 9999];
End;
With StartSpots[BluePath] Do //Blue Path
Begin
Name := 'Blue Path';
Path := BluePath;
SearchBox := IntToBox(551, 78, 610, 110);
Counts := [1300, 2000];
End;
For II := 0 To High(StartSpots) Do //checks if the count lies within two values
If InRange(
CountColor(Maze_GetBlackBackground, StartSpots[II].SearchBox.X1,
StartSpots[II].SearchBox.Y1, StartSpots[II].SearchBox.X2,
StartSpots[II].SearchBox.Y2),
StartSpots[II].Counts[0],
StartSpots[II].Counts[1]) Then
Begin
WriteLn('Detected '+ StartSpots[II].Name);
Result := (Maze_StartFail * 0);
Break; //sets the result
End Else
Result := Maze_StartFail;
If Result = Maze_StartFail Then
Begin
WriteLn('Couldn''t detect a start point, maze failed');
Exit;
End;
Result := StartSpots[II].Path;
End;
{*******************************************************************************
Procedure Maze_WalkPath(Path : Integer);
By Naum
Description: Walks a specified path, opens Maze_Doors and such; used in a loop.
*******************************************************************************}
Procedure Maze_WalkPath(Path : Integer);
Var
I : Integer;
Begin
If Not LoggedIn Then Exit;
For I := 0 To High(Paths[Path]) Do
Begin
If (Paths[Path][I].X = ChangeCompass) And (LoggedIn) Then //if the point has a 'change compass' then
MakeCompass(Paths[Path][I].Y) //changes the compass to the angle
Else
If (Paths[Path][I].X = Maze_Door) And (LoggedIn) Then //if the point has a 'Maze_Door' in it, then it opens it
If Maze_FindMaze_Door() Then
WriteLn(' ~ Found Maze_Door') //debugs a message
Else
Begin
WriteLn(' * Maze_Door Not Found');
Exit; //exits.
End
Else
Begin
WriteLn('');
WriteLn('-> Walking '+ StartSpots[Path].Name + ' : '
+IntToStr(I)+' / '+IntToStr(High(Paths[Path])));
WriteLn('>> X = ' +IntToStr(Paths[Path][I].X)+', Y = '+IntToStr(Paths[Path][I].Y));
Mouse(MMCX + Paths[Path][I].X, MMCY + Paths[Path][I].Y, 2, 2, True);
FFlag(0); //^ clicks on the path
While IsMoving And LoggedIn Do
If Random(10) = 0 Then //does some mouse movements whilst moving
SleepAndMoveMouse(200 + Random(300));
End;
End;
End;
{*******************************************************************************
Function SolveMaze : Boolean;
By: Naum
Description: Solves the maze random
*******************************************************************************}
Function SolveMaze : Boolean;
Begin //solves the maze using all the procs from before
While ClickContinue(False, False) Do
ClickToContinue;
Wait(600 + Random(200));
ClickNorth(True);
DetectedPath := Maze_DetectStart; //gets the start
If DetectedPath = Maze_StartFail Then
Begin
Result := False;
Exit;
End Else
Begin
Maze_LoadPath(DetectedPath);
Maze_WalkPath(DetectedPath);
If Not Maze_TouchShrine Then
Begin
WriteLn('Couldn''t touch shrine!');
Result := False
Exit;
End Else
Begin
Result := True; // if it succeeds :)
WriteLn('');
WriteLn('Touched the shrine!');
WriteLn('');
End;
End;
End;
Everything is compatible with the current AntiRandom settings.
You may, or may not have, noticed the names for the paths in Maze_LoadPath, these correspond to the colours in this map:
^The ticks indicate the paths which I feel have been tested enough.
Blue Path
Progress Report:Maze Background color = 132870 Detected Blue Path -> Walking Blue Path : 0 / 40 >> X = -4, Y = 36 ~ Found a suspected door ~ Found Door -> Walking Blue Path : 3 / 40 >> X = 30, Y = -10 ~ Found a suspected door ~ Found Door -> Walking Blue Path : 5 / 40 >> X = 13, Y = 23 ~ Found a suspected door ~ Found Door -> Walking Blue Path : 8 / 40 >> X = 31, Y = 7 ~ Found a suspected door ~ Found Door -> Walking Blue Path : 10 / 40 >> X = -15, Y = 7 ~ Found a suspected door ~ Found Door -> Walking Blue Path : 12 / 40 >> X = -13, Y = 35 ~ Found a suspected door ~ Found Door -> Walking Blue Path : 15 / 40 >> X = 25, Y = -20 ~ Found a suspected door ~ Found Door -> Walking Blue Path : 18 / 40 >> X = 46, Y = -13 ~ Found a suspected door ~ Found Door -> Walking Blue Path : 20 / 40 >> X = 16, Y = -10 ~ Found a suspected door ~ Found Door -> Walking Blue Path : 23 / 40 >> X = 43, Y = -10 ~ Found a suspected door + Didn't Get UpText of Door, Trying again to find it ~ Found Door -> Walking Blue Path : 25 / 40 >> X = -30, Y = -20 -> Walking Blue Path : 26 / 40 >> X = 18, Y = -48 ~ Found a suspected door ~ Found Door -> Walking Blue Path : 28 / 40 >> X = 40, Y = 7 ~ Found a suspected door ~ Found Door -> Walking Blue Path : 30 / 40 >> X = 17, Y = 15 ~ Found a suspected door + Didn't Get UpText of Door, Trying again to find it ~ Found Door -> Walking Blue Path : 33 / 40 >> X = 9, Y = 35 ~ Found a suspected door ~ Found Door -> Walking Blue Path : 36 / 40 >> X = 4, Y = 35 ~ Found a suspected door ~ Found Door -> Walking Blue Path : 38 / 40 >> X = 4, Y = -12 ~ Found a suspected door ~ Found Door Quick Shrine finding failed. Trying motion detector. SOLVED MAZE!- http://www.youtube.com/watch?v=U35QOWaQI1k
Purple Path
Progress Report:Maze Background color = 198404 Detected Purple Path -> Walking Purple Path : 0 / 40 >> X = -4, Y = -2 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 2 / 40 >> X = -45, Y = -8 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 4 / 40 >> X = -45, Y = 3 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 6 / 40 >> X = 22, Y = 9 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 8 / 40 >> X = -20, Y = 7 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 10 / 40 >> X = 50, Y = 9 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 12 / 40 >> X = -50, Y = 9 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 14 / 40 >> X = -37, Y = 26 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 18 / 40 >> X = 15, Y = -13 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 20 / 40 >> X = 2, Y = 46 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 24 / 40 >> X = 19, Y = -46 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 28 / 40 >> X = 40, Y = 7 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 30 / 40 >> X = 17, Y = 15 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 33 / 40 >> X = 9, Y = 35 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 36 / 40 >> X = 4, Y = 35 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 38 / 40 >> X = 4, Y = -12 ~ Found a suspected door ~ Found Door SOLVED MAZE! Progress Report:Maze Background color = 328966 Detected Purple Path -> Walking Purple Path : 0 / 41 >> X = -4, Y = -2 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 2 / 41 >> X = -45, Y = -8 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 4 / 41 >> X = -45, Y = 3 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 6 / 41 >> X = 22, Y = 9 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 8 / 41 >> X = -20, Y = 7 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 10 / 41 >> X = 50, Y = 9 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 12 / 41 >> X = -50, Y = 9 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 14 / 41 >> X = -37, Y = 26 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 18 / 41 >> X = 15, Y = -13 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 20 / 41 >> X = 2, Y = 46 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 24 / 41 >> X = 19, Y = -46 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 28 / 41 >> X = 40, Y = 7 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 30 / 41 >> X = 17, Y = 15 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 33 / 41 >> X = 9, Y = 35 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 37 / 41 >> X = 4, Y = 35 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 39 / 41 >> X = 4, Y = -12 ~ Found a suspected door ~ Found Door SOLVED MAZE! Progress Report:Maze Background color = 458758 Detected Purple Path -> Walking Purple Path : 0 / 41 >> X = -4, Y = -2 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 2 / 41 >> X = -45, Y = -8 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 4 / 41 >> X = -45, Y = 3 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 6 / 41 >> X = 22, Y = 9 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 8 / 41 >> X = -20, Y = 7 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 10 / 41 >> X = 50, Y = 9 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 12 / 41 >> X = -50, Y = 9 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 14 / 41 >> X = -37, Y = 26 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 18 / 41 >> X = 15, Y = -13 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 20 / 41 >> X = 2, Y = 46 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 24 / 41 >> X = 19, Y = -46 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 28 / 41 >> X = 40, Y = 7 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 30 / 41 >> X = 17, Y = 15 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 33 / 41 >> X = 9, Y = 35 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 37 / 41 >> X = 4, Y = 35 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 39 / 41 >> X = 4, Y = -12 ~ Found a suspected door + Didn't Get UpText of Door, Trying again to find it + Didn't Get UpText of Door, Trying again to find it ~ Found Door SOLVED MAZE!
^ Tested by Zyt3x! Progress Report:Compiled succesfully in 593 ms. SRL Compiled in 16 msec Maze Background color = 132865 Detected Purple Path -> Walking Purple Path : 0 / 41 >> X = -4, Y = -2 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 2 / 41 >> X = -45, Y = -8 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 4 / 41 >> X = -45, Y = 3 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 6 / 41 >> X = 22, Y = 9 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 8 / 41 >> X = -20, Y = 7 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 10 / 41 >> X = 50, Y = 9 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 12 / 41 >> X = -50, Y = 9 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 14 / 41 >> X = -37, Y = 26 ~ Found a suspected door + Didn't Get UpText of Door, Trying again to find it ~ Found Door -> Walking Purple Path : 18 / 41 >> X = 15, Y = -13 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 20 / 41 >> X = 2, Y = 43 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 24 / 41 >> X = 19, Y = -46 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 28 / 41 >> X = 40, Y = 7 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 30 / 41 >> X = 17, Y = 15 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 33 / 41 >> X = 9, Y = 35 ~ Found a suspected door + Didn't Get UpText of Door, Trying again to find it + Didn't Get UpText of Door, Trying again to find it ~ Found Door -> Walking Purple Path : 37 / 41 >> X = 4, Y = 35 ~ Found a suspected door ~ Found Door -> Walking Purple Path : 39 / 41 >> X = 4, Y = -12 ~ Found a suspected door ~ Found Door Touched the shrine! SOLVED MAZE! Successfully executed.
^ Tested by bbri06!
- http://www.youtube.com/watch?v=mxe6hzLKTpo
Progress Report:Maze Background color = 262 Detected Purple Path -> Walking Purple Path : 0 / 41 >> X = -4, Y = -2 ~ Found a suspected Maze_Door ~ Found Maze_Door -> Walking Purple Path : 2 / 41 >> X = -45, Y = -8 ~ Found a suspected Maze_Door ~ Found Maze_Door -> Walking Purple Path : 4 / 41 >> X = -45, Y = 3 ~ Found a suspected Maze_Door ~ Found Maze_Door -> Walking Purple Path : 6 / 41 >> X = 22, Y = 9 ~ Found a suspected Maze_Door ~ Found Maze_Door -> Walking Purple Path : 8 / 41 >> X = -20, Y = 7 ~ Found a suspected Maze_Door ~ Found Maze_Door -> Walking Purple Path : 10 / 41 >> X = 50, Y = 9 ~ Found a suspected Maze_Door ~ Found Maze_Door -> Walking Purple Path : 12 / 41 >> X = -50, Y = 9 ~ Found a suspected Maze_Door ~ Found Maze_Door -> Walking Purple Path : 14 / 41 >> X = -37, Y = 26 ~ Found a suspected Maze_Door ~ Found Maze_Door -> Walking Purple Path : 18 / 41 >> X = 15, Y = -13 ~ Found a suspected Maze_Door ~ Found Maze_Door -> Walking Purple Path : 20 / 41 >> X = 2, Y = 43 ~ Found a suspected Maze_Door ~ Found Maze_Door -> Walking Purple Path : 24 / 41 >> X = 19, Y = -46 ~ Found a suspected Maze_Door ~ Found Maze_Door -> Walking Purple Path : 28 / 41 >> X = 40, Y = 7 ~ Found a suspected Maze_Door ~ Found Maze_Door -> Walking Purple Path : 30 / 41 >> X = 17, Y = 15 ~ Found a suspected Maze_Door ~ Found Maze_Door -> Walking Purple Path : 33 / 41 >> X = 9, Y = 35 ~ Found a suspected Maze_Door ~ Found Maze_Door -> Walking Purple Path : 37 / 41 >> X = 4, Y = 35 ~ Found a suspected Maze_Door ~ Found Maze_Door -> Walking Purple Path : 39 / 41 >> X = 4, Y = -12 ~ Found a suspected Maze_Door ~ Found Maze_Door Touched the shrine! Successfully executed.
^ Tested By 3Garett3
Green Path
Progress Report:Maze Background color = 770 Maze Background color = 770 Maze Background color = 770 Detected Green Path -> Walking Green Path : 0 / 44 >> X = 51, Y = 4 ~ Found a suspected door ~ Found Door -> Walking Green Path : 2 / 44 >> X = -50, Y = -45 ~ Found a suspected door ~ Found Door -> Walking Green Path : 5 / 44 >> X = -45, Y = -5 ~ Found a suspected door ~ Found Door -> Walking Green Path : 7 / 44 >> X = 45, Y = -10 ~ Found a suspected door ~ Found Door -> Walking Green Path : 9 / 44 >> X = 23, Y = -10 ~ Found a suspected door ~ Found Door -> Walking Green Path : 11 / 44 >> X = 6, Y = -34 ~ Found a suspected door ~ Found Door -> Walking Green Path : 14 / 44 >> X = 40, Y = -3 ~ Found a suspected door ~ Found Door -> Walking Green Path : 16 / 44 >> X = -20, Y = -3 ~ Found a suspected door ~ Found Door -> Walking Green Path : 18 / 44 >> X = 60, Y = -10 ~ Found a suspected door ~ Found Door -> Walking Green Path : 21 / 44 >> X = -35, Y = 10 ~ Found a suspected door ~ Found Door -> Walking Green Path : 24 / 44 >> X = -17, Y = 30 ~ Found a suspected door ~ Found Door -> Walking Green Path : 26 / 44 >> X = -40, Y = -10 ~ Found a suspected door ~ Found Door -> Walking Green Path : 30 / 44 >> X = 18, Y = -48 ~ Found a suspected door ~ Found Door -> Walking Green Path : 32 / 44 >> X = 40, Y = 7 ~ Found a suspected door ~ Found Door -> Walking Green Path : 34 / 44 >> X = 17, Y = 15 ~ Found a suspected door ~ Found Door -> Walking Green Path : 37 / 44 >> X = 9, Y = 35 ~ Found a suspected door ~ Found Door -> Walking Green Path : 40 / 44 >> X = 4, Y = 35 ~ Found a suspected door ~ Found Door -> Walking Green Path : 42 / 44 >> X = 4, Y = -12 ~ Found a suspected door ~ Found Door SOLVED MAZE! Successfully executed Progress Report:Maze Background color = 770 Maze Background color = 770 Maze Background color = 770 Detected Green Path -> Walking Green Path : 0 / 44 >> X = 51, Y = 4 ~ Found a suspected door ~ Found Door -> Walking Green Path : 2 / 44 >> X = -50, Y = -45 ~ Found a suspected door ~ Found Door -> Walking Green Path : 5 / 44 >> X = -45, Y = -5 ~ Found a suspected door ~ Found Door -> Walking Green Path : 7 / 44 >> X = 45, Y = -10 ~ Found a suspected door ~ Found Door -> Walking Green Path : 9 / 44 >> X = 23, Y = -10 ~ Found a suspected door ~ Found Door -> Walking Green Path : 11 / 44 >> X = 6, Y = -34 ~ Found a suspected door ~ Found Door -> Walking Green Path : 14 / 44 >> X = 40, Y = -3 ~ Found a suspected door ~ Found Door -> Walking Green Path : 16 / 44 >> X = -20, Y = -3 ~ Found a suspected door ~ Found Door -> Walking Green Path : 18 / 44 >> X = 60, Y = -10 ~ Found a suspected door ~ Found Door -> Walking Green Path : 21 / 44 >> X = -35, Y = 10 ~ Found a suspected door ~ Found Door -> Walking Green Path : 24 / 44 >> X = -17, Y = 30 ~ Found a suspected door ~ Found Door -> Walking Green Path : 26 / 44 >> X = -40, Y = -10 ~ Found a suspected door ~ Found Door -> Walking Green Path : 30 / 44 >> X = 18, Y = -48 ~ Found a suspected door ~ Found Door -> Walking Green Path : 32 / 44 >> X = 40, Y = 7 ~ Found a suspected door ~ Found Door -> Walking Green Path : 34 / 44 >> X = 17, Y = 15 ~ Found a suspected door ~ Found Door -> Walking Green Path : 37 / 44 >> X = 9, Y = 35 ~ Found a suspected door ~ Found Door -> Walking Green Path : 40 / 44 >> X = 4, Y = 35 ~ Found a suspected door ~ Found Door -> Walking Green Path : 42 / 44 >> X = 4, Y = -12 ~ Found a suspected door ~ Found Door SOLVED MAZE! Successfully executed
^ Tested by Zyt3x! Progress Report:Compiled succesfully in 624 ms. SRL Compiled in 15 msec Maze Background color = 460548 Maze Background color = 460548 Maze Background color = 460548 Detected Green Path -> Walking Green Path : 0 / 44 >> X = 51, Y = 4 ~ Found a suspected door ~ Found Door -> Walking Green Path : 2 / 44 >> X = -50, Y = -45 ~ Found a suspected door ~ Found Door -> Walking Green Path : 5 / 44 >> X = -45, Y = -5 ~ Found a suspected door ~ Found Door -> Walking Green Path : 7 / 44 >> X = 45, Y = -10 ~ Found a suspected door ~ Found Door -> Walking Green Path : 9 / 44 >> X = 23, Y = -10 ~ Found a suspected door + Didn't Get UpText of Door, Trying again to find it + Didn't Get UpText of Door, Trying again to find it ~ Found Door -> Walking Green Path : 11 / 44 >> X = 6, Y = -34 ~ Found a suspected door ~ Found Door -> Walking Green Path : 14 / 44 >> X = 40, Y = -3 ~ Found a suspected door ~ Found Door -> Walking Green Path : 16 / 44 >> X = -20, Y = -3 ~ Found a suspected door ~ Found Door -> Walking Green Path : 18 / 44 >> X = 60, Y = -10 ~ Found a suspected door ~ Found Door -> Walking Green Path : 21 / 44 >> X = -35, Y = 10 ~ Found a suspected door ~ Found Door -> Walking Green Path : 24 / 44 >> X = -17, Y = 30 ~ Found a suspected door ~ Found Door -> Walking Green Path : 26 / 44 >> X = -40, Y = -10 ~ Found a suspected door ~ Found Door -> Walking Green Path : 30 / 44 >> X = 18, Y = -48 ~ Found a suspected door ~ Found Door -> Walking Green Path : 32 / 44 >> X = 40, Y = 7 ~ Found a suspected door ~ Found Door -> Walking Green Path : 34 / 44 >> X = 17, Y = 15 ~ Found a suspected door ~ Found Door -> Walking Green Path : 37 / 44 >> X = 9, Y = 35 ~ Found a suspected door ~ Found Door -> Walking Green Path : 40 / 44 >> X = 4, Y = 35 ~ Found a suspected door ~ Found Door -> Walking Green Path : 42 / 44 >> X = 4, Y = -12 ~ Found a suspected door ~ Found Door Touched the shrine! SOLVED MAZE! Successfully executed.
^Tested by bbri06!
Turquoise Path
(The one with the golden arrow on the map)
SCAR Code:Paths[TurquoisePath] := [//1 //the unsure one.
Point(60, 30{-7, 20}), Point(Maze_Door, -1), Point(-70, 8),
This part here: Point(60, 30{-7, 20})
Not sure which one it is basically, I've had 4 accounts in this situation, 2 were in different positions in relation to the other 2. Maybe it was the old maze solver that moved the accounts from the starting positions? Obviously, with caution being the best guide, I've decided to leave both measurements.
So if anyone has an account in the South East (Turquoise path) part of the random, then please PM me, so I can get this crap sorted out, make sure the account is in the start position
P.S: A lot of editing and tweaking was done after testing, so I may need an account to see if the changes I've put in actually work!
So please, if you get an account in the random - PM me !