WoW Lua - 如何在1.13版(Classic)中获取法术等级
2019-12-29 21:1:51
收藏:0
阅读:245
评论:1
我正在尝试获取一个法术的等级,但是GetSpellInfo不返回第二个参数(等级)。 如果我运行:
/dump GetSpellInfo( 5782 )
我得到
[1]="恐惧"
[3]="136813"
[4]="1500"
[5]="0"
[6]="20"
[7]="5782"
每种法术和等级的组合似乎都有一个唯一的ID:
5185 = 治疗之触 (等级1)
5186 = 治疗之触 (等级2)
5187 = 治疗之触 (等级3)
5188 = 治疗之触 (等级4)
5189 = 治疗之触 (等级5)
6778 = 治疗之触 (等级6)
8903 = 治疗之触 (等级7)
9758 = 治疗之触 (等级8)
如何根据ID获取法术等级?
我正在开发的模组(LunarSphere)从法术书中获取一个拖动操作。
我用一个按钮的SetAttribute功能:
self:SetAttribute("*spell-S01", "治疗之触")
获取最高等级或
self:SetAttribute("*spell-S01", "治疗之触(等级3)")
获取特定等级
谢谢!
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- Lua 虚拟机加密load(string.dump(function)) 后执行失败问题如何解决
- 我想创建一个 Nginx 规则,禁止访问
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?

它们只是不同的咒语。在某些情况下,我们倾向于将它们看作是同一咒语的不同等级,这使得某些事情变得尴尬。
作为您的插件的整体服务的一部分,您可能需要制作排名法术的数据库,并在自己的表中进行查找。
因此,“等级”仅用于在UI中显示额外的行,如果他们想要为该法术添加一个。
就像UI API中的许多事物一样,它们只是支持UI的功能,并且大多是实用主义的,只显示或执行WoW UI功能所必需的内容。
local subTextOrRank = GetSpellSubtext(spellId)这将获取等级的显示行,新引擎可能不会在法术信息中返回。如果法术在客户端上被缓存或不缓存,则“GetSpellSubtext”可能会返回等级文本,或者您可能会发现它每次都可以正常工作。
我过去曾使用此法术列表作为快速参考:
用于回答有关客户端可以静态使用的数据的许多问题:
以下是WoW Classic当前版本的客户端SpellName表的示例:
以下是相同WoW Classic版本的Spell表:
在这里,您可以看到它们实际上制作了一个表格,显示UI所需的内容,它没有更复杂或深入。如果您计划从程序角度依赖表字符串字段,则需要注意和添加排除因等级而导致文本错误的一致性破坏。
您可以尝试在加载时通过法术列表并构建一个排名列表来进行滚动,但要注意该表中有21,000个法术。如果您只担心玩家法术,那么您可以为自己的插件制作一个存储为表的小型预构建列表,而且它只有数百个表项。您可以拥有基本英文名称以及等级的最小和最大字段。
我认为“GetSpellSubtext”在循环中将Luatable输出到本地客户端,结合表格和滚动小型DB,可能会为您打破木桩。