GameObject 常见类型详解 -- 傻瓜(GOOBER)

GAMEOBJECT_TYPE_GOOBER 是 TrinityCore 中用于创建傻瓜的 GameObject 类型

字段详细说明

字段索引 字段名称 数据类型 默认值 说明 可选值/范围
data0 open uint32 0 交互所需的锁类型ID 引用 Lock.db2,0表示无需钥匙
data1 questID uint32 0 关联的任务ID 引用 QuestV2.db2
data2 eventID uint32 0 关联的游戏事件ID 引用 GameEvents.db2
data3 autoClose uint32 3000 自动关闭时间(毫秒) 0 - 2147483647
data4 customAnim uint32 0 自定义动画 0 - 4
data5 consumable enum false 是否为消耗品 0 = 否, 1 = 是
data6 cooldown uint32 0 冷却时间(秒) 0 - 65535
data7 pageID uint32 0 页面ID 引用 PageText.db2
data8 language uint32 0 语言ID 引用 Languages.db2
data9 pageMaterial uint32 0 页面材质 引用 PageTextMaterial.db2
data10 spell uint32 0 关联的法术ID 引用Spell.dbc
data11 noDamageImmune enum false 是否对伤害免疫 0 = 否, 1 = 是
data12 linkedTrap uint32 0 关联的陷阱ID 引用 GameObjects.db2
data13 GiganticAOI enum false 是否具有巨大活动范围 0 = 否, 1 = 是
data14 openTextID uint32 0 开启时显示的文本ID 引用 BroadcastText.db2
data15 closeTextID uint32 0 关闭时显示的文本ID 引用 BroadcastText.db2
data16 requireLOS enum false 是否需要视线 0 = 否, 1 = 是
data17 allowMounted enum false 是否允许骑乘状态下交互 0 = 否, 1 = 是
data18 floatingTooltip enum false 是否显示浮动提示 0 = 否, 1 = 是
data19 gossipID uint32 0 对话ID 引用 Gossip.db2
data20 AllowMultiInteract enum false 是否允许多次交互 0 = 否, 1 = 是
data21 floatOnWater enum false 是否在水面上浮动 0 = 否, 1 = 是
data22 conditionID1 uint32 0 使用条件ID 引用 PlayerCondition.db2
data23 playerCast enum false 是否由玩家施放 0 = 否, 1 = 是
data24 SpawnVignette uint32 0 生成时的视觉效果ID 引用 vignette.db2
data25 startOpen enum false 初始状态 0 = 关闭, 1 = 开启
data26 DontPlayOpenAnim enum false 是否不播放开启动画 0 = 否, 1 = 是
data27 IgnoreBoundingBox enum false 是否忽略边界框 0 = 否, 1 = 是
data28 NeverUsableWhileMounted enum false 是否禁止骑乘时使用 0 = 否, 1 = 是
data29 SortFarZ enum false 是否按远Z排序 0 = 否, 1 = 是
data30 SyncAnimationtoObjectLifetime enum false 是否同步动画到对象生命周期 0 = 否, 1 = 是
data31 NoFuzzyHit enum false 是否无模糊命中 0 = 否, 1 = 是
data32 LargeAOI enum false 是否具有较大活动范围 0 = 否, 1 = 是
data33 InteractRadiusOverride uint32 0 交互半径覆盖值(码*100) 0 - 2147483647

核心功能字段

字段 说明
spell 关联的法术ID,交互时施放指定法术
questID 关联的任务ID,引用 QuestV2.db2 表
eventID 关联的游戏事件ID,引用 GameEvents.db2 表

访问控制字段

字段 说明
open 定义交互所需的钥匙或条件,引用 Lock.db2 表中的记录
conditionID1 使用对象前必须满足的条件,引用 PlayerCondition.db2 表
cooldown 对象使用后的冷却时间(秒)

时间控制字段

字段 说明
autoClose 对象自动关闭的时间(毫秒)
consumable 是否为消耗品,使用后消失

页面和文本字段

字段 说明
pageID 页面ID,引用 PageText.db2 表,用于显示文本内容
language 语言ID,引用 Languages.db2 表
pageMaterial 页面材质,引用 PageTextMaterial.db2 表
openTextID/closeTextID 开启/关闭时显示的文本ID,引用 BroadcastText.db2 表

动画和视觉效果字段

字段 说明
customAnim 自定义动画,值范围0-4
floatingTooltip 控制是否显示浮动提示信息
floatOnWater 控制对象是否在水面上浮动
SpawnVignette 对象生成时的视觉效果ID
DontPlayOpenAnim 是否不播放开启动画
SortFarZ 是否按远Z排序渲染

交互机制字段

字段 说明
requireLOS 控制是否需要视线接触才能交互
allowMounted 控制是否可以在骑乘状态下交互
NeverUsableWhileMounted 强制禁止在骑乘状态下使用
AllowMultiInteract 是否允许多个玩家同时交互
playerCast 控制法术是否由玩家施放

关联机制字段

字段 说明
linkedTrap 关联一个陷阱对象,交互时会触发该陷阱
gossipID 指向 Gossip.db2 表中的记录,定义交互时的对话选项

性能优化字段

字段 说明
GiganticAOI/LargeAOI 扩大对象的活动范围,使远处玩家也能检测到
InteractRadiusOverride 自定义对象的交互距离,覆盖默认值
IgnoreBoundingBox 是否忽略对象的边界框检测
NoFuzzyHit 是否禁用模糊命中检测

生命周期字段

字段 说明
startOpen 对象的初始状态
SyncAnimationtoObjectLifetime 是否同步动画到对象生命周期

注意事项

  • 功能丰富: GOOBER是功能最丰富的GameObject类型,适用于各种特殊用途

  • 法术系统集成: spell字段连接了游戏的法术系统,是其核心功能之一

  • 冷却机制: cooldown字段可以控制对象的使用频率

  • 动画支持: customAnim和相关动画字段提供了丰富的视觉效果

  • 交互控制: 多个字段控制交互条件,如requireLOS、allowMounted等

  • 性能考虑: GiganticAOI和LargeAOI会影响服务器性能,应谨慎使用

使用示例

sql 复制代码
-- 一个基本的goober对象,交互时施放法术
INSERT INTO `gameobject_template` 
(entry, [type](file://c:\TrinityCore\dep\protobuf\src\google\protobuf\descriptor.h#L797-L797), displayId, [name](file://c:\TrinityCore\dep\g3dlite\include\G3D\XML.h#L166-L168), data10) 
VALUES (1023456, 10, 10234, '基本goober对象', 12345);
sql 复制代码
-- 一个与任务相关的goober对象
INSERT INTO `gameobject_template` 
(entry, [type](file://c:\TrinityCore\dep\protobuf\src\google\protobuf\descriptor.h#L797-L797), displayId, [name](file://c:\TrinityCore\dep\g3dlite\include\G3D\XML.h#L166-L168), data1, data10) 
VALUES (1023457, 10, 10235, '任务相关对象', 500, 12346);
sql 复制代码
-- 一个带冷却时间的goober对象
INSERT INTO `gameobject_template` 
(entry, [type](file://c:\TrinityCore\dep\protobuf\src\google\protobuf\descriptor.h#L797-L797), displayId, [name](file://c:\TrinityCore\dep\g3dlite\include\G3D\XML.h#L166-L168), data10, data6) 
VALUES (1023458, 10, 10236, '带冷却对象', 12347, 30);
相关推荐
FlagOS智算系统软件栈24 分钟前
与创新者同频!与FlagOS共赴开源之约
人工智能·ai·开源
说私域5 小时前
流量转化与生态重构:“开源AI智能名片链动2+1模式S2B2C商城小程序”对直播电商的范式革新
人工智能·重构·开源
ajassi20007 小时前
开源 Linux 服务器与中间件(十一)Emqx服务器消息的订阅和发送(mqtt测试)
linux·服务器·开源
周杰伦_Jay13 小时前
【PaddleOCR深度解析与DeepSeek-OCR对比】开源OCR工具库的技术路线与场景适配
人工智能·机器学习·云原生·架构·开源·ocr
CoderJia程序员甲15 小时前
GitHub 热榜项目 - 日榜(2025-10-20)
ai·开源·大模型·github·ai教程
科兽的AI小记17 小时前
从Coze到BuildingAI:一个程序员对开源AI应用平台的实战体验
数据库·开源·创业
尘世中一位迷途小书童17 小时前
Vuetify Admin 后台管理系统
前端·前端框架·开源
Lucky小小吴18 小时前
每日开源项目1——HyperLogLog库
开源·开源项目·1024程序员节·海量数据处理
suke18 小时前
LLM入局,OCR换代:DeepSeek与PaddleOCR-VL等LLM-OCR引领的文档理解新浪潮
人工智能·程序员·开源
zz-zjx20 小时前
MySQL 开源主从复制实战指南(SRE 可靠性优先版)
数据库·mysql·开源