📊 表结构

字段名 数据类型 默认值 说明
ID INT UNSIGNED 0 对象ID (主键1)
type TINYINT UNSIGNED 0 对象类型 (主键2)
locale VARCHAR(4) 语言代码 (主键3)
Greeting TEXT NULL 本地化问候文本
VerifiedBuild INT NULL 验证版本

🔑 核心字段详解

🆔 ID - 对象ID

详细说明:NPC或游戏对象的ID。 取值范围:对应creature_template.entry或gameobject_template.entry
  • 复合主键的一部分
  • 根据type确定是生物还是对象
  • 同一对象可有多条本地化记录
  • 每个语言一条记录

📋 type - 对象类型

详细说明:对象的类型,决定ID的含义。 取值范围:0或1
类型说明
0NPCID对应creature_template.entry
1游戏对象ID对应gameobject_template.entry

🌐 locale - 语言代码

详细说明:本地化语言代码,指定文本的语言版本。 取值范围:标准语言代码
代码语言说明
zhCN简体中文中国大陆
zhTW繁体中文台湾地区
enUS英语(美式)美国
enGB英语(英式)英国
koKR韩语韩国
frFR法语法国
deDE德语德国

💬 Greeting - 本地化问候文本

详细说明:对应语言的问候文本。
  • 替换quest_greeting中的原始问候文本
  • 当客户端语言匹配时显示
  • 显示在NPC或对象的任务对话框中
  • 可以为NULL(使用默认问候文本)
  • 支持文本格式和颜色代码

💡 实际案例

NPC问候 配置NPC问候本地化

ID=1000(NPC), type=0, locale=zhCN, Greeting='你好,勇士!'

INSERT INTO quest_greeting_locale VALUES( 1000, 0, 'zhCN', '你好,勇士!', NULL );

对象问候 配置游戏对象问候本地化

ID=2000(对象), type=1, locale=zhCN, Greeting='这是一本古老的书籍...'

INSERT INTO quest_greeting_locale VALUES( 2000, 1, 'zhCN', '这是一本古老的书籍...', NULL );

多语言 配置多语言问候

ID=1001, type=0, 配置中英文问候

-- 简体中文 INSERT INTO quest_greeting_locale VALUES(1001, 0, 'zhCN', '欢迎来到暴风城!', NULL); -- 英语 INSERT INTO quest_greeting_locale VALUES(1001, 0, 'enUS', 'Welcome to Stormwind!', NULL);

查询 查询问候本地化文本

查询ID=1000, type=0的简体中文问候

SELECT qgl.ID, qgl.type, qgl.locale, qgl.Greeting, qg.Greeting FROM quest_greeting_locale qgl JOIN quest_greeting qg ON qgl.ID = qg.ID AND qgl.type = qg.type WHERE qgl.ID = 1000 AND qgl.type = 0 AND qgl.locale = 'zhCN';

⚡ 快速参考

对象类型

0NPC
1游戏对象
ID对应模板
type决定类型

语言代码

zhCN简体中文
zhTW繁体中文
enUS英语(美式)
enGB英语(英式)

问候文本

Greeting问候文本
显示位置任务对话框
支持格式文本/颜色
可以为NULL使用默认

关联表

quest_greeting问候表
creature_template生物模板
gameobject_template对象模板
quest_template_locale任务本地化

🔗 相关表格

❓ 常见问题

Q1: 如何确定使用哪个语言?
根据客户端语言设置自动匹配,如果locale匹配则显示本地化问候文本,否则显示quest_greeting中的默认问候文本。
Q2: type字段的作用?
决定ID的含义,type=0表示NPC,ID对应creature_template.entry;type=1表示游戏对象,ID对应gameobject_template.entry。
Q3: 必须为所有对象配置问候本地化吗?
不需要,只为有任务问候的对象配置本地化,其他对象会使用quest_greeting中的默认问候文本。
Q4: Greeting为NULL会怎样?
如果Greeting为NULL,会使用quest_greeting中的默认问候文本,相当于没有本地化。