我在为魔兽世界编写一个简单的界面插件时遇到了一些问题。我正在尝试实现以下目标:如果我的一个法术没有冷却时间,我想显示一个按钮。如果我点击按钮,那么法术应该施放并且按钮应该在冷却时间内隐藏。
演员工作正常,但我无法隐藏按钮。单击后,我总是在聊天中收到错误消息。这是我的代码:
测试插件.toc
## Interface: 60000
## Title: TestAddon
## Notes: Test
## Version: 1.0
TestAddon.lua
测试插件.lua
btn_schutz = CreateFrame("Button", "MyButton", UIParent, "SecureActionButtonTemplate");
btn_schutz:ClearAllPoints();
btn_schutz:SetAttribute("type", "spell");
btn_schutz:SetAttribute("spell", "Schutz"); -- Schutz is name of spell (German)
btn_schutz:SetAttribute("unit", "player");
btn_schutz:SetPoint("CENTER", 0, 0);
btn_schutz:SetNormalTexture("Interface\\Icons\\ability_monk_guard");
btn_schutz:SetSize(48, 48);
btn_schutz:SetScript("OnUpdate", onUpdate);
btn_schutz:Show();
function onUpdate()
local schutz_id = 115295;
if GetSpellCooldown(schutz_id) == 0 then
btn_schutz:Show(); -- causes error message
else
btn_schutz:Hide(); -- causes error message
end
end