イベント接触判定カスタマイズ

効果

イベントの接触判定をいくつかのパターンに変化させられます。

イベントトリガーで「プレイヤーから接触」または「イベントから接触」と設定されたイベントは
決定ボタン(Cボタン)を押してもイベントが発動するのがRPGツクールXPの仕様になっています。
ゲームを作る際、場合によってはこの仕様がネックになってしまう場合があります。

例えば…

 A
ABA

上記はイベントの設定例です。
Aのイベント…イベントトリガー:「プレイヤーから接触」によって発動するイベント。
Bのイベント…イベントトリガー:「決定ボタン」によって発動するイベント。

上記の設定でプレイヤーがイベントBの位置に立ち、Aのイベントを設定してある
いずれかの方向を向いた時に決定ボタン(Cボタン)を押すと
通常通りBのイベントが発生しますが、接触していないのにAのイベントも
一緒に発生してしまいます。

以下で説明する方法で改造すると、上記の状況で決定ボタンを押した時
Aのイベントを発生させることなくBのイベントを発生させられます。

また、イベント「スクリプト」を使って変数を操作することで通常に戻すこともできます。

スクリプトの改造

スクリプトエディタの「Game_Player」のセクションを選択してください。
このセクションに何も手を加えていなければ、268行目の部分に
check_event_trigger_there([0,1,2])と書いてある部分があります。
(268行目に無ければ上記の太字で書いてある部分で検索してみてください。)

この部分を以下のように書き換えてください。

check_event_trigger_there(RX_T_EVENT_TRIGER[$rx_t_ev_trig_type])

この後、この改造した「Game_Player」のセクションよりも上のセクションに
新規セクションを作成し、以下をコピー&ペーストしてください。

RX_T_EVENT_TRIGER = [ [0], [0, 1], [0, 2], [0, 1, 2] ]
$rx_t_ev_trig_type = 3

上記の通りに実行しただけではデフォルトの動作と全く変わりませんが
イベント「スクリプト」を使って$rx_t_ev_trig_typeの値を変更することで
目的に合った設定ができます。

設定のしかた

決定ボタン(Cボタン)で発動できなくするタイプを設定するために
$rx_t_ev_trig_typeの値を状況に応じて0~3の範囲で設定してください。

0…イベントトリガーが「プレイヤーから接触」または「イベントから接触」であるイベント
1…イベントトリガーが「イベントから接触」であるイベント(「プレイヤーから接触」である場合は通常通り)
2…イベントトリガーが「プレイヤーから接触」であるイベント(「イベントから接触」である場合は通常通り)
3…デフォルトに戻します。

動作サンプルを用意していますので、ダウンロードして実際の動作を確認してみてください。

動作サンプルのダウンロード

zipファイル:動作サンプルプロジェクト
最終更新:2009年11月25日 21:12
添付ファイル