RPGツクール2000/システム【サイトトップへ戻る】 ■歩くと実行するイベント (更新:2020/07/05) 主人公が移動するごとに、何らかの処理が実行するイベントの作り方を紹介します。 応用次第では1歩歩くごとにHPが回復するイベントや歩数カウントイベント、 自作エンカウントや足音イベントなどを作る事ができます。
■移動したかどうかを判断する方法 RPGツクール2000のマップには、マスごとに座標が設定されており、 マップの左上を「X座標=0、Y座標=0」として、 右に行くとX座標が増え、下に行くとY座標が増えます。 RPGツクール2000には、現在主人公がいるマスのX座標、Y座標を調べる機能があります。 上図で言えば、パーティーの初期位置があるので、 ゲームを開始すると「X座標9、Y座標7」に主人公が表示されます。 そして主人公が右へ1歩移動した場合は、「X座標10、Y座標7」になります。 主人公が移動すると、必ずX座標かY座標が変化するので、 今回の処理では、主人公のX座標とY座標の変化を調べて、 変化があった場合は「移動した」と判断します。 ▲トップへ戻る▲ ■座標を変数に保存する方法 主人公の現在位置の情報は、変数に保存します。 変数に保存する方法としては、 イベントコマンド:変数の操作を使う方法と、 イベントコマンド:現在の場所を保存を使う方法があります。 基本的に現在のマップID、X座標、Y座標を単体で保存する時には変数の操作を使い、 マップID、X座標、Y座標を全て保存する時には現在の場所を保存を使います。 ▼設定例:「変数の操作」の場合
▼設定例:「現在の場所を保存」の場合
▲トップへ戻る▲ ■現在位置の保存方法 主人公の現在位置の保存する方法は、X座標、Y座標の情報を 「別々の変数に保存する方法」と 「1つの変数にまとめて保存する方法」があります。 ▼別々の変数に保存する
▼1つの変数にまとめて保存する
まずX座標を変数に代入し、値を1000倍にします。 そしてY座標を変数に加算する事で、1つの変数にX座標とY座標の情報が保存されます。 仮に現在位置が「X座標=9、Y座標=7」の場合は、変数[0001]の値は「9007」になります。 そして右へ移動した時には「10007」になり、さらに下へ移動した時には「10008」になります。 このように移動すると確実に変数の値が変わるので、 常に変数の値の変化を調べる事で、主人公が移動したかどうかを調べる事ができます。 「別々の変数に保存する方法」でも「1つの変数にまとめて保存する方法」でも、 どちらでも歩いたかどうかの判断する事ができるので、 どちらか使いやすい方を選択して設定してください。 なお、YADOT内では使用する変数の数を抑えるために、 基本的に「1つの変数にまとめて保存する方法」を使っています。 ▲トップへ戻る▲ ■基本イベントの作成 ゲーム全体で使う場合は、コモンイベントに設定してください。 世界マップのみで使うなど、一部のマップのみで使う場合は、 そのマップのどこかにマップイベントで設定してください。 ▼X座標Y座標を別々の変数に保存する場合の設定例
▼X座標Y座標を1つの変数に保存する場合の設定例
▲トップへ戻る▲ ■10歩歩くごとにイベントを実行させる 1歩ごとではなく、10歩歩くごとに何らかのイベントを実行させたい時には、 以下のようにイベントを設定してください。 ▼X座標Y座標を別々の変数に保存する場合の設定例
▼X座標Y座標を1つの変数に保存する場合の設定例
▲トップへ戻る▲ ■1回だけ処理を止める ゲーム開始時に「X座標=0、Y座標=0」では無いマスにいたり、 別のマップへ移動した時に移動前のマップとは異なるマス座標にいる場合は、 主人公が移動していなくても1歩移動した事になります。 これが気になる場合は、以下のように設定してください。 ▼X座標Y座標を別々の変数に保存する場合の設定例
▼X座標Y座標を1つの変数に保存する場合の設定例
▲トップへ戻る▲ ■補足 イベントコマンド:キャラクターの動作指定などで強制的に主人公を移動させる時に、 〜移動した時に実行するイベント〜を動かしたくない時には、 出現条件:スイッチを設定して、使う時にはスイッチをON、 使いたくない時にはスイッチをOFFにしてください。 ▲トップへ戻る▲ ◎関連ページ ●森を歩くと○○が回復する ●装備して歩くとHP回復 ●使用すると一定歩数の間、敵が出なくなる ●歩くたびに時間が経過する ●自作エンカウント ●ドラホコ(主人公を列にして歩かせる)を作る ●足跡を残す |