消息定义 (<MessageDef>)

功能说明

消息定义用于在游戏中创建各种提示文本或通知。通过定义消息,开发者可以控制文本的实际内容、显示类别(例如聊天气泡、屏幕中央大字等)以及文本的颜色,从而实现多样化的游戏内信息交互。

可用参数

参数名类型默认值说明
defName字符串必需。该消息定义的唯一标识符。
label字符串(空)可选。该消息的内部标识标签,通常用于编辑器预览。
description字符串(空)可选。该消息的详细描述或备注。
type字符串必需。定义消息的显示类别,如在实体上方显示或屏幕中央显示。详见下文**type 字段**。
text字符串必需。消息的实际文本内容。
color字符串(空)可选。消息文本的颜色,使用HTML颜色字符串格式。详见下文**color 字段**。

示例

这是一个定义了几种不同显示类别的消息的例子:

<Define>
    <MessageDef>
        <defName>InteractionHint</defName>
        <label>互动提示</label>
        <description>在NPC或可互动对象上方显示的简短提示</description>
        <type>FocusedEntityOverheadText</type>
        <text>按 [E] 互动</text>
        <color>#00FF00</color> <!-- 绿色文本 -->
    </MessageDef>

    <MessageDef>
        <defName>DialogueBubble</defName>
        <label>对话气泡</label>
        <description>NPC说话时显示的聊天气泡</description>
        <type>FocusedEntityChatBubble</type>
        <text>你好,初次见面!</text>
        <color>#FFFFFF</color> <!-- 白色文本 -->
    </MessageDef>

    <MessageDef>
        <defName>QuestComplete</defName>
        <label>任务完成通知</label>
        <description>任务完成时在屏幕中央显示的大型通知</description>
        <type>ScreenCenterLargeText</type>
        <text>任务完成!</text>
        <color>Gold</color> <!-- 金色文本 -->
    </MessageDef>

    <MessageDef>
        <defName>AmbientHint</defName>
        <label>环境提示</label>
        <description>右下角浮动的非干扰性提示</description>
        <type>PassiveHint</type>
        <text>区域发现:神秘森林</text>
        <color>LightGray</color> <!-- 浅灰色文本 -->
    </MessageDef>
</Define>

复杂参数说明

type 字段 (消息显示类别)
  • 说明:定义消息在游戏中的具体显示方式和位置。
  • 可选值
    • Default: 默认或未分类的显示方式。
    • FocusedEntityChatBubble: 显示在玩家当前焦点实体(如NPC或交互物)上方,以聊天气泡形式呈现。
    • FocusedEntityOverheadText: 显示在玩家当前焦点实体(如NPC或交互物)头顶,通常是简短的状态、名称或互动提示。
    • ScreenCenterLargeText: 大型文本显示在屏幕中央,通常用于重要通知、标题或剧情提示,需要玩家立即注意。
    • PassiveHint: 非焦点提示,通常以不易干扰的方式(如屏幕边缘、HUD小字或右下角浮动)显示,提供辅助信息、次要指引或环境提示。
  • 示例
    <type>FocusedEntityOverheadText</type>
    
color 字段 (文本颜色)
  • 说明:定义消息文本的颜色。颜色值必须是有效的HTML颜色字符串,支持多种格式:
    • 颜色名称:如 "Red", "Blue", "Green", "Gold", "LightGray" 等。
    • 十六进制RGB/RGBA值
      • #RRGGBB:例如 #FF0000 (红色), #00FF00 (绿色), #0000FF (蓝色)。
      • #AARRGGBB:例如 #80FF0000 (半透明红色)。
      • #RGB#ARGB:例如 #F00 (红色), #8F00 (半透明红色)。
  • 示例
    <color>#FF00FF</color> <!-- 紫色文本 -->
    <color>Blue</color>   <!-- 蓝色文本 -->
    <color>#FFFF0000</color> <!-- 不透明红色文本 -->