WoW Lua-如何在1.13中获得法术等级(经典)

列昂纳多

我正在尝试获取咒语的等级,但是GetSpellInfo不会返回第二个参数(等级)。如果我运行:

/dump GetSpellInfo( 5782 )

我懂了

[1]="Fear"
[3]="136813"
[4]="1500"
[5]="0"
[6]="20"
[7]="5782"

咒语和等级的每种组合似乎都有一个唯一的ID:

5185 = Healing Touch (rank1)
5186 = Healing Touch (rank2)
5187 = Healing Touch (rank3)
5188 = Healing Touch (rank4)
5189 = Healing Touch (rank5)
6778 = Healing Touch (rank6)
8903 = Healing Touch (rank7)
9758 = Healing Touch (rank8)

给定ID如何获得咒语等级?

我正在使用的模组(LunarSphere)受到了魔法书的拖累。

我将其与按钮SetAttribute一起使用:

self:SetAttribute("*spell-S01", "Healing Touch")

对于最高等级或

self:SetAttribute("*spell-S01", "Healing Touch(rank 3)")

对于特定等级

谢谢!

无头

他们只是不同的咒语。对于某些事物,当我们倾向于将它们视为同一法术的不同等级时,它变得尴尬。

作为附加组件提供的整体服务的一部分,您可能必须制作一个已排序法术的数据库,并在自己的表中进行查找。

https://wowwiki.fandom.com/wiki/API_GetSpellInfo

等级(字符串)-咒语工具提示中的等级行,例如“等级2”。返回其他一些分类(例如召唤法术的“ Summon”)或没有等级的空字符串。

因此,“排名”仅用于在用户界面中显示多余的行(如果他们想为该咒语添加一行)。

就像UI API中的许多东西一样,它们只是在支持UI的地方,而且大多是实用的,并且是显示或执行WoW UI功能所必需的。

local subTextOrRank = GetSpellSubtext(spellId)

这将获得排名的显示行,新引擎可能不会使用拼写信息返回行列。如果该咒语是否缓存在客户端上,“ GetSpellSubtext”可能会也可能不会返回等级文本,或者您最终会看到它每次都有效。

我过去曾使用此拼写列表作为快速参考:

http://kyle.13th-floor.org/wow/spells/spells_2_4_0.txt

为了回答有关数据的许多问题,客户端可以静态使用这些数据:

https://wow.tools/dbc/

这是最新版本的WoW Classic中的客户端SpellName表的示例:

https://wow.tools/dbc/?dbc=spellname&build=1.13.3.32836#search=&page=1

这是来自相同WoW Classic版本的Spell表:

https://wow.tools/dbc/?dbc=spell&build=1.13.3.32836#search=&page=1

ID, NameSubtext_lang, Description_lang, AuraDescription_lang
1
3
4
5, , Instantly Kills the target. I hope you feel good about yourself now.....
7
10, Rank 1, Ice shards pelt the target area doing $o1 Frost damage over $d.
11

在这里,您可以看到他们从字面上构成了一张显示UI所需的表格,它的复杂性和深度并不比它复杂。

而且,如果您阅读了该列表,则可以看到或想象它基本上是手工完成的,因此可能有错误,或者可能有帮助排名描述字段但破坏一致性的文本。重要的是要注意,如果您出于编程目的而依赖表字符串字段,则需要了解这些信息并将异常添加到等级测试中。


您可以尝试在加载时滚动查看咒语列表,并快速建立排名列表,但是请注意,该表中有21,000个咒语。如果您只担心玩家的咒语,则可以制作一个迷你的预先建立的列表,作为自己的插件存储为表格,并且该表格只有数百个。您可以具有基本的英文名称以及用于排名的“最小”和“最大”字段。

我认为,循环使用“ GetSpellSubtext”在本地客户端上吐出一个Lua表,再结合这些表并滚动一个小的数据库可能会为您解决日志阻塞的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章