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 程式碼 標準的更新且更準確的資訊,這些標準隨著軟體功能的新增而發生變化的趨勢。 |

