在開發Addon之前,必須瞭解其構成。在WoW中,規定Addon由至少三中文件構成:
- toc:指明該Addon適用的客戶端API版本,以及Addon包含(和依賴)的文件。
- xml:用於創建UI,指明事件處理腳本(Lua)。在某些情況下,可以不需要Lua文件,而直接將腳本嵌入到<scripts></scripts>標籤中。
- lua:實現Addon功能的腳本。
Test.toc文件內容:
## Interface: 20300
## Title: Test Addon
test.lua
test.xml
Test.xml文件內容:## Title: Test Addon
test.lua
test.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/../FrameXML/UI.xsd">
<Frame name = "Test_Frame" hidden="true">
<Scripts>
<OnLoad>Test_load();</OnLoad>
</Scripts>
</Frame>
</Ui>
Test.lua文件內容:<Frame name = "Test_Frame" hidden="true">
<Scripts>
<OnLoad>Test_load();</OnLoad>
</Scripts>
</Frame>
</Ui>
function Test_load()
-- Slash Commands
SLASH_Test1 = "/test";
SlashCmdList["Test"] = Test_commandline;
DEFAULT_CHAT_FRAME:AddMessage("Test AddOn is now loaded!");
end
function Test_commandline(cmd)
local a = gsub(cmd , "(%d+)(%s)(%d+)", "%1");
local b = gsub(cmd , "(%d+)(%s)(%d+)", "%3");
DEFAULT_CHAT_FRAME:AddMessage("a + b ="..a+b);
end
爲了運行Addon,需要將上述三個文件放在
客戶端安裝目錄下/Interface/AddOns/Test目錄下,然後啓動客戶端,在聊天框中輸入:/test <arg1> <arg2>就可以運行腳本了。截圖如下:-- Slash Commands
SLASH_Test1 = "/test";
SlashCmdList["Test"] = Test_commandline;
DEFAULT_CHAT_FRAME:AddMessage("Test AddOn is now loaded!");
end
function Test_commandline(cmd)
local a = gsub(cmd , "(%d+)(%s)(%d+)", "%1");
local b = gsub(cmd , "(%d+)(%s)(%d+)", "%3");
DEFAULT_CHAT_FRAME:AddMessage("a + b ="..a+b);
end
爲了運行Addon,需要將上述三個文件放在