コモンイベントの仕様的な何か
Posted: 2016年8月12日(金) 11:08
他に誰かがまとめてるかもしれないけど役に立つかもしれんので。
MV準拠のコモンイベント中のイベントコマンドの仕様的なアレです。
もしも間違いがあれば、だれか訂正お願いします。
◆セルフスイッチの操作:A = ON
実行中のイベントでコモンイベントを処理すると実行中のイベントの
セルフスイッチがONになります。
(スクリプトコマンド)
this._eventId = 2
「このイベント」で別のIDのイベントを指定できます。
for(var i = 1; i <= $gameMap.events().length; i++){
key = [$gameVariables.value(1), i, "A"]
$gameSelfSwitches.setValue(key, true)}
どこからでもセルフスイッチ操作したい人向け
変数1のマップID中の全てのイベントのセルフスイッチAをtrueにします。
(カウンタ変数iのイベントIDのセルフスイッチAをtrueにしています)
・条件分岐中の条件のセルフスイッチやキャラクターの「このイベント」は
コモンイベントの処理が入った実行中のイベントで判定されます。
◆ループ
◆コモンイベント:あ
◆
:以上繰り返し
イベントの実行内容を以上のようにしてコモンイベント内に
ループの中断を置いてもループは抜けないので注意です。
もちろん、コモンイベント内でのループ処理はループの中断で抜けられます。
処理
◆コモンイベント:あ
処理2
イベント処理の中断をコモンイベント内においても処理2は実行されます。
コモンイベント中の処理だけ中断されます。
ラベル:あ
処理
◆コモンイベント:あ
処理2
ラベルジャンプ:あをコモンイベント内においてもラベルジャンプしません。
したがって、そのまま処理2を処理します。
コモンイベント内に同名のラベル・ラベルジャンプがないと機能しません。
・コモンイベント中にコモンイベントの処理を入れると
その処理を終えた後、元のコモンイベントに戻り以降の処理に続きます。
例:1,2,3,4,3,2,1の順に処理
(1,2,3にはそれぞれ昇順に次のコモンイベントに進むように
イベントコマンド「コモンイベント」を設定。
末尾の3,2,1ではそれぞれのイベントコマンド「コモンイベント」後の処理がされる。
・場所移動ではコモンイベントで処理が変わるわけではありませんが
マップイベントで並列処理をしている途中に場所移動を入れると
そのマップイベントのその後の処理はされません。(そのマップでのみ有効なため)
データベースのコモンイベントでスイッチを条件に発生させる並列処理のイベントは
全マップで有効なので使い分けたいところ。
・その他の、移動・キャラクター系のイベントコマンド
「このイベント」がコモンイベントを実行したイベントIDです。
・コモンイベント内に戦闘の処理を入れるより下記のようにしたほうがまだいいです。
ラベルジャンプの仕様に基づきイベントの実行内容に設定。
(ランダムエンカウントと同じを使う場合はこの限りではない)
◆ラベル:リトライラベル
◆コモンイベント:戦闘前処理
◆戦闘の処理:スライモ*2
:勝ったとき
◆コモンイベント:戦闘勝利処理
◆
:逃げたとき
◆コモンイベント:戦いから逃げるな
◆
:負けたとき
◆コモンイベント:リトライ処理
◆ラベルジャンプ:リトライラベル
◆
:分岐終了
処理
メニュー画面を開く
処理2
開いたメニュー画面でコモンイベントを設定したアイテムまたはスキルを
使用するとメニュー画面が閉じ処理2が終わった後に設定されたコモンイベントが処理されます。
正直これは使いにくい。
・コモンイベント内で「セーブ画面を開く」を実行した後の処理が
その「セーブ画面を開く」の処理でセーブしたデータをロードしても
実行されるようになりました。(VXACEからの変更点)
以上です。みんなもコモンイベントを使って自作システムを作ろう!
(作れるとは言っていない)
MV準拠のコモンイベント中のイベントコマンドの仕様的なアレです。
もしも間違いがあれば、だれか訂正お願いします。
◆セルフスイッチの操作:A = ON
実行中のイベントでコモンイベントを処理すると実行中のイベントの
セルフスイッチがONになります。
(スクリプトコマンド)
this._eventId = 2
「このイベント」で別のIDのイベントを指定できます。
for(var i = 1; i <= $gameMap.events().length; i++){
key = [$gameVariables.value(1), i, "A"]
$gameSelfSwitches.setValue(key, true)}
どこからでもセルフスイッチ操作したい人向け
変数1のマップID中の全てのイベントのセルフスイッチAをtrueにします。
(カウンタ変数iのイベントIDのセルフスイッチAをtrueにしています)
・条件分岐中の条件のセルフスイッチやキャラクターの「このイベント」は
コモンイベントの処理が入った実行中のイベントで判定されます。
◆ループ
◆コモンイベント:あ
◆
:以上繰り返し
イベントの実行内容を以上のようにしてコモンイベント内に
ループの中断を置いてもループは抜けないので注意です。
もちろん、コモンイベント内でのループ処理はループの中断で抜けられます。
処理
◆コモンイベント:あ
処理2
イベント処理の中断をコモンイベント内においても処理2は実行されます。
コモンイベント中の処理だけ中断されます。
ラベル:あ
処理
◆コモンイベント:あ
処理2
ラベルジャンプ:あをコモンイベント内においてもラベルジャンプしません。
したがって、そのまま処理2を処理します。
コモンイベント内に同名のラベル・ラベルジャンプがないと機能しません。
・コモンイベント中にコモンイベントの処理を入れると
その処理を終えた後、元のコモンイベントに戻り以降の処理に続きます。
例:1,2,3,4,3,2,1の順に処理
(1,2,3にはそれぞれ昇順に次のコモンイベントに進むように
イベントコマンド「コモンイベント」を設定。
末尾の3,2,1ではそれぞれのイベントコマンド「コモンイベント」後の処理がされる。
・場所移動ではコモンイベントで処理が変わるわけではありませんが
マップイベントで並列処理をしている途中に場所移動を入れると
そのマップイベントのその後の処理はされません。(そのマップでのみ有効なため)
データベースのコモンイベントでスイッチを条件に発生させる並列処理のイベントは
全マップで有効なので使い分けたいところ。
・その他の、移動・キャラクター系のイベントコマンド
「このイベント」がコモンイベントを実行したイベントIDです。
・コモンイベント内に戦闘の処理を入れるより下記のようにしたほうがまだいいです。
ラベルジャンプの仕様に基づきイベントの実行内容に設定。
(ランダムエンカウントと同じを使う場合はこの限りではない)
◆ラベル:リトライラベル
◆コモンイベント:戦闘前処理
◆戦闘の処理:スライモ*2
:勝ったとき
◆コモンイベント:戦闘勝利処理
◆
:逃げたとき
◆コモンイベント:戦いから逃げるな
◆
:負けたとき
◆コモンイベント:リトライ処理
◆ラベルジャンプ:リトライラベル
◆
:分岐終了
処理
メニュー画面を開く
処理2
開いたメニュー画面でコモンイベントを設定したアイテムまたはスキルを
使用するとメニュー画面が閉じ処理2が終わった後に設定されたコモンイベントが処理されます。
正直これは使いにくい。
・コモンイベント内で「セーブ画面を開く」を実行した後の処理が
その「セーブ画面を開く」の処理でセーブしたデータをロードしても
実行されるようになりました。(VXACEからの変更点)
以上です。みんなもコモンイベントを使って自作システムを作ろう!
(作れるとは言っていない)