首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在突袭中对玩家应用光环的正确方法是什么?

在突袭中对玩家应用光环的正确方法是什么?
EN

Stack Overflow用户
提问于 2021-01-07 08:39:01
回答 1查看 68关注 0票数 1

我正在将我的服务器扩展到5个玩家的突袭中,所以我试图将光环应用到一个raid中的所有玩家,让玩家在所有职业/规格都出现在raid中的情况下,他们通常会拥有的所有raid法术/解除法术。这将有效地使它,使玩家总是拥有他们的职业的完整阵列的法术,而不管组组成。

对于其中的一个法术和所有的减法术,我制作了一个自定义的法术,对玩家施加一个法术,给他们一个光环,将减法术应用到离玩家40码以内的怪物身上。然后我将这些法术添加到raid区域的Spell_Area中,并在Spell_Group中将它们与实际的法术相关联,以防止堆叠。我这样做有两个问题。

首先,自定义增益/调试法术在玩家(增益)或敌方生物(解除增益)上都不可见。我通过GM命令确认了光环的应用,玩家的攻击很明显,效果实际上是应用的,所以这只是一个视觉错误。

第二,在开始突袭后不久,会有大量的服务器延迟。玩家在突袭中停留的时间越长,滞后就越严重。我能够确定这些法术看起来像是不断地应用在玩家身上,这是不应该发生的,因为当他们进入区域时,它应该只是应用这个法术。

视觉问题是我并不太关心的问题,因为预期的效果至少是发生了,但服务器延迟使raids无法播放。有没有一种方法可以应用这些光环而不会有延迟,或者有没有更好的方法来给所有玩家提供相关的法术/解除法术?

EN

回答 1

Stack Overflow用户

发布于 2021-01-09 03:16:52

我不能说这是否会减少延迟,因为我没有可能尝试这样做。

但是你可以做的是,对于为生物应用光环的拼写脚本,首先检查生物是否有光环,如果没有,则添加它。

至于将光环应用于玩家,我发现可以在

代码语言:javascript
复制
void OnPlayerAreaUpdate(Player* player, uint32  /*oldArea*/, uint32 newArea) override

在instance_icecrown_citadel.cpp中添加此检查

代码语言:javascript
复制
            if (!(player->isDead()) && !(player->HasAura(47889)))
                player->AddAura(47889, player);

这样,它不会添加光环的情况下,玩家有光环,而不是死亡。如果玩家已经死了又复活了,它也会增加光环。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65605173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档