Minimap

Methods to interact with the minimap.

_images/minimap.png

The minimap interface.


ERSMinimapDots

ERSMinimapDot  = enum(PLAYER, NPC, ITEM);

Enum representing the available minimap dots.


ERSMinimapOrb

ERSMinimapOrb  = enum(HITPOINTS, PRAYER, ENERGY, SPECIAL);

Enum representing the 4 available minimap orbs.


TRSMinimap

Main record used to interact with the Minimap.


Minimap.SetupInterface

procedure TRSMinimap.SetupInterface();

Internal method used to setup the TRSMinimap coordinates.

This is automatically called for you on the Minimap variable.


Minimap.Contains

function TRSMinimap.Contains(pt: TPoint): Boolean;

Returns True/False if a point pt is on the minimap.

Example:

WriteLn Minimap.Contains([100,100]);

Minimap.Filter

function TRSMinimap.Filter(tpa: TPointArray): TPointArray;

Returns a TPA of the points from tpa that are within the minimap.

Example:

tpa := TPointArray.CreateFromBox(Minimap.Bounds);
ShowOnTarget(Minimap.Filter(tpa));

Minimap.RandomPoint

function TRSMinimap.RandomPoint(pt: TPoint; randomness: Integer): TPoint;

Generates a random point on the minimap based on the point pt passed. The distance of this random point will be within randomness amount of distance from pt.

Example:

while True do
  ShowOnTarget(Minimap.RandomPoint(Minimap.Center, 30));

Minimap.GetCompassAngle

function TRSMinimap.GetCompassAngle(asDegrees: Boolean = True): Single;

Returns the minimap compass angle either in radians or degrees. By default, degrees are used.

Credits: slacky

Example:

WriteLn Minimap.GetCompassAngle();

Minimap.SetCompassAngle

function TRSMinimap.SetCompassAngleEx(degrees, accuracy: Single): Boolean;
function TRSMinimap.SetCompassAngle(degrees: Single): Boolean;
function TRSMinimap.SetCompassAngle(minDegrees, maxDegrees: Single; accuracy: Single = 5): Boolean; overload;

Sets the current compass angle. If you specify a minimum and a maximum angle a gaussian distribution will be used.

Example:

Minimap.SetCompassAngle(180);

Minimap.GetLevel

function TRSMinimap.GetLevel(orb: ERSMinimapOrb): Integer;

Returns the level of the specified orb.

Example:

WriteLn Minimap.GetLevel(ERSMinimapOrb.PRAYER);

Minimap.UnderLevel

function TRSMinimap.UnderLevel(orb: ERSMinimapOrb; level: Integer): Boolean;

Returns true if the level of the specified orb is below the specified level threshold.

Example:

WriteLn Minimap.UnderLevel(ERSMinimapOrb.PRAYER, 50);

Minimap.OverLevel

function TRSMinimap.OverLevel(orb: ERSMinimapOrb; level: Integer): Boolean;

Returns true if the level of the specified orb is over the specified level threshold.

Example:

WriteLn Minimap.OverLevel(ERSMinimapOrb.PRAYER, 50);

Minimap Orb Status

function TRSMinimap.Poisoned(): Boolean;
function TRSMinimap.Envenomed(): Boolean;
function TRSMinimap.RunEnabled(): Boolean;
function TRSMinimap.HasStamina(): Boolean;
function TRSMinimap.PrayerEnabled(): Boolean;
function TRSMinimap.SpecialEnabled(): Boolean;
function TRSMinimap.HasSpecialWeapon(): Boolean;

Returns a status from a minimap orb.

Example:

WriteLn Minimap.Poisoned();

Minimap.GetPercent

function TRSMinimap.GetPercent(orb: ERSMinimapOrb): Integer;

Returns the percent remaining of the specified orb.

Example:

WriteLn Minimap.GetPercent(ERSMinimapOrb.HITPOINTS);

Minimap.Toggle

function TRSMinimap.Toggle(orb: ERSMinimapOrb): Boolean;

Toggles a minimap orb. All orbs can be toggled except ERSMinimapOrb.HITPOINTS.

Example:

if not Minimap.PrayerEnabled() then
  Minimap.Toggle(ERSMinimapOrb.PRAYER);

Minimap.FindFlag

function TRSMinimap.FindFlag(out pt: TPoint): Boolean;

Returns True/False if the minimap walking flag is visible on the minimap. pt will return the coordinate where the flag was found.

Example:

if Minimap.FindFlag(flagPt) then
  ShowOnTarget(TCircle.Create(flagPt.X, flagPt.Y, 6));

Minimap.HasFlag

function TRSMinimap.HasFlag(): Boolean;

Returns True/False if the minimap walking flag is visible on the minimap. Same as Minimap.FindFlag() but without the need for parameters.

Example:

WriteLn Minimap.HasFlag();

Minimap.WaitFlag

function TRSMinimap.WaitFlag(time: Integer = 600; interval: Integer = -1): Boolean;

Returns True/False if the minimap walking flag becomes (or already is) visible within time milliseconds.

Example:

pt := Minimap.RandomPoint(Minimap.Center, 30);
Mouse.Click(pt, EMouseButton.LEFT);
WriteLn Minimap.WaitFlag(2000);

Minimap.Normalize

function TRSMinimap.Normalize(pt: TPoint; angle: Single): TPoint;
function TRSMinimap.NormalizeEx(vector: Vector2; angle: Single): Vector2;

Normalizes minimap coordinates to 0º. Basically, whatever pt or vector you pass into this, will be rotated to it’s position on the minimap at 0º. angle should be in radians.

Example:

pt := Minimap.RandomPoint(Minimap.Center, 30);
angle := Minimap.GetCompassAngle(False);
pt := Minimap.Normalize(pt, angle);
ShowOnTarget(TCircle.Create(pt.X, pt.Y, 6));

Minimap.GetDots

function TRSMinimap.GetDots(dot: ERSMinimapDot; bounds: TBox): TPointArray;
function TRSMinimap.GetDots(dot: ERSMinimapDot): TPointArray; overload;
function TRSMinimap.GetDots(dots: ERSMinimapDots; bounds: TBox): TRSMinimapDotArray; overload;
function TRSMinimap.GetDots(dots: ERSMinimapDots = [ERSMinimapDot.PLAYER, ERSMinimapDot.NPC, ERSMinimapDot.ITEM]): TRSMinimapDotArray; overload;

Returns minimap dots found. You can specify which dots you want to look for in dot or dots. You can also optionalyl specify bounds to returns minimap dots from just a region of the minimap.

Example:

tpa := Minimap.GetDots(ERSMinimapDot.NPC);
for pt in tpa do
  boxes += TBox.Create(pt, 6, 6);
ShowOnTarget(boxes);

Minimap.CleanImage

function TRSMinimap.CleanImage(img: TImage): TImage;

Cleans a TImage of the minimap you pass into it. “Clean” means that minimap dots are removed and the colors around it will be blended in.

Example:

rawIMG := Target.GetImage(Minimap.Bounds);
cleanIMG := Minimap.CleanImage(rawIMG);
rawIMG.Free();

cleanIMG.Show();
cleanIMG.Free();

Minimap.GetCleanImage

function TRSMinimap.GetCleanImage(angle: Single = $FFFF): TImage;

Returns a clean TImage of the minimap. Read Minimap.CleanImage() for more information. The image returns is also rotated to 0º.

Example:

img := Minimap.GetCleanImage();
img.Show();
img.Free();

Minimap.ScaleMinimap

function TRSMinimap.ScaleMinimap(img: TImage; scaling: Integer; radius: Integer = 67): TImage;

Scales down a minimap TImage passed in the img parameter.

Example:

cleanIMG := TImage.GetCleanImage();
scaledIMG := Minimap.ScaleMinimap(cleanIMG, 4);
cleanIMG.Free();

scaledIMG.Show();
scaledIMG.Free();

Minimap.IsPlayerMoving

function TRSMinimap.IsPlayerMoving(minShift: Integer = 500): Boolean;

Returns whether the player is moving or not according to the specified minimum pixel shift.

Example:

WriteLn Minimap.IsPlayerMoving();

Minimap variable

Global TRSMinimap variable.