Привязывает визуальный эффект к интерактивному объекту по индексу.
Новый эффект удаляет имеющийся эффект по тому же индексу.
Замечание. Для удобства вместо числовых индексов рекомендуется определять мнемонические константы (задаются самими дизайнерами).
Также можно установить относительную позицию объекта по вертикали с помощью параметра position: ATTACHED_OBJECT_POS_...
-- система: UIState -- библиотека object -- объявление function AttachVisibleObject( objectId, index, visObjectOrAliasId, position, directionAnchorObjId ) -- параметры objectId: ObjectId (not nil) - идентификатор объекта index: number (enum VIS_OBJ_XXX) - индекс эффекта в списке приаттаченных эффектов visObjectOrAliasId: VisObjectId / AliasVisObjectId / nil - идентификатор визуального объекта (эффекта) или его обвязки, если передан nil, то убираем объект по этому индексу position: number( enum ATTACHED_OBJECT_POS_...) / nil - позиция объекта по вертикали относительно хозяина directionAnchorObjId: ObjectId - при наличии объекта-якоря направления эффект разворачивается по нему, иначе - по умолчанию - по направлению к игроку -- возвращаемые значения нет -- пример использования -- Вывести восклицательный знак над головой NPC visObj = common.GetAddonRelatedVisObject( "QUEST_MARK_READY_TO_GIVE" ) object.AttachVisibleObject( objectId, VIS_OBJ_QUEST_MARK, visObj, ATTACHED_OBJECT_POS_UP, nil ) if isReadyToAccept then -- Вывести вопросительный знак над головой NPC (восклицательный удалится) local visObj = common.GetAddonRelatedVisObject( "QUEST_MARK_READY_TO_ACCEPT" ) object.AttachVisibleObject( objectId, VIS_OBJ_QUEST_MARK, visObj, ATTACHED_OBJECT_POS_UP, nil ) end