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

На главную

## avatar.GetInteractorCue()

Возвращает реплику NPC-собеседника. Ответы можно получить в avatar.GetInteractorNextCues().

Необходимо вызывать после EVENT_INTERACTION_STARTED. Во время разговора нельзя менять цель.

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

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

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

    -- параметры:
    нет

    -- возвращаемые значения:
    nil or table: - nil, если нет реплики, иначе таблицу с информацией о реплике:
      name: WString - имя реплики (или ответ на неё)
      text: WString - текст реплики
      data: table of CueData- индексированный с 0 список дополнительных даных
      isSpecial: boolean - является ли эта реплика не просто репликой в разговоре, но и началом какого-то действия (показать ремортов, войти в парикмахерскую и т.п.)

    CueData - один элемент данных, ассоциированых с ответом на эту репликой (name). Каждая CueData - таблица с полями:
      alias: string or nil - псевдоним этого элемента данных. Может использоваться, например, для подстановки этого элемента данных в форматную строку, заданную в поле name этой реплики
      --{ часть таблицы, реализованная только для UI
      image: TextureId or nil - идентификатор текстуры для иконки реплики, если есть
      titlePicture: TextureId or nil - идентификатор текстуры для титульной картинки в тексте реплики, если есть
      --}

      Также есть набор взаимоисключающих полей:
      money: number or nil - количество денег, требуемых для ответа
       либо
      number: number or nil - какое-то число, требуемое для ответа
       либо
      itemId: ObjectId or nil - идентификатор предмета, требуемого для ответа
       либо
      string: WString or nil - какой-то текст, требуемое для ответа

Пример:

    local cue = avatar.GetInteractorCue()

    local text = cue.text

    local valuedText = common.CreateValuedText()
    valuedText:SetFormat( cue.name )

    if cue.data[ 0 ] then
      if cue.data[ 0 ].itemId then
        local itemInfo = avatar.GetItemInfo( cue.data[ 0 ].itemId )
        if itemInfo then
          valuedText:SetVal( cue.data[ 0 ].alias, itemInfo.name )
        end
      end
    end

#### Search: "CategoryLuaApi" "CategoryInteraction"

EnumLearnError
EnumVendor
EventInteractionStarted
EventItemsExchangeCanceled
EventItemsExchangeCompleted
EventItemsExchangeDeclineIgnored
EventItemsExchangeError
EventItemsExchangeInvited
EventItemsExchangeOfferFinalConfirmedChanged
EventItemsExchangeOfferItemsChanged
EventItemsExchangeOfferMoneyChanged
EventItemsExchangeOfferPrimaryConfirmedChanged
EventItemsExchangeSlotIsBusy
EventItemsExchangeStarted
EventItemsExchangeStateChanged
EventKnownTeleportLocationUpdated
EventTalkStarted
EventTalkStopped
EventTrainerLearnError
EventTrainerNotEnoughMoney
EventVendorBuyNotEnoughPlace
EventVendorBuyReputationIsTooSmall
EventVendorItemAlreadySold
EventVendorItemNotForSale
EventVendorListUpdated
FunctionAvatarBuy
FunctionAvatarBuyToSlot
FunctionAvatarGetInteractorCue
FunctionAvatarGetInteractorCurrentLocations
FunctionAvatarGetInteractorInfo
FunctionAvatarGetInteractorNextCues
FunctionAvatarGetInteractorTeleportLocations
FunctionAvatarGetInterlocutor
FunctionAvatarGetTeleportLocationInfo
FunctionAvatarGetTeleportLocations
FunctionAvatarGetVendorBuyback
FunctionAvatarGetVendorList
FunctionAvatarHasInteractorCue
FunctionAvatarHasInteractorQuest
FunctionAvatarIsInteractorRootCue
FunctionAvatarIsInteractorTrainer
FunctionAvatarIsInteractorVendor
FunctionAvatarIsTalking
FunctionAvatarRequestInteractions
FunctionAvatarRequestVendor
FunctionAvatarReturnToStartCue
FunctionAvatarSelectInteractorCue
FunctionAvatarSellItemToVendor
FunctionAvatarStartInteract
FunctionAvatarStopInteract
FunctionAvatarTeleportToLocation
FunctionInteractionCancelExchange
FunctionInteractionGetExchangeInvited
FunctionInteractionGetExchangeInviter
FunctionInteractionGetExchangeSlotCount
FunctionInteractionHasExchange
FunctionInteractionInviteToExchange
FunctionInteractionIsAvatarExchangeInviter
FunctionInteractionIsExchangeInInvitation
FunctionInteractionIsExchangeInProgress
FunctionInteractionRemoveExchangeItem
FunctionObjectGetInteractorInfo
FunctionObjectHasQuest
FunctionObjectHasWorldSecret
FunctionObjectIsVendor
FunctionUnitGetTrainerClass
FunctionUnitIsTrainer

CategoryLuaApi CategoryFunction CategoryAvatar CategoryInteraction

На главную