【解決】MP消費アイテム

アバター
ネコタ
記事: 173
登録日時: 2016年7月10日(日) 18:35
連絡を取る:

【解決】MP消費アイテム

投稿記事by ネコタ » 2016年8月21日(日) 08:57

ツクマテのみなさん、いつもお世話になっております。

MP消費を伴うアイテムを作りたいのですが、そのようなプラグインがあると助かります。
よろしくお願いします。

<仕様>
・メモ欄などで消費MPを設定できる。
・MPが足りないときは灰色文字などにして選択できないようにしたいです。
最後に編集したユーザー ネコタ on 2016年10月09日(日) 08:58 [ 編集 1 回目 ]

猫民のんたんのアトリエ
http://nekotaminontan.blog.fc2.com/
アバター
まっつUP
記事: 1155
登録日時: 2016年8月11日(木) 15:38
お住まい: タケノコ王国

Re: MP消費アイテム

投稿記事by まっつUP » 2016年10月07日(金) 21:54

ネコタ様
お世話になります。

そろそろ夏も終わりでございますね。
なので、ご希望の機能を実現するプラグインをつくりました。
(バグが十分に取れていない可能性があるのでユーザーゲームに適用する場合は
お手数ですが十分にテストをしていただく必要があります。)

このプラグインの利用する場合は
readmeなどに「まっつUP」の名を入れてください。
また、素材のみの販売はダメです。
上記以外の規約等はございません。
もちろんツクールMVで使用する前提です。
何か不具合ありましたら気軽にどうぞ。

追記:初期のものはバグが多かったので削除しました。
最後に編集したユーザー まっつUP on 2016年10月08日(土) 23:55 [ 編集 1 回目 ]
RPGで笑顔を・・・

ツイッター(ツクラーの巣窟)(閲覧は自己責任でお願いします)
https://twitter.com/mattuup

github
https://github.com/mattuup/RPGMakerMZ
アバター
ネコタ
記事: 173
登録日時: 2016年7月10日(日) 18:35
連絡を取る:

Re: MP消費アイテム

投稿記事by ネコタ » 2016年10月07日(金) 22:40

おお、お待ちしておりました!

早速、導入してやってみましたら、動きませんでした(笑)


まず、ほぼプラグインが入っていない(公式以外は一切入っていない)プロジェクトでは、一応、使用可能でしたが、

画像

初回の立ち上げ時、最初のアイテム名がなぜか灰色文字になっておりました。
一応、選択してみたら問題なく使えました。
2ターン目以降は、このアイテムは白字になっていました。

なぜでしょう?



次に、色々とプラグインが入って訳が分からなくなっている制作用のプロジェクトに入れてみましたところ、

画像

このように表示され、終わってしまいました。
デベロッパーツールを開いてみたところ、

画像

このように書かれていましたが、私には解読できませんので、丸投げさせていただきます。


ただ、この制作用に入れている他のプラグイン達は、制作中のゲームでも使用しているものが多々あるため、競合があるようだと実質的に使用不可となってしまいます(^^;

何とかできそうなら、お願いします。
猫民のんたんのアトリエ
http://nekotaminontan.blog.fc2.com/
アバター
ネコタ
記事: 173
登録日時: 2016年7月10日(日) 18:35
連絡を取る:

Re: MP消費アイテム

投稿記事by ネコタ » 2016年10月07日(金) 22:56

YED_TransferStealStatesをOFFにしてみたら、無事動きました。

やはり、最初のアイテム名が黒いままでしたが、それが解決できれば問題なく使用できそうです。

YEDのプラグインは前も色々競合していた気がするし、はずそうかなぁ・・・
猫民のんたんのアトリエ
http://nekotaminontan.blog.fc2.com/
アバター
まっつUP
記事: 1155
登録日時: 2016年8月11日(木) 15:38
お住まい: タケノコ王国

Re: MP消費アイテム

投稿記事by まっつUP » 2016年10月08日(土) 00:04

ネコタ様

うまく動作しないようで申し訳ございません。
こちらでもYED_TransferStealStatesが怪しいと睨んでいました。
(これ単体で競合する)
が、エラー内容がどれも弄っていないところが出力されており原因が謎です。

また、単体での利用を想定していたとはいえ
そのアクターの取得方法の追加(もう二度と弄りたくない)と
アイテムリストをがっつり改変しているのでこの辺りの競合が激しいようです。
(コスト表示追加だけなので簡素に済むように見えますが、
追加しなければならない処理は多く改変箇所も多いです。)

最初のアイテム名が黒いままというのも確認できました。
直し方が分かりません。誰か助けてください。
RPGで笑顔を・・・

ツイッター(ツクラーの巣窟)(閲覧は自己責任でお願いします)
https://twitter.com/mattuup

github
https://github.com/mattuup/RPGMakerMZ
アバター
トリアコンタン
記事: 2311
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

Re: MP消費アイテム

投稿記事by トリアコンタン » 2016年10月08日(土) 00:59

こんにちは!
エラーについてですが、おそらくこちらのトピックで発生している現象と同じと思われます。
解決策を提案しましたので、お試しください。

http://tm.lucky-duet.com/viewtopic.php?f=23&t=2223&p=7115#p7094
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
アバター
トリアコンタン
記事: 2311
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

Re: MP消費アイテム

投稿記事by トリアコンタン » 2016年10月08日(土) 01:44

また、アイテムが黒い原因ですが、アクター(this._actor)の設定箇所が

コード: 全て選択

Window_ItemList.prototype.drawitemCost
になっているため、初回実行時の

コード: 全て選択

Window_ItemList.prototype.isEnabled
が正しい結果を返していないためです。

以下のコードによりアイテムリストを作成する前の段階でアクターを設定することができます。
また、競合のリスクを低減する方法として、関数を上書きする前の状態をローカル変数(_Window_ItemList_makeItemList)に保持しておき、関数の実行中に上書きする前の元関数を呼び出す方法があります。

コード: 全て選択

    // 上書きする前の関数を保持
    var _Window_ItemList_makeItemList = Window_ItemList.prototype.makeItemList;
    Window_ItemList.prototype.makeItemList = function() {
        if ($gameParty.inBattle()) this._actor = BattleManager.actor(); //戦闘中はバトルマネージャから直接取得
        // 保持したおいた関数を呼び出す
        _Window_ItemList_makeItemList.apply(this, arguments);
    };
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
アバター
まっつUP
記事: 1155
登録日時: 2016年8月11日(木) 15:38
お住まい: タケノコ王国

Re: MP消費アイテム

投稿記事by まっつUP » 2016年10月08日(土) 01:58

トリアコンタン様
お世話になります。

バグについての解決法をご教授いただきありがとうございます。

トリアコンタン様のおかげで
BCEやTransferStealStatesとも共存して正常な動作を期待できそうです。

念のため別にjsファイルを上げておきます。

追記:バグの多いバージョンだったので消しました。
最後に編集したユーザー まっつUP on 2016年10月13日(木) 18:38 [ 編集 2 回目 ]
RPGで笑顔を・・・

ツイッター(ツクラーの巣窟)(閲覧は自己責任でお願いします)
https://twitter.com/mattuup

github
https://github.com/mattuup/RPGMakerMZ
アバター
ネコタ
記事: 173
登録日時: 2016年7月10日(日) 18:35
連絡を取る:

Re: MP消費アイテム

投稿記事by ネコタ » 2016年10月08日(土) 21:34

ありがとうございます!

YEDのプラグインのバグが消えました!

そして、動作確認をしてみましたが、初回立ち上げ時に黒くならなくなりました!
選択して、MPも消費され、動作に支障はなかったです!


しかし、新たなバグ?を発見しました(^^;

パーティ内で使用できるキャラクターがいるときは、MPが足りないキャラでは黒表示で使えない状態なのですが、パーティ内で使用できる状態のキャラクターが一人もいないときは、非表示になってしまいます。

メニュー画面では表示されており、数も合っているので、消えたわけではないみたいです。


持っていること自体は把握できた方が良いと思うので、これを使えないけど表示している状態にすることは出来るでしょうか?
猫民のんたんのアトリエ
http://nekotaminontan.blog.fc2.com/
アバター
まっつUP
記事: 1155
登録日時: 2016年8月11日(木) 15:38
お住まい: タケノコ王国

Re: MP消費アイテム

投稿記事by まっつUP » 2016年10月08日(土) 22:13

ネコタ様

いや、度々申し訳ないです。

このプラグインのバグだったので修正しました。

この時点でこのトピックの一番最後にアップしているところに更新したものを置いておきますね。
RPGで笑顔を・・・

ツイッター(ツクラーの巣窟)(閲覧は自己責任でお願いします)
https://twitter.com/mattuup

github
https://github.com/mattuup/RPGMakerMZ

“MV:プラグイン素材のリクエスト” へ戻る