RPGツクール2000/イベントコマンド(フィールド・バトル)【サイトトップへ戻る】
変数の操作
■変数〜の番号の変数
(更新:2020/06/28)


イベントコマンド:変数の操作変数〜の番号の変数と言った設定があります。



この変数〜の番号の変数は変数の設定の中で最も難解なイベント設定であると言えます。

変数〜の番号の変数は、
自作メニューや自作戦闘などのオリジナルのシステムを作る時によく使います。

そのため、今後オリジナルのシステムやRPG以外のジャンルのゲームを作ろうと考えている方は、
変数〜の番号の変数の使い方を覚えておいた方が良いでしょう。

ショートカット
■「単独」と「変数〜の番号の変数」の違い
■Vが付いたら「変数〜の番号の変数」の設定
■試しに使ってみる


  
■「単独」と「変数〜の番号の変数」の違い

変数の操作操作する変数にて、
「単独」と「変数〜の番号の変数」の両方に変数101番を設定して2つの処理の違いを確認します。

◆変数の操作:[0101]代入,987 ◆変数の操作:[V[0101]]代入,987
両方とも変数に987を代入する設定になりますが、
どの変数に987を代入するのかが異なります。
▼処理結果▼
変数101番987を代入します。 変数101番の値が「」の場合は、
変数3番987が代入されます。
変数101番の値が「45」の場合は、
変数45番987が代入されます。

このように変数〜の番号の変数を使うと、
変数101番を変える事で処理する変数の番号を変える事ができます。



オペランド変数〜の番号の変数も同じように処理されます。


▲トップへ戻る▲


  
■Vが付いたら「変数〜の番号の変数」の設定

変数の操作で「変数〜の番号の変数」を設定すると、変数番号の前に「」が付きます。

「変数〜の番号の変数」ではない設定 「変数〜の番号の変数」の設定
◆変数の操作:[0101]代入,987 ◆変数の操作:[V[0101]]代入,987
◆変数の操作:[0001]代入,変数[0101]の値 ◆変数の操作:[0001]代入,変数[V[0101]]の値

YADOTのページ内にも、
「V」が付いている設定(「変数〜の番号の変数」の設定)がある場合があります。

当然ながら設定を間違えると正しくイベントを処理する事ができないため、
変数〜の番号の変数を使っています」と書かれているYADOTのページでは、
変数の操作の設定に「V」が付いているかどうかを確認しながらイベントを設定する必要があります。


▲トップへ戻る▲


  
■試しに使ってみる

主人公の移動ルートを保存するイベントを作成し、実際に変数〜の番号の変数を使ってみましょう!



今回は主人公の移動した時の向き情報は、以下の数値で保存します。

向き 下向き 左向き 右向き 上向き
番号



移動方向の情報は変数21番から保存します。

1歩につき1個の変数を使うので、50歩移動した場合は、変数21〜70番を使う事になります。

主人公が移動したかどうかの処理は、歩くと実行するイベントを使います。
【歩くと実行するイベントのページを見る】



主人公が移動できるマップを作成し、マップ内にパーティーの初期位置を設定してください。

そしてマップのどこかに以下のマップイベントを設定してください。

■マップイベント

▼1ページ目

イベント出現条件:なし
イベント開始条件:自動的に始まる

◆変数の操作:[0001:前のXY]代入,主人公のX座標
◆変数の操作:[0001:前のXY]乗算,1000
◆変数の操作:[0001:前のXY]加算,主人公のY座標
◆変数の操作:[0003:保存する変数番号]代入,21




▼2ページ目

イベント出現条件:変数[0003:保存する変数番号]が21以上
イベント開始条件:定期的に並列処理する

◆変数の操作:[0002:現在のXY]代入,主人公のX座標
◆変数の操作:[0002:現在のXY]乗算,1000
◆変数の操作:[0002:現在のXY]加算,主人公のY座標
◆条件分岐:変数[0001:前のXY]がV[0002]以外
 ◆変数の操作:[0001:前のXY]代入,変数[0002]の値
 ◆変数の操作:[V[0003]]代入,主人公の向き
 ◆変数の操作:[0003:保存する変数番号]加算,1
 ◆
:分岐終了



イベント設定が終わったら、テストプレーを実行してみてください。

主人公が表示されたら1歩だけ移動して、すぐに[F9]を押して、
変数0021番に移動した方向の数値が設定されているかどうかを確認してください。

取り消しキーを押して[F9]の画面を閉じ、
さらに4歩適当に移動してから再び[F9]を押してみてください。
これで変数0021〜0025番に5歩分の移動した向きが保存されていると思います。

このように変数〜の番号の変数を使う事で、
少ないイベント設定で移動方向を保存する事ができます。

もしも変数〜の番号の変数を使わないで移動方向を保存するイベントを作った時には、
マップイベントの2ページ目の設定は以下のようになります。

◆変数の操作:[0002:現在のXY]代入,主人公のX座標
◆変数の操作:[0002:現在のXY]乗算,1000
◆変数の操作:[0002:現在のXY]加算,主人公のY座標
◆条件分岐:変数[0001:前のXY]がV[0002]以外
 ◆変数の操作:[0001:前のXY]代入,変数[0002]の値
 ◆条件分岐:変数[0003:保存する変数番号]が21
  ◆変数の操作:[0021:1歩目]代入,主人公の向き
  ◆
 :分岐終了
 ◆条件分岐:変数[0003:保存する変数番号]が22
  ◆変数の操作:[0022:2歩目]代入,主人公の向き
  ◆
 :分岐終了
 ◆条件分岐:変数[0003:保存する変数番号]が23
  ◆変数の操作:[0023:3歩目]代入,主人公の向き
  ◆
 :分岐終了
 ◆条件分岐:変数[0003:保存する変数番号]が24
  ◆変数の操作:[0024:4歩目]代入,主人公の向き
  ◆
 :分岐終了
 ◆条件分岐:変数[0003:保存する変数番号]が25
  ◆変数の操作:[0025:5歩目]代入,主人公の向き
  ◆
 :分岐終了
 ◆変数の操作:[0003:保存する変数番号]加算,1
 ◆
:分岐終了

たった5歩を保存するだけでこれだけのイベント設定が必要になります。

もしも100歩分の保存となると…
◆条件分岐:変数[0003:保存する変数番号]が21
 ◆変数の操作:[0021:1歩目]代入,主人公の向き
 ◆
:分岐終了
の条件分岐の設定が100個必要になります。



今回の移動方向を保存するイベントは、あまり使い道が無いイベント処理だと思いますが、
例えばリプレイ処理最初の位置に戻されるイベントを作りたい時には、
このような移動方向を保存するイベントが必要になります。

例えば以下の黄色で表示されたイベントを追加する事で、
Shiftキーを押すとスタート地点に戻る処理を作る事ができます。

■マップイベント

▼1ページ目

イベント出現条件:なし
イベント開始条件:自動的に始まる

◆変数の操作:[0001:前のXY]代入,主人公のX座標
◆変数の操作:[0001:前のXY]乗算,1000
◆変数の操作:[0001:前のXY]加算,主人公のY座標
◆変数の操作:[0003:保存する変数番号]代入,21




▼2ページ目

イベント出現条件:変数[0003:保存する変数番号]が21以上
イベント開始条件:定期的に並列処理する

◆変数の操作:[0002:現在のXY]代入,主人公のX座標
◆変数の操作:[0002:現在のXY]乗算,1000
◆変数の操作:[0002:現在のXY]加算,主人公のY座標
◆条件分岐:変数[0001:前のXY]がV[0002]以外
 ◆変数の操作:[0001:前のXY]代入,変数[0002]の値
 ◆変数の操作:[V[0003]]代入,主人公の向き
 ◆変数の操作:[0003:保存する変数番号]加算,1
 ◆
:分岐終了

◆キー入力の処理:[0004:Shiftキー](Shift/オプションにチェックなし)
◆条件分岐:変数[0004:Shiftキー]が7
 ◆スイッチの操作:[0001:戻る処理]をONにする<3ページ目を起動
 ◆
:分岐終了





▼3ページ目<3ページ目を追加

イベント出現条件:スイッチ[0001:戻る処理]がON
イベント開始条件:自動的に始まる

◆条件分岐:変数[0003:保存する変数番号]が21
 ◆変数の操作:[0003:保存する変数番号]代入,0<1ページ目の初期設定を起動
 ◆スイッチの操作:[0001:戻る処理]をOFFにする
 ◆イベント処理の中断
 ◆
:分岐終了
◆変数の操作:[0003:保存する変数番号]減算,1
◆変数の操作:[0005:向き情報]代入,変数[V[0003]]の値<向き情報を呼び出す
◆条件分岐:変数[0005:向き情報]が2
 ◆キャラクターの動作指定:主人公,向き固定,下を向く,上に移動,向き固定解除
 ◆
:分岐終了
◆条件分岐:変数[0005:向き情報]が4
 ◆キャラクターの動作指定:主人公,向き固定,左を向く,右に移動,向き固定解除
 ◆
:分岐終了
◆条件分岐:変数[0005:向き情報]が6
 ◆キャラクターの動作指定:主人公,向き固定,右を向く,左に移動,向き固定解除
 ◆
:分岐終了
◆条件分岐:変数[0005:向き情報]が8
 ◆キャラクターの動作指定:主人公,向き固定,上を向く,下に移動,向き固定解除
 ◆
:分岐終了
◆指定動作の全実行

イベントを設定したら、テストプレーを実行し、適当に歩いてからShiftキーを押してみてください。


▲トップへ戻る▲



◎関連ページ

●イベントコマンド:変数の操作(フィールド仕様)
●イベントコマンド:変数の操作(バトルイベント仕様)
●「変数」って何?

YADOTトップ  このサイトは何?  気紛れな空間へ戻る  メール