Главный герой псионик может установить псионический контакт с несколькими целями. Каждый псионический контакт определенного типа может быть установлен с одной целью.
Метод возвращает индексированную по типу контакта таблицу контактов. В ней по индексу типа контакта лежит или информация о контакте или nil, если нет контакта такого типа. Если главный герой не псионик, то таблица будет всегда пустой.
У контакта может быть определена длительность. Тогда в поле durationMs будет длительность этого контакта в миллисекундах. Если для такого типа контакта длительность не определена (длится сколь угодно долго), то durationMs = 0.
-- библиотека: avatar -- объявление: function GetPsionicContacts() -- параметры: нет -- возвращаемые значения - Table of pairs (ключ/значение): ключ - number (enum PSIONIC_CONTACT_XXX) - тип контакта значение - table - таблица с информацией о контакте. Содержит поля: unitId: ObjectId - идентификатор контактного юнита durationMs: number (int) - длительность контакта в миллисекундах remainingMs: number (int) - осталось миллисекунд до окончания контакта -- пример: local contacts = avatar.GetPsionicContacts() local contact = contacts[ PSIONIC_CONTACT_NORMAL ] if contact then local normalContacterId = contact.unitId if normalContacterId then local name = unit.GetName( normalContacterId ) end end contact = contacts[ PSIONIC_CONTACT_CRUDE ] if contact then local normalContacterId = contact.unitId if normalContacterId then local name = unit.GetName( normalContacterId ) if contact.durationMs > 0 then local remaining = contact.remainingMs / contact.durationMs end end end
Типы контактов:
PSIONIC_CONTACT_NORMAL PSIONIC_CONTACT_CRUDE