Trainz/AM&C/config.txt 文件
词汇表 |
HKeys-CM |
HKeys-DVR |
HKeys-SUR |
HKeys-WIN |
鼠标使用 |
符号 |
操作说明: 点击文本主体中的脚注 ([2]) 或注释标签 ([note 12]) 将导航您(定位页面)到该条目的确切文本。 • 然后: 在此点击?符号,将返回您,从您开始阅读的地方继续阅读。 |
所有资产必须具有一个config.txt
文件才能放置在 Trainz 中,否则它们就不是资产。也被称为“配置文件”或只是“配置文件”,无论什么名称,config.txt 文件
都包含有关资产的基本信息,最重要的是它的种类 = <值>,包括它的用户名、kuid 编号、trainz-build、类别-区域、类别-时代、区域 标签等等(及其 <值>),以及一些可选的但非必要的历史标签(原型铁路、公司)、作者身份、许可证和所有权信息标签,如创建者、组织、联系电子邮件、第三方网站 等——所有允许资产文件夹成为自定义和自文档 Trainz 兼容资产的“定义”。嗯,除了配置文件更改记录或查看连续更改的方法。 在前述内容中,我们多次封装标签“<值>”以强调两个重要要点。Trainz 中的所有数据都是通过关键字——合法值关系进行定义和操作的。在计算机科学中,<值>(或合法值)是在枚举数据类型成员资格限制的列表。
• 例如,二进制类型(也常称为“布尔值”)是一种枚举类型,它只有两个合法值:{ 二进制: 0, 1 },该符号*'{'+term+':'+值列表+'}'*被读作'二进制集'具有成员零和一。值列表也被称为枚举列表,在本例中长度为二,具有两个允许值。列表中没有的任何内容都是非法的,并且会生成 Trainz 错误,以及相关的错误消息,还会阻止您将资产提交到数据库中。防止将错误资产提交到数据库中是在trainz-build中开始的,对应于它们在 TBV(以及功能)中的重叠部分的 TS10 和 TS09。[注释 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++—它还可以跨行尾字符进行搜索和替换,这对于将多个kuid组合成CM可接受的逗号分隔列表(CSV)非常有用—将在许多Trainz屏幕截图中出现。 - 有针对性地下载并少量下载! 在Trainz体验的早期下载时,请仔细选择要下载的资产,每次不要超过两屏。
- 下载后,在主视图中查看该组,全部复制,并将CSV列表转移到电子表格中,如Open Office Calc。如果标题中包含逗号(用户名),您可能需要清理一些单元格,但您将获得两列可排序数据作为日志文件。
• 养成一有数据就保存并清理的习惯,然后再退出应用程序。你可能会断电,或者更糟糕的是忘记了! - 如果您将它作为运行日志,并随着时间的推移进行追加,并在另一列中添加一些类型数据,它将成为一个方便的列表,用于创建 特殊选择过滤器,以根据下一段内容路由构建。
• 当然,您不需要将此类复制限制在下载的内容上,任何主视图中列出的项目都可以高亮显示并添加! - 复制仅包含kuid的列,将其粘贴到Notepad++中,并Search from
'>' to the next '<kuid'
and Replace (SAR) with ">,<kuid",以快速获取包含您所有下载内容的CSV。 - 但是,请注意,您的过滤器已经只显示了这些kuid,它们来自下载+在主视图中显示,因此将其保存到“最后下载”中。
- 作为一种有用技巧的练习,在“就地”过滤器中添加第二个kuid搜索字段,并在两个字段之间用一个AND NOT过滤器修饰符分隔。应用后,如果您获得了整个列表,列表应该不会显示任何内容!
- 由于您已将其保存,因此您现在可以解决任何故障,并通过将其与Faulty进行“AND”操作,只有该列表中的故障项目才会显示。
• 其他不在列表中的故障将不会 - 这让您专注于当前最重要的事情,如果您贪婪,突然间有很多故障内容。通过查找您最感兴趣的路线+会话,并使用 AND 操作技术来修复您为该目标所需的内容,参考它们“组合依赖项”的 KUID CSV。
• 注意:使用具有 **AND**、**AND NOT** 和 **OR** 的保存过滤器,可以帮助您缩小范围、有选择地查看或以其他方式组织您的资产管理任务。
• 练习、练习、再练习 - 一旦您掌握了这种技术,它将为您节省大量时间。
• 所有消除杂乱的过滤器技术(例如,不在 DLS 上显示内容可能最有用),以及选择筛选标准的技巧,可以帮助您缩小搜索范围,找到您需要或正在寻找的内容,所有这些都节省时间。
• 另一个有用的技巧是反转您的选择……假设您在要尝试的路线中显示了 30 个资产已过时。突出显示该组,**RMBh** 并选择 **显示资产版本**,显示将仅显示您突出显示的资产及其关联资产。现在,**RMBh** 并选择 **反转选择**,瞧! - 所有更新都被突出显示,您可以将所有内容拖放到下载助手中的一个块中(或者……**RMBh** 并选择 **下载** - 这将为您添加它们并立即开始下载!
- 下载后,在主视图中查看该组,全部复制,并将CSV列表转移到电子表格中,如Open Office Calc。如果标题中包含逗号(用户名),您可能需要清理一些单元格,但您将获得两列可排序数据作为日志文件。
- 待续
文本编辑器
[edit | edit source]config.txt
文件是 纯文本 (ASCII) 文件,虽然最旧的资产的第一行可能包含 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++ 可以将上述内容(或类似的 890 行)转换为类似以下的 CSV KUID 列表,在使用 REGEX SARS 进行练习后,不到 2 分钟 30 秒就能完成。
- 示例 1B
<kuid2:95148:10182:1>,<kuid2:68787:25265:9>,<kuid2:95148:10183:1>,<kuid:58223:26098>,<kuid:225064:4010965>,<kuid2:76656:500010:8>
- 示例 2
使用打开的电子表格和一个临时文件,可以在 30-60 秒内获得相同的 CSV(**CTRL+N** 在 Notepad++ 中)。另一个 Notepad++ 选项卡可用于保存此类组的运行列表,以便将来使用过滤器。
• (请 将 您的 Trainz 文档存储位置集中到一个主目录中 - 几个月后寻找某个东西非常烦人!)
• KUID 字段可以包含数千个 CSV KUID,因此如果保存有标题,此类捆绑包具有很大的价值。 建议“ZZZ-nn 下载描述,这在 9-12 个月内有意义 + YYYY-MMDD”
,这样 **CTRL+F+ZZZ-** 可以导航保存以向上或向下保存!
拼写正确是一个精确的需要
[edit | edit source]标签关键词必须拼写正确,并且在指定每个标签或容器值的参数时必须使用正确的语法。由于计算机程序将解释内容,因此需要精确的准确性。
|
花括号{
和}
用于指定需要多行的那对标签或相关数据对组的内容的起始和结束点。这些被称为容器,一种特殊的容器类型,KIND在很大程度上决定了如何处理config.txt文件中的数据(以及如果指定错误会发生哪些错误)。每个左花括号必须有一个对应的右花括号,并且所有“左花括号”必须始终以空白字符(空格或制表符 ↹开头)。一些标签可以嵌套,在这种情况下,允许使用诸如{ { } }
之类的结构,并带有前面的空白字符规则。
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"
- 容器包含多个定义,包括十进制数、整数和字符串等数据类型的混合,但这些数据类型彼此相关。
- 种类是特定类型资产特有的容器,而容器是相关数据元素的集合,这些元素被不止一种 KIND 类型需要。
以下标签是强制性的
kind
kuid
username
category-class
category-era
category-region
- 花括号不匹配。
- 任何非空格字符紧跟在左花括号后面。
- 任何非空格字符紧跟在左尖括号后面,但 HTML 中除外,在 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"
|
- 特殊情况...
在 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 提供了良好的错误检查,但要小心,弄乱了括号,您可能会发现后面的任何内容都会消失。因此,建议在编辑之前进行备份。
|
- ↑ N3V Games,当时与 Auran 有着较为初级的合作关系,接手了 Auran Holdings 和 Auran Development 的 Trainz 管理和开发工作。Auran Holdings 和 Auran Development 之前过度依赖他们拥有的专有 JET I 和 JET II 游戏引擎开发另一种类型的电脑游戏,导致了巨大的财务损失,Auran 寻求法院保护。N3VRFail,现名为 N3V Games,与 Auran 达成协议,投资救助了 Auran,代价是在法院的监督下接管了许多业务职能的控制权。
N3V 立即采取行动以产生现金流,发布了 Trainz TCC 合集包(Trainz:The Complete Collection),然后重新振兴了 TRS2004/TRS2006 技术的开发,并在三个外观精美但内容贫乏的 Trainz Classics 版本(TC1-TC3,TBV 的 2.7 和 2.8)的糟糕发行和销量中进行了改进——这些版本实际上是经过重新包装的 TRS2006-SP1,捆绑的内容过少,无法吸引许多买家。
但在 TC 版本中,N3V Games 也开始增加加载或上传时错误检测的趋势,并开始不断加强对数据模型定义的严格要求——这些枚举类型的数据极大地简化了对合法值的测试。REM(类似于 BASIC 计算机语言关键字)等实践和非正式标签变成了错误生成器,尽管它们自 Trainz 1.3 和 UTC 时代以来一直被广泛使用。某些 代码构建版本(V3.3 及以后)开始阻止重新提交已经打开进行检查和故障排除的资产,即使该资产仍然存在缺陷。(然而,该资产可以被还原,因此用户可以获得该资产的副本以进行游戏和实验)。
具有讽刺意味的是,到 TS10-SP2 版本,Trainz 社区已经意识到,即使是 Auran 自身的资产,一旦 打开进行编辑,也会出现相同类型的缺陷——许多 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 代码 标准的更新和更准确的信息,这些标准随着软件功能的添加而不断变化。 |