RPGツクール2000/マップイベント
キャライベントを作る
■話しかけた方向によって会話を変える
(更新:2015/11/28)


後ろから、または横から話しかけた時に、
表示する文章を変えるイベントの設定方法を紹介します。




このページは続きとなっているページです
キャライベントの基礎ページをご覧の上で
このページをご覧ください。
【キャライベントの基礎ページを見る】



☆ツクールの仕様の確認
マップイベントに向かって決定キーを押して話しかけますと、
マップイベントは主人公の方を向きます。
話しかける
(決定キー)

この主人公の方へ向く処理は、
マップイベントのイベント実行内容実行される前に向きが変わりますので、
マップイベントのイベント実行内容に、
主人公がどの方向から話しかけたのかを調べる処理を設定しても、
常に主人公は正面から話して来たと言う処理になります。

もしもマップイベントの後ろや横から話しかけたかどうかを判断させる場合は、
向きを固定にしたり、常に向きの情報を変数に記憶したりする必要があります。



☆向き固定の設定
向きを固定にしますと、主人公が話しかけても主人公の方を向かなくなります。


移動しないマップイベントの場合は、向き固定にするだけで、
あとはイベント実行内容を設定するだけで良いでしょう。

しかし移動するマップイベントの場合は、
下向きなのに左右に移動しますとカニ歩き
に移動しますと後ろ歩きになります。

カニ歩きなどの移動にならないようにするためには、
移動ルートの設定「向き変更」→「一歩前進」などの設定を行う必要があります。


■マップイベント
イベント開始条件:決定キーが押されたとき
プライオリティタイプ:通常キャラと重ならない
アニメーションタイプ:向き固定/足踏みなし
グラフィック:キャラの画像
移動タイプ:移動ルート指定※移動しない場合は「移動しない」を設定
移動頻度:※8未満の移動頻度にする場合は移動ルートの中で設定する。
 
移動設定 移動ルートの設定
ランダム移動 ◇ランダムに方向転換
◇移動頻度ダウン×必要数を設定
◇一歩前進
◇移動頻度アップ×上のダウン数を同じ数を設定
上に移動 ◇上を向く
◇移動頻度ダウン×必要数を設定
◇一歩前進×必要数を設定
◇移動頻度アップ×上のダウン数を同じ数を設定
下に移動 ◇下に向く
◇移動頻度ダウン×必要数を設定
◇一歩前進×必要数を設定
◇移動頻度アップ×上のダウン数を同じ数を設定
左に移動 ◇左に向く
◇移動頻度ダウン×必要数を設定
◇一歩前進×必要数を設定
◇移動頻度アップ×上のダウン数を同じ数を設定
右に移動 ◇右を向く
◇移動頻度ダウン×必要数を設定
◇一歩前進×必要数を設定
◇移動頻度アップ×上のダウン数を同じ数を設定
主人公に近寄る ◇主人公の方を向く
◇移動頻度ダウン×必要数を設定
◇一歩前進
◇移動頻度アップ×上のダウン数を同じ数を設定
主人公から逃げる ◇主人公の逆を向く
◇移動頻度ダウン×必要数を設定
◇一歩前進
◇移動頻度アップ×上のダウン数を同じ数を設定

移動ルートの設定で3マスを左右に行ったり来たりする場合は、
以下のように設定します。

※移動時の移動頻度が「6」の場合の設定例です。(初期設定の移動頻度は「8」)
◇右を向く
◇移動頻度ダウン
◇移動頻度ダウン
◇一歩前進
◇移動頻度アップ
◇移動頻度アップ
◇左に向く
◇移動頻度ダウン
◇移動頻度ダウン
◇一歩前進
◇移動頻度アップ
◇移動頻度アップ
◇左に向く
◇移動頻度ダウン
◇移動頻度ダウン
◇一歩前進
◇移動頻度アップ
◇移動頻度アップ
◇右を向く
◇移動頻度ダウン
◇移動頻度ダウン
◇一歩前進
◇移動頻度アップ
◇移動頻度アップ



イベント実行内容の設定は、移動の有無に問わず以下の通りです。

▼後ろからとそれ以外
◆変数の操作:[0001:主人公の向き]代入,主人公の向き
◆変数の操作:[0002:イベントの向き]代入,このイベントの向き
◆キャラクターの動作指定:このイベント,主人公の方を向く
◆条件分岐:変数[0001:主人公の向き]がV[0002]と同値(オプション:ON)<後ろから話しかけた時
 ◆文章:後ろから話しかけないで!
 ◆
:それ以外の場合<正面、または横から話しかけた時
 ◆文章:こんにちわ!
 ◆
:分岐終了


▼正面からとそれ以外
◆変数の操作:[0001:向き]代入,主人公の向き
◆変数の操作:[0001:向き]加算,このイベントの向き
◆キャラクターの動作指定:このイベント,主人公の方を向く
◆条件分岐:変数[0001:向き]が10以外(オプション:ON)<正面以外から話しかけた時
 ◆文章:正面から話しかけてくれるかな。
 ◆
:それ以外の場合<正面から話しかけた時
 ◆文章:こんにちわ!
 ◆
:分岐終了


▼正面、横、後ろをそれぞれ別に処理する
◆変数の操作:[0001:主人公の向き]代入,主人公の向き
◆変数の操作:[0002:イベントの向き]代入,このイベントの向き
◆キャラクターの動作指定:このイベント,主人公の方を向く
◆条件分岐:変数[0001:主人公の向き]がV[0002]と同値(オプション:ON)<後ろから話しかけた時
 ◆文章:後ろから話しかけないで!
 ◆
:それ以外の場合<正面、または横から話しかけた時
 ◆変数の操作:[0001:主人公の向き]加算,変数[0002]の値
 ◆条件分岐:変数[0001:主人公の向き]が10以外(オプション:ON)<横から話しかけた時
  ◆文章:横から話しかけないで!
  ◆
 :それ以外の場合<正面から話しかけた時
  ◆文章:こんにちわ!
  ◆
 :分岐終了
 ◆
:分岐終了


※同じマップイベントを複数設定する場合は、
 単にマップイベントをコピー&貼り付けするだけで設定完了です。
 使用する変数の番号は同じ番号のままでも問題ありません。




☆常に向き情報を変数に記憶する
何らかの問題で上の向き固定&移動ルートの設定の方法が使えない場合は、
別のマップイベントを用意して、
常にマップイベントの向きを記憶させる方法を使うと良いでしょう。

■マップイベント「向き取得」
イベント開始条件:定期的に並列処理する
グラフィック:透明
◆変数の操作:[0002:イベントAの向き]代入,イベントAの向き



■マップイベント「イベントA」
イベント開始条件:決定キーが押されたとき
プライオリティタイプ:通常キャラと重ならない
アニメーションタイプ:何でも良いです
グラフィック:キャラの画像
移動タイプ:何でも良いです
移動頻度:何でも良いです

▼後ろからとそれ以外
◆変数の操作:[0001:主人公の向き]代入,主人公の向き
◆キャラクターの動作指定:このイベント,主人公の方を向く
◆条件分岐:変数[0001:主人公の向き]がV[0002]と同値(オプション:ON)<後ろから話しかけた時
 ◆文章:後ろから話しかけないで!
 ◆
:それ以外の場合<正面、または横から話しかけた時
 ◆文章:こんにちわ!
 ◆
:分岐終了


▼正面からとそれ以外
◆変数の操作:[0001:向き]代入,主人公の向き
◆変数の操作:[0001:向き]加算,変数[0002]の値
◆キャラクターの動作指定:このイベント,主人公の方を向く
◆条件分岐:変数[0001:向き]が10以外(オプション:ON)<正面以外から話しかけた時
 ◆文章:正面から話しかけてくれるかな。
 ◆
:それ以外の場合<正面から話しかけた時
 ◆文章:こんにちわ!
 ◆
:分岐終了


▼正面、横、後ろをそれぞれ別に処理する
◆変数の操作:[0001:主人公の向き]代入,主人公の向き
◆キャラクターの動作指定:このイベント,主人公の方を向く
◆条件分岐:変数[0001:主人公の向き]がV[0002]と同値(オプション:ON)<後ろから話しかけた時
 ◆文章:後ろから話しかけないで!
 ◆
:それ以外の場合<正面、または横から話しかけた時
 ◆変数の操作:[0001:主人公の向き]加算,変数[0002]の値
 ◆条件分岐:変数[0001:主人公の向き]が10以外(オプション:ON)<横から話しかけた時
  ◆文章:横から話しかけないで!
  ◆
 :それ以外の場合<正面から話しかけた時
  ◆文章:こんにちわ!
  ◆
 :分岐終了
 ◆
:分岐終了


※同じマップイベントを複数設定する場合は、
 マップイベント「イベントA」コピー&貼り付けして、
 変数0002番の変数番号を変数0003番などに変えてください。
 そしてマップイベント「向き取得」の中に、
 ◆変数の操作:[0003:イベントBの向き]代入,イベントBの向き
 を設定してください。




◎関連ページ
 ●キャライベントの作る
 ○キャライベントを移動させる
 ┣○プライオリティタイプについて
 ┣○薬草を持っていないと薬草をくれる人
 ┣○お金をやり取りするイベント
 ┣○話しかけた方向によって会話を変える
 ┣○イベントを追いかけるイベント
 ┗
○会話を行って仲間を増やす


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