View Single Post
06-15-18, 09:38 PM   #3
elcius
A Cliff Giant
AddOn Author - Click to view addons
Join Date: Sep 2011
Posts: 75
Lua Code:
  1. local MapRects = {};
  2. local TempVec2D = CreateVector2D(0,0);
  3. function GetPlayerMapPos(MapID)
  4.     local R,P,_ = MapRects[MapID],TempVec2D;
  5.     if not R then
  6.         R = {};
  7.         _, R[1] = C_Map.GetWorldPosFromMapPos(MapID,CreateVector2D(0,0));
  8.         _, R[2] = C_Map.GetWorldPosFromMapPos(MapID,CreateVector2D(1,1));
  9.         R[2]:Subtract(R[1]);
  10.         MapRects[MapID] = R;
  11.     end
  12.     P.x, P.y = UnitPosition('Player');
  13.     P:Subtract(R[1]);
  14.     return (1/R[2].y)*P.y, (1/R[2].x)*P.x;
  15. end
  Reply With Quote