お世話になっております。
現在、ワールドマップを制作しているのですが、そこで少し困ったことになったので質問させていただくことにしました。
件名の通り、ワールドマップに配置した街チップの画像を、プレイヤーが接触している時だけ別のものに変更したいのです。たとえば、プレイヤーが接触していない状態では白黒で表示されている街が、決定ボタンを押せば移動できる範囲内にプレイヤーが入ってくることで明かりのついた街の画像になる、プレイヤーが範囲外に出ると再び明かりが消える、という感じです。(添付画像上段の赤枠が移動できる範囲内というイメージです)
使う街チップの画像が2×3マスだったり、3×4マスだったりとバラバラなので、プレイヤーの位置情報取得とリージョンタイルを使ってどうにかできないかと試行錯誤してみたのですが、なかなか上手くいかず行き詰ってしまいました。
試しにリージョンを使ってイメージ通りにできないかと試したところ、添付画像下段の左側のようにリージョンタイルを設置しても、なぜか判定が下段右側の青枠で囲っている部分になってしまいます。
また、二つ目以降の街の設定も上手くできませんでした。
色々調べてみたのですが、どうしたらいいのか分からなくなってしまい、困っています。
こういう方法を使えば理想通りに作れる、あるいは、こういうプラグインを使えば似たようなことができる、ということを知っている方がいましたら、教えていただきたいです。
よろしくお願いします。
【解決済み】ワールドマップの街チップをプレイヤーが接触してる時だけ変えたい
Re: ワールドマップの街チップをプレイヤーが接触してる時だけ変えたい
作ったイベントが上手く動かない場合
入力内容を表記しておくと、どこが間違っているのか
教えてもらいやすくなると思います。
とりあえず、プレイヤーの足元のリージョンの取得と
条件分岐の例を貼っておきますね。
これを並列処理で動かします。
◆ウェイト:1フレーム
◆変数の操作:#0001 プレイヤーX = プレイヤーのマップX
◆変数の操作:#0002 プレイヤーY = プレイヤーのマップY
◆指定位置の情報取得:足元のリージョン, リージョンID, ({プレイヤーX},{プレイヤーY})
◆条件分岐:足元のリージョン = 1
◆条件分岐:セルフスイッチ AがOFF
◆移動ルートの設定:このイベント (ウェイト)
: :◇上を向く
◆セルフスイッチの操作:A = ON
◆
:分岐終了
◆
:それ以外のとき
◆条件分岐:セルフスイッチ AがON
◆移動ルートの設定:このイベント (ウェイト)
: :◇下を向く
◆セルフスイッチの操作:A = OFF
◆
:分岐終了
◆
:分岐終了
入力内容を表記しておくと、どこが間違っているのか
教えてもらいやすくなると思います。
とりあえず、プレイヤーの足元のリージョンの取得と
条件分岐の例を貼っておきますね。
これを並列処理で動かします。
◆ウェイト:1フレーム
◆変数の操作:#0001 プレイヤーX = プレイヤーのマップX
◆変数の操作:#0002 プレイヤーY = プレイヤーのマップY
◆指定位置の情報取得:足元のリージョン, リージョンID, ({プレイヤーX},{プレイヤーY})
◆条件分岐:足元のリージョン = 1
◆条件分岐:セルフスイッチ AがOFF
◆移動ルートの設定:このイベント (ウェイト)
: :◇上を向く
◆セルフスイッチの操作:A = ON
◆
:分岐終了
◆
:それ以外のとき
◆条件分岐:セルフスイッチ AがON
◆移動ルートの設定:このイベント (ウェイト)
: :◇下を向く
◆セルフスイッチの操作:A = OFF
◆
:分岐終了
◆
:分岐終了
Re: ワールドマップの街チップをプレイヤーが接触してる時だけ変えたい
ゆわかさん、前回に引き続きありがとうございます。
書いていただいた通りに設定しなおしたところ、無事に理想通りの挙動となりました。
ただ、新たに問題が発生してしまったので質問させてください。
初めてワールドマップに入った時のみ、自動イベントで会話が発生し、会話後に特定の街へ入ることで次のイベントが始まる、という流れにしたいのですが、上手くいきません。
最初は自動イベントが発生した瞬間にエラーが起こり、調べたところ、明確に実行順や出現条件を設定した方がいいとのことだったので、スイッチを使ってどうにか解決しました。
ところが、自動イベント後に目的ではない街に入ろうとした際に、「目的地はここじゃない」と街に入れない旨のメッセージを表示しようとすると、エラーが発生してしまいます。
設定した流れとしては
①自動実行イベント終了後、イベント完了のスイッチをonにする。
②イベント完了スイッチがonになったことで、並列実行しているイベントが出現する。
③目的地以外の街に入ろうとすると、「目的地はここじゃない」と表示され、入れない。
④目的の街でのイベントが終了すると、ワールドマップの他の街にも入れるようになる。
という感じです。
が、③のところで添付画像のようなエラーが発生します。調べてもこのエラーメッセージが何なのかよくわかりませんでした。
ちなみに、目的地の街へは普通に移動できました。
目的外の街には、決定ボタンをトリガーとして
◆条件分岐:イベント完了がon
◆文章:目的地はここじゃない
◆
:それ以外のとき
◆場所移動
◆
:分岐終了
◆
という設定をしているのですが、設定の仕方が何かおかしいのでしょうか?
書いていただいた通りに設定しなおしたところ、無事に理想通りの挙動となりました。
ただ、新たに問題が発生してしまったので質問させてください。
初めてワールドマップに入った時のみ、自動イベントで会話が発生し、会話後に特定の街へ入ることで次のイベントが始まる、という流れにしたいのですが、上手くいきません。
最初は自動イベントが発生した瞬間にエラーが起こり、調べたところ、明確に実行順や出現条件を設定した方がいいとのことだったので、スイッチを使ってどうにか解決しました。
ところが、自動イベント後に目的ではない街に入ろうとした際に、「目的地はここじゃない」と街に入れない旨のメッセージを表示しようとすると、エラーが発生してしまいます。
設定した流れとしては
①自動実行イベント終了後、イベント完了のスイッチをonにする。
②イベント完了スイッチがonになったことで、並列実行しているイベントが出現する。
③目的地以外の街に入ろうとすると、「目的地はここじゃない」と表示され、入れない。
④目的の街でのイベントが終了すると、ワールドマップの他の街にも入れるようになる。
という感じです。
が、③のところで添付画像のようなエラーが発生します。調べてもこのエラーメッセージが何なのかよくわかりませんでした。
ちなみに、目的地の街へは普通に移動できました。
目的外の街には、決定ボタンをトリガーとして
◆条件分岐:イベント完了がon
◆文章:目的地はここじゃない
◆
:それ以外のとき
◆場所移動
◆
:分岐終了
◆
という設定をしているのですが、設定の仕方が何かおかしいのでしょうか?
Re: ワールドマップの街チップをプレイヤーが接触してる時だけ変えたい
エラーメッセージの画像を添付し忘れているようです。
F8デバッグウインドウの内容も可能なら添付されると良いと思います。
F8デバッグウインドウの内容も可能なら添付されると良いと思います。
Re: ワールドマップの街チップをプレイヤーが接触してる時だけ変えたい
下書きを作成している最中にログインが切れて入りなおしたため、添付するのを忘れてしまっていたみたいです。すみません……。
エラーの画像、貼っておきます。
エラーの画像、貼っておきます。
Re: ワールドマップの街チップをプレイヤーが接触してる時だけ変えたい
うーん、これは全くわかりませんが
プラグインの競合か、設定に誤りがあるとかのような印象ですね。
F8のデバッグウインドウにエラーを起こしているプラグインが表示されているので
設定を確認したり、外してみたり、順番を入れ替えてみたり色々試してみてはいかがでしょうか。
このイベントだけじゃなく、他のメッセージ表示イベントでも
同様のエラーが出てるんじゃないかなと思いますが
もし、このイベントだけで起きているなら
並列処理をしているイベントの内容に問題があるかもしれません。
プラグイン用の変数をうっかり変更してしまってるとか。
並列処理のイベント内容もコピペしてもらえたら
何かわかるかもしれませんし、何もわからないかもしれません。
プラグインの競合か、設定に誤りがあるとかのような印象ですね。
F8のデバッグウインドウにエラーを起こしているプラグインが表示されているので
設定を確認したり、外してみたり、順番を入れ替えてみたり色々試してみてはいかがでしょうか。
このイベントだけじゃなく、他のメッセージ表示イベントでも
同様のエラーが出てるんじゃないかなと思いますが
もし、このイベントだけで起きているなら
並列処理をしているイベントの内容に問題があるかもしれません。
プラグイン用の変数をうっかり変更してしまってるとか。
並列処理のイベント内容もコピペしてもらえたら
何かわかるかもしれませんし、何もわからないかもしれません。
Re: ワールドマップの街チップをプレイヤーが接触してる時だけ変えたい
ゆわかさん、助言していただき、ありがとうございました。
エラーを起こしているプラグインを調べていったところ、後々使おうと入れていた既読スキップのプラグインでデフォルト設定されていた変数番号と、プレイヤーの位置取得の際に使っていた変数番号が同じだったことが原因だったようです。
プラグインの方の変数番号を変えたところ、エラーも発生しなくなり、無事に理想通りの挙動になりました。
そういうわけですので、これで解決とさせていただきます。
本当にありがとうございました。
エラーを起こしているプラグインを調べていったところ、後々使おうと入れていた既読スキップのプラグインでデフォルト設定されていた変数番号と、プレイヤーの位置取得の際に使っていた変数番号が同じだったことが原因だったようです。
プラグインの方の変数番号を変えたところ、エラーも発生しなくなり、無事に理想通りの挙動になりました。
そういうわけですので、これで解決とさせていただきます。
本当にありがとうございました。