(スクリプトコマンドで)アクター別に戦闘コマンドを非表示にしたい

アバター
ドラムカン
記事: 178
登録日時: 2019年11月04日(月) 23:02

(スクリプトコマンドで)アクター別に戦闘コマンドを非表示にしたい

投稿記事by ドラムカン » 2021年2月23日(火) 14:25

いつもお世話になります。

各種戦闘コマンドを非表示にするスクリプトやプラグインはあるのですが
それをアクター別に設定するものが
HIME_ActorBattleCommands.jsしかなく
このプラグインですと、導入時に全員のコマンドメニューが統一化されてしまって
現在すでに導入しているオリジナルコマンドのプラグインと併用ができません。

スクリプトで、特定のアクターIDの戦闘コマンド(たとえば攻撃)を
非表示にする方法はありませんでしょうか?

どうかよろしくお願いいたします。
最後に編集したユーザー ドラムカン on 2021年2月23日(火) 18:17 [ 編集 1 回目 ]

アバター
ムノクラ
記事: 2011
登録日時: 2018年2月23日(金) 11:41
連絡を取る:

Re: アクター別に戦闘コマンドを非表示にしたい

投稿記事by ムノクラ » 2021年2月23日(火) 16:25

ドラムカン さんが書きました:いつもお世話になります。

各種戦闘コマンドを非表示にするスクリプトやプラグインはあるのですが
それをアクター別に設定するものが
HIME_ActorBattleCommands.jsしかなく
このプラグインですと、導入時に全員のコマンドメニューが統一化されてしまって
現在すでに導入しているオリジナルコマンドのプラグインと併用ができません。

スクリプトで、特定のアクターIDの戦闘コマンド(たとえば攻撃)を
非表示にする方法はありませんでしょうか?

どうかよろしくお願いいたします。


ざっとマニュアルを見ただけですが、下記が使えそうな気がします。

▼FTKR Ex Battle Command(フトコロ様作) - FTKR_ExBattleCommand.js
https://plugin.fungamemake.com/archives/1365
バトルコマンドを変更し、直接スキルやコモンイベントを実行できます。
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
アバター
ドラムカン
記事: 178
登録日時: 2019年11月04日(月) 23:02

Re: (スクリプトコマンドで)アクター別に戦闘コマンドを非表示にしたい

投稿記事by ドラムカン » 2021年2月23日(火) 16:58

ムノクラ様

ありがとうございます。

けれど、申し上げました通り、スクリプトで
非表示にする処理を求めております。

機能過多ですと、干渉を起こしますので
ピンポイントで対応したいと考えております。
最後に編集したユーザー ドラムカン on 2021年2月23日(火) 18:17 [ 編集 1 回目 ]
アバター
ムノクラ
記事: 2011
登録日時: 2018年2月23日(金) 11:41
連絡を取る:

Re: アクター別に戦闘コマンドを非表示にしたい

投稿記事by ムノクラ » 2021年2月23日(火) 17:53

ドラムカン さんが書きました:ムノクラ様

ありがとうございます。

けれど、申し上げました通り、スクリプトで
非表示にする処理を求めております。

機能過多ですと、干渉を起こしますので
ピンポイントで対応したいと考えております。

自分のような無知者が語るのは、余計なお世話かもしれませんが、自分の結論的には「スクリプトでアクターコマンドを変化する」のは無理があると感じています。
(そこが重要なら、タイトルに「スクリプトで」と入れておいたほうがよろしいかと思いますが…)

下記のプラグインを作った時の記憶です。
https://github.com/munokura/MNKR-MZ-plu ... dChoice.js

Window_ActorCommand.prototype.makeCommandList でアクターコマンドを作成されるようです。

上記のプラグインを作成するのに競合対策も含めて、一度作成したアクターコマンドから、特定のコマンドを削除・非表示しようと考え、色々と模索したのですが、見つかりませんでした。

おそらく、アクターコマンドの延長線上にはその機能が用意されていなく、別の関数を作るくらいの規模になると思います。

下記のプラグインでさえ、Window_ActorCommand.prototype.disableCommand という独自の関数を作って、アクターコマンドが生成される時点に介入している処理をしているように見えます。

▼アクターコマンド封印(トリアコンタン様作) - SealActorCommand.js
https://plugin.fungamemake.com/archives/1122
アクターコマンド「攻撃」「防御」「アイテム」「スキル」を封印できます。


これらから、プラグインレベルでないと、実現は困難と予想します。


って書いたら、知恵者が「そんなこたーない!」って出てきてくれないかなぁ…


お力になれず、申し訳ありません。
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
アバター
ドラムカン
記事: 178
登録日時: 2019年11月04日(月) 23:02

Re: (スクリプトコマンドで)アクター別に戦闘コマンドを非表示にしたい

投稿記事by ドラムカン » 2021年2月23日(火) 18:17

ムノクラ様

色々とありがとうございます。

>自分の結論的には「スクリプトでアクターコマンドを変化する」のは無理があると感じています。
確かに動的に変化させるには無理のあるパラメーターかもしれません。
飽くまで前提としてアクターコマンドを扱う外部プラグインを制御するためにスクリプトを使用する、
という用途が一般的なのかもしれません。
ただ、外部プラグインをスクリプトコマンドで制御できるのであれば、コアプラグインで定義されているアクターコマンドもスクリプトコマンドから操作可能なのではないかと、邪推した次第です。

「規模が大きくなるためスクリプトでの操作は難しい」、というのがムノクラ様のご見解とお見受けしました。
私としましては、あわよくば「そうでなければいいな」という希望的観測をもって、他の有識者からのご回答を引き続き募集させていただきます。

>そこが重要なら、タイトルに「スクリプトで」と入れておいたほうがよろしいかと思いますが
そうなのですね。
わかりづらくて、大変失礼いたしました。
タイトルを早速修正いたしました。

有識者の方が現れることを期待しております。
最後に編集したユーザー ドラムカン on 2021年2月23日(火) 18:24 [ 編集 1 回目 ]
アバター
ムノクラ
記事: 2011
登録日時: 2018年2月23日(金) 11:41
連絡を取る:

Re: (スクリプトコマンドで)アクター別に戦闘コマンドを非表示にしたい

投稿記事by ムノクラ » 2021年2月23日(火) 18:22

ドラムカン さんが書きました:ムノクラ様

色々とありがとうございます。

まず、アクターコマンド封印は使用禁止(グレーアウト)であって
残念ながら非表示にはできません。

>自分の結論的には「スクリプトでアクターコマンドを変化する」のは無理があると感じています。
確かに動的に変化させるには無理のあるパラメーターかもしれません。
飽くまで前提としてアクターコマンドを扱う外部プラグインを制御するためにスクリプトを使用する、
という用途が一般的なのかもしれません。
ただ、外部プラグインをスクリプトコマンドで制御できるのであれば、コアプラグインで定義されているアクターコマンドもスクリプトコマンドから操作可能なのではないかと、邪推した次第です。

>そこが重要なら、タイトルに「スクリプトで」と入れておいたほうがよろしいかと思いますが
そうなのですね。
わかりづらくて、大変失礼いたしました。
タイトルを早速修正いたしました。

有識者の方が現れることを期待しております。


アクターコマンド封印はコード実装の例に出しただけで、今回の件に使えないのは承知しておりました。
余計なお世話でしたね。

「すでに導入しているオリジナルコマンドのプラグイン」のスクリプトコマンドを求めているのであれば、そのプラグインが何かを提示しないと、とっかかりがつかないのでは?
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
アバター
ドラムカン
記事: 178
登録日時: 2019年11月04日(月) 23:02

Re: (スクリプトコマンドで)アクター別に戦闘コマンドを非表示にしたい

投稿記事by ドラムカン » 2021年2月23日(火) 18:26

ムノクラ様

すみません。

特に解決策がいただけないようでしたら
他の方のご回答をお待ちしたいと考えております。

申し訳ございませんが、どうかご理解のほど、よろしくお願いいたします。
ユッケ
記事: 9
登録日時: 2020年7月01日(水) 00:41

Re: (スクリプトコマンドで)アクター別に戦闘コマンドを非表示にしたい

投稿記事by ユッケ » 2021年2月23日(火) 18:40

ムノクラ様

横からすいません。
このトピックを読んでいて思ったのですが
ムノクラ様のあいまいなコメントにより
解決から遠ざかっているように思えてならないです。

かもしれない、とか、多分無理なんじゃないか、とか
明確な情報が無い中で、忠告ばかりを織り交ぜているため
質問者さんが不愉快な思いをされるのではないかと感じました。
言っていることはまともだとは思いますけど
伝え方がちょっといじわるというか、少し質問者さんに同情しました。
アバター
ムノクラ
記事: 2011
登録日時: 2018年2月23日(金) 11:41
連絡を取る:

Re: (スクリプトコマンドで)アクター別に戦闘コマンドを非表示にしたい

投稿記事by ムノクラ » 2021年2月23日(火) 21:33

失礼ながら再度の返信をさせていただきます。
これが最後の返信と思って、お許しください。

これなら、参考になるでしょうか?

https://twitter.com/triacontane/status/ ... 1664059399
ご要望の仕様をスクリプトのみで(プラグインを使わず)実現することは難しいと思います。(スクリプトで動的にメソッドを書き換えるという手段はありますが、極めてリスクが高い行為です)


ご使用中のプラグインを解析し、そのプラグイン用のスクリプトコマンドを実行するよりないと思います。
ですので、「ご使用中のプラグインが何か?」を知るのは、解決に近づくための重要な情報です。


良いツクールライフをお祈りして、お別れの言葉と代えさせていただきます。
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
アバター
トリアコンタン
記事: 2311
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

Re: (スクリプトコマンドで)アクター別に戦闘コマンドを非表示にしたい

投稿記事by トリアコンタン » 2021年2月23日(火) 22:16

こんにちは!

スクリプトでの実現が難しいのでは上記でご説明したとおりです。
すでに挙げて頂いている「アクターコマンド封印プラグイン」で、アクターごとの戦闘コマンド非表示は可能ですが、「オリジナルコマンドのプラグイン」と競合する可能性はあります。

競合とは別に、「オリジナルコマンドのプラグイン」で追加されたコマンドを非表示にするのは「アクターコマンド封印プラグイン」では実現できません。実現したい場合「オリジナルコマンドのプラグイン」に機能追加するのが近道かと思います。
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/

“MV:質問” へ戻る