跳转到内容

Trainz/容器/扩展容器

来自Wikibooks,开放世界中的开放书籍
logo
Trainz 注释参考
TOC | 开始乐趣 | AM&C | 创作 | 书内参考文献 ORP 参考文献:  • 索引 • 容器 • 种类 • 标签 | 附录  • 版本
[e]
KINDs(资产组类型)
容器


扩展容器 是一个顶级 config.txt 文件 条目,可用于任何从  KIND TrainzBaseSpec 派生的资产——简而言之,所有资产。该容器的目的是允许内容创建者使用关键词将脚本化功能或输入连接在一起,以便可以定义(分配为变量并为特定资产 实例 初始化)而不会导致 ContentManager.exe 或 DLS 上传软件出现故障,并且验证测试不会使资产失败。简而言之,它们使灵活性扩展成为 Trainz 的一部分,这是自 Trainz (Beta) 0.9 版本发布以来的标志之一。

  • 此容器旨在允许第三方开发者引入自定义资产键控数据,这些数据可以由自定义脚本处理。
  • 扩展容器是具有特定命名约定的自定义标签或子容器的列表。
  • 从普通 Trainz 用户的角度来看,需要添加此容器是为了可接受地 修复资产更新和修复 DLS 上的旧资产,并使用软件挂钩。多年来,Trainz 相比于各种竞争对手的 火车模拟器 的主要优势之一就是其可扩展性——内容创建者可以通过添加软件来扩展和增强基础程序的功能。例如,各种提供替代“车厢涂装”(油漆贴图)的Trainz 可扩展性方案——其中一个由 TrainzProRoutes 开发的系列被称为“变色龙贴图”——或特定车型 kuid 上的实例自动编号系统。DLS 上的旧资产可能无法重新配置,因此会抛出一个易于修复的错误。

支持的标签

[编辑 | 编辑源代码]

扩展容器”内顶级标签的命名非常重要。标签名称应具有意义,并且必须以连字符结尾,后跟引入扩展的内容创建者的 用户 ID 号码

  • 此内容创建者全权负责确定适用于标签或子容器的任何规则和限制,并且理想情况下应努力通过此 wiki 和 TrainzOnline wiki 向其他创建者提供此信息,并在下面的 扩展文档部分 中提供相关页面的链接。
  • 虽然内容创建者被允许使用彼此的扩展格式,但创建者不允许引入新的扩展(或更改现有扩展的含义),而该扩展存在于属于其他内容创建者的命名空间中。
  • 扩展容器中的每个标签可以是单个值,也可以是子容器,该子容器对各种数据元素进行分组。如果使用子容器,则应在扩展文档中指定子容器的内容。N3V Games 对特定扩展中的值没有施加任何限制。

 

目前,扩展容器的内容未经验证。预计未来版本的 Trainz 和下载站将根据此页面描述的规则对扩展容器进行验证。此外,N3V 可能会正式采用已进入普遍使用的特定扩展。在这种情况下,N3V 可能会选择将资产验证引入扩展创建者的正式规范,或者在没有此类规范的情况下,引入由 N3V 根据通用用法编写的正式规范。 

扩展文档

[编辑 | 编辑源代码]

如果您是第三方内容创建者,并且根据这些规范创建了自定义扩展,请在此维基上记录您的扩展,并在此处链接到您的扩展页面

  • 在此处添加您的条目。

扩展容器示例

[编辑 | 编辑源代码]

带运行编号的机车

[编辑 | 编辑源代码]
以下行直接取自Trainz 1.3 时代的机车,后来更新到 V2.9 或更高版本(TS09)。
Example from a TBV 1.3 Locomotive upgraded to TBV 2.9. Locomotive configs and many other traincars which share 'traincar parts' will specify such parts (beginning with bogeys) by a kuid reference. 
 • Single key-word—value pairs signify either boolean parameters (only 1 or 0 meaning True or False are allowed)
 • or an integer count= 'Number of fonts', (in this case-meaning font-sub-meshes (really meaning font locations where named attachment points are defined in the mesh) to permit showing a digit) with suffixed identities.
 • These tell a script asset how many memory locations to reserve (allocate) for this traincar's scripts. The value pair with suffixed keywords assign values or initialize such values.[note 1]

bogeys
{
...
}
enginespec                              <kuid:-1:42004231>
enginesound                             <kuid:-1:42003000>
engine                                  1
fonts                                   4

以前的 TBV 级别解析将容忍 config.txt 文件中直接存在的运行编号容器。

extensions
{
   running-numbers
   {
     rn-0                                  "# 2004"
     rn-1                                  "# 2005"
     rn-2                                  "# 2006"
     rn-3                                  "# 2007"
   }
}
The script of such engine assets utilizes the labeled 'key-name — value-pairs' in the extension to assign a range of locomotive numbers. In this case, the prototype railroad had only four locomotives of this type which were assigned the numbers listed. Other arrangements to list a range of numbers are common, especially for dynamically numbered freight cars such as hoppers. boxcars, flatcars, etc. of specific types.

 

注释、脚注和参考文献

[编辑 | 编辑源代码]

Config.txt 文件在 Trainz 资产中是普遍存在的,因为如果没有这种类型的计算机科学容器,就无法定义任何资产。在编辑或创建 Trainz 内容时,必须始终牢记关键字-键的值对。 TrainzBaseSpec 包含资产定义 config.txt 文件中最常见的的值和容器。 

  1. 字体本身作为纹理文件提供——通常为.TGA 文件,包含一系列混合颜色的数字,后缀为 a、b、c、d。假设使用后缀“a”的约定,该约定也意味着它可以用作alpha蒙版'digit-6a.tga' 纹理兼作黑色字母和 alpha 蒙版,因此在白色背景上显示为黑色字母。'b 后缀' 数字 tga 文件可能是运营公司的道路颜色,例如红色;如果我们示例公司的涂装使用了这种图案,则会在引擎网格的一侧使用大型易读的字母,以便在侧面上使用。

 

 

参考文献

[编辑 | 编辑源代码]

 

华夏公益教科书