【質問】メニュー画面で空欄を選択するとフリーズする

返信する
ダイギンガー
記事: 4
登録日時: 2024年4月24日(水) 15:57

【質問】メニュー画面で空欄を選択するとフリーズする

投稿記事 by ダイギンガー »

こんにちわ!
【結論】
『未収得のスキルタイプをメニュー等の選択肢から消す』プラグインが欲しいです!

非戦闘中にメニュー画面のスキル一覧から空欄のスキルを選択し
決定キー(Z or エンター)を押すと画面が薄暗くなり
           TypeError
      Cannot read propety 'id' of undefined
と表示され操作不能になります。(スクショ1参照)

これはスキルを1つでも取得していれば発生しないのですが、何もスキルを習得していない場合にのみ発生します。
しかし空欄への左クリックでの決定時にはブザーが鳴らず、かつ決定扱いにならないためエラーが発生しません。
1 特技  スキルなし 
2 必殺技 スキルあり
3 特性  スキルなし
この状態で1や3の空欄を選択し決定キーを押すとフリーズします。
しかし2の使用不可のスキルを選択し決定キーを押すとちゃんとブザーが鳴り正常に動作します。
2→1の順で操作すると上記のエラーが発生します。
メニュー画面そのものに介入するプラグインは『ステータス表示の改造』と『メニュー画面立ち絵設定』と『ヘルプ説明追加』くらいで、スキルを改造するプラグインが多数導入してますがメニュー画面に影響を与えるスキル系プラグインは入っていないと認識してるので原因が分かりません。(スクショ2・3参照)
なので解決策は『初めから1つスキルを習得させる』と認識してますが、何か嫌なので『未収得のスキルタイプを選択肢から消す』が出来るのが理想です。
原因解決もしくはプラグインの検索方法などの情報をよろしくお願いします。
添付ファイル
2a5d1a4279a0655991519816df387260.png
5f70bce1ee78fd3a74d3e1a9a3fce789.png
cec6c47680a4497725ac2ee2c03e6d59.png
ecf5DTTzl6h6lJj02
記事: 715
登録日時: 2018年12月23日(日) 13:55

Re: 【質問】メニュー画面で空欄を選択するとフリーズする

投稿記事 by ecf5DTTzl6h6lJj02 »

こんにちは。
ダイギンガー さんが書きました:こんにちわ!
【結論】
『未収得のスキルタイプをメニュー等の選択肢から消す』プラグインが欲しいです!

非戦闘中にメニュー画面のスキル一覧から空欄のスキルを選択し
決定キー(Z or エンター)を押すと画面が薄暗くなり
           TypeError
      Cannot read propety 'id' of undefined
と表示され操作不能になります。(スクショ1参照)

これはスキルを1つでも取得していれば発生しないのですが、何もスキルを習得していない場合にのみ発生します。
しかし空欄への左クリックでの決定時にはブザーが鳴らず、かつ決定扱いにならないためエラーが発生しません。
1 特技  スキルなし 
2 必殺技 スキルあり
3 特性  スキルなし
この状態で1や3の空欄を選択し決定キーを押すとフリーズします。
しかし2の使用不可のスキルを選択し決定キーを押すとちゃんとブザーが鳴り正常に動作します。
2→1の順で操作すると上記のエラーが発生します。
メニュー画面そのものに介入するプラグインは『ステータス表示の改造』と『メニュー画面立ち絵設定』と『ヘルプ説明追加』くらいで、スキルを改造するプラグインが多数導入してますがメニュー画面に影響を与えるスキル系プラグインは入っていないと認識してるので原因が分かりません。(スクショ2・3参照)
なので解決策は『初めから1つスキルを習得させる』と認識してますが、何か嫌なので『未収得のスキルタイプを選択肢から消す』が出来るのが理想です。
原因解決もしくはプラグインの検索方法などの情報をよろしくお願いします。
ツクールMV のデフォルトの状態では、
質問の現象が起こりませんでしたので、
まず間違いなく、プラグインの影響によるものであると推測されます。

スキル系のプラグインを入れているけれどメニュー画面に影響はないと認識しているということですが、
その認識が間違っている可能性があります。

未収得のスキルを選択肢に表示しないプラグインをということですが、
他のスキル系のプラグインと衝突、
例えば質問の現象を発生させているプラグインの影響が強く、
別の問題を引き起こす、などが考えられますので、
質問の現象を引き起こしてしまうプラグイン(の組み合わせ)を特定し、
原因を調査するほうが良いかと思います。

今回、エラーメッセージが出ています。

テストプレイ時に、F8 もしくは F12 を押すと、
Developer Tools というウィンドウが表示されます。

このウィンドウの Console というタブを選択した時の画面には
エラーが発生した時に、
エラーの内容と、エラーの原因になった命令が、
どのファイルの、どの場所にある、どんな命令をたどって呼び出されているか、
という情報が表示されます。

これがあると、原因の調査がしやすいですので、
画面のスクリーンショットを上げてください。

ご確認ください。
ダイギンガー
記事: 4
登録日時: 2024年4月24日(水) 15:57

Re: 【質問】メニュー画面で空欄を選択するとフリーズする

投稿記事 by ダイギンガー »

ご回答ありがとうございます!
F12で確認しました所、起動時に未設定のプラグイン3種がエラーを発生させていたので停止させ、同じ操作を行いました所『rpg managers.js』がエラーを発生させている所までは特定できました。
その内訳を確認した所どうやら上記三種を含む実装していた『一定の得点でスキルを獲得するプラグイン』の為の4種の内容を未設定のまま操作を行ったのでエラーが発生した様です。
4種のプラグインを停止した所、ブザー音が鳴り操作不能エラーは発生しなくなりました!
ありがとうございます!!
次は4種プラグイン用の設定を行ってから同じ動作を行ってエラーが発生するかどうか確認してみます!
ecf5DTTzl6h6lJj02 さんが書きました:こんにちは。
ダイギンガー さんが書きました:こんにちわ!
【結論】
『未収得のスキルタイプをメニュー等の選択肢から消す』プラグインが欲しいです!

非戦闘中にメニュー画面のスキル一覧から空欄のスキルを選択し
決定キー(Z or エンター)を押すと画面が薄暗くなり
           TypeError
      Cannot read propety 'id' of undefined
と表示され操作不能になります。(スクショ1参照)

これはスキルを1つでも取得していれば発生しないのですが、何もスキルを習得していない場合にのみ発生します。
しかし空欄への左クリックでの決定時にはブザーが鳴らず、かつ決定扱いにならないためエラーが発生しません。
1 特技  スキルなし 
2 必殺技 スキルあり
3 特性  スキルなし
この状態で1や3の空欄を選択し決定キーを押すとフリーズします。
しかし2の使用不可のスキルを選択し決定キーを押すとちゃんとブザーが鳴り正常に動作します。
2→1の順で操作すると上記のエラーが発生します。
メニュー画面そのものに介入するプラグインは『ステータス表示の改造』と『メニュー画面立ち絵設定』と『ヘルプ説明追加』くらいで、スキルを改造するプラグインが多数導入してますがメニュー画面に影響を与えるスキル系プラグインは入っていないと認識してるので原因が分かりません。(スクショ2・3参照)
なので解決策は『初めから1つスキルを習得させる』と認識してますが、何か嫌なので『未収得のスキルタイプを選択肢から消す』が出来るのが理想です。
原因解決もしくはプラグインの検索方法などの情報をよろしくお願いします。
ツクールMV のデフォルトの状態では、
質問の現象が起こりませんでしたので、
まず間違いなく、プラグインの影響によるものであると推測されます。

スキル系のプラグインを入れているけれどメニュー画面に影響はないと認識しているということですが、
その認識が間違っている可能性があります。

未収得のスキルを選択肢に表示しないプラグインをということですが、
他のスキル系のプラグインと衝突、
例えば質問の現象を発生させているプラグインの影響が強く、
別の問題を引き起こす、などが考えられますので、
質問の現象を引き起こしてしまうプラグイン(の組み合わせ)を特定し、
原因を調査するほうが良いかと思います。

今回、エラーメッセージが出ています。

テストプレイ時に、F8 もしくは F12 を押すと、
Developer Tools というウィンドウが表示されます。

このウィンドウの Console というタブを選択した時の画面には
エラーが発生した時に、
エラーの内容と、エラーの原因になった命令が、
どのファイルの、どの場所にある、どんな命令をたどって呼び出されているか、
という情報が表示されます。

これがあると、原因の調査がしやすいですので、
画面のスクリーンショットを上げてください。

ご確認ください。
添付ファイル
d03082b2dcc1591399e19ba0158a72d8.png
1b5147996e15d907e8efac5354926e85.png
ecf5DTTzl6h6lJj02
記事: 715
登録日時: 2018年12月23日(日) 13:55

Re: 【質問】メニュー画面で空欄を選択するとフリーズする

投稿記事 by ecf5DTTzl6h6lJj02 »

こんにちは。
ダイギンガー さんが書きました:ご回答ありがとうございます!
F12で確認しました所、起動時に未設定のプラグイン3種がエラーを発生させていたので停止させ、同じ操作を行いました所『rpg managers.js』がエラーを発生させている所までは特定できました。
その内訳を確認した所どうやら上記三種を含む実装していた『一定の得点でスキルを獲得するプラグイン』の為の4種の内容を未設定のまま操作を行ったのでエラーが発生した様です。
4種のプラグインを停止した所、ブザー音が鳴り操作不能エラーは発生しなくなりました!
ありがとうございます!!
次は4種プラグイン用の設定を行ってから同じ動作を行ってエラーが発生するかどうか確認してみます!
とりあえず、質問のエラーの原因となっているのは、
dsEquipSkillLearning.jsのみで、
2個目の画像に表示されている、上3つのプラグインに関しては、
今回の質問のエラーとは直接関係がなさそうです。
(dsGainLpResult03 は dsEquipSkillLearning と関係のあるプラグインなので、
発生しているエラーを解決する必要がありますが)

エラー原因を記載すると、

まず、
ABMZ_EquipUpgrade.js と NUUN_Result.js については、
ツクールMZ 用のプラグインです。
MVには存在しない関数を呼び出そうとしているために、エラーが発生しています。
MV では使用できないはずですので、使用を中止してください。

dsGainLpResult03 ですが、
YEP_VicrotyAftermath.js とdsEquipmentSkill.js が必須で、
dsGainLpResult03 よりも上に配置している必要がある、
という文言が、プラグインヘルプに記載されていますが、
プラグインの一覧のスクリーンショットを見る限りだと、
YEP_VictoryAftermath.js が見当たりませんので、
そのせいで起こっているエラーではないかと思います。
YEP_VicrotyAftermath.js を導入してください。

質問のエラー原因となっていると思われる、
dsEquipmentSkillLearning.js に関してですが、
dsEquipmentSkillLearning.js を少し編集することで解決できそうです。

編集を行う前に、必ず、ファイルのバックアップを取り、
dsEquipmentSkillLearning.js を JavaScript の編集ができるソフトで開いてください。
  • 747 行目あたりから、
    Window_MenuSkill.prototype.isLearningSkill というメソッドの記述が始まっていると思います。
    このメソッドの中、749 行目あたりに、

    コード: 全て選択

    			if ( this._actor )
    
    という記述があると思いますので、これを、

    コード: 全て選択

    			if ( this._actor && item)
    
    に変更してみてください。
恐らくこの編集で、正常に動作するようになるのではないかなと思います。

ご確認ください。
返信する

“MV:質問”に戻る