Login

TOC文件格式

译者:SilverFox


.TOC文件用于定义每个已安装插件的信息,并指明插件中哪些.XML文件需要被加载。插件在被识别、显示在插件列表中及加载过程中均需要TOC文件来标识。插件内的TOC文件名必须与插件所在文件夹名相同,以便于WoW识别。

WoW仅读取TOC文件内每一行的前1024个字符,多余的字符将被忽略且不提示为错误。

如何找到

World of Warcraft\Interface\AddOns\MyAddon\MyAddon.toc

客户端识别标签

每个标签以## 开始,某些标签后缀有本地化标识。每个标签占用一行。

TitleNotes可本地化为其他语言。完整的本地化标识请参看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地址。

## 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

相关连接


插件开发资料类, SilverFox

TOC格式 (last edited 2008-01-12 09:34:29 by simonw)