TrainCarts/Signs/Mutex [ja]

From BergerHealer Wiki
Revision as of 03:44, 7 July 2026 by Saihou-Heiki (talk | contribs) (Created page with "== デバッグ == thumb|/train debug mutexコマンドを利用して表示された、スマートミューテックスの境界 '''/train debug mutext'''を使用すると、付近の領域の境界を見やすく表示できます。")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Other languages:

概要

列車が交差点にある間、Mutexサインが他の列車の進入をせき止めている。

Mutexサインは排他的な制御、つまり列車が中にある間は他の列車を入らせない領域を展開します。領域が消えると、待機していた列車が入れるようになります。このサインはSwitcherサインと組み合わせて衝突を避けるのに便利です。またMutexサインは、取り付けられたレバーを通じ、領域展開が行われているかどうかの状態を切り替えます。

複数のMutexサインは同じ名前をつけることでくっつけることができ、それぞれの立方体の領域をあわせてより複雑な領域を作ることが可能です。

記法

Signtemplate.png
[train]
mutex


Signtemplate.png
[train]
mutex 1/2/1


Signtemplate.png
[train]
mutex 1/2


Signtemplate.png
[train]
mutex 2


Signtemplate.png
[train]
mutex 2
name
d@Station 12


  • 一行目:[train]。Mutexサインは電源を必要としません。
  • 二行目mutexと書きます。引数を指定することができ、個数によって挙動が変化します。一つだけの場合は領域のxyzすべてのサイズが一度に指定され、二つだけの場合はひとつめがxzでふたつめがy、三つ全て指定するとそれぞれxyzのサイズとなります。指定しない場合、1×2×1の箱型の領域が生成されます。
  • 三行目:他の領域と結合して複雑な形の領域を作りたい場合、ここに名前を指定できます。必須ではありません。
  • 四行目ステートメント。同じ名前を指定した複数サインのステートメントは、それぞれリストに追加され、各個処理されます。先頭に&(アンド)や|(パイプ)をつけることで、AND演算かOR演算を選択できます。

スマートミューテックス

Smart Mutexを用いることで、複数の列車を選択的に、同時に処理することができます。

Smart Mutexサインはそれぞれの列車の通る経路を考慮し、衝突が起きそうにないのであれば、複数の列車を通過させます。

Signtemplate.png
[train]
smartmutex 2


Signtemplate.png
[train]
smutex 5/6/8


予測

スマートミューテックスによって列車の通るであろうルートを確認する時、Switcherサインも考慮に入れられます。なのでレールの分岐が現在どちらを向いているかは重要ではありません。

パシングミューテックス

Pathing Mutexは同時に複数の列車が十字路で激突しないようにしてくれます。

Pathing MutexはWaiterサインの上位互換のようなサインです。列車がパシングミューテックスサインを起動すると、その地点から列車の通るであろう経路を予測し、そのレール上を一時的な閉塞領域として扱います。そのレールを横切ろうとするその他の列車は一時的にせき止められ、また走行中であれば、パシングミューテックスの看板の前で止められます。

Signtemplate.png
[train]
pathmutex 100


Signtemplate.png
[train]
pmutex 100


Signtemplate.png
[train]
spmutex 100 3


記法

pathmutexまたはpmutex。指定されたパスを利用して、標準的な閉塞領域を作り出します。

spmutex:指定したパスから、スマートミューテックス領域を作ります。

複数の数字をパスとして指定できます。最初の数字は領域を作るまでの前方の距離で、ふたつめの数字(任意)は幅、つまりどのくらい列車が線路から距離を保って停車するのかを表します。これを大きな数字にすることで、激突を回避することができます。

接近時に減速する

waitaccelerationプロパティを設定すると、他の列車によって占有済みの閉塞領域へ近づいた時に、列車がパッと止まるのではなく、減速してから停車します。

デバッグ

/train debug mutexコマンドを利用して表示された、スマートミューテックスの境界

/train debug mutextを使用すると、付近の領域の境界を見やすく表示できます。