Trainz/AM&C/config.txt 文件
词汇表 |
HKeys-CM |
HKeys-DVR |
HKeys-SUR |
HKeys-WIN |
鼠标使用 |
符号 |
操作说明:点击正文中的脚注 ([2]) 或注释标签 ([note 12]) 会将您导航到(定位页面)到该条目的确切文本。 • 然后:点击那里的?符号,将带您返回到您开始阅读的地方。 |
所有资产必须有一个 config.txt
文件才能放入 Trainz,否则它们就不是资产。也称为“配置文件”或简称“配置”,config.txt 文件
无论以何种名称存在,都包含有关资产的基本信息,最重要的是它的种类 = <值>,包括它的 用户名、KUID 编号、Trainz 版本、类别区域、类别年代、区域 标签等(以及它们的 <值>),以及一些可选的但非必要的历史标签(原型铁路、公司)、作者、许可和所有权信息标签,如创建者、组织、联系电子邮件、第三方网站 等 - 所有允许资产文件夹成为自定义和自文档 Trainz 兼容资产的“定义”。好吧,除了配置更改记录,或查看连续更改的方法。 在上述内容中,我们多次封装标签“<值>”以强调两个重要点。Trainz 中的所有数据都是通过关键字 - 合法值关系来定义和操作的。在计算机科学中,<值>(或合法值)是一个由枚举数据类型成员资格约束的列表。
• 例如,类型 Binary(也经常称为“Boolean”)是一个枚举类型,只有两个合法值:{ binary: 0, 1 },该符号“{”+术语+“:”+值列表+“}”读作“集合 Binary 具有成员零和一”。值列表也称为枚举列表,在此长度为 2 的示例中,有两个允许的值。任何不在列表中的内容都是非法的,将生成 Trainz 错误,以及相关的错误消息,并阻止您将资产提交到数据库中。阻止将有缺陷的资产提交到数据库始于与 TS10 和 TS09 的 TBW(以及功能)重叠的 Trainz 版本 中。[注释 1]
• 了解什么是什么,什么做什么,何时合适,何时不合适是主题 - 本页面致力于消除 N3V Wiki 中更正式的介绍中所有“定义”带来的神秘感,即使是经验丰富的软件专业人士也会感到困惑,更不用说新手了。让我们让您走上掌握 Trainz 基本知识 (TBK) 的正确道路。
有缺陷资产的许多问题都是由 config.txt
文件中的简单键入、嵌套或拼写错误造成的。当引号的嵌套不正确时,这种类型的一个衍生效应,通常是因为缺少或多余的引号。当这是真的时,CM/CMP 在打开文件时将尝试修复它找到的内容,并且当它尝试将文本段落解析为关键字和值时,这会创建一系列错误的标签名称错误。这会导致一系列错误(加载!20 多个),通常会插入空格,并且生成的文本被引号引用的方式更糟糕 - 该文本看起来像是世界末日击中了该页面的一部分。这通常发生在较大的文本块内,例如 许可证 或 描述。幸运的是,这些“无用的帮助”可以在几分钟内手动编辑以进行更正。(这种“爆炸式自动修复”比 TRS2004 和更早的 Trainz 好 - 在这种类型错误以下的所有内容都消失了!幽灵软件!)
|
其他错误,特别是在 V3.3 之后,是由于 数据模型定义 的更改以及对自 V2.8 以来一直存在的,现在称为 TrainzBaseSpec 的内容执行造成的 - 该数据集始终初始化所有 config.txt 文件的主体,并设置自定义资产系统。基于这些 TBS 值中的某些值,其他数据随后被添加进来以配置资产,包括对其他包含的资产 组件文件 的引用,例如图像、脚本文件、texture.txt 文件 和细节级别 (LOD) *.LM 文件。该自定义的起点是 TBS 的作用,而资产中所有元素的定义和引用则是它 config.txt 文件的作用。底线是,几乎所有资产修复都需要更改 config.txt 文件 - 这是一种罕见的错误,它需要另一种不需要的修复!
|
- 由于配置文件是自定义资源的核心,因此在使用 CM 打开资源进行编辑时,无论是新手还是经验丰富的用户,都应该养成良好的习惯。
- 方法 1: (SHFT+CTRL+E 打开资源,然后进入文件夹)
- 在编辑配置文件之前,使用“另存为”功能进行复制。
- 或者,先使用 Windows 复制文件(选择,CTRL+C,选择文件夹,CTRL+V)。使用F2 重命名文件为 Config.org.txt... 或者保留文件名,并在文件名中添加由 Windows 添加的“(副本)”。
- 然后,且仅然后打开原始配置文件进行编辑。
- 方法 2: (最快: 可能取决于您的文本编辑器)
从文件夹中打开 config.txt 文件,然后立即ALT+Tab ↹ 返回文件夹。- config.txt 文件应该仍然处于高亮状态(选中状态),因此接下来按F2并在 .txt 扩展名前添加 .org 或 .v2-4 等。(Trainz 在验证和提交资源时不会容忍未知的数据文件类型,因此只能使用合法的基于文本的文件类型,例如 .txt 扩展名或 .htm。)
- 完成编辑后,ALT+Tab ↹ 返回编辑器。
• Notepad++ 会抱怨(通知您)文件丢失,并询问是否应该将文件保留在内存中。选择“是”。Windows 记事本不会注意到文件丢失。 您的编辑器...???
- 方法 1: (SHFT+CTRL+E 打开资源,然后进入文件夹)
- 强烈建议使用具有多个选项卡的程序员编辑器,该编辑器能够打开多个文件;在正则表达式中进行搜索和替换,在多个文件中进行替换,以及/或比较文件的能力。 Notepad++,Programmer's Notepad 和 Crimson Editor 都可作为免费软件使用(以及可用时间,将在 本维基教科书 中介绍),并且它们都具有大多数这些有用的功能。
• 至少,Notepad++——它还可以在行尾字符之间进行搜索和替换,这对于将多个 kuids 合并成 CM 可接受的逗号分隔列表(CSV)非常有用,将在许多 Trainz 屏幕截图中出现。 - 有针对性地下载并少量下载!在 Trainz 体验的早期下载过程中,请有针对性地下载少量资源,不要超过两屏。
- 下载完成后,在主视图中查看资源组,全部复制,并将 CSV 列表转移到类似 Open Office Calc 的电子表格中。如果标题中有逗号 (用户名),您可能需要清理一些单元格,但您将有两个可排序数据列作为日志文件。
• 养成在输入数据后立即保存的习惯,并在离开应用程序之前整理数据。您可能会断电或更糟的是忘记! - 如果您将这作为运行日志,并不断追加,在另一个列中添加一些类型数据,它会为 特殊选择过滤器 创建一个方便的列表,以便根据下一段进行构建路线。
• 当然,您无需将这些副本限制在下载的内容中,任何主视图中列出的项目都可以高亮显示并添加! - 仅复制 kuids 列,将其带到 Notepad++ 中,并Search 从
'>' 到下一个 '<kuid'
and Replace (SAR) 为 ">,<kuid",以快速获取包含整个下载的 CSV 文件。 - 但是,请注意,您的过滤器已经显示了仅这些 kuids,来自下载+显示在主视图中,因此将这些 kuids 保存到“上次下载”中。
- 作为一项实用技巧的实践,在“就地”过滤器中添加第二个 KUID 搜索字段,并将这两个字段用 **AND NOT** 过滤器修饰符隔开。应用后,如果获得了整个列表,列表应该显示为空。
- 由于你已经保存了它,你现在可以通过与 **Faulty** 进行 AND 操作来解决任何故障并保持相同的显示顺序,并且只有该列表中的错误项 *将出现*。
• 不在列表中的其他错误不会出现——如果你贪心并突然拥有大量错误内容,这将让你专注于现在最重要的事情。通过查找你最感兴趣的 路线+会话 来逐步解决它们,并使用 AND 操作技术来修复你针对其 *组合依赖项* 的 KUID CSV 文件所需的目标。
• 注意:使用带 **AND**,**AND NOT** 和 **OR** 的已保存过滤器在缩小范围、选择性查看或以其他方式组织你的资产管理任务方面可以提供很大帮助。
• 练习、练习、练习——一旦掌握这项技巧,它将为你节省大量时间。
• 所有消除杂乱的过滤技术(在 DLS 上不显示内容可能是最有用的),以及选择筛选条件的技巧,都可以缩小你的搜索范围,找到你需要的或正在寻找的内容,从而节省时间。
• 另一种有用的技巧是反转你的选择……假设你在你想要尝试的那条路线中显示了 30 个资产为已过时。突出显示该组,**RMBh** 并选择 **Show asset Versions**,显示将只显示你突出显示的资产及其相关资产。现在,**RMBh** 并选择 **Invert Selections**,瞧——所有更新都被突出显示,你可以将它们全部拖放到下载助手中的一个块中(或者……**RMBh** 并选择 **Download**——这将为你添加它们并立即开始下载!
- 下载完成后,在主视图中查看资源组,全部复制,并将 CSV 列表转移到类似 Open Office Calc 的电子表格中。如果标题中有逗号 (用户名),您可能需要清理一些单元格,但您将有两个可排序数据列作为日志文件。
- 待续
文本编辑器
[edit | edit source]config.txt
文件是 纯文本 (ASCII) 文件,尽管最旧的资产的第 1 行可能包含 BOM(字节顺序标记)代码。它们应该使用非格式化程序进行编辑,例如 Windows 记事本、ConTEXT、Notepad++、Programmer's Notepad 或其他非字处理器的 文本编辑器——其中许多也被称为程序员编辑器。
|
其中一个文本程序是 ConTEXT,它在与 Wulf/Wulf9 的 TPR 的语法文件帖子 语法文件一起使用时,会提供语法高亮显示。你需要在上面的链接(TrainzProRoutes)注册才能下载语法文件。ConTEXT 还会显示匹配的括号,这在故障排除时非常有用,需要注意的是,N3V Games 在 TrainzOnline Wiki 的几篇文章中也提到了这个文本编辑器。
本书中的许多示例将使用 免费软件 Notepad++ 程序员编辑器,它具有多个选项卡(文件处理)、搜索和替换 (SAR) 功能,可以在文件和打开的文件中进行搜索和替换,以及正则表达式 (REGEX) 搜索和 SAR 处理、跨行断点 (换行符或换行符) SAR 等功能。这些功能在克服来自 内容管理器 的笨拙输出或在 修复错误内容 方面大有帮助。
- 示例 1A
2014-0417-1 List of 982 DAVESNOW assets crossloaded new TS12 to old F~TS12 Anhaen,<kuid2:95148:10182:1> AnhaengerLeer,<kuid2:68787:25265:9> Anhaen 1,<kuid2:95148:10183:1> Appliances Industry Corp,<kuid:58223:26098> Arcon Mk V,<kuid:225064:4010965> ATLS CONTROLLER,<kuid2:76656:500010:8>
Notepad++ 可以用不到 2 分钟 30 秒的时间将上面的内容(或类似的 890 行)转换成类似下面的 CSV KUID 列表,这需要使用 REGEX SARS 进行练习。
- 示例 1B
<kuid2:95148:10182:1>,<kuid2:68787:25265:9>,<kuid2:95148:10183:1>,<kuid:58223:26098>,<kuid:225064:4010965>,<kuid2:76656:500010:8>
- 示例 2
使用打开的电子表格和一个草稿文件(在 Notepad++ 中 **CTRL+N**)可以在 30-60 秒内获得相同的 CSV 文件。另一个 Notepad++ 选项卡可用于保存此类组的运行列表,以备将来过滤使用。
• (请集中你 Trainz 文档的存储位置,只放在一个主目录中——几个月后找东西非常烦人!)
• kuid 字段可以包含数千个 CSV kuid,因此,如果保存带有标题,此类捆绑包具有很大的价值。建议“ZZZ-nn 下载说明,在 9-12 个月内仍有意义”加上 - YYYY-MMDD
,这样CTRL+F+ZZZ- 可以导航保存以向上或向下保存!
拼写正确是一个精确的需要
[edit | edit source]标签关键字必须拼写正确,并且在指定每个 标签 或 容器 值的参数时必须使用正确的语法。由于计算机程序将解释其内容,因此需要精确的准确性。
|
大括号规则
[edit | edit source]大括号 {
和 }
用于指定那些需要多行的相关数据对的标签对或组的内容的起始和结束点。这些被称为 容器,一种特殊的容器类型,KIND 在很大程度上决定了 config.txt 文件中数据的处理方式(以及如果指定错误会发生哪些错误)。每个左大括号都必须有一个相应的右大括号,并且 所有“左大括号”都必须始终 在 空格(空格 或 Tab ↹ 前缀。换句话说)。某些标签可以嵌套,在这种情况下允许结构如 { { } }
,并带有前面提到的空格条件。
Kuids 和 Kuid2s
[edit | edit source]kuid 必须使用以下格式之一指定
<kuid:nnnn:nnnn>
<kuid2:nnnn:nnnn:nn>
,(其中数字位数可能有所不同)
- 注意,根据定义,
<kuid:nnnn:nnnn> 等于 <kuid2:nnnn:nnnn:0>
kuid 或 config.txt 文件中任何实际上不是文本双引号引起来的规范,可以选择用一对双引号括起来,例如:"<kuid:nnnn:nnnn>"
,trainz-build "2.9"
标签、种类和容器名称
[edit | edit source]- 容器 包含多个定义,包括数据类型(如小数、整数和字符串)的混合,但它们彼此相关。
- 种类是特定类型资产独有的容器,而容器是多种 KIND 所需的相关数据元素的集合。
以下标签是必需的
kind
kuid
username
category-class
category-era
category-region
config.txt 文件中的一些常见错误
[edit | edit source]- 不匹配的大括号。
- 任何紧跟左大括号的非空格字符。
- 任何紧跟左尖括号的非空格字符,除了在允许使用 HTML 的地方。
对于下表中的项目,如果该项目用作关键字,则只会发生错误。在文本字符串(如描述)中,可以使用任何拼写、空格和标点符号。
不正确 | 正确 |
behaviour |
behavior
|
colour |
color
|
discription |
description —Jcitron 最喜欢的愚蠢错误 |
independent |
independant (即澳式英语!与正确的美国英语拼写相反) |
kuid { |
kuid-table {
|
kuid{ | kuid-table { |
kuid<kuid:... | kuid <kuid:... |
kuid table |
kuid-table
|
kuidtable |
kuid-table
|
对于任何带连字符的关键字 | keyword-table {
|
obsolete |
obsolete-table {
|
obsolete{ |
obsolete-table {
|
obsolete table |
obsolete-table
|
obsoletetable | obsolete-table
|
table{ |
table {
|
trainz-build "utc" |
trainz-build 1.5 trainz-build "1.5"
|
TRS 2004 和 TRS 2006
[edit | edit source]- 特殊情况...
在 TRS2004 及更早版本的 Trainz 中,在编辑 config.txt
文件后,需要删除 Cache\world_cache_Dispatcher.chump
文件,否则 Trainz 将使用该文件的旧版本。这仅在修改的 config.txt
文件位于 World\Dispacher\
层次结构中时才需要。如果您正在编辑 World\Custom\
层次结构中的文件,则无需删除 .chump
文件。
对于 TRS2004 用户,Trainz Objectz 免费的第三方实用程序可用于扫描已安装的资产以查找其 config.txt 文件
中的常见错误,并选择性地自动更正其中的一些错误。这启发了 内容管理器 的开发。
对于 TRS2006-SP1 和 TC 用户,CMP 提供了良好的错误检查,但要小心,如果弄乱了括号,您可能会发现后面的任何内容都消失了。因此建议在编辑之前进行备份。
|
注释
[edit | edit source]- ↑ N3V Games,当时是与Auran相关的较小合作伙伴,从Auran Holdings和Auran Development手中接管了Trainz的管理和开发。Auran Holdings和Auran Development过度扩展了另一种类型的电脑游戏,这些游戏利用了他们拥有的专有JET I和JET II游戏引擎。在遭受了巨大的财务损失后,Auran寻求法院保护,而N3VRFail,现在称为N3V Games,做出了安排,在法院监督下,以接管控制权的方式投资,从而挽救了运营,代价是接管了许多业务职能。
N3V立即采取行动以产生现金流,发布了Trainz TCC合集包(Trainz:The Complete Collection),然后重新开始开发TRS2004/TRS2006技术,并对三个spiffy-looking-but-content-light Trainz Classics releases, TC1-TC3 (TBV's 2.7 & 2.8)—这些版本只是对TRS2006-SP1进行了升级(重新设计),但捆绑的内容太少,无法吸引许多买家。
但在TC中,N3V Games也开始了加强加载或上传时错误检测的趋势,and so began an ongoing spiral of increasingly enforcing tighter data model adherence to the definitions—这些枚举类型的数据可以简化对合法值的测试。 以前称为REM(类似于BASIC计算机语言的关键字)的做法和非正式标签变成了错误生成器,尽管它们在Trainz 1.3和UTC时代很常见。 一些code build version从V3.3版本开始,一旦打开资产进行检查和故障排除,即使资产仍然有故障,也会阻止再次提交资产。(但是,可以恢复资产,因此用户可以获得资产副本以进行游戏和实验。)
具有讽刺意味的是,到TS10-SP2,Trainz社区发现,即使Auran自己的资产在opened-for-editing后,也存在相同类型的缺陷——许多Trainz玩家在打开Auran模型以将良好的数据集定义与生成错误消息的数据集进行比较时被烧毁了。
- Trainz印刷版或pdf文件手册,适用版本——通常位于..\extras 或 ..\extras\manuals 文件夹
- TrainzOnline Wiki Config.txt 文件页面和其他页面
- TrainzOnline Wiki 内容创建者指南页面(各种)
- 各种CCG 和 Auran 网站
此参考页面改编自TrainzOnline Wiki,根据CC-BY-SA 3.0 许可证。与[online.ts2009.com/mediaWiki/index.php/Config.txt_file 相同主题的源页面]相比,此页面可能包含更多文本解释、说明、历史和/或示例。 TrainzOnline Wiki 主要由程序员或精通的内容创作者维护,可能包含有关当前trainz-build 代码标准的更新信息,这些标准随着软件功能的增加而有所改变。 |