WOW 脚本例子

2022-01-18  本文已影响0人  unlockc

这个例子是:玩家变量加载完的后(你可以认为技能绑定对应“历史”按键完成),在聊天框打印一行日志。

在目录 ...\World of Warcraft_classic_\Interface\AddOns\MyAddOn 下建3个文件

## Interface: 20502
## Title : My AddOn
## Notes: This AddOn does nothing but display a frame with a button
## Author: My Name
MyAddOn.xml
MyAddOn.lua
<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

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)
游戏机加载完,看到的日志
上一篇 下一篇

猜你喜欢

热点阅读