こんにちは。いつもお世話になっています。
現在、蔦森くいな様制作のプラグイン「SaveInEvent」を使用し、
イベント中でも並列処理イベントとして、メニュー画面が好きなタイミングで開けるビジュアルノベルのようなゲームを制作しています。
(常時イベントが進行しているようなもの、と思っていただけると良いと思います)
しかし、問題がひとつ出てしまいました。
この仕様でいつでも開けるメニュー画面からアイテム欄を開き、
アイテムを使用した際にコモンイベントを動作させようとしているのですが、
そのコモンイベントが動作しないのです。
ちなみにそのコモンイベントは、アイテムの使用効果としてではなく、
イベント中にコモンイベントとして呼びだす分にはちゃんと動作してくれます。
もしかしてツクールMVの仕様上、
イベント中にアイテム使用からのコモンイベントを動作させることは不可能なのでしょうか?
(メニューを開く動作自体が並列処理イベントで動いてるので、それ以上並列してイベントを動作させることができない?)
ツクールでの設定画面は以下のような形で制作しています。
知恵を貸していただけましたら幸いです。
【解決済み】アイテム使用時のコモンイベントが動作しない
【解決済み】アイテム使用時のコモンイベントが動作しない
最後に編集したユーザー UPV17745 [ 2020年1月11日(土) 00:30 ], 累計 1 回
-
- 記事: 715
- 登録日時: 2018年12月23日(日) 13:55
Re: アイテム使用時のコモンイベントが動作しない
ちゃんと、チェックできていないので、チェック丸投げの状態になってしまいますが、UPV17745 さんが書きました:こんにちは。いつもお世話になっています。
現在、蔦森くいな様制作のプラグイン「SaveInEvent」を使用し、
イベント中でも並列処理イベントとして、メニュー画面が好きなタイミングで開けるビジュアルノベルのようなゲームを制作しています。
(常時イベントが進行しているようなもの、と思っていただけると良いと思います)
しかし、問題がひとつ出てしまいました。
この仕様でいつでも開けるメニュー画面からアイテム欄を開き、
アイテムを使用した際にコモンイベントを動作させようとしているのですが、
そのコモンイベントが動作しないのです。
ちなみにそのコモンイベントは、アイテムの使用効果としてではなく、
イベント中にコモンイベントとして呼びだす分にはちゃんと動作してくれます。
もしかしてツクールMVの仕様上、
イベント中にアイテム使用からのコモンイベントを動作させることは不可能なのでしょうか?
(メニューを開く動作自体が並列処理イベントで動いてるので、それ以上並列してイベントを動作させることができない?)
SaveInEvent.js の最後( })(); の手前)に以下のコードを追加してください。
メニューからアイテムやスキルでコモンイベントを実行した際に、即時に、実行されるようになるはずです。(前述どおり、ちゃんとチェックできてないので、不具合があったらごめんなさい。)
コード: 全て選択
Scene_ItemBase.prototype.checkCommonEvent = function(){
if($gameTemp.isCommonEventReserved()){
if($gameMap._interpreter.isRunning()){
$gameMap._interpreter._params[0] = $gameTemp.reservedCommonEvent().id;
$gameMap._interpreter.command117();
$gameTemp.clearCommonEvent();
}
SceneManager.goto(Scene_Map);
}
};
コモンイベントを発生させた場合、現在実行中のイベントが、終わってから、コモンイベントが実行されるようになっていたはずです。
Re: アイテム使用時のコモンイベントが動作しない
>ecf5DTTzl6h6lJj02 様
お返事ありがとうございます。
現在、あれから試行錯誤した結果、コモンイベントをアイテム経由では使わない方向で調整が進んでいるので、
もう少し様子を見て「どうしてもアイテム経由で実装しなければならない局面」が来た際、
仰られた方法を試してみようと思います。
せっかく応えてくださったのに保留という形になってしまって申し訳ありません。
お返事ありがとうございます。
現在、あれから試行錯誤した結果、コモンイベントをアイテム経由では使わない方向で調整が進んでいるので、
もう少し様子を見て「どうしてもアイテム経由で実装しなければならない局面」が来た際、
仰られた方法を試してみようと思います。
せっかく応えてくださったのに保留という形になってしまって申し訳ありません。