世界 of Warcraft Lua - 改变 frame:SetAttribute()
2013-4-5 1:31:35
收藏:0
阅读:136
评论:1
我正在制作一个适合我的游戏风格的 World of Warcraft 插件,该插件将完全改变用户界面。
在此插件中,我想要有一个大按钮,它可以作为我的法师的主要 dps 循环。我希望它根据任何给定时间的最佳情况改变其施法的法术。它不会自动施法,只是向用户呈现下一个最佳选项。
以下是我的代码:
local Button = CreateFrame("Button", "MyButton", UIParent,"SecureActionButtonTemplate") Button:SetWidth(256) Button:SetHeight(256) Button:SetFrameStrata("HIGH") Button:SetPoint("LEFT") Button:SetText("Main Rotation") Button:RegisterForClicks("AnyUp") Button:SetAttribute("type", "spell") Button:SetAttribute("spell", "Fireball")
Button:RegisterEvent("UNIT_AURA"); local function auraGained(self, event, ...) if (UnitAura("player", "Heating Up")) then if (heatingUpIsActive == false) then heatingUpIsActive = true print (heatingUpIsActive) print ("Heating Up is active!") Button:SetAttribute("spell", "Inferno Blast") end else heatingUpIsActive = false print("Heating Up is NOT active.") print(heatingUpIsActive) end end Button:SetScript("OnEvent", auraGained);
local tex = Button:CreateTexture("ARTWORK"); tex:SetPoint("LEFT") tex:SetWidth(256) tex:SetHeight(256) tex:SetTexture("Interface\\AddOns\\InterfaceOverhaul\\Button2")
如果 heatingUpIsActive == true,我希望按钮施放 ("spell", "Inferno Blast"),而不是 ("spell", "Fireball"),但如果我将它放到正确的 if 语句部分中,它会失效。
有什么想法吗?
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- 如何将两个不同的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 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
正如 Mud 所说,你不能在战斗中重新绑定按钮。 暴雪公司进行了这个修改,是为了防止机器人能够自动化战斗。 值得注意的是,为了施放咒语,你需要使用其中一个安全样板,并且这些安全样板仅允许修改控制它们的属性,当你不在战斗中时这些属性发挥作用。 因此,你不能让一个按钮在战斗中改变咒语。 同样,他们还防止你修改属性,例如它们的位置或可见性,因此你不能将按钮移动到鼠标下方。
你能做的最好的事情就是展示一个表明应该施放什么咒语的视觉指示器,但仍需要依赖用户按下正确的按钮。