Уведомление о приходе на клиент текстового сообщения.
Строковый код типа берётся из ресурса. Задается непосредственно в эффектах типа 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 для ресурса