Trainz/containers/queues 容器
外观
< Trainz | containers
[[Category:Trainz 线程|process-ID, processes container]]
queues 容器 是各种 config.txt 文件 条目中使用的顶级条目 内容类型.
queues 容器 是一个包含队列子容器(队列)的列表,没有独立的标签。 ∅ 队列被某些资产类型(例如 kind industry 和 kind traincar)使用,用于建立运行时内存空间分配来“容纳” kind product 实例,并定义其内容的合法值。
- 本质上,由于产品可以在操作过程中装卸或生产和消费,因此每个队列都会建立在游戏中动态变化的变量。然后,支持的 TrainzScript 代码可以访问并使用这些内存分配。
- 队列可以使用动画网格或自定义附件来直观地表示它们在游戏中保存的产品数量。
- 队列子容器的实例在 TrainzScript 中通过 Class_ProductQueue 表示。
- 每个队列子容器使用以下格式
支持的标签
[edit | edit source]每个队列子容器都支持以下标签。每个标签在此处都显示其默认值。
size 0
product-kuid <KUID:0:0>
initial-count 0
passenger-queue 0
per-hour 120
animated-mesh ""
custom-attachments ""
attachment-points
{
}
allowed-products
{
}
allowed-categories
{
}
conflicts-with-queues
{
}
size
[edit | edit source]- 数据类型:正整数
- 数据元素描述:队列的最大大小,换句话说,这是队列可以“容纳”的最大产品量。
product-kuid
[edit | edit source]- 数据类型:KUID
- 数据元素描述:与“initial-count”标签结合使用,“product-kuid”指定队列中的初始 kind product 类型。
initial-count
[edit | edit source]- 数据类型:正整数
- 数据元素描述:与“product-kuid”标签结合使用,“initial-count”指定队列中的初始产品量。
passenger-queue
[edit | edit source]- 数据类型:布尔值
- 数据元素描述:指定队列可以容纳乘客。
per-hour
[edit | edit source]- 数据类型:正整数
- 数据元素描述:此标志用于客运站,并设置将在一个小时内累积的基本乘客数量。
animated-mesh
[edit | edit source]- 数据类型:字符串
- 数据元素描述:指定网格表中动画网格的名称。此网格用于在游戏中直观地表示队列中的产品数量,并且应该从空到满进行动画处理。
custom-attachments
[edit | edit source]- 数据类型:字符串
- 数据元素描述:指定此队列具有自定义附件点。自定义附件在游戏中用于直观地表示队列中的产品数量。“attachment-points”容器用于列出自定义附件。
attachment-points
[edit | edit source]- 数据类型:字符串容器
- 数据元素描述:“attachment-points”容器列出所有用于直观地表示队列中产品数量的网格附件点。当队列为空时,附加在这些点上的网格将不可见,随着队列的填充,它们将逐渐显示。附件点的数量不能超过队列的总大小。
allowed-categories
[edit | edit source]- 数据类型:KUID 容器
- 数据元素描述:列出所有可以累积在队列中的 kind product-category 资产的 KUID。允许产品类别意味着该类别中的所有产品都是允许的,因此它们不需要在“allowed-products”子容器中指定。
- 另一方面,使用 kind kind product-category 意味着必须定义一个与行业或滚动库存资产的限制相匹配的类别。
allowed-products
[edit | edit source]Allowed-products 可以被认为是在上面 allowed-categories 指定的产品类别过宽或不合适时,特定产品的列表。
- 数据类型:KUID 子容器
- 数据元素描述:列出所有可以累积在队列中的各种 kind product 资产的 KUID。
- 示例
allowed-products
{
0 <kuid2:xxxxx:yyyyyy:1>
1 <kuid:wwwwww:zzzzzz>
}
- 列出的 KUID 是定义的 kind product 类资产的资产。
- 数据类型:字符串容器
- 数据元素描述:设置此队列冲突的队列数量。如果任何冲突队列中有任何产品,则无法将可冲突产品添加到此队列。
- 否则,如果产品不相互排斥,则可以将产品添加到多个队列。
队列 ID 是内容创建者指定的标识符名称的占位符(因此是可变的)。标识符名称(队列 ID)由 Trainz 软件的其他部分使用来识别和与队列数据结构中初始化的数据进行交互。
- 在下面的示例中,'queues-ID' 的作用是显而易见的,因为每个都是队列数据块(元素组)内仅一个单一嵌套级别 花括号,紧接在(在...内)形成队列数据块边界的 括号 之后。
- 按照下面示例中出现的顺序,它们是
- prod0
具有两个消耗队列的机车。 - locomotive_diesel_fuel_queue
- locomotive_sand_queue
其他一些有趣的用途... - load
- cattle_q
客运车站 具有多个消耗队列和源队列... - passengers_on_0
- passengers_on_1
- passengers_on_2
- passengers_off_0
- passengers_off_1
- passengers_off_2
- 注意在示例中,进程 数据结构与队列 ID 标识符处于相同的缩进级别。
- 在这种情况下,货车与 NASCAR 无关,而是更古老的牲畜用途:绵羊、猪、牛等。
queues
{
prod0
{
size 15
initial-count 0
product-kuid <kuid2:30671:90102101:1>
attachment-points
{
0 "a.load0"
1 "a.load1"
2 "a.load2"
3 "a.load3"
4 "a.load4"
5 "a.load5"
6 "a.load6"
7 "a.load7"
8 "a.load8"
9 "a.load9"
10 "a.load10"
11 "a.load11"
12 "a.load12"
13 "a.load13"
14 "a.load14"
}
allowed-products
{
0 <kuid2:30671:90102101:1>
1 <kuid2:68213:60038:1>
2 <kuid2:68213:60037:1>
}
}
}
queues
{
locomotive_diesel_fuel_queue
{
size 18571
initial-count 1000
product-kuid <kuid2:86105:60600:1>
allowed-products
{
0 <kuid2:86105:60600:1>
}
}
locomotive_sand_queue
{
size 1585
initial-count 1000
product-kuid <kuid2:86105:60601:1>
allowed-products
{
0 <kuid2:86105:60601:1>
}
}
}
kuid <kuid:58422:1053> username "40ft Southern AAR DD boxcar" kind "traincar" mass 23012 engine 0 enginespec <kuid:-1:42004201> description "AAR 1937 design standard 40ft 50ton automobile boxcar as used by CNO&TP(Southern)." author "Randall (Whitepass) White" organisation "TPR"
queues
{
load
{
size 7
initial-count 0
product-kuid <kuid:-3:10013>
allowed-products
{
0 <kuid:-3:10013>
2 <kuid2:30671:9040690:1>
3 <kuid2:30671:9080810:1>
4 <kuid2:30671:9080510:1>
5 <kuid2:30671:98702901:1>
6 <kuid2:30671:9840820:1>
7 <kuid2:124017:27009:1>
8 <kuid2:30671:9870899:1>
9 <kuid2:30671:9870190:1>
}
}
}
- 这些示例可能需要放在子页面中,因为长度太长。
行业类型涉及一个配套或姊妹容器:进程容器容器,这些容器也将在下面介绍,以便最好地展示其相互作用和关联。
这个肉类包装行业不输出任何东西,充当牲畜消费者。
| 这 Trainz/Containers/queues 容器 部分是一个存根占位符,一个概述或标记,表示本书的这一部分尚未完善。您可以通过 扩展它 来帮助 Wikibooks Trainz 项目,以便更全面地讨论该主题。 需要的工作: 使用伪表格样式转换这些表格,以便可以在其中链接。 |
kuid <kuid2:69695:106:3>
trainz-build 2.4
light 1
type "industrial"*
region "GP&W"*
category-region-0 "US"
category-era-0 "1990s"
category-era-1 "1950s"
category-era-2 "1940s"
category-class "BC"
script "meatworks"
class "meatworks"
queues
{
cattle_q
{
size 256
initial-count 256
product-kuid <kuid2:30671:90102101:1>
attachment-points
{
0 "a.gen_goods0"
1 "a.gen_goods1"
2 "a.gen_goods2"
... yes a list of 256 attachment points for cattle
254 "a.gen_goods254"
255 "a.gen_goods255"
}
}
}
processes
{
multi_consumer_producer
{
start-enabled 1
duration 60
inputs
{
0
{
amount 1
queue "cattle_q"
}
}
outputs
{
}
}
}
attached-track
{
cattledepot
{
track <kuid:-1:15>
vertices
{
0 "a.track0a"
1 "a.track0b"
2 "a.track0c"
3 "a.track0d"
}
}
}
attached-trigger
{
cattletrig1
{
att "a.trig0"
radius 6.5
}
}
kuid <kuid2:316:28003:1> kind "industry" script "Station" class "Station" category-class "BR" username "Austin Large Station" category-region "CA;US" category-era "1890s;1900s;1910s;1920s;1930s;1940s;1950s;1960s;1970s" trainz-build 2.5
queues
{
passengers_on_0
{
passenger-queue "1"
size 30
initial-count 8
product-kuid <kuid:-3:10060>
attachment-points
{
0 "a.passon01"
1 "a.passon02"
2 "a.passon03"
3 "a.passon04
...
28 "a.passon29"
29 "a.passon30"
}
}
passengers_on_1
{
passenger-queue "1"
size 30
initial-count 8
product-kuid <kuid:-3:10060>
attachment-points
{
0 "a.passon31"
1 "a.passon32"
2 "a.passon33
...
28 "a.passon59"
29 "a.passon60"
}
}
passengers_on_2
{
passenger-queue "1"
size 20
initial-count 8
product-kuid <kuid:-3:10060>
attachment-points
{
0 "a.passon61"
1 "a.passon62"
...
18 "a.passon79"
19 "a.passon80"
}
}
passengers_off_0
{
passenger-queue "1"
size 18
initial-count 0
product-kuid <kuid:-3:10060>
attachment-points
{
0 "a.passoff01"
1 "a.passoff02"
...
16 "a.passoff17"
17 "a.passoff18"
}
}
passengers_off_1
{
passenger-queue "1"
size 17
initial-count 0
product-kuid <kuid:-3:10060>
attachment-points
{
0 "a.passoff19"
1 "a.passoff20"
...
16 "a.passoff35"
}
}
passengers_off_2
{
passenger-queue "1"
size 18
initial-count 0
product-kuid <kuid:-3:10060>
attachment-points
{
0 "a.passoff36"
1 "a.passoff37"
...
15 "a.passoff51"
16 "a.passoff52"
}
}
}
processes
{
passenger_spawn_0
{
start-enabled 1
duration 20
outputs
{
0
{
amount 1
queue "passengers_on_0"
}
}
}
passenger_spawn_1
{
start-enabled 1
duration 20
outputs
{
0
{
amount 1
queue "passengers_on_1"
}
}
}
passenger_spawn_2
{
start-enabled 1
duration 20
outputs
{
0
{
amount 1
queue "passengers_on_2"
}
}
}
passenger_delete_0
{
start-enabled 1
duration 3
inputs
{
0
{
amount 1
queue "passengers_off_0"
}
}
}
passenger_delete_1
{
start-enabled 1
duration 3
inputs
{
0
{
amount 1
queue "passengers_off_1"
}
}
}
passenger_delete_2
{
start-enabled 1
duration 3
inputs
{
0
{
amount 1
queue "passengers_off_2"
}
}
}
}
| 此参考页面改编自 TrainzOnline Wiki,根据 CC-BY-SA 3.0 许可证。此页面可能会比 相同主题的源页面 包含更多文本解释、阐释、历史和/或示例。 TrainzOnline Wiki 主要由程序员或了解 内容创建者 维护,可能包含有关当前 trainz-build 代码 标准的更新且更准确的信息,这些标准随着软件功能的添加而发生变化的趋势。 |

