1

当你试图到达达拉然的达拉然井时,你会被传送到下水道。

它正在使用这个游戏对象:Doodad_Dalaran_Well_01(id = 193904)

它是在哪里编写的?如何?

我在表中smart_scripts没有找到任何东西,在核心中也没有找到关于这个特定 id 的任何东西,所以我很好奇,因为这种类型的传送真的比点击游戏对象更好

4

1 回答 1

1

这个游戏对象是一个独特的案例,因为它的工作方式与实例传送一样。如果您检查该gameobject_template表,您将看到它有几Data列具有基于游戏对象的不同值type。您所指的游戏对象也是 Well It 自身,但井内的门户游戏对象为玩家提供了一个虚拟咒语,告诉核心玩家已被传送(咒语 ID 61652)。对于达拉然井的具体情况,它的类型是 30,这意味着,如文档所述,GAMEOBJECT_TYPE_AURAGENERATOR. 一旦玩家在范围内,就会对他施放一个虚拟光环,以通知核心该区域触发器已被激活(当玩家被虚拟咒语击中时,您可以做一些事情)。

这里的诀窍是兔子,但不是兔子本身,因为它主要用于确定区域触发器。如果你使用命令 .go gobject 61148 你可以检查他,他在井里。

Areatriggers 是一个 DBC 对象,它实际上存在于我们的数据库中world.areatrigger您可以在此处查看列。当玩家进入区域触发器上指定的半径框时,核心中会发生另一件事,即world.areatrigger_teleport.

如果您运行以下查询,您将能够检查触发器将玩家传送到的位置。

SELECT * FROM areatrigger_teleport WHERE `Name` LIKE '%Dalaran Well teleporter%';
于 2020-02-21T14:17:14.797 回答