译者:SilverFox
原文(TOC format)发表于wowwiki.com,由SilverFox翻译并进行内容的填加。版权归属于CWDG。
.TOC文件用于定义每个已安装插件的信息,并指明插件中哪些.XML文件需要被加载。插件在被识别、显示在插件列表中及加载过程中均需要TOC文件来标识。插件内的TOC文件名必须与插件所在文件夹名相同,以便于WoW识别。
WoW仅读取TOC文件内每一行的前1024个字符,多余的字符将被忽略且不提示为错误。
目录
如何找到
World of Warcraft\Interface\AddOns\MyAddon\MyAddon.toc
客户端识别标签
每个标签以## 开始,某些标签后缀有本地化标识。每个标签占用一行。
Title和Notes可本地化为其他语言。完整的本地化标识请参看API GetLocale。
Interface
Interface版本号用于告诉WoW此插件适用哪个版本。若版本与当前WoW客户端不符合,该插件默认被禁用。若玩家关闭版本检测功能(译者注:即启用过期插件),客户端将忽略TOC文件中的Interface版本号而启用插件(译者注:通常情况下,每次版本更新后都有少量的API调整,若该插件使用的API已被禁止,则无法正常工作)。在#后应填写什么数值,请参看如何获取当前插件的版本号。
## Interface: 20006
Title
Title标签用于显示人物选择界面的插件列表中的插件名称。在插件列表中,当您的鼠标停留在某插件名上时,该标签将显示在提示信息中。本地化版本可在此标签后使用"-"连接本地化标识,则对应的本地化版本仅显示对应的本地化标签。
## Title: My Addon## Title-deDE: Titel## Title-frFR: Titre## Title-zhCN: 插件名称
Title标签支持彩色显示,如同游戏内彩色的物品链接一般。如下例将"-Ace2-"显示为亮绿色。
## Title: ag_UnitFrames |cff7fff7f -Ace2-|r
Notes
在插件列表中,当您的鼠标停留在某插件名上时,Notes标签将显示在提示信息中,并位于插件名称的下方。本地化版本可在此标签后使用"-"连接本地化标识,则对应的本地化版本仅显示对应的本地化标签。
## Notes: This is my first AddOn.## Notes-deDE: Informationen## Notes-frFR: Texte## Notes-zhCN: 插件说明
RequiredDeps
RequiredDeps标签用于强制WoW客户端仅在某插件所需的插件函数库均存在的前提下才加载该插件。某些插件使用了第三方库文件以求达到更有效的实现功能。若其需要的某一函数库不存在的话,该插件将无法正常工作。RequiredDeps标签后所填写的插件名称应与该插件所在文件夹名相同,多个名称以半角逗号","隔开。
## Dependencies: someAddOn, someOtherAddOn
您亦可使用如下标签:
## RequiredDeps: someAddOn, someOtherAddOn
注:Dependencies、RequiredDeps 与 Dependancies[原] 所实现效果相同。
OptionalDeps
OptionalDeps标签一般为可供某些插件调用的扩展函数库或插件。当扩展函数库存在时,插件所调用的功能即可实现;但即使扩展函数库不存在,插件也应能正常工作。这些插件亦需提供不依赖上述函数库而实现主要功能的方法,以保证插件的正常工作。
## OptionalDeps: someAddOn, someOtherAddOn
LoadOnDemand
从1.7版本开始,插件可以在需要时,而不是在玩家第一次进入游戏时加载。若此项被启用,该插件只能在稍后由其他插件加载。此项标签可避免在进入游戏时加载某些特殊功能的插件,从而有效地节约内存。
## LoadOnDemand: 1## LoadOnDemand: 0
LoadWith
自1.9版本后,结合LoadOnDemand标签,此项标签可在某一插件(通常为Blizzard的UI模块,如Blizzard_AuctionUI)加载后再自动加载您的插件。
## LoadWith: someAddOn, someOtherAddOn
SavedVariables
从插件版本2150开始,SavedVariables已成为目前进程之间保存数据的最佳方式。当客户端启动时或在对应插件加载时,所保存的变量即被加载。当前SavedVariables标签已代替WoW客户端废弃的函数RegisterForSave。但请牢记所保存的变量仅在OnLoad事件中并不会完全加载,并可能包含空值;当且仅当ADDON_LOADED事件已完成,且该事件的arg1值为您的插件所在文件夹名后才会完全加载该插件所保存的变量。
此标签下的多个值以半角逗号","隔开。
## SavedVariables: someVariable, someOtherVariable
这种方式比在您的插件中直接保存变量更有效,因为若您的插件被禁用、发生错误或版本不匹配,通过SavedVariables所保存的变量也不会受到影响。
SavedVariablesPerCharacter
SavedVariablesPerCharacter标签的工作方式与SavedVariables基本相同,区别在于前者所保存的变量仅在某一人物角色名下。此标签原仅使用人物姓名以区分不同角色,但现在可使用服务器名加人物名以区分(译者注:现在版本下(1.12),该标签所保存的变量文件位于World of Warcraft\WTF\Account\用户名\服务器名\人物名下)。
## SavedVariablesPerCharacter: somePercharVariable
DefaultState
DefaultState标签用于确定插件在安装时默认是否被启用。若该值被设为disabled,则玩家需在人物选择界面手动启用该插件。若此标签未设置则默认值为enabled。
## DefaultState: enabled## DefaultState: disabled
所有已安装插件的工作状态均被写入World of Warcraft\WTF\Account\用户名\AddOns.txt 内,此文件已覆盖了以前版本的DisabledAddOns.txt文件(该文件为保持向后兼容性仍被加载)。
Secure
Secure标签在1.11版本中出现在前缀为Blizzard_的插件中(Blizzard官方编写的插件),其具体功能未知,有可能是告知客户端在何处寻找该插件的标识符。
## Secure: 1
非标准化标签
您亦可使用## 指令添加更多信息,或某些第三方程序可利用其中的一些信息。以下是插件中常用的一些标签。
插件信息标签
如下字段,以及Title和Notes可使用API GetAddOnMetadata 函数获得。
Author
插件作者的姓名,或Email地址。
## Author: MyName
Version
插件的版本,可为任意字符串。但为方便某些工具的自动更新来解析,建议使用数字标识。
## Version: 1.0
X-<data>
任意以'X-'为前缀的标签。
## X-email: Author@Domain.com## X-Foo: I love pancakes## X-Foo-esES: Te quiero, mi esposa
Ace2注释专用标签
不同于Ace,Ace2直接从TOC文件中提取插件信息。某些标签(即Version和X-Date)经过某些处理后,您可使用CVS或Subversion的关键字(如$Rev$)来代替它们的值。
除此以外,Ace2亦会寻找以下标签。
X-Date
插件发布日期。
## X-Date: 01-06-2006
X-eMail
插件作者的Email地址。
## X-eMail: officers@alexstraza.net
X-Website
插件发布网址。
## X-Website: http://www.alexstraza.net
X-Category
插件所属Ace2类别。
## X-Category: Raid
所有类别已在AceAddon-2.0.lua中注明(该版本为2006年12月6日急云发布的Ace2 Lib汉化版)。
1 CATEGORIES = { 2 ["Action Bars"] = "动作条", 3 ["Auction"] = "拍卖", 4 ["Audio"] = "音频", 5 ["Battlegrounds/PvP"] = "战场/PvP", 6 ["Buffs"] = "增益魔法", 7 ["Chat/Communication"] = "聊天/交流", 8 ["Druid"] = "德鲁伊", 9 ["Hunter"] = "猎人", 10 ["Mage"] = "法师", 11 ["Paladin"] = "圣骑士", 12 ["Priest"] = "牧师", 13 ["Rogue"] = "盗贼", 14 ["Shaman"] = "萨满祭司", 15 ["Warlock"] = "术士", 16 ["Warrior"] = "战士", 17 ["Healer"] = "治疗保障", 18 ["Tank"] = "近战控制", 19 ["Caster"] = "远程输出", 20 ["Combat"] = "战斗", 21 ["Compilations"] = "编译", 22 ["Data Export"] = "数据导出", 23 ["Development Tools"] = "开发工具", 24 ["Guild"] = "公会", 25 ["Frame Modification"] = "框架修改", 26 ["Interface Enhancements"] = "界面增强", 27 ["Inventory"] = "背包", 28 ["Library"] = "库", 29 ["Map"] = "地图", 30 ["Mail"] = "邮件", 31 ["Miscellaneous"] = "杂项", 32 ["Quest"] = "任务", 33 ["Raid"] = "团队", 34 ["Tradeskill"] = "商业技能", 35 ["UnitFrame"] = "头像框架", 36 }
Miscellaneous注释用标签
插件作者的Email地址。
## eMail: Author@Domain.com
URL
插件发布网址或作者主页。
## URL: http://wow.mywebsite.com/
.TOC 文件示例
1 ## Interface: 20000 2 ## Title : My AddOn 3 ## Notes: This AddOn does nothing but display a frame with a button 4 ## Author: My Name 5 ## eMail: Author@Domain.com 6 ## URL: http://www.wowwiki.com/ 7 ## Version: 1.0 8 ## Dependencies: Sea 9 ## OptionalDeps: Chronos 10 ## DefaultState: enabled 11 ## SavedVariables: settingName, otherSettingName 12 myAddOn.xml 13 MyFrame.xml 14 MyButton.xml
相关连接
评论