Wikia

WoWWiki

Changes: API GetPlayerMapPosition

Edit

Back to page

m (Returns)
(Returns)
Line 21: Line 21:
   
 
: If both posX and posY are exactly 0, the position is unknown, unknowable, or not valid for the current map, i.e.
 
: If both posX and posY are exactly 0, the position is unknown, unknowable, or not valid for the current map, i.e.
:* The player is inside of a classic instance. Northrend instance will return non-zero map coordinates, but classic instance will not.
+
:* The player is inside of a classic instance. Northrend instance will return non-zero map coordinates, but classic instances will always return (0, 0).
 
:* The map hasn't been updated yet; either open the map or use [[API SetMapToCurrentZone|SetMapToCurrentZone]]() after entering a new zone
 
:* The map hasn't been updated yet; either open the map or use [[API SetMapToCurrentZone|SetMapToCurrentZone]]() after entering a new zone
 
:* An unsupported [[unitId]] was given.
 
:* An unsupported [[unitId]] was given.

Revision as of 08:48, January 10, 2010

WoW API < GetPlayerMapPosition

Initialization

A one-time call to SetMapToCurrentZone() is required before GetPlayerMapPosition() will return the correct values.

Usage

Returns the position of a unit on the current map

posX, posY = GetPlayerMapPosition("unit");

Parameters

Arguments

unit 
String - The unitId for which the position is returned. Does not work with all unit types. Works with "player", "partyN" or "raidN" as unit type. In particular, it does not work on pets. This was to disable range-checking mods.

Returns

posX, posY
posX 
Number - X value of the unit position (a proportion between 0 and 1, relative to WorldMapDetailFrame)
posY 
Number - Y value of the unit position (a proportion between 0 and 1, relative to WorldMapDetailFrame)
If both posX and posY are exactly 0, the position is unknown, unknowable, or not valid for the current map, i.e.
  • The player is inside of a classic instance. Northrend instance will return non-zero map coordinates, but classic instances will always return (0, 0).
  • The map hasn't been updated yet; either open the map or use SetMapToCurrentZone() after entering a new zone
  • An unsupported unitId was given.
  • You're actually at 0,0 in a given map, which although its unlikely, its perfectly possible and legal.

Example

local posX, posY = GetPlayerMapPosition("player");

Result

0.43320921063423, 0.69365233182907

Around Wikia's network

Random Wiki