Top > マップスクリプト

マップスクリプト

Last-modified: 2017-03-27 (月) 00:45:20

マップスクリプトとは Edit

マップに入った瞬間特定のイベントを発生させるために設定されるスクリプト。
別名レベルスクリプト

発動させたいイベントを通常のイベントスクリプトとして作成し
そのスクリプトを特定の書式で記述することで、マップに入った瞬間作動させるものである。

マップスクリプトの種類 Edit

書式に記載される記号は以下の通り

SS = イベントスクリプト
MS = マップスクリプトで使用される特別な書式を持ったスクリプト

00:イベントなし Edit

00

マップに入ったときに一切イベントを発生させない場合に指定する。
通常民家やフレンドリィショップなど、多くのマップで使用される。

01:タイル変更 Edit

01 SS SS SS SS

詳細は不明。マップに入った瞬間マップの表示を変更するために使用される。
推測ではあるが、一部のイベントスクリプトしか機能しないものではないかと思われる。
(マップタイル変更スクリプトA2, 条件分岐21/2B, ジャンプ05, 参照04など)

02:イベント変数の値よりイベントの発動を制御1 Edit

02 MS MS MS MS

特定のイベント変数をチェックし、条件をみたす場合のみスクリプトを動作させる。
イベント変数と比較値の指定方法については後述

03:マップ侵入 Edit

03 SS SS SS SS

そのマップに入ることをトリガとしてスクリプトを動作させる。
イベント変数などの指定はなく、無条件で動作する。

04:イベント変数の値よりイベントの発動を制御2 Edit

04 MS MS MS MS

マップスクリプト02同様、特定のイベント変数をチェックし、条件をみたす場合のみスクリプトを動作させる。
イベント変数と比較値の指定方法については後述
02との違いは不明。AdvanceMapの項目を見る限り参照メモリの違いか?

05:マップ侵入、メニューを閉じる Edit

05 SS SS SS SS

そのマップに入る、もしくはスタートメニューを閉じることをトリガとしてスクリプトを動作させる。
03とは異なり、スタートメニューを閉じた場合でも機能する。
イベント変数などの指定はなく、無条件で動作する。

02/04を使用する場合の特別な書式 Edit

マップスクリプト02/04を使用する場合は、イベント変数と比較値の指定が必要となる。
そのため、上記マップスクリプトの種類の項で記載したMSの書式は以下のとおりとなる。

[VA VA][nn nn][SS SS SS SS]

イベント変数VAの値がnnと一致する場合のみ、SSのアドレスに記述されたスクリプトを実行する。


上記書式は並列記載することで複数条件をチェックすることが可能である。

[VA VA][nn nn][SS SS SS SS]
[VA VA][nn nn][SS SS SS SS]
[VA VA][nn nn][SS SS SS SS]
[VA VA][nn nn][SS SS SS SS]
00

終端は00で閉じる必要がある。
なお、複数条件を記述した場合、AdvanceMapのマップスクリプトの項目には1つ目の項目しか表示されない

マップスクリプトの複数指定 Edit

マップスクリプトは異なる種類のものを複数個同時指定することができる。

02 MS MS MS MS 04 MS MS MS MS 03 SS SS SS SS 05 SS SS SS SS 00

終端は00で閉じる必要がある。
マップスクリプトは前方から順番に処理されていき、最後の00を見た時点で
「それ以上実行すべきマップスクリプトなし」と判断されて処理終了となる