Trainz/Kinds
| |||
|
|||
|
词汇表 |
HKeys-CM |
HKeys-DVR |
HKeys-SUR |
HKeys-WIN |
鼠标使用 |
符号 |
操作说明:点击正文中的脚注 ([2]) 或注释标签 ([note 12]) 将导航您(定位页面)到条目确切的文本。 • 然后:点击那里的?符号,将返回您从开始的地方继续阅读。 |
所有定义 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 Kinds 是定义最小数据结构的上级容器,用于在单个识别 kuid 下表征资源类型。
KINDs 在 Trainz 模拟器中定义了属性,该属性与类别-类一起设置了必要的信息字段,以使资源模型正确渲染。从非常真实的意义上说,KIND 数据结构(将与模型渲染和运行时模拟需求相关的不同类型相关数据分组)是 Trainz 中的第一级容器(尽管有一个特殊的名称,“KIND”),并且几乎总是需要其他容器级数据组在 ini 文件中与其一起使用。这些是枚举的辅助容器和标签,kind 标签和类别-类的组合用于确定需要为这种资源定义哪些其他数据元素,这些元素可以被认为是子 kind,因为所有类似的资源都需要定义相同的数据元素。
现在,所有容器和类似容器的结构都位于 config.txt 文件中,但区别仅仅是“容器定义类型”通常在几个不同的 KIND 定义的资源中具有范围(适用性)并代表一个共享属性(一个特性,例如转向架),而每个 KIND 对该类资源都是唯一的。KIND 引擎和 KIND 货车都有转向架(车轮在转向架上),因此它们都在其 ini 文件中都有一个转向架容器。
|
以下列表截至页面撰写时是全面的,并定期更新。请参见 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 机车资产,需要进行适当更新。
重要的日常 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 标签 仅在 CM 和 surveyor 选择和排序过滤器中具有作用域。
Scenery Kinds
[edit | edit source]这些通常比较简单,因此可以介绍 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' 和 文件规范.texture.txt 文件可以被认为是 ini 文件 类型或 包含文件 类型,实际上扩展了配置文件中内联的定义。 (texture.txt 文件 + LM.txt 文件) 每个文件不仅包含路径信息,还包含重要的 如何实现数据指令行,就像 config.txt 文件行一样,必须以正确的格式,否则资产会生成错误。
• config.txt 文件和此类包含文件之间的关键区别在于,它们不严格遵循 Trainz 的 关键字—<值> 对 一行格式,而是经常使用等式作为其语法的一部分。 - ↑ 备注: 此列表在 N3V TrainzOnline Wiki 上是“维基化”的,这意味着在“KIND”这个词之后第一个字母被大写了,而 config.txt 文件中的实际数据标签名称都是小写文本。 该维基在很多术语中也使用了双引号,我们将在本文中避免这种做法。
- ↑ '类型组成' 很少直接看到,它只存在于菜单和内容管理器列表中。
此参考页面改编自 TrainzOnline Wiki,遵循 CC-BY-SA 3.0 许可证。 此页面可能包含比 同一主题的源页面 更多的文本解释、论述、历史和/或示例。 TrainzOnline Wiki 主要由程序员或了解 内容创作者 维护,可能包含有关当前 trainz-build 代码 标准的更新信息,这些标准在软件添加功能时会发生变化。 |