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

На главную


object.GetProjectedInfo( objectId )

Возвращает для объекта информацию об его 2D проекции на экран, если он есть в списке для проецирования в 2D координаты.

Точка (0, 0) - центр экрана. (-1, -1) - левый верхний угол. (1, 1) - правый нижний угол.

Если какая-либо возвращаемая координата равна 1 или -1, то объект находится за зоной видимости. Если обе координаты в промежутке (-1, 1), то проецируемая точка видна на экране.

-- библиотека
object

-- семантика
function GetProjectedInfo( objectId )

-- входные параметры:
objectId: ObjectId - идентификатор объекта

-- возвращаемое значение:
table or nil - если объект найден и он в списке для проецирования, то таблица с полями:
  posX: number - 2D экранная координата в интервале [-1, 1]
  posY: number - 2D экранная координата в интервале [-1, 1]
  playerDistance: number - дистанция от объекта до главного игрока в метрах
  cameraDistance: number - дистанция от объекта до камеры в метрах
  isLos: boolean - false, если на линии видимости до объекта какое-то препятствие.
  canProject: boolean - false, если объект не может быть спроецирован. например изменились условия, и он теперь не детектируется детекторами. В обычной ситуации всегда true.

-- пример
local show = true

local projectedInfo =object.GetProjectedInfo( avatar.GetTarget() )
if projectedInfo then

  local position = {} -- экранные координаты в пикселях
  position.x = projectedInfo.posX * width / 2
  position.y = projectedInfo.posY * height / 2

  -- попадание 3D точки в зону видимости
  if ( math.abs( projectedInfo.posX ) ~= 1 ) and ( math.abs( projectedInfo.posY ) ~= 1 ) then
    if projectedInfo.isLos then
      show = false -- точка видна на экране - не показываем
    else
      position.y = -height / 2 -- точка за препятствием - показываем сверху
    end
  end
end

Search: "CategoryLuaApi" "CategoryProjectedObject"

EnumAttachedObjectPos
EventProjectedObjectsChanged
FunctionObjectAddToProjected
FunctionObjectGetInstantProjectedInfo
FunctionObjectGetProjectedInfo
FunctionObjectRemoveFromProjected
FunctionObjectSetControl3DForProjected

Search: "CategoryLuaApi" "CategoryObject"

CategoryObject
EnumDiminishingGroup
EnumVendor
EventCannotAttachWidget3D
EventObjectCombatStatusChanged
EventObjectDetectFinished
EventObjectDetectorListChanged
EventObjectDetectStarted
EventObjectDiminishingChanged
EventObjectDiminishingGroupChanged
EventObjectHealthChanged
EventObjectManaChanged
EventObjectNameChanged
EventObjectSelectableChanged
EventObjectsHealthChanged
EventObjectUiinfoChanged
EventObjectUiinfoRemoved
EventPickObject
EventProjectedObjectsChanged
EventQuestMarkUpdated
EventSecretFinisherStatusChanged
FunctionAvatarEnableClientDetector
FunctionAvatarGetDetectedObjects
FunctionAvatarIsClientDetectorEnabled
FunctionObjectAddToProjected
FunctionObjectAttachWidget2D
FunctionObjectAttachWidget3D
FunctionObjectCanAttack
FunctionObjectDetachAllWidgets3D
FunctionObjectDetachWidget2D
FunctionObjectDetachWidget3D
FunctionObjectGetBuffDynamicInfo
FunctionObjectGetBuffInfo
FunctionObjectGetBuffInstances
FunctionObjectGetBuffs
FunctionObjectGetBuffsInfo
FunctionObjectGetBuffsWithProperties
FunctionObjectGetBuffSysName
FunctionObjectGetCorpulence
FunctionObjectGetDetectors
FunctionObjectGetDiminishingState
FunctionObjectGetHealthInfo
FunctionObjectGetInstantProjectedInfo
FunctionObjectGetInteractorInfo
FunctionObjectGetInteractorQuests
FunctionObjectGetManaInfo
FunctionObjectGetName
FunctionObjectGetPos
FunctionObjectGetProjectedInfo
FunctionObjectGetUIInfo
FunctionObjectGetWorldSecrets
FunctionObjectHasMobVisual
FunctionObjectHasQuest
FunctionObjectHasWorldSecret
FunctionObjectHighlight
FunctionObjectIsAstralUnit
FunctionObjectIsDead
FunctionObjectIsDetected
FunctionObjectIsDevice
FunctionObjectIsEnemy
FunctionObjectIsExist
FunctionObjectIsFar
FunctionObjectIsFriend
FunctionObjectIsInCombat
FunctionObjectIsInUsageRange
FunctionObjectIsTransport
FunctionObjectIsUnit
FunctionObjectIsUsable
FunctionObjectIsValidBuff
FunctionObjectIsVendor
FunctionObjectRemoveBuff
FunctionObjectRemoveFromProjected
FunctionObjectSetControl3DForProjected
FunctionObjectSetCutTerrainArea
FunctionObjectStartVisualAction
FunctionObjectStopVisualAction


CategoryLuaApi CategoryFunction CategoryObject CategoryProjectedObject

На главную