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

На главную


EVENT_CLIENT_MESSAGE

Уведомление о приходе на клиент текстового сообщения.

Строковый код типа берётся из ресурса. Задается непосредственно в эффектах типа ClientData (серверный тип: gameMechanics.world.ClientData) в расширении InterfaceAction.

Рекомендуемый шаблон sysId:

ENUM_BATTLE_ACHIEVEMENT - достижение в астральных кораблях
ENUM_CHAT_MESSAGE - сообщение выведется в чат
ENUM_CHAT_MOB_MESSAGE - сообщение выведется в чат от имени моба в виде "имя моба: текст сообщения"
ENUM_TOOLTIP - сообщение выведется в тултип(например когда нужно перечислить условия вступления на LFG-активность)
ENUM_WARNING_MESSAGE - на экран (обычное)
ENUM_WARNING_MESSAGE_FRAME - на экран (с рамкой)
ENUM_WARNING_MESSAGE_RED - на экран (красное)
ENUM_WARNING_MESSAGE_BLUE - на экран (синее)
ENUM_ANNOUNCE_MESSAGE - анонс красным цветом
ENUM_SHOW_BUBBLE - бабл над головой
ENUM_POINTS_ANNOUNCE - анонс об изменении очков(на БГ)
ENUM_ARENA_START_ANNOUNCE - анонс о 10 секундной готовности на арене
ENUM_MESSAGE_BOX - откроется мессаджбокс (интерфейсное окно с кнопкой закрытия) с сообщением
ENUM_MODAL_MESSAGE - модальное окно (для пользователя доступен только мессаджбокс, остальной интерфейс не доступен)
ENUM_Tutorial_ - в учебник
ENUM_SOCIAL_NETWORKS_POST - в автоматический постинг сообщений в соц.сети

В сообщении передаются пары имя-значение параметров. Каждый из параметров может быть одним из пяти типов (строка, число, интерактивный объект, ресурсный объект, позиция). Каждому типу соответствует свое поле, в котором хранится информация о значении, а остальные поля пустые. То есть значение передано только в одном из полей-значений (objectId, position, resourceObject, int, text).

Enum CLIENT_DATA_PARAM_...^

CLIENT_DATA_PARAM_MONEY - надо показать в денежном формате
CLIENT_DATA_DRESS_SLOT - надо показать имя слота на персонаже (щит, шлем, костюм...)
CLIENT_DATA_PLAYER_NAME - надо показать имя игрока (возможно, кликабельное)

-- поля:
 objectId: ObjectId or nil - интерактивный объект, от которого пришло сообщение, если такая информация доступна
 sysId: string (enum) - строковый код типа
 text: WString - текст сообщения
 sysChatChannel: string or nil - строковый идентификатор канала в чате, если канал был задан. См. /ChatLog/Channels/ScriptMessageChannels.lua. Уровни вложенности конкатенируются через подчеркивание. Например: combat_damage_outgoing_miss
 sysDebugName: string or nil - отладочное поле, для девелоперской версии клиента - идентификатор ресурса, описывающего сообщение; для финальной версии - nil
 values: table of tables - индексированный с 0 список полученных параметров

 Каждый параметр представлен таблицей с полями:
   name: string - строковое имя параметра
   viewType: number (enum CLIENT_DATA_PARAM_...) or nil - если не nil, то параметр надо показать не обычным, а указанным способом

   и взаимоисключающие поля значения:

   objectId: ObjectId or nil - идентификатор интерактивного объекта, если получен объект
   position: GamePosition or nil - таблица с описанием координаты, если получена координата
   resourceObject: ValuedObject or nil - ValuedObject для ресурса, если получен ресурсный объект
   int: number(integer) or nil - число, если получено число
   text: WString or nil - строка, если получена строка
   resourceList: table of table or nil - если получен список ресурсных объектов, индексированная с 0 таблица таблиц описателей с полями:
     name: string - строковое имя параметра, полученное конкатенацией базового имени и индекса в таблице
     resourceObject: ValuedObject - ValuedObject для ресурса

Search: "CategoryLuaApi" "CategoryActionResult"

EnumActionFailCause
EnumActionResultSpecial
EventActionFailedExploit
EventActionFailedOther
EventActionFailedSpell
EventActionProcessTerminated
EventActionResultSpecialSpell
EventClientImageHideAll
EventClientImageShow
EventClientMessage
EventDoWarp
EventForagingFailed
EventInterfaceToggle
EventLobbyClientMessage
EventShowSubtitles
EventTakeItemsFailed

Search: "CategoryLuaApi" "CategoryAction"

EnumActionFailCause
EnumActionResultSpecial
EnumSaleTag
EventActionFailedExploit
EventActionFailedOther
EventActionFailedSpell
EventActionPanelChanged
EventActionPanelElementChanged
EventActionPanelElementEffect
EventActionProcessTerminated
EventActionProgressFinish
EventActionProgressFreeze
EventActionProgressStart
EventActionProgressUpdate
EventActionResultSpecialSpell
EventAEMarkPointClicked
EventAttackResult
EventAvatarDestinyPointsChanged
EventAvatarExperienceChanged
EventClientImageHideAll
EventClientImageShow
EventClientMessage
EventContextActionPointStarted
EventContextActionsChanged
EventDoWarp
EventHealingReceived
EventInterfaceToggle
EventLobbyClientMessage
EventLootMark
EventMobActionProgressFinish
EventMobActionProgressFreeze
EventMobActionProgressStart
EventMobEvaded
EventShowSubtitles
EventTakeItemsFailed
FunctionAvatarBindItemToActionPanel
FunctionAvatarBindMountMetamorphToActionPanel
FunctionAvatarBindMountSkinToActionPanel
FunctionAvatarBindMountToActionPanel
FunctionAvatarBindSpellToActionPanel
FunctionAvatarGetActionInfo
FunctionAvatarGetAttackResult
FunctionAvatarGetContextActions
FunctionAvatarGetMaxActionCount
FunctionAvatarGetPetAggroMode
FunctionAvatarGetPetMoveMode
FunctionAvatarIsPetInCombat
FunctionAvatarPetAttack
FunctionAvatarSetPetAggroMode
FunctionAvatarSetPetMoveMode
FunctionAvatarStopCasting
FunctionAvatarSwapActionsInActionPanel
FunctionAvatarUnBindFromActionPanel
FunctionUnitGetMobActionProgress


CategoryLuaApi CategoryEvent CategoryAction CategoryActionResult

На главную