ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
>[danger] 所有标签都要以"##"开头,到行尾结束 提供了有关AddOn的基本信息。 以`#`开头的行被视为注释,并且被WoW忽略。 另外两行(不是以开头`##`)告诉WoW哪些文件属于AddOn(此处`eCoordinates.lua`和`eCoordinates.xml`)。 例子: ~~~ ## Interface: 60200 -- 游戏版本(必须) ## Title: eCoordinates -- Name shown when viewing AddOn list. ## Version: 1.0 -- Version number (if there are multiple versions) ## Notes: Simple GPS -- AddOn tooltip on loading screen. ## Author: eSaith -- Not required; author of  eCoordinates.lua -- .lua 让WoW知道它正在寻找什么Lua文件(必须) eCoordinates.xml -- 加载xml文件 ~~~ ## Interface: ``` 格式:##Interface:11200 ``` 这里Interface表示插件对应的游戏客户端的版本号,如果插件的Interface号和当前游戏客户端版本号不一致,那么游戏默认不会加载插件,但你可以在插件管理面板中手动加载"过期插件",这样游戏就会忽略Interface 获取当前客户端版本号游戏两天矿输入 /dump GetBuildInfo() 第四个就是版本号啦 或者 /run print((select(4, GetBuildInfo()))) ## Title: 格式: ``` ##Title: My Addon ##Title-zhCN: 我的插件 ``` Title表示插件的名称,也就是插件管理面板里显示的那个。支持多语言定义,默认为英语。其他语言要在Title后面加上后缀,就像上面那样。zhCN表示简体中文,zhTW就是台湾的繁体中文。前面2个小写是语言,后面2个大写是国家和地区。 还有个好玩的东西就是颜色,WoW支持字串形式的颜色定义。插件面板默认字体颜色是黄,你可以根据自己的喜好自行定义文本颜色,这里就用到颜色字串。颜色字串以"|c"开头"|r"结束。中间是16进制αRGB颜色代码和要显示的文本。比如我要将"我的插件"几个字显示为蓝色。那么就应该是: ``` ##Title: |cff0000ff我的插件|r ``` 其中|c表示接下来的8位字符是颜色代码,以α(alpha透明度)、R(红)、G(绿)、B(蓝)顺序排列。前面2位ff表示被着色的文本完全不透明,但需要指出的是并非所有的地方都支持透明。之后就是着色的文本了,这里就是"我的插件",|r表示颜色结束,如果没有结束标记,那么WoW将颜色代码以后到这一行结束的全部文本都进行着色。 值得一提的是,这个颜色字串应用相当广泛,包括人物ID也可以,这也是为什么暴雪禁止使用符号和数字以及英文汉字混合的原因了,当然也是考虑到搜索的方便。 ## Note: 格式: ``` ## Notes: This is my first AddOn. ## Notes-zhCN: 这是我的第一个插件。 ``` 只有Title和Notes标签支持其他语言,除此之外都要用英语书写。Notes包含插件的说明内容,就是对插件功能的简单描述,将出现在插件管理面板中鼠标经过的地方。 ## Dependencies`` ## RequiredDeps: 格式: ``` ## Dependencies: someAddOn, someOtherAddOn ## RequiredDeps: someAddOn, someOtherAddOn ``` Depend是依赖的意思。为了让插件更好地工作,某些插件开发者会使用第三方库或其他现成的插件作为基础和辅助,这么做的有点就是节约了开发成本,也使开发过程简便了许多,不足的地方就是,要让插件正常工作,系统必须确保所依赖的文件都要存在,否则,如果任何依赖的库或插件缺失,当前插件加载都会失败。依赖的名称即依赖插件的名称,也就是目录文件夹的名称。如果需要依赖多个库或插件,彼此用逗号","隔开。注意大小写一致。 注: Dependencies、RequiredDeps、Dependancies[sic]结果是一样的。 ## OptionalDeps: 格式: ``` ##OptionalDeps: someAddOn, someOtherAddOn ``` `可选依赖`是当前插件为了实现某些附加功能而依赖的外部库或插件,但如果依赖的东西不存在,那么当前插件也可以正常工作,但是使用可选依赖的插件必须写明当依赖不存在的时候也可以工作。 ## LoadOnDemand: 格式: ``` ## LoadOnDemand: 1 ## LoadOnDemand: 0 ``` 从1.7开始,插件可以用命令来加载,而不用非得在用户第一次登录的时候加载。如果启用这一功能,此插件则必须在未来某个时候被另一个插件加载。这是为了避免加载一些特殊的不常用的插件而导致内存资源占用,非常有效。副魔助手(Enchantrix)就用到了这一特性。 ## LoadWith: 格式: ``` ## LoadWith: someAddOn, someOtherAddOn ``` 1.9新加的。和LoadOnDemand一起用,这使你的插件跟随某个插件一起被加载(通常是暴雪的UI模块,像Blizzard_AuctionUI)。 ## SavedVariables: 格式: ``` ## SavedVariables: someVariable, someOtherVariable ``` 从Interface版本2150开始有的(统一存放的变量),保存的变量是当前流行的存储不同人物角色的方式。这些变量在客户端启动或UI重载(reload)时被载入。SavedVariables标签现以取代RegisterForSave函数,后者已经不再受客户端支持。注意在OnLoad事件过程中,SavedVariables并未完全加载所以必须假设包含nil(空)值直到以插件文件名为参数的ADDON_LOADED事件被触发。 这比以前那个为保存注册变量的脚本强的多,因为即便你的插件被禁用或因为错误、版本不匹配等问题没有加载,SavedVariables依然会被保存。 ## SavedVariablesPerCharacter: 格式: ``` ## SavedVariablesPerCharacter: somePercharVariable ``` 这个标签和SavedVariables工作方式一样,只不过是给予每个角色创建的。以前这个标签只能用角色名来区分不同的角色,现在可以根据服务器和角色名一起来区分了。 ## DefaultState: 格式: ``` ## DefaultState: enabled ## DefaultState: disabled ``` 这里的enabled/disabled状态被写在WTF\Account\{youraccount}\AddOns.txt里,{youraccount}部分是你的帐号名。并且这个文件会覆盖的DisabledAddOns.txt,后者为了保持兼容仍然会被老版本的加载。 ## Secure: 格式:## Secure: 1 这个标签被添加到Blizzard_UI(1.11中作为默认UI一部分)。它的确切目的无从知晓,但一个可能就是它告诉客户端是否要为插件寻找一个签名。 非标准标签: 用##标示还可以添加更多额外的信息,某些第三方插件甚至使用自行提供的信息。下面是一些常用的标签: 插件元数据标签: 这些标签和Title、Notes放在一起,并可用GetAddOnMetadata("addon", "field")来调用。 ## Author: 格式: ## Author: MyName 作者的名字,也可以是Email地址。 ## Version: 格式: ## Version: 1.0 插件的版本号。可以是任何字符串,因为自动更新的工具会解析数字,所以最好是以数字版本开头。 ## X-\<data>: 格式: ``` ## X-email: Author@Domain.com ## X-Foo: I love pancakes ## X-Foo-zhCN:偷心贼 ``` 任何以X-开头的标签。 ## Ace2注视标签: 和Ace不一样,Ace2直接从TOC文件提取插件元数据,特定的域(field)进行特定的处理,即Version和X-Date,那么你就可以用CVS和Subversion关键字例如$Rev$作为它们的值。 除了正经域以外,它还可以寻找下列自定义的域。 ## X-Date: 格式: ## X-Date: 12-06-2007 插件的发布日期。 ## X-eMail 格式: ## X-eMail: frankcupid@hotmail.com ## X-Website: 格式:## X-Website: http://maplezone.spaces.live.com 插件的网站。 ## X-Category: 格式: ## X-Category: Raid 插件的Ace2目录。 此目录在AceAddon.lua中声明。 local CATEGORIES = { ["Action Bars"] = "Action Bars", ["Auction"] = "Auction", ["Audio"] = "Audio", ["Battlegrounds/PvP"] = "Battlegrounds/PvP", ["Buffs"] = "Buffs", ["Chat/Communication"] = "Chat/Communication", ["Druid"] = "Druid", ["Hunter"] = "Hunter", ["Mage"] = "Mage", ["Paladin"] = "Paladin", ["Priest"] = "Priest", ["Rogue"] = "Rogue", ["Shaman"] = "Shaman", ["Warlock"] = "Warlock", ["Warrior"] = "Warrior", ["Healer"] = "Healer", ["Tank"] = "Tank", ["Caster"] = "Caster", ["Combat"] = "Combat", ["Compilations"] = "Compilations", ["Data Export"] = "Data Export", ["Development Tools "] = "Development Tools ", ["Guild"] = "Guild", ["Frame Modification"] = "Frame Modification", ["Interface Enhancements"] = "Interface Enhancements", ["Inventory"] = "Inventory", ["Library"] = "Library", ["Map"] = "Map", ["Mail"] = "Mail", ["Miscellaneous"] = "Miscellaneous", ["Quest"] = "Quest", ["Raid"] = "Raid", ["Tradeskill"] = "Tradeskill", ["UnitFrame"] = "UnitFrame", } # 其他注释标签: ## Email: 格式: ## eMail: Author@Domain.com 插件作者Email地址。 ## URL: 格式: # URL: http://wow.mywebsite.com/ 插件或作者的网站地址。 .toc文件样例: ## Interface: 20300 ## Title : My AddOn ## Notes: This AddOn does nothing but display a frame with a button ## Author: My Name ## eMail: Author@Domain.com ## URL: http://www.wowwiki.com/ ## Version: 1.0 ## Dependencies: Sea ## OptionalDeps: Chronos ## DefaultState: enabled ## SavedVariables: settingName, otherSettingName myAddOn.xml MyFrame.xml MyButton.xml ## eMail ## UIType 插件类型