「夜行列車の機関車の室内灯は、消えてるのがやっぱ正しいよな」
VRM4ポータブル編成
と思いつつ、自分でも徹底できてない、というお話。
ポータブル編成ギミック一発組み込みは、汎用スクロールである関係上、編成に含まれるすべての車両に、有無を言わさずまったく同じスクリプトを書き込みます。
実際には、スクリプトの中で“自分が何号車か”であるとか“先頭/中間/最後尾車か”を調べたりして動作が変わるんですが、基本はまったく同じ動作をしています。そして、VRMスクリプトの車両系命令の中には“自分が機関車か否か”を調べるものはないので、多数派である“電車/気動車”を基本に動作を規定しています。
この結果、普通にスクロールを組み込むとヘッドライトと室内灯が連動するので、特に第5号の目玉となったブルートレインを夜間設定で走らせた場合、室内灯が点灯した状態になってしまって「おい、そりゃ危ないんでないの?」な状態になります。
で。これを改善するのは簡単で、スクロールを組み込んだ後に(または、何処からかダウンロードしたポータブル編成の)機関車の車両スクリプトを開いて、以下の部分を修正すればいいです。
[車両スクリプト]
(前略)
BeginFunc MtdLightOn
//
//点灯メソッド
//
Var Tmp
//共通アクション
SetRoomlight 0
SetSignlight 1
//車両位置に応じたアクション
GetCarPos Tmp
ifzero Tmp
SetHeadlight 0
SetTaillight 0
endif
ifeq Tmp 1
SetHeadlight 1
SetTaillight 0
endif
ifeq Tmp 2
SetHeadlight 0
SetTaillight 1
endif
EndFunc
(後略)
太字になっている行の
0は、ポータブル編成ギミック一発組み込みスクロールを組み込んだ時点では 1 になっています。これを 0 に変える。これだけです。
と自分で言いつつ、最近リリースしたブルートレイン系のポータブル編成のいくつかで(ひょっとすると全部か・・・@)これをやり忘れてるような気がしたので、懺悔しときます。気になる方は、各自で書き換えて上書き保存でもしちゃってください。
なお、電車・気動車の先頭/最後尾車にこれをやると、当然のことながら運転台だけでなく室内灯も消えてしまうのでNGです。これはもうVRM側の仕様なので我々にはどうしようもないですし、多分、今更これを変えるのはI.MAGiCにも無理でしょう。全先頭車モデルを再リリースしろ、と言ってるのに近いので。まぁ、VRM5の課題ですな。ちょっと気が早いけど。そんなモノがあるとして、の話ですが。

0