プレイヤーの正面にマップイベントがあるかどうかを調べる方法

麻婆豆腐
記事: 15
登録日時: 2020年1月11日(土) 11:26

プレイヤーの正面にマップイベントがあるかどうかを調べる方法

投稿記事by 麻婆豆腐 » 2020年3月11日(水) 14:27

調べてもわからなかったので質問します。

プレイヤーの正面にマップイベントが何も配置されてなければ、プレイヤーがアイテム欄から選んだオブジェクトをそこに設置できるというイベントを作りたいのですが、
・プレイヤーの正面にマップイベントが何もない
というのはどうやって判定したらいいのでしょうか?
スクリプトなど教えてほしいです。よろしくお願いします。

また、正面に何もない。かつ、リージョン〇番の場所にのみ設置可能という条件分岐の組み方も教えて頂けたら嬉しいです<(_ _)>

astral
記事: 106
登録日時: 2018年11月14日(水) 00:21
連絡を取る:

Re: プレイヤーの正面にマップイベントがあるかどうかを調べる方法

投稿記事by astral » 2020年3月11日(水) 20:35

こんばんは。
このように組んでみてください。

コード: 全て選択

◆変数の操作:#0033 プレイヤーX = プレイヤーのマップX
◆変数の操作:#0034 プレイヤーY = プレイヤーのマップY
◆変数の操作:#0039 プレイヤー向き = プレイヤーの向き
◆条件分岐:プレイヤー向き = 2
  ◆変数の操作:#0034 プレイヤーY += 1
  ◆
:分岐終了
◆条件分岐:プレイヤー向き = 4
  ◆変数の操作:#0033 プレイヤーX += -1
  ◆
:分岐終了
◆条件分岐:プレイヤー向き = 6
  ◆変数の操作:#0033 プレイヤーX += 1
  ◆
:分岐終了
◆条件分岐:プレイヤー向き = 8
  ◆変数の操作:#0034 プレイヤーY += -1
  ◆
:分岐終了
◆指定位置の情報取得:イベントID変数, イベントID, ({プレイヤーX},{プレイヤーY})
◆条件分岐:イベントID変数 ≠ 0
  ◆注釈:イベントがある場合
  ◆イベント処理の中断
  ◆
:分岐終了
◆指定位置の情報取得:リージョンID変数, リージョンID, ({プレイヤーX},{プレイヤーY})
◆条件分岐:リージョンID変数 = 1
  ◆注釈:リージョンIDが1の場合
  ◆
:分岐終了
麻婆豆腐
記事: 15
登録日時: 2020年1月11日(土) 11:26

Re: プレイヤーの正面にマップイベントがあるかどうかを調べる方法

投稿記事by 麻婆豆腐 » 2020年3月11日(水) 21:37

astralさんありがとうございます!
教えて頂いた通りにイベントを組むと理想通りイベントの有無とリージョンを判定することができたのですが、新たに詰まりポイントが出てしまったので追加で質問させて下さい。

astral さんが書きました:こんばんは。
このように組んでみてください。

コード: 全て選択

◆変数の操作:#0033 プレイヤーX = プレイヤーのマップX
◆変数の操作:#0034 プレイヤーY = プレイヤーのマップY
◆変数の操作:#0039 プレイヤー向き = プレイヤーの向き
◆条件分岐:プレイヤー向き = 2
  ◆変数の操作:#0034 プレイヤーY += 1
  ◆
:分岐終了
◆条件分岐:プレイヤー向き = 4
  ◆変数の操作:#0033 プレイヤーX += -1
  ◆
:分岐終了
◆条件分岐:プレイヤー向き = 6
  ◆変数の操作:#0033 プレイヤーX += 1
  ◆
:分岐終了
◆条件分岐:プレイヤー向き = 8
  ◆変数の操作:#0034 プレイヤーY += -1
  ◆
:分岐終了
◆指定位置の情報取得:イベントID変数, イベントID, ({プレイヤーX},{プレイヤーY})
◆条件分岐:イベントID変数 ≠ 0
  ◆注釈:イベントがある場合
  ◆イベント処理の中断
  ◆
:分岐終了
◆指定位置の情報取得:リージョンID変数, リージョンID, ({プレイヤーX},{プレイヤーY})
◆条件分岐:リージョンID変数 = 1
  ◆注釈:リージョンIDが1の場合
  ◆
:分岐終了


上記でイベントを組んでアイテムを設置すると、プレイヤーの座標に設置されてしまいます。
これをプレイヤーの正面に配置するにはどうしたらよいでしょうか?
図々しくてすみません・・・。
astral
記事: 106
登録日時: 2018年11月14日(水) 00:21
連絡を取る:

Re: プレイヤーの正面にマップイベントがあるかどうかを調べる方法

投稿記事by astral » 2020年3月12日(木) 02:42

アイテムの設置というのはどうやって設置していますか?
イベント例では、プレイヤーの座標を変数に代入後、正面になるよう向きによってxyの位置を調整していますが、その辺りの仕組みについてはわかりますか?

質問内容から、アイテムの設置は出来るけど判定方法の具体的な組み方がわからないと思っていました。

特定のイベントを移動させることによって、アイテムの設置としている場合の、先程のイベントの変更例です。
この時の判定用の変数、プレイヤーX、プレイヤーYは正面の位置になっているのでそのまま使えます。

コード: 全て選択

◆条件分岐:リージョンID変数 = 1
  ◆注釈:リージョンIDが1の場合
  ◆注釈:  ここから追加
  ◆イベントの位置設定:オブジェクト, ({プレイヤーX},{プレイヤーY})
  ◆
:分岐終了

“MV:質問” へ戻る