魔兽世界插件开发-Table Of Contents(TOC)文件
魔獸世界插件開發(fā) 插件教程 插件編寫?Table Of Contents TOC文件介紹
更多信息請關(guān)注:鴻石散人
Table Of Contents
????????Table Of Contents.TOC文件插件的清單文件。它包含了關(guān)于插件的特定信息,如名稱,描述,存儲,環(huán)境,插件文件的加載順序。
????????TOC 文件必須存在,否則魔獸客戶端不能識別。
????????TOC 文件名稱必須和插件目錄名稱一致。
TOC 文件格式
- TOC文件內(nèi)容以行為執(zhí)行單元
- 以“#”開頭的行: 注釋行 加載時(shí)會被忽略
- 以“##”開頭的行:標(biāo)記行 提供有關(guān) AddOn 的元數(shù)據(jù)
- 非# 和 ## 的行: 文件行 提供順序加載的文件的名稱
- 每行最多讀取前 1024 個(gè)字符。其他字符將被忽略,不會導(dǎo)致錯(cuò)誤。
- 文件行中的文件可使用相對路徑,相對路徑起始值是TOC文件的路徑。
- 文件行引用的是 Lua 文件和 XML 文件。
- LUA和XML文件的編寫順序也是加載的加載順序,靠前的文件先加載。
示例
#注釋行,提供解釋和說明 ## Interface: 20504 fn.lua fn.xml fd.luaTable Of Contents標(biāo)簽
Interface 接口號
指定插件的客戶端接口版本。必須與客戶端版本匹配,否者提示“加載過期插件”。
## Interface: 20504Title 標(biāo)題
指定插件顯示的名稱。可以使用本地化依據(jù)客戶端進(jìn)行改變。同時(shí)支持 UI轉(zhuǎn)義。
#如果不定義 直接使用插件名稱進(jìn)行顯示 #正常設(shè)置 ## Title: 空插件 #國際化設(shè)置 ## Title-zhCN: 國際化空插件 #文本支持UI轉(zhuǎn)義改變顏色 ## Title: |cFFFF0000空|cFF00FF00插|cFF0000FF件|r|r|rNotes 描述
????????鼠標(biāo)懸停于插件列表的項(xiàng)目上時(shí),顯示的插件描述。同TITLE 的設(shè)置內(nèi)容相同。
#正常設(shè)置 ## Notes: 空插件 #國際化設(shè)置 ## Notes-zhCN: 國際化空插件 #文本支持UI轉(zhuǎn)義改變顏色 ## Notes: |cFFFF0000空|cFF00FF00插|cFF0000FF件|r|r|rRequiredDeps 或者 "Dep"開頭的
????????依賴插件,依賴插件加載成功才加載本插件,如果有一個(gè)依賴未加載本插件也不會加載,依賴的插件可以為多個(gè)并且以英文逗號為分隔。
#RequiredDeps ## RequiredDeps: EmAddOns,EmpAddOns #Dep...開頭的任何名字 #Dep 代表 Dependencies ## DepEmap: EmAddOnsOptionalDeps
????????可選依賴插件,在本插件之前加載,沒有加載的情況下本插件也能正常運(yùn)行。寫法同依賴插件
## OptionalDeps : EmAddOnsLoadOnDemand
????????延時(shí)加載、動態(tài)加載、按需加載,命令加載都可以叫。如果為0表示直接加載。
????????如果為1,用戶首次登陸時(shí)不加載本插件,但是登陸后可由其他插件加載。默認(rèn)為0直接加載。
## LoadOnDemand: 1LoadWith
????????值為插件名稱列表,以逗號分割, 當(dāng)LoadOnDemand=1時(shí)列表中的任意一個(gè)插件加載完成之后,本插件也會進(jìn)行加載。
## LoadWith: EmAddOns,Em1AddOnsLoadManagers
????????值為插件名稱列表,以逗號分割。配置的插件都不存在,用戶第一次登陸時(shí)會加載本插件。如果有一個(gè)存在,那么本插件將按照LoadOnDemand設(shè)置為1的情況處理。
## LoadWith: EmAddOns,Em1AddOnsSavedVariables
????????以逗號分割的變量名稱列表,變量的值對同一戰(zhàn)網(wǎng)賬戶是通用的。在ADDON_LOADED事件觸發(fā)之前不可用。
#存儲路徑:安裝目錄\_classic_\WTF\Account\戰(zhàn)網(wǎng)名稱\SavedVariables ## SavedVariables: emptyGVarSavedVariablesPerCharacter
????????類似SavedVariables,以每個(gè)角色保存各自的變量值,也就是說SavedVariables適合保存通用配置,SavedVariablesPerCharacter適合保存?zhèn)€人配置。
#存儲路徑:安裝目錄\_classic_\WTF\Account\戰(zhàn)網(wǎng)名稱\服務(wù)器\角色\SavedVariables ## SavedVariablesPerCharacter: emptyLVarDefaultState
????????插件首次安裝默認(rèn)是否開啟,如果設(shè)置成 “disabled”,那么只有在插件列表中勾選本插件后,才會被加載。默認(rèn)值 “enabled”。
????????World of Warcraft\_classic_\WTF\Account\戰(zhàn)網(wǎng)賬號\服務(wù)器\角色名\AddOns.txt
????????這個(gè)文件會保存手動操作插件列表后的狀態(tài),如果有值就會忽略DefaultState的配置
## DefaultState: enabledSecure
????????如果此標(biāo)簽的值為 1,并且插件由暴雪進(jìn)行了數(shù)字簽名,則其代碼被認(rèn)為是安全的。
Author
? ? ? ? 插件作者名字
Version
????????插件自身的版本號
元數(shù)據(jù)標(biāo)簽
????????插件允許在TOC 文件里增加帶有“X-”前綴的元數(shù)據(jù)。他可以在查詢運(yùn)行時(shí)(通過 GetAddOnMetadata 函數(shù))得到
##X-x : 1 ##X-y : 10 ##X-itme : itemy = GetAddOnMetadata("EmptyAddOns","X-y") print(y)總結(jié)
以上是生活随笔為你收集整理的魔兽世界插件开发-Table Of Contents(TOC)文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java JPanel设置边框和标题
- 下一篇: sbt启动机制、配置优化及与Intell