WOW 脚本例子
2022-01-18 本文已影响0人
unlockc
这个例子是:玩家变量加载完的后(你可以认为技能绑定对应“历史”按键完成),在聊天框打印一行日志。
在目录 ...\World of Warcraft_classic_\Interface\AddOns\MyAddOn 下建3个文件
- MyAddOn.toc
## Interface: 20502
## Title : My AddOn
## Notes: This AddOn does nothing but display a frame with a button
## Author: My Name
MyAddOn.xml
MyAddOn.lua
- MyAddOn.xml
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/
G:/Users/UI.xsd">
<Script file="MyAddon.lua"/>
<Frame name="MyAddon">
<Scripts>
<OnLoad function="MyAddonOnLoad">
</OnLoad>
<OnEvent>
--玩家变量加载完的后,在聊天框打印一行日志。
print("MyAddon var load event:" .. tostring(event));
</OnEvent>
</Scripts>
</Frame>
</Ui>
G:/Users/UI.xsd 是wow在选角界面解包出来的文件(详细情况看:https://wowwiki-archive.fandom.com/wiki/Extracting_WoW_user_interface_files).如果不明白 UI.xsd 的作用,这个可以不管它也不会出问题。如果有不明白,但有兴趣了解的请百度搜索关键字XML Schema Definition
- MyAddOn.lua
function MyAddonOnLoad(self)
SlashCmdList["MyAddOn"] = MyAddOnSlashCommand
SLASH_MYADDON1 = "/myaddon1"
self:RegisterEvent("VARIABLES_LOADED") --玩家变量加载完,事件侦听
end
function MyAddOnSlashCommand()
print("MyAddOn_SlashCommand")
end
function ErrorWithStack(msg)
msg = msg.."\n --错误--"..debugstack()
print(msg)
end
seterrorhandler(ErrorWithStack)
local addOnName, T = ...
print("addOnName:", addOnName, " T:", T)
print("_ENV:", getfenv(1), " _G:", _G, " _G.debug:", _G.debug)
![](https://img.haomeiwen.com/i16495674/b74870f6cf404be5.png)