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);
相关推荐
冬奇Lab12 小时前
一天一个开源项目(第14篇):CC Workflow Studio - 可视化AI工作流编辑器,让AI自动化更简单
人工智能·开源·编辑器
晚霞的不甘12 小时前
CANN 支持强化学习:从 Isaac Gym 仿真到机械臂真机控制
人工智能·神经网络·架构·开源·音视频
ujainu12 小时前
解码昇腾AI的“中枢神经”:CANN开源仓库全景式技术解析
人工智能·开源·cann
斯普信专业组12 小时前
构建基于MCP的MySQL智能运维平台:从开源服务端到交互式AI助手
运维·mysql·开源·mcp
旺仔Sec12 小时前
一文带你看懂免费开源 WAF 天花板!雷池 (SafeLine) 部署与实战全解析
web安全·网络安全·开源·waf
心疼你的一切12 小时前
语音革命:CANN驱动实时语音合成的技术突破
数据仓库·开源·aigc·cann
开源能源管理系统13 小时前
MyEMS开源能源管理系统:赋能废旧金属回收加工行业绿色转型与降本增效
开源·能源·能源管理系统·零碳工厂
廖松洋(Alina)13 小时前
【收尾以及复盘】flutter开发鸿蒙APP之成就徽章页面
flutter·华为·开源·harmonyos·鸿蒙
廖松洋(Alina)14 小时前
【收尾以及复盘】flutter开发鸿蒙APP之打卡日历页面
flutter·华为·开源·harmonyos·鸿蒙
廖松洋(Alina)14 小时前
【收尾以及复盘】flutter开发鸿蒙APP之本月数据统计页面
flutter·华为·开源·harmonyos·鸿蒙