VRMTrain#
編成#
列車をあらわす編成オブジェクトです。(VRMNXでは、車輌が含まれていないなど走行できない編成もオブジェクトが生成されます。また、連結で空になった側の編成オブジェクトも削除されません。)
イベント#
event | guide | 固有param | |
---|---|---|---|
start | 出発 | auto | 0:手動操作 1:自動制御 |
stop | 停止 | auto | 0:手動操作 1:自動制御 |
autospeed | 自動速度制御で目標速度到達時または目標距離到達時 | ||
split | 分割時に発生。分割もとの編成で発生します。 | newid | 新しい編成のID |
live | 新しい編成が正常なら1 | ||
create | 分割時、新規に生成される編成で発生します。 | srcid | 分割元の編成ID |
couple | 連結時に発生します。残存する側の編成です。 | delid | 無効化される編成のID |
delete | 連結時、無効化される編成で発生します。 | ||
homekey | HOMEキーを押したとき | ||
endkey | ENDキーを押したとき | ||
insertkey | INSキーを押したとき | ||
spacekey | SPACEキーを押したとき | shiftkey | シフトキーを同時に押している場合は、1 |
active | 操作対象変更時に発生します。 | focus | 0:解除 1:対象 |
view | 表示対象変更時に発生します。 | focus | 0:解除 1:対象 |
keydown | 指定したキーが押されたときに発生します。 | keycode | 仮想キーコード |
halt | 強制的に停止 | status | 発生要因のID |
start/stopイベント#
列車速度をキー操作したとき、SetTimerVoltage()関数で自動制御したときに発生します。
ATSでの自動制御は、このイベントの代わりにautospeedイベントが発生します。
列車が走行できない条件の場合、stopイベントではなくhaltイベントが発生します。
haltイベント#
列車の進行先にレールがないなど、システムによって速度を0にする場合に発生します。 param["status"]にHALT-IDを記録します。
HALT-ID | 発生要因 |
---|---|
1 | 連結 |
2 | 走行可能な距離0 |
3 | 運転方式の変更 |
4 | 進行先に走行可能なレールがない |
5 | 進行方向の変更 |
連結イベントでは、複数のhaltイベントが発生します。
速度がすでに0の場合も発生する場合があります。
'halt'イベントは新しく追加されたイベントです。イベントハンドラには、下記のように追加してイベントを受け取ります。
#編成スクリプトに追加
#サンプルはイベントの発生をログに記録
elif ev == 'halt':
vrmapi.LOG("halt event")
vrmapi.LOG(param["status"])
autospeedイベント#
自動センサーのコマンドで列車を制御した場合に発生します。 列車が目標の速度に到達したら、autospeedイベントが発生します。
出発、停止イベント例#
スクリプトで出発、センサーで停止(指定距離で停止)#
event | param | |
---|---|---|
スクリプトで出発 | start | auto = 1 |
センサー停止命令 | autospeed | ... |
自動制御(スクリプトのSetTimerVoltage())#
event | param | |
---|---|---|
キー操作で出発 | start | auto = 0 |
スクリプトで自動停止 | stop | auto = 1 |
キー操作#
event | param | |
---|---|---|
キー操作で出発 | start | auto = 0 |
キー操作で停止 | stop | auto = 0 |
すすめるレールがない#
event | param | |
---|---|---|
強制停止 | halt | status = 4 |
走行可能な距離が0#
event | param | |
---|---|---|
強制停止 | halt | status = 2 |
徐行から連結#
event | param | |
---|---|---|
連結で強制停止(操作側) | halt | status = 1 |
連結で強制停止(停止側) | halt | status = 1 |
連結で強制停止(停止側) | halt | status = 5 |
連結で強制停止(停止側) | halt | status = 1 |
連結後は、停止側が存続する編成
速度の範囲指定でのイベント#
列車の速度範囲を設定している場合、速度範囲の下限、上限に到達した場合のイベントはありません。
カメラモード#
編成ごとにカメラの表示モードリストが記録されています。 モードは、IDまたはtagで識別します。
初期状態ではシステムによっていくつかのカメラモードが用意されています。 初期状態のカメラモードは、システムバージョンでことなります。
cameraID | mode tag | guide |
---|---|---|
-1 | global | システムカメラ |
1 | drive1 | 運転台 |
2 | drive2 | 後方運転台 |
10 | sky1 | 運転上空1 |
11 | sky2 | 運転上空2 |
12 | sky3 | 運転上空3 |
13 | sky4 | 後方運転上空 |
100 | side1 | 側面1 |
101 | side2 | 側面2 |
102 | side3 | 側面3 |
103 | side4 | 側面4 |
200 | room1 | 車窓1 |
201 | room2 | 車窓2 |
501 | out1 | 外部1 |
502 | out2 | 外部2 |
503 | out3 | 外部3 |
504 | out4 | 外部4 |
505 | out5 | 外部5 |
506 | out6 | 外部6 |
104、105は廃止。