跳转到内容

Trainz/Kinds

来自维基教科书,开放世界中的开放书籍
(重定向自 KINDS)
logo
Trainz 新手基础

Trainz 注释参考页面
TOC | 开始乐趣 | AM&C | 创建 | 书内参考文献 ORP 参考文献:  • 索引 • 容器 • Kinds • 标签 | 附录  • 版本
 词汇表
 HKeys-CM
 HKeys-DVR
 HKeys-SUR
 HKeys-WIN
 鼠标使用
 符号

Kind 标签

[编辑 | 编辑源代码]
点击 这里快速导航到 KINDs 的目录

所有定义 Trainz 资源 的元素(除了 本地安装 数据库)都包含在单个文件夹中——资源文件夹资源源文件夹——这两个文件夹在资源被打开以供编辑或构建时都可以访问——都涉及(可能多种编辑)编辑和数据操作。

 

Kinds 是这些资源源文件夹内的特殊父数据形式,并在文件夹的唯一 config.txt 文件 中定义。Kind 标签的合法值受到严格限制。[注释 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 文件结合,作为(通常)其最前几行之一[注释 2]。所有内容都是 TAG--DATA 对的一部分。有些是 TAG-Container,许多是 TAG-Value,但所有配置数据都是成对出现的。容器中的子容器遵循相同的规则。即使是数组数据元素——字符串、多个值、多个可能性(类别时代和类别区域)也在一行上定义为对关系。因此,容器是关键字标签,意味着期望一个“{”和“}”并按照标签名称定义的规则处理之间的数据。

理解 KINDs 的作用可以说是仅次于理解TrainzBaseSpec 的作用,以及它们无处不在的容器 config.txt 文件。这三者在某种程度上都是用户掌握修复或创建资源的最重要的数据元素。幸运的是,每种 Trainz 资源都有一个唯一的 KIND,因此这些可以在需要时掌握,或者系统地逐一掌握,类似地,理解每个容器 也可以逐一进行。

事实上,所有这三个元素都紧密地相互关联,因为它们在资源根文件夹 内协同工作,该文件夹必须包含config,而该文件夹又“必须”包含TBS 中的 kind 标签 和其他强制性 TBS 支持定义,例如kuid用户名,并且从 TBS 行中定义和选择的 KIND,“必须”因此包含该kind 标签 和所有支持定义所需的定义......包括必要的容器和子容器。

在较小程度上,KIND 和类别-类标签 共同告诉内容管理器 软件资源的config.txt 文件 中哪些其他关键字是必要的、可选的或非法的,而后者的定义目的是将类别-类成员(正在定义的资源)添加到各种排序标准的混合中,这些标准对 CM 中的排序和选择操作很有用。

在 Trainz 数据模型中定义资源


Trainz Kinds 是定义最小数据结构的上级容器,用于在单个识别 kuid 下表征资源类型。

层次结构和级别

[编辑 | 编辑源代码]

KINDs 在 Trainz 模拟器中定义了属性,该属性与类别-类一起设置了必要的信息字段,以使资源模型正确渲染。从非常真实的意义上说,KIND 数据结构(将与模型渲染和运行时模拟需求相关的不同类型相关数据分组)是 Trainz 中的第一级容器(尽管有一个特殊的名称,“KIND”),并且几乎总是需要其他容器级数据组在 ini 文件中与其一起使用。这些是枚举的辅助容器和标签,kind 标签和类别-类的组合用于确定需要为这种资源定义哪些其他数据元素,这些元素可以被认为是子 kind,因为所有类似的资源都需要定义相同的数据元素。

现在,所有容器和类似容器的结构都位于 config.txt 文件中,但区别仅仅是“容器定义类型”通常在几个不同的 KIND 定义的资源中具有范围(适用性)并代表一个共享属性(一个特性,例如转向架),而每个 KIND 对该类资源都是唯一的。KIND 引擎和 KIND 货车都有转向架(车轮在转向架上),因此它们都在其 ini 文件中都有一个转向架容器。

在 Trainz 数据模型中定义资源-II


以下列表截至页面撰写时是全面的,并定期更新。请参见 Trainz-Wiki KIND TrainzBaseSpec 以了解可能的更新。(许多链接在下面连接到 N3V TrainzOnline Wiki,这些链接与 Wikibook 部分链接之间存在轻微的颜色差异。截至 2014 年 8 月下旬,那些仍然是红链接的链接尚未在 N3V Wiki 中正式定义,尽管该类可能已在其中一个 内容创作者 的论坛中公布。 


KIND 的类型

[edit | edit source]

所有 Trainz 定义的数据(内容)都有三个必需的元素:一个 config.txt 文件 用于组织数据,一个身份,即 kuid(用户名本身对您没有用,但是一个合法的资产可以在没有姓名的情况下创建!),最后,一个合法定义的 kind 标签。kind 负责,是管弦乐队的指挥,是排长或 CEO 指挥 - 设置处理后所有内容的要求。简而言之,kind 的值,一个小型选择严格定义的成员专用组 - 告诉 Trainz 软件要在我们创建的虚拟世界中渲染和显示什么,以及如何在何处找到其他部分以使这些资产部分在 config.txt 文件中相互链接。
  以下每个子类都被认为具有 TrainzBaseSpec 作为它们的数据“父类”。[注释 4] 下面列出的几个 kind,那些带下划线的,是早于 Trainz 数据模型TS2009 版本中(即自 2008 年底以来)更改的旧版 kind,N3V 程序员仅从此以后施加了逐渐(增量)更改。
  目前可以在 N3V Trainz Wiki 的 内容创作者指南 部分找到有关根据这些旧版 kind 修复资产的详细信息。 此处,并提供发人深省的 旧版 KIND 示例。强烈建议任何使用 Trainz 下载站 或考虑创建内容的用户仔细阅读 CCG。通过了解旧版内容的定义方式的历史背景,然后可以将其与 TrainzOnline 对相同数据类型的当前报道进行对比,因为这种过去与现在之间的对比通常可以为修复、更改和自定义资产提供宝贵的见解。更重要的是,CCG 中的文字是专业制作的,而且更加具有赘述性 - 它经常会让你了解如果更改这一点或那一点,会产生哪些扩展效果,而 Trainz Wiki 却没有提供这些信息。TrainzOnline 上发布的 CCG 是 TC1&2/TC3 版本 - 从 1999 年的 Trainz 开始,出版了多本小册子的最新版本;TC3 CCG 包含来自 TRS2004/TRS2006 和 UTC 数据模型的已更改的 Enginespecs 机车资产,需要进行适当更新。

TrainzBaseSpec 子类 KIND(资产组类型)

 


重要的日常 KIND

[edit | edit source]
本节将提供链接到 一组示例子页面,这些子页面展示了常见资产
到 kind 配置的演变,从 v1.3-v1.5、v2.2、v2.5、v2.9、v3.7、v3.9,或其他类似版本,其中活动的 数据模型 发生变化,并且可以使用 文件比较软件 查看这些差异。
最重要的 KIND 是什么?

答案取决于你当前正在处理哪种资产和资产子类型。机车和货车在人类思维过程中都是 Kind "traincars",但在 Trainz 配置中则是不同的 KIND 声明,柴油机车和蒸汽机车都需要定义不同的数据参数来模拟资产;这种配置中的差异来自于 kind 的定义,强制的 category-class 标签 仅在 CMsurveyor 选择和排序过滤器中具有作用域。

Scenery Kinds

[edit | edit source]

这些通常比较简单,因此可以介绍 KIND 的用法。

轨道类型

[编辑 | 编辑源代码]

轨道边类型

[编辑 | 编辑源代码]

机车类型

[编辑 | 编辑源代码]

引擎规格

[编辑 | 编辑源代码]

引擎类型

  1. 类型和许多其他 Trainz 数据定义,虽然范围很广,但都是枚举数据类型... 意味着它们必须是来自合法允许词语列表的 <值>。 不允许其他值!
  2. 所有标签和容器在 配置文件 中的位置并不重要,保存数据结构在引号、方括号和括号中的正确嵌套
  3. 虽然没有被 N3V 程序员正式承认(我在任何地方都没有看到),但 LOD 文件[1] 比如 'meshname.LM.txt' 和 文件规范.texture.txt 文件可以被认为是 ini 文件 类型或 包含文件 类型,实际上扩展了配置文件中内联的定义。 (texture.txt 文件 + LM.txt 文件) 每个文件不仅包含路径信息,还包含重要的 如何实现数据指令行,就像 config.txt 文件行一样,必须以正确的格式,否则资产会生成错误。
     • config.txt 文件和此类包含文件之间的关键区别在于,它们不严格遵循 Trainz 的 关键字—<值> 对 一行格式,而是经常使用等式作为其语法的一部分。
  4. 备注: 此列表在 N3V TrainzOnline Wiki 上是“维基化”的,这意味着在“KIND”这个词之后第一个字母被大写了,而 config.txt 文件中的实际数据标签名称都是小写文本。 该维基在很多术语中也使用了双引号,我们将在本文中避免这种做法。
  5. '类型组成' 很少直接看到,它只存在于菜单和内容管理器列表中。

参考文献

[编辑 | 编辑源代码]


华夏公益教科书