Пользовательские дополнения

На главную


сartographer.GetPlayerGeodata( unitId, zonesMapId )

Возвращает геодату, необходимую для проецирования координат игрока в реальном мира в координаты текстуры интерфейсной карты.

Возвращается, если игрок unitId находится в зоне, принадлежащей интерфейсной карте зон zonesMapId. если он не находится в этих зонах, то геодата не может быть получена и возвращается nil.

Кроме того nil возвращается для тех интерфейсных карт зон, у которых флаг isShowPositions = false. Это могут быть, например, общая карта мира, или чистилище. Также геодата не возвращается для карт, указанных в ресурсах, как карты неизвестного места.

Работает только для главного игрока, членов его группы и рейда, а так же для игроков, задетекченных детекторами, если такие есть.

-- библиотека:
сartographer

-- объявление:
function GetPlayerGeodata( unitId, zonesMapId )

-- параметры:
unitId: ObjectId - идентификатор игрока
zonesMapId: ObjectId - идентификатор интерфейсной карты зоны, для которой надо получить геодату

-- возвращаемые значения
table or nil - если геодата получена, то таблица с полями:
  x, y: number (int) - мировые координаты точки левого нижнего угла карты
  width, height: number (int) - размер зоны (в мировых единицах), охватываемой картой.}}}

Пример:
<pre>
local geodata = cartographer.GetPlayerGeodata( unitId, currentZonesMapId )
if geodata then
  local pos = object.GetPos( unitId )
  if pos then

    local pixelsPerMeterX = ( MAP_TEXTURE_X / geodata.width )
    local pixelsPerMeterY = ( MAP_TEXTURE_Y / geodata.height )
    local mapCenterX = geodata.x + ( geodata.width / 2 )
    local mapCenterY = geodata.y + ( geodata.height / 2 )

    texturePosX = math.ceil( ( pos.posX - mapCenterX ) * pixelsPerMeterX )
    texturePosY = math.ceil( ( mapCenterY - pos.posY ) * pixelsPerMeterY )

  end
end

Search: "CategoryLuaApi" "CategoryCartographer"

CategoryCartographer
EventAvatarClientZoneChanged
EventAvatarZoneChanged
EventSosFinished
EventSosStarted
FunctionCartographerGetCurrentMap
FunctionCartographerGetCurrentZone
FunctionCartographerGetCurrentZoneAttributes
FunctionCartographerGetMapBlockInfo
FunctionCartographerGetMapBlocks
FunctionCartographerGetPlayerGeodata
FunctionCartographerGetQuestGeodata
FunctionCartographerGetSosInfo
FunctionCartographerGetSosObjects
FunctionCartographerGetZonesMapId
FunctionCartographerGetZonesMapInfo
FunctionUnitGetZonesMapId


CategoryLuaApi CategoryFunction CategoryPosition CategoryCartographer

На главную