1. このサイトではcookie (クッキー) を使用しています。サイトの利用を継続した場合、cookieの使用に同意したものとみなさせていただきます。 詳しくはこちらをご覧ください。

攻撃対象選択時に弱点や耐性を表示するプラグイン

しぐれん2017-05-26に開始した「ツクールMV」の中の討論

  1. しぐれん

    しぐれん ユーザー

    攻撃対象選択時に弱点や耐性を表示できるようになります。
    MITライセンスとします。

    表示はアイコンか文字のどちらかから選べます。
    弱点や耐性であるかどうかは、属性有効度を元に判断し、
    どのぐらいから弱点扱いするかも選べます。
    ReadMeは以下の記述でお願いします。
    しぐれん
    [Twitter]: https://twitter.com/Sigureya/
    [github]:https://github.com/Sigureya/RPGmakerMV
    (2018/02/04更新)
     

    添付ファイル:

    最後に編集: 2018-02-04
    #1
    ツクール開発部, Kpoal, えれのあ他12人がいいね!しています
  2. しぐれん

    しぐれん ユーザー

    表示をよりオシャレにしたニューバージョンを公開します。
    こちらは弱点属性を表示するのではなく、攻撃そのものが弱点を突いているかどうかを表示します。
    今のところ試作段階です。
    全体攻撃の際に、敵全てを選択する挙動を持つプラグインと一緒に使った場合もいい感じに動くはずです。
    (一応Yep_BattleEngineCoreとMOG_BattleCursorで確認)
    https://github.com/Sigureya/RPGmakerMV/blob/master/Mano_WeakPointView.js

    2017-06-06 (2).png
    MITライセンスとします。
    ReadMeに以下の記述をお願いします。
    しぐれん
    [Twitter]: https://twitter.com/Sigureya/
    [github]:https://github.com/Sigureya/RPGmakerMV
     
    最後に編集: 2017-06-12
    #2
    kuro, 夏の日, 神無月サスケ他1人 がいいね!しています
  3. 印度一好色

    印度一好色 ユーザー

    Mano_weekpointview.js、早速導入して使わせていただきました。
    デフォルトの明朝漢字表示が独自性あってすごく見栄えが良いですね。これは早い者勝ちかもw
    とにかく後戻りできないボス敵などに複数の属性や弱点を設定しておられる方は、
    このプラグインを導入すればマニュアルいらずで初見殺しを抑えられる、
    とてもユーザーフレンドリーなゲームになると思います。
    最初アクターをそのままエネミーとして立たせるRexal氏のanimatedSVEnemies.jsと併用したのですが、
    文字も反転してしまっていてちょっと面白かったです。
    あと1点だけ、動作に直接関係ないツッコミで恐縮ですが、
    プラグイン名とパラメータ名のweekだと週のほうの意味になってしまうので、
    次回更新があるならweakに直すとより適切な名称になると思います。
     
    #3
    神無月サスケ, 夏の日しぐれん がいいね!しています
  4. しぐれん

    しぐれん ユーザー

    導入ありがとうございます。
    ユーザーフレンドリーにできてよかったです。
    これさえ入れれば、複雑な弱点や耐性のボスも作り放題です。


    weekだと週でしたか。
    週正(誤字)してきます。
    animatedSVEnemiesと併用した場合に文字が反転するのは問題ですね。
    何か対策が必要かもしれません。
    (battlerの下に子スプライトとして表示しているため)
     
    最後に編集: 2017-06-07
    #4
    神無月サスケ印度一好色 がいいね!しています
  5. しぐれん

    しぐれん ユーザー

    備忘録です。
    旧バージョンを、いずれ更新する可能性が出てきました。
    _helpWindowを使って、表示内容をきれいにします。
    Window間でのデータやり取りにこんな便利な方法があるとは知らず。
     
    #5
    神無月サスケ印度一好色 がいいね!しています
  6. しぐれん

    しぐれん ユーザー

    旧バージョンをMano_EnemyHelpWindowと改め再公開です。
    バグ修正と、実装をきれいにするのを目的としています。
    ただし、諸事情によりアイコンで描画する機能が無効化されています。
    その上、旧バージョンを紛失してしまったので再アップできないです。
     
    最後に編集: 2017-07-16
    #6
    ufo_1122, えれのあ, 夏の日他2人がいいね!しています
  7. 東横とこ

    東横とこ ユーザー

    はじめまして、私が使用しているあなた様のプラグインはこのプラグインのみですが、
    見栄えが良くなりとても素晴らしくて感謝しております。
    このプラグインで攻撃をすると、このように画面上部に何も表示されなくなり、
    特に全体攻撃をするとき「全体」と表示されず不便を感じることがあります
    以前のバージョンでは表示されていました。
    ここでこの報告をさせていただきたいと思います。
     

    添付ファイル:

    #7
    神無月サスケしぐれん がいいね!しています
  8. しぐれん

    しぐれん ユーザー

    画面上部に表示されなくなり…とありますが、競合の可能性があります。
    画面上部の表示は、見覚えがないです。
    修正パッチを出しますので、使用している他のプラグインの一覧をお願いします。

    以下のURLにプラグインの一覧を出力するプラグインがあるので、これを使ってデータを用意してください。
    データはdebugというフォルダに出てきます。
    https://raw.githubusercontent.com/Sigureya/RPGmakerMV/master/plugin_list.js
    もしこれが動かなかった場合、jsフォルダ内にあるpluguins.jsを添付してください。
     
    #8
    神無月サスケ がいいね!しました
  9. 東横とこ

    東横とこ ユーザー

    多忙によりここのチェックが遅れてしまいましたすいません
    自力でプラグインをoffにして検証しても皆目見当がついておりません

    debugフォルダ?そのようなフォルダは見えません
    ので、pluguins.jsを添え付けさせていただきますね
     

    添付ファイル:

    #9
    神無月サスケ がいいね!しました
  10. しぐれん

    しぐれん ユーザー

    効果があるかはわかりませんが、修正版をアップします。
    実装を古いバージョンに近くしたので、何とかなるかなと。

    競合原因となるプラグインは数が多いので特定が困難でした。
    Dropboxなどでプラグインファイルをすべて送ってもらえれば、対応します。
     

    添付ファイル:

    #10
    神無月サスケ がいいね!しました
  11. 東横とこ

    東横とこ ユーザー

    選択時の敵の弱点・抵抗が表示されなくなりました
    では、以前のバージョンを妥協して使用させていただきます。お心遣いありがとうございました。
     
    #11
    神無月サスケ がいいね!しました
  12. Kpoal

    Kpoal ユーザー

    しぐれんさん、こんにちは。
    属性を分かりやすく表示する良プラグイン、実にいいと思います。

    私も先日、属性による弱点、耐性がプレイヤーの目にも分かりやすい方がいいという同様の発想から、
    弱点・耐性に応じてメッセージを追加表示するプラグインというものを作らせていただきました。
    (こちらのプラグインを見て、そういえば自分も昔VXAceで似たようなのを作っていた事を思い出した感じです)

    こちらは行動時、属性有効度が一定以下or一定以上の場合に
    メッセージを1行追加表示するというだけの非常につまらないものですが、
    「敵に攻撃を当ててみて、効きの良い属性を見極めていく」というゲームの戦略性をサポートするのには
    適していると思います。

    そこで相談なのですが、
    こちらでも「一度攻撃を当てる事で、その属性に関する情報が開示される」
    という設定にすることは可能でしょうか?
    できれば、パラメータによってどちらの設定にするか選べる、
    ボスのような一部の敵は最初は開示されておらず、攻撃を当てるごとに開示されていく
    といった事もできるといいかと思います。

    どの程度ユーザーフレンドリーにするか、
    どのくらいプレイヤーに考えさせるかといった采配は製作者次第ですから、
    それをサポートできるようなシステムにできたらなと考えています。
     
    #12
    神無月サスケ がいいね!しました
  13. しぐれん

    しぐれん ユーザー

    これをやると、どの属性が判明済みかの処理を作らないといけないのでセーブデータに書き込む必要が出てきます。
    あまりセーブデータに余計なことを書き込みたくないので、全てのモンスターにこの仕様を用意するのは難しいです。
    (技術的には可能ですが、モンスターの数*属性の数だけセーブデータへ書き込むためにデータが大きくなりがち)
    ボスを想定するのであれば、その戦闘中だけデータを監視する方法は考えられます。
    手が空いたらやってみます。
     
    #13
    神無月サスケKpoal がいいね!しています
  14. しぐれん

    しぐれん ユーザー

    ということで、実装してみました。
    かなり処理を省略して、特定のステートが発生している場合弱点・耐性の情報を表示しないという方法で実装しました。
    理由としては、攻撃を受けたときに受けた攻撃の属性を調べて、それを記録して…となると結構余計な処理になるためです。

    isBattlerDataHidden()という関数を改造すれば、弱点が隠される条件などを決められます。
    このあたりは利用者側で改造しての対応ということでご了承ください。
     

    添付ファイル:

    #14
    神無月サスケKpoal がいいね!しています
  15. Kpoal

    Kpoal ユーザー

    しぐれんさん、ご対応ありがとうございます。
    ステートが発生時のみ弱点、耐性の情報を表示しないのであれば、
    ボス戦の最初に付与、途中イベントで解除などいろいろできそうですね。

    勝手ながら、弱点を突いた際に自動で該当ステートが解除されるプラグインというものも作ってみました。
    よければご覧になってみて下さい。
    コード:
    (function (global) {
        var param = PluginManager.parameters('Mano_EnemyHelpWindow');
        var elemIdForRemoveState = 0;
        
        var _Game_Action_prototype_makeDamageValue = Game_Action.prototype.makeDamageValue;
        Game_Action.prototype.makeDamageValue = function(target, critical) {
            elemIdForRemoveState = this.item().damage.elementId;
        return _Game_Action_prototype_makeDamageValue.call(this,target,critical);
        };
    
        Game_Battler.prototype.removeStatesByWeakElem = function() {
            var rate   = this.elementRate(elemIdForRemoveState)
            var hidden = Number(param.hiddenState);
            var line   = Number(param.ResistanceLine)/100;
                if (this.isStateAffected(hidden) && rate> line ) {
                    this.removeState(hidden);
                }
        };
    
        var _Game_Battler_prototype_onDamage = Game_Battler.prototype.onDamage
        Game_Battler.prototype.onDamage = function(value) {
            this.removeStatesByWeakElem();
            _Game_Battler_prototype_onDamage.call(this,value);
        };
    
    })();
     
    #15
    神無月サスケしぐれん がいいね!しています
  16. えるてる

    えるてる ユーザー

    しぐれん様
    プラグイン(Manosasayaki_EnemyInfomationWindow)導入させて頂いております。
    そこでテストプレイ中に気付いたのですが、2体の敵(1、2)のグループと戦闘した場合、1を先に倒すと、2の表示ウィンドウが
    1の敵のものになります・・。
    このプラグイン、私のゲームに欠かせないものになっておりまして、もしよろしければ、改善の方して頂けないでしょうか?
    他のプラグインを全部オフにしても発生した為、競合ではないと思います。

    急な申し訳ありませんが、お時間ありましたら宜しくお願い致します
     
    #16
  17. しぐれん

    しぐれん ユーザー

    どの時期のバージョンか覚えていないので、やや対応しづらいです。
    ただ、そのバージョンはかなり古いので新しいものと交換することをお勧めします。
    (古いので修正は切ってます)
    https://raw.githubusercontent.com/Sigureya/RPGmakerMV/master/Mano_EnemyHelpWindow.js

    以前、同様のバグが報告されたのを見たことがありましたので、そのパターンもあります。
    https://tm.lucky-duet.com/viewtopic.php?f=5&t=3964
     
    最後に編集: 2017-11-26
    #17
  18. えるてる

    えるてる ユーザー

    変身遅れてしまい申し訳ありません。
    無事動作いたしました!
    ご対応、ありがとうございます!!
     
    #18
    しぐれん がいいね!しました
  19. しぐれん

    しぐれん ユーザー

    少し更新しました。
    アイコンの設定方法が面倒だったので、改造しました。
    サンプルのスキルをプラグインパラメータに設定し、そのスキルの属性を見ながらアイコンを設定するようになりました。
    手間が一気に減ったのでお試しあれ
     
    #19
    チョコワ部 がいいね!しました
  20. poppoya

    poppoya ユーザー

    すみません、こちらのプラグインを使用させていただきたいのですが
    https://raw.githubusercontent.com/Sigureya/RPGmakerMV/master/Mano_EnemyHelpWindow.js
    こちらのプラグインを導入すると、
    「SyntaxError
    Unexpected end of JSON input」
    というエラーがでてしまいます。
    古いバージョンを導入すると、エラーは起こらないものの、何も変化が起きません。(敵に耐性や弱点は予め設定しています)

    競合していないか、新しいプロジェクトで他にプラグインを入れてない状態でなるので、競合は考えづらいです。
    どうしたら動くのでしょうか。よろしくお願い致します。
     
    #20

このページを共有