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

На главную


avatar.GetContextActionInfo( id )

Вернуть информацию о контекстном действии. Контекстное действие может находится в списке контекстных действий аватара, но в то же время быть недоступным (например цель не в зоне действия или не в той полусфере игрока). Поле enabled принимает значение true, если действие доступно и false, если не доступно. В случае изменения поля, на клиент приходит EVENT_CONTEXT_ACTIONS_CHANGED.

-- система:
UIState/GameState
функция имеет основную реализация в логике и расширенную реализацию в UI

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

-- объявление:
function GetContextActionInfo( id )

-- параметры
id: ObjectId -  идентификатор контекстного действия

-- возвращаемые значения
nil, если контекстного действия нет
table, если действие есть - информация по действию
  id: ObjectId -  идентификатор контекстного действия
  priority: number (int) - приоритет действия
  name: WString - название
  description: ValuedText - описание действия с подставленными текущими значениями параметров (для заклинаний)
--{ часть таблицы, реализованная только для UI
  image: TextureId - идентификатор текстуры для иконки
--}
  enabled: boolean - true, если действие доступно
  sysType: string (строковый enum "ENUM_CONTEXT_ACTION_TYPE_XXX") - название типа контекстного действия
  objectId: ObjectId or nil -  идентификатор объекта, если он есть, к которому применяется контекстное действие

  pointInfo: table or nil - если это контекстное действие требует точку установки, то таблица с полями:
    range: number (float) - растояние до цели, на котором действует (0, если не указано)
    radius: number (float) - радиус действия AOE от точки применения (0, если не указано)
  sysNameAEMark: string or nil - для АЕ спеллов имя текстуры AEMark, которую нужно визуализировать (nil, если не указана)


-- пример использования
local actionInfo = avatar.GetContextActionInfo( id )
if actionInfo then
  local enabled = actionInfo.enabled
end

Типы контекстных действий:

  "ENUM_CONTEXT_ACTION_TYPE_UNKNOWN" - тип не известен
  "ENUM_CONTEXT_ACTION_TYPE_SPELL" - запустить заклинание
  "ENUM_CONTEXT_ACTION_TYPE_EXPLOIT" - использовать устройство
  "ENUM_CONTEXT_ACTION_TYPE_LOOT" - собрать лут
  "ENUM_CONTEXT_ACTION_TYPE_NPC_TALK" - поговорить с NPC

Search: "CategoryLuaApi" "CategoryContextActions"

CategoryContextActions
EventContextActionPointStarted
EventContextActionsChanged
FunctionAvatarGetContextActionInfo
FunctionAvatarRunContextAction
FunctionAvatarRunPointContextAction


CategoryLuaApi CategoryFunction CategoryContextActions CategoryAvatar

На главную