ページ 22

Re: [解決済]戦闘計算式でプラグインコマンドを実行できるかどうか?

Posted: 2021年2月17日(水) 22:39
by WTR
なるほど…
競合というよりそもそもメニュー開閉に問題ありという話なのですね。
ダイレクトにアイテムメニューを開くのがそんなに気になるほどだとそれ自体が問題なのではないかと思わなくもないですが…


いずれにせよ自分のプロジェクトではないので絶対にこうすべし!とは言えないので
最終的にはお任せするしかないのですが
単にコモンイベント実行時にマップに戻らないだけであれば

コード: 全て選択

これだけで事足ります。
※嘘情報であったため被害が出る前に消しときます

マップに戻らなければならないようなコモンイベントは設定しないという制約下でしか使えないですが
現状もそう変わらない状況といえそうなので
計算式に無理やり詰め込むよりはまだコモンイベントのほうが扱いやすかったりしないでしょうか。

Re: [解決済]戦闘計算式でプラグインコマンドを実行できるかどうか?

Posted: 2021年2月18日(木) 02:28
by Plasma Dark
ダイレクトにアイテムメニューを開くのがそんなに気になるほどだとそれ自体が問題なのではないかと思わなくもないですが…
これについては同意します。プレイヤーが頻繁に行う操作について、プレイヤーの力で回避できないゲーム本質外のストレスをかける設計は、ゲームの致命的な欠陥です。
これだけで事足ります。
足りません。
予約されたコモンイベントの実行チェックはマップシーン経由で行われるため、アイテムシーン中にコモンイベントは実行されません。
他の件でメニューの項目が多くなり過ぎているため、これ以上追加したくなくアイテムでの使用として使っていた。
プロジェクトの状況次第ではありますが、メニューの整理は既にされているでしょうか。
トリアコンタンさんのMenuSubCommand.jsなどでいい感じに整理できれば、アイテム効果にしなくてもメニューから直接開くようにして良いかもしれません。
アイテム効果にしてしまうとプレイヤーに要求する手数がメニューに置くよりも増えることになりがちです。

それでもアイテムで実現するなら、SceneGlossaryやSceneFormationなど、特定のシーンに遷移する用途のようなので、その効果をプラグイン化してしまうのが楽だと思います。
以下に、アイテムを使ったときにエネミー図鑑シーンに遷移するプラグインの例を書きます。必要であれば参考にどうぞ。
(当然、動作には別途エネミー図鑑プラグインが必要になります)

コード: 全て選択

(function () {
  'use strict';

  const ITEM_IDS = {
    SCENE_ENEMYBOOK: 15
  };

  const _Scene_Item_applyItem = Scene_Item.prototype.applyItem;
  Scene_Item.prototype.applyItem = function() {
    _Scene_Item_applyItem.call(this);
    if (this.item().id === ITEM_IDS.SCENE_ENEMYBOOK) {
      SceneManager.push(Scene_EnemyBook);
    }
  };
})();

Re: [解決済]戦闘計算式でプラグインコマンドを実行できるかどうか?

Posted: 2021年2月18日(木) 09:31
by WTR
また変な回答をしてしまったようで…
戻らないだけで、実行もされないんですね
すみませんが忘れてください

Re: [解決済]戦闘計算式でプラグインコマンドを実行できるかどうか?

Posted: 2021年2月19日(金) 18:35
by souma
WTR様、Plasma Dark様、ご返信有難う御座います。
反応が遅くて申し訳ありません…。

Plasma Dark様に張って頂いたコード?で使い方を学びたいと思います。