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);
相关推荐
迷迭香yy6 分钟前
港股通标的数据管道实战从gphk列表到港股行情的落地细节 IG50免费开源股票数据API接口
开源
长弓三石38 分钟前
给企业级智能体装上「安全阀」:开源Harness平台BizBuddy 的内容安全与合规落地
安全·开源
python与大数据分析1 小时前
CNN+Transformer+Mamba 16 模型全景对比|DeepGlobe 遥感土地覆盖分割最全开源工程
cnn·开源·transformer
万物智能信息科技1 小时前
人体感应芯片PIR模块驱动开发—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
驱动开发·嵌入式硬件·华为·开源·harmonyos
死磕音视频1 小时前
自己搭一个“私人版 ChatGPT“:Open WebUI 一条命令部署 + 接入本地/云端模型保姆级教程
docker·开源·open webui·大模型部署
miofly2 小时前
Codex CLI 0.157.0 自动启动守护进程引发用户争议
开源·github
miofly2 小时前
Cursor 用 S3 上的 WAL 替代副本协调,Push 吞吐量超过每秒 300 次
开源·github
寻林写彡2 小时前
从技术报告到面试入口:安全岗位简历如何用问题、关键技术与量化结果重写项目经历
面试·开源
鶴哥只手遮天2 小时前
Octop 源码深潜-第 00 篇:导读与全景地图
人工智能·开源