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

На главную


device.GetUsableDeviceActionInfo( usableDeviceId, actionIndex )

Возвращает информацию о действии устройства. Например выстрел из пушки.

-- система:
GameState

-- библиотека:
device

-- объявление:
function GetUsableDeviceActionInfo( usableDeviceId, actionIndex )

-- параметры:
usableDeviceId: ObjectId (not nil) - идентификатор устройства
actionIndex: number (int) - номер действия (должен попадать в диапазон [0:actionsCount-1]

-- возвращаемое значение:
table or nil: таблица с информацией о действии устройстве или nil, если ошибка, поля таблицы:
 name: WString - название действия
 description: ValuedText or nil - описание с подставленными текущими значениями параметров
 image: TextureId (UIState only) - пиктограмма действия
 enabled: boolean - доступность. Можно ли в принципе использовать это действие сейчас. false - если нельзя (например, включить скорость, находясь в ангаре, или поменять устройство, находясь не в ангаре)
 active: boolean - true, если это действие активно (это activeAction)
 cost: number (integer) or nil - цена действия в эманациях, если они требуются
 isPointed: boolean - требует ли действие указания точки на местности, если требует, то заданы следующие параметры:
  radius: number - радиус воздействия (только для действий, требующих указания точки на местности)
  range: number - максимальная дальность применения (только для действий, требующих указания точки на местности)
  minRange: number - минимальная дальность применения (только для действий, требующих указания точки на местности)
 cooldown: table or nil - если действие может иметь кулдаун, то таблица с полями:
  predictedCooldown: number (int64) - прогнозируемое время отката если выполнить действие в данный момент. Прогноз может быть неточным из-за упрощений в механике на клиенте по сравнению с сервером.
  durationMs: number (int64) - полное время текущего кд, 0 если в данный момент действие не в кд
  remainingMs: number (int64) - оставшееся время текущего кд, 0 если в данный момент действие не в кд

-- пример:
local info = device.GetUsableDeviceInfo( usableDeviceId )

if info and info.actionsCount > 0 then
  LogInfo( "Action list: )
  local action = device.GetUsableDeviceActionInfo( usableDeviceId, 0 )
  LogInfo( action.name )
else
  LogInfo( "No actions" )
end

Связанные страницы: "CategoryLuaApi" "CategoryDevice"

EnumTurnReason
EnumUsedev
EventBeamCannonShotStarted
EventCannonShotFinished
EventCannonShotPreparationStarted
EventCannonShotStarted
EventChestLooterChanged
EventDeviceActionEffectivenessChanged
EventDeviceActiveActionChanged
EventDeviceCooldownFinished
EventDeviceCooldownsEnableChanged
EventDeviceCooldownStarted
EventDeviceDamageReceived
EventDeviceDeadChanged
EventDeviceOfflineChanged
EventDeviceOfflineReason
EventDeviceRelatedQuestsChanged
EventDevicesChanged
EventDeviceZeroSpeed
EventNavigationScanerHubPveInfo
EventNavigationScanerHubPvpInfo
EventNavigationScanerHubStarted
EventNavigationScanerHubTrailsInfo
EventNavigatorFollowedChanged
EventNavigatorTargetChestsChanged
EventShieldRegenInProgressChanged
EventShieldStrengthChanged
EventUsableDevicesChanged
FunctionAvatarGetActiveUsableDevice
FunctionDeviceCanUse
FunctionDeviceGetCannonTarget
FunctionDeviceGetCooldown
FunctionDeviceGetItemInstalled
FunctionDeviceGetMass
FunctionDeviceGetNavigatorTargetChests
FunctionDeviceGetRelatedQuestObjectives
FunctionDeviceGetShieldStrength
FunctionDeviceGetShipSlotInfo
FunctionDeviceGetTitle
FunctionDeviceGetTransport
FunctionDeviceGetUsableDeviceActionInfo
FunctionDeviceGetUsableDeviceActionsInfo
FunctionDeviceGetUsableDeviceInfo
FunctionDeviceGetUsableDeviceType
FunctionDeviceHasNavigatorFollowedMarker
FunctionDeviceHasRelatedQuestObjectives
FunctionDeviceIsInUse
FunctionDeviceIsOffline
FunctionDeviceIsShieldRegenInProgress
FunctionDeviceIsUsable
FunctionDeviceNavigatorGetTarget
FunctionDeviceNavigatorGetZoomedObject
FunctionDeviceNavigatorSetTarget
FunctionDeviceNavigatorZoom
FunctionTransportGetDevices


CategoryLuaApi CategoryFunction CategoryDevice

На главную