Trainz/Kinds
| |||
|
|||
|
词汇表 |
HKeys-CM |
HKeys-DVR |
HKeys-SUR |
HKeys-WIN |
鼠标使用 |
符号 |
操作说明:点击文本主体中的脚注 ([2]) 或注释标签 ([note 12]) 将导航您(定位页面)到条目的确切文本。 • 然后:点击那里的?符号,将使您回到您开始阅读的地方。 |
定义 Trainz 资源 的所有元素,除了 本地安装 数据库之外,都包含在单个文件夹中 - 资源文件夹 或 资源源文件夹 - 当资源分别打开以进行编辑或构建时,两者都可以访问 - 两种方法都涉及(可能许多种编辑)编辑和数据操作。
Kinds 是这些资源源文件夹内的特殊父数据形式,并在文件夹的唯一 config.txt 文件 内定义。Kind 标签的合法值受到严格约束。[note 1] 每个配置都有一个 Kind,并且每个配置在包含本地定义以创建该资源的其他部分的目录中都有一个家。因此,资源源文件夹也可以分类为比 Trainz 容器 的一般数据类型高一级,并且每个都由它们明确的唯一关键字来指定类型,即Kind 标签的值。
因此,每个 Kind 表示一组基本的 Trainz 资源类型或资源种类数据类别的基本集合,这些类别是在自定义的自包含 Trainz 资源定义层次结构中枚举的。内部的config.txt 文件负责定义唯一的 KIND 行的 '资源类型' 数据需求,并将这些需求定义为 KIND 要求(或可选)所必需的,并与由 TBS 设置的其他强制性和可选资源数据定义进行聚合 - 事实上,配置负责定义 父 KIND,将这些由其他 TrainzBaseSpec 定义行所需的内容与 父 KIND 行(Kind "名称")值所需的定义行 合并,以创建类型为 KIND的资源,如在 TBS 中设置 'Kind "KIND 枚举类型名称"' 行所定义。
将这些计算机科学内容翻译成英语:每个 'Kind 标签' 设置了 资源 的规则,以及其 资源文件夹 在提交到 Trainz 内容管理器以进行 提交(现在,奇怪地称为 提交,因为 TANE 内容管理器出现了)或 验证(错误检查和测试,提交(或提交)资源到数据库之前的步骤。也是上传到 DLS 之前)时必须包含哪些数据类型和定义。每个 Kind 都与一个源 config.txt 文件配对,作为(通常)其最开始的几行之一[note 2]。一切都是 TAG--DATA 对的一部分。有些是 TAG-Container,很多是 TAG-Value,但所有配置数据都是成对的。容器中的子容器遵循相同的规则。即使是数组数据元素 - 字符串、多个值、多个可能性(类别时代和类别区域)在一行上定义为成对关系。因此,容器是关键字标签,这意味着期望出现 '{' 和 '}',并根据标签名称定义的规则处理两者之间的数据。
了解 KINDs 的作用可以说仅次于理解 TrainzBaseSpec 的作用,以及它们无处不在的容器,即 config.txt 文件。所有这三种元素在某种程度上都是用户为修复或创建资源而掌握的最重要的数据元素。幸运的是,每种 Trainz 资源都有一个唯一的 KIND,因此可以根据需要或系统地逐个掌握,同样地,可以逐个理解每个 容器。
事实上,所有这三个元素都紧密地相互关联,因为它们在资源 根文件夹 内协同工作,该文件夹必须包含 配置,反过来,'必须'包含 TBS 中的 Kind 标签 和其他强制性 TBS 支持定义,例如 kuid 和 用户名,并且从 TBS 行中定义和选择的 KIND 开始,因此'必须'包含该 Kind 标签 所需的这些定义,以及所有支持定义... 包括必需的容器和子容器。
在较小程度上,KIND 和 类别-类别标签 共同告诉 内容管理器 软件哪些其他关键字是必要的、可选的或非法的,这些关键字在资源的 config.txt 文件 内,而这些关键字的定义目的是将该类别-类别成员(正在定义的资源)添加到各种排序标准的组合中,这些标准对 CM 中的排序和选择操作非常有用。
|
Trainz Kinds 是定义用于在单个识别 kuid 下表征资源类型的最小数据结构的高级 容器。
Trainz 模拟器中的KINDs 定义了与类别-类别一起设置的属性,这些属性需要提供信息字段以使资源模型正确渲染。从非常现实的角度来看,KIND 数据结构(将与模型渲染和运行时模拟需求相关的不同类型相关数据分组)是 Trainz 中的一级 容器(尽管有一个特殊的名称,“KIND”),并且几乎总是需要其他容器级数据组与它一起出现在 ini 文件中。这些是枚举的支持容器和标签,它们通过 Kind 标签和类别-类别的组合使用来确定为这种资源必须定义哪些其他数据元素,这些数据元素可以被视为一种子 Kind,因为所有类似资源都需要定义相同的数据元素。
现在,所有容器和类似容器的结构都位于 config.txt 文件中,但区别仅仅在于'容器定义类型' 通常在几个不同的 KIND 定义的资源中具有作用域(适用性),并代表一个共享属性(一个特征,例如转向架),而每个 KIND 对于该类资源都是唯一的。KIND Engines 和 KIND Traincar 都有转向架(卡车上的车轮),因此它们的 ini 文件中都有转向架容器。
|
以下列表截至页面编排时是完整的,并会定期更新。有关可能的更新,请参阅 Trainz-Wiki KIND TrainzBaseSpec。(许多链接都指向 N3V TrainzOnline Wiki,与 Wikibook 部分的链接略有颜色差异。截至 2014 年 8 月底,仍为红色链接的条目尚未在 N3V Wiki 中正式定义,尽管该类很可能已在 内容创作者 的论坛中公布。
所有 Trainz 定义的数据(内容)都包含三个必不可少的元素:用于组织数据的 config.txt 文件、一个代表 kuid 的身份(仅用户名无法实现,但合法资产可以在没有名称的情况下创建!),以及最后,一个合法定义的 kind 标签。kind 负责指挥、指挥乐队、指挥排长或 CEO 指挥方向,为之后处理的所有内容设置要求。简而言之,kinds 的值,是一个由一小部分精选的严格定义的成员组成的小组,它会告诉 Trainz 软件在虚拟世界中渲染和显示什么以及如何(或在何处)找到 config.txt 文件中关联这些资产部分所需的其它部分。
以下所有子类都将 TrainzBaseSpec 视为其数据的“父类”。[注释 4] 以下列出了一些 kind,其中带下划线的 kind 属于旧版 kind,它们早于 TS2009 版本中对 Trainz 数据模型 的更改(即 2008 年底至今),N3V 程序员只对这些 kind 进行了渐进式(增量式)更改。
当前可以在 N3V Trainz Wiki 的 内容创作者指南 部分中找到修复基于这些旧版 kind 的资产的详细信息 TrainzOnline 站点在此,并有启发性的 旧版 KIND 示例在此。强烈建议所有使用 Trainz 下载站 的用户或任何考虑创建内容的用户仔细阅读 CCG。通过了解旧版内容的定义方式,可以对比当前 TrainzOnline 对同类数据类型的覆盖范围,并进行比较,因为这种过去与现在的对比往往会提供宝贵的见解,帮助修复、更改和自定义资产。更重要的是,CCG 在 TrainzOnline 上发布的版本是 TC1&2/TC3 版本,它是自 1999 年 Trainz 推出以来出版的多本小册子的最新版本;TC3 CCG 包含 TRS2004/TRS2006 和 UTC 数据模型中更改后的 Enginespecs 机车资产,需要进行适当更新。
- 本节提供了指向 一组示例子页面 的链接,展示了从 v1.3-v1.5、v2.2、v2.5、v2.9、v3.7、v3.9 或其它版本到活动 数据模型 发生变化的版本中,通用资产
- 对 kind 配置的更改,可以使用 文件比较软件 查看这些更改。
- 哪个是最重要的 KIND?
答案取决于您当前正在处理的资产和资产子类型。在人类思维中,机车和货车都属于“货车” kind,但在 Trainz 配置中,它们是不同的 KIND 声明,而且柴油机车和蒸汽机车都需要定义不同的数据参数来模拟资产;这种配置内的差异来自 kind 的定义,强制性的 类别-类标签 仅在 CM 和 勘测员 选择和排序筛选器中具有范围。
这些通常比较简单,因此可以引入 KIND 的使用。
本 Trainz/Kinds 部分只是一个占位符,一个概述或标记,表明本书的本部分尚未完成。您可以通过 扩展本部分内容,更全面地讨论本主题,帮助 Wikibooks Trainz 项目。 需要的工作: 本节提供指向一组子页面的链接,这些子页面展示了从 v1.3-v1.5、v2.2、v2.5、v2.9、v3.7、v3.9 或其他数据模型发生变化的版本中常见的资产类型配置的演变,并且可以使用比较软件查看差异。 |
本 Trainz/Kinds 部分只是一个占位符,一个概述或标记,表明本书的本部分尚未完成。您可以通过 扩展本部分内容,更全面地讨论本主题,帮助 Wikibooks Trainz 项目。 需要的工作: 本节提供指向一组子页面的链接,这些子页面展示了从 v1.3-v1.5、v2.2、v2.5、v2.9、v3.7、v3.9 或其他数据模型发生变化的版本中常见的资产类型配置的演变,并且可以使用比较软件查看差异。 |
本 Trainz/Kinds 部分只是一个占位符,一个概述或标记,表明本书的本部分尚未完成。您可以通过 扩展本部分内容,更全面地讨论本主题,帮助 Wikibooks Trainz 项目。 需要的工作: 本节提供指向一组示例子页面的链接,这些子页面展示了从 v1.3-v1.5、v2.2、v2.5、v2.9、v3.7、v3.9 或其他数据模型发生变化的版本中常见的资产类型配置的演变,并且可以使用比较软件查看差异。 |
本 Trainz/Kinds 部分只是一个占位符,一个概述或标记,表明本书的本部分尚未完成。您可以通过 扩展本部分内容,更全面地讨论本主题,帮助 Wikibooks Trainz 项目。 需要的工作: 本节提供指向一组子页面的链接,这些子页面展示了从 v1.3-v1.5、v2.2、v2.5、v2.9、v3.7、v3.9 或其他数据模型发生变化的版本中常见的资产类型配置的演变,并且可以使用比较软件查看差异。 |
- ↑ 类型和其他许多 Trainz 数据定义,虽然范围很广,但都是枚举数据类型... 意味着它们必须是来自合法允许词语列表的< >值> 。其他不适用!
- ↑ 在配置文件中所有标签和容器的位置无关紧要,但数据结构在引号、方括号和圆括号中的正确嵌套很重要
- ↑ 虽然 N3V 程序员(我在任何地方都没有看到)没有正式承认,但LOD 文件[1],例如 'meshname.LM.txt' 和 filespec.texture.txt 文件,可以认为是ini 文件 类型或 包含文件 类型,实际上扩展了配置文件中内联定义的范围。 (texture.txt 文件 + LM.txt 文件) 每个文件不仅包含路径信息,还包含重要的 如何实现数据指令行 ,并且与 config.txt 文件行一样,必须以正确的格式,否则资产会生成错误。
• config.txt 文件和此类包含文件之间的一个主要区别是,它们不严格遵循 Trainz 关键字—<值> 对 的单行格式,而是经常在语法中使用等号。 - ↑ 注意: 此列表在 N3V TrainzOnline Wiki 上是“维基化”的,这意味着“KIND”一词后面的首字母被大写,而 config.txt 文件中实际的数据标签名称是全部小写文本。该维基还使用双引号来表示相当多的术语,我们将在本文中免除您经历这种做法。
- ↑ 'kind consist' 不常直接看到,它只存在于菜单和内容管理器列表中。
本参考页面改编自 TrainzOnline Wiki,根据 CC-BY-SA 3.0 许可证发布。本页面可能包含比 同一主题的源页面 更多文字解释、说明、历史或示例。 TrainzOnline Wiki 主要由程序员或经验丰富的 内容创建者维护,可能拥有有关当前 trainz-build 代码标准的更新信息,这些标准随着软件功能的添加而不断变化。 |