【解決済】回復無効ステートを作りたい

m**
記事: 29
登録日時: 2023年8月19日(土) 20:02

【解決済】回復無効ステートを作りたい

投稿記事by m** » 2023年9月19日(火) 19:54

表題の通りです。
掛かっている間は何をしてもHP/MPを回復出来ないステートを作りたいのですが
回復無効ステートを作れるプラグインはMVしか無いらしく(参考:https://tm.lucky-duet.com/viewtopic.php?t=5046)、どなたかMZ対応のものを作って頂けないでしょうか。

色々やってみたけど「回復技を使うとHP/MPが減るステート」は作れたけど単純に「回復する事が出来ない(±0になる)ステート」は無理だったので……。
最後に編集したユーザー m** on 2023年9月30日(土) 14:36 [ 編集 1 回目 ]

**********
英語は多少読めるけどプログラミングは全く出来ない&分からない人。
でも絵なら描ける完全ド文系人間。
普段は別名義で創作活動(ゲーム以外も含む)をしてます。
アバター
剣崎 宗二
記事: 681
登録日時: 2016年11月12日(土) 20:36
連絡を取る:

Re: 回復無効ステートを作りたい

投稿記事by 剣崎 宗二 » 2023年9月20日(水) 15:15

以下のコードを新規プラグインとして入れてみてください。
仕組みはシンプルなので、パラメーター化等はご自分で色々試してみてください。

コード: 全て選択

const preventHealStateId = 10; //回復を妨害するステートのID
const _tst_Game_Battler_prototype_gainHp = Game_Battler.prototype.gainHp;
Game_Battler.prototype.gainHp = function(value) {
    var copyValue = value;
    if (this.isStateAffected(preventHealStateId) && copyValue > 0);
    {
        copyValue = 0;
    }
    _tst_Game_Battler_prototype_gainHp.call(this, copyValue);
};
----
-出先に居る場合回答が未テスト状態である事が多い為、テストは重々にお願いいたします。
-基本自分や友人の問題解決は自分で1からプラグインを書いているので、「こういうプラグインはありますか」に対しては助けになれません。ご了承ください。
m**
記事: 29
登録日時: 2023年8月19日(土) 20:02

Re: 回復無効ステートを作りたい

投稿記事by m** » 2023年9月20日(水) 18:13

剣崎 宗二 様

回答ありがとうございます。

当方、プログラミングの知識が無くプラグインの作り方が全く分からないので可能でしたらご提示して頂いたコードをプラグイン化して頂く事は可能でしょうか?
また、ゲームで使用した場合の著作権表示等はどうしたらよろしいでしょうか。

お忙しいところ恐れ入りますがご返答いただければ幸いです。
**********
英語は多少読めるけどプログラミングは全く出来ない&分からない人。
でも絵なら描ける完全ド文系人間。
普段は別名義で創作活動(ゲーム以外も含む)をしてます。
アバター
剣崎 宗二
記事: 681
登録日時: 2016年11月12日(土) 20:36
連絡を取る:

Re: 回復無効ステートを作りたい

投稿記事by 剣崎 宗二 » 2023年9月20日(水) 18:46

プラグインの実体は単にコードを入れたテキストファイルなのですが…
とりあえず入れておきました。
preventHeal.js
(399 バイト) ダウンロード数: 3 回


尚、考えている仕様がそちらのそれと一致しているのか不確定な要素もありますので、現状「ステート10が掛かっている間、HPのみの回復を阻害」します。
上手く動くようであればまた追加します。
----
-出先に居る場合回答が未テスト状態である事が多い為、テストは重々にお願いいたします。
-基本自分や友人の問題解決は自分で1からプラグインを書いているので、「こういうプラグインはありますか」に対しては助けになれません。ご了承ください。
m**
記事: 29
登録日時: 2023年8月19日(土) 20:02

Re: 回復無効ステートを作りたい

投稿記事by m** » 2023年9月20日(水) 18:55

剣崎 宗二 様

プラグイン化して頂きありがとうございます!
暫定的な仕様である件、承知致しました。
使用してみて何か不具合等がありましたらまた此方でご報告したいと思います。
(その為、解決済の表記は暫く様子を見てから追加したいと思います)

この度は要望に応えて頂き本当にありがとうございました!
**********
英語は多少読めるけどプログラミングは全く出来ない&分からない人。
でも絵なら描ける完全ド文系人間。
普段は別名義で創作活動(ゲーム以外も含む)をしてます。
m**
記事: 29
登録日時: 2023年8月19日(土) 20:02

Re: 回復無効ステートを作りたい

投稿記事by m** » 2023年9月20日(水) 19:37

剣崎 宗二 様

プラグインのテストをした上での要望を書き込ませて頂きます。

まず、これは私側の完全なミスだったのですが「回復が出来ないだけ」の仕様にして頂きたいです。
別のプラグインを使って回復無効を作れないか試してた時に「回復技を受けるとマイナス(ダメージ扱い)になる」という仕様になってしまったが為に「±0」と書いたのです……。
読み返してみたら確かに「ダメージも無効化する」と取れますね……。これは私が悪かったです。
本当に申し訳ございませんでした。

また、私としては以下の機能があるととても助かります。

・指定の番号のステートに回復無効の効果を付与できる
・回復無効範囲をHPのみ・MPのみ・どちらも で指定できる
・一定の値以下で発動できる(東方神霊廟の被弾後トランス状態のようなものを作りたいので)

3つ目に関しては最初は別のプラグインと組み合わせて作ろうかと考えていたので単体での実装が難しいなら無視して頂いても構いません。

あれこれ無茶苦茶な事を書いてしまい申し訳ありません。
機能の追加に関しては可能な限りで構いません。よろしくお願いいたします。
**********
英語は多少読めるけどプログラミングは全く出来ない&分からない人。
でも絵なら描ける完全ド文系人間。
普段は別名義で創作活動(ゲーム以外も含む)をしてます。
m**
記事: 29
登録日時: 2023年8月19日(土) 20:02

Re: 回復無効ステートを作りたい

投稿記事by m** » 2023年9月20日(水) 20:02

追記:3つ目の機能に関してはオンオフで切り替え(条件を反映するかどうか)が出来たらいいかなと思っています。
その方がプラグインの使い道が増えそうなので。

あと、此方は個人的な思いなのですが私以外にプラグインを使いたいという方がもし居たらガンガン使って頂きたいなと思っています。回復無効って意外と需要ありそうな機能だと思うので……。
なので可能でしたら使用する上での権利・規約についても書いて頂けたらと思います。
**********
英語は多少読めるけどプログラミングは全く出来ない&分からない人。
でも絵なら描ける完全ド文系人間。
普段は別名義で創作活動(ゲーム以外も含む)をしてます。
アバター
剣崎 宗二
記事: 681
登録日時: 2016年11月12日(土) 20:36
連絡を取る:

Re: 回復無効ステートを作りたい

投稿記事by 剣崎 宗二 » 2023年9月22日(金) 10:43

preventHeal.js
(893 バイト) ダウンロード数: 4 回

m** さんが書きました:まず、これは私側の完全なミスだったのですが「回復が出来ないだけ」の仕様にして頂きたいです。
別のプラグインを使って回復無効を作れないか試してた時に「回復技を受けるとマイナス(ダメージ扱い)になる」という仕様になってしまったが為に「±0」と書いたのです……。
読み返してみたら確かに「ダメージも無効化する」と取れますね……。これは私が悪かったです。
本当に申し訳ございませんでした。

こちらは実は私の記載ミスによるバグです。申し訳ありません。
修正いたしました。


m** さんが書きました:・指定の番号のステートに回復無効の効果を付与できる

プラグイン内
//回復を妨害するステートのID
//Mp回復を妨害するステートのID
の前の数字を指定の数字に変えてください。デフォルトではそれぞれ10、11になっている部分です。

m** さんが書きました:・回復無効範囲をHPのみ・MPのみ・どちらも で指定できる

上記ステート番号でご対応ください。
同じ番号を指定すればそのステートが「どちらも」になります。

m** さんが書きました:・一定の値以下で発動できる(東方神霊廟の被弾後トランス状態のようなものを作りたいので)

対応不可とさせてください。技術的な問題と言うより「どこでその『一定の値』を指定するのか?」と言う設計上の面倒です。

m** さんが書きました:あと、此方は個人的な思いなのですが私以外にプラグインを使いたいという方がもし居たらガンガン使って頂きたいなと思っています。回復無効って意外と需要ありそうな機能だと思うので……。
なので可能でしたら使用する上での権利・規約についても書いて頂けたらと思います。

飽くまでも無料の範囲で好意で作った物なので権利規約はありません。
本来はプラグイン化するつもりもなく、各々がコードを自由に弄ってくれ…と言うつもりでした。
(同時にこれは、修正要請に必ず応じるとは限らない、と言う事も意味します)
----
-出先に居る場合回答が未テスト状態である事が多い為、テストは重々にお願いいたします。
-基本自分や友人の問題解決は自分で1からプラグインを書いているので、「こういうプラグインはありますか」に対しては助けになれません。ご了承ください。
m**
記事: 29
登録日時: 2023年8月19日(土) 20:02

Re: 回復無効ステートを作りたい

投稿記事by m** » 2023年9月22日(金) 18:17

剣崎 宗二 様

「こちらは実は私の記載ミスによるバグです。申し訳ありません。
修正いたしました。」


→そうだったんですね……てっきり私のせいかと思ってました……。
修正ありがとうございます。

「プラグイン内
//回復を妨害するステートのID
//Mp回復を妨害するステートのID
の前の数字を指定の数字に変えてください。デフォルトではそれぞれ10、11になっている部分です。」
「上記ステート番号でご対応ください。
同じ番号を指定すればそのステートが「どちらも」になります。」

→ありがとうございます。プラグインの仕様、理解いたしました。

「対応不可とさせてください。技術的な問題と言うより「どこでその『一定の値』を指定するのか?」と言う設計上の面倒です。」

→承知致しました。
「掛かると回復無効になるだけのステート」と「HPが0になると戦闘不能になる前にHP0のままで数ターン行動出来た後に強制的に戦闘不能になるステート」の2種類を作りたかったのですが、後者に関しては別のプラグインと組み合わせて実装したいと思います。

「飽くまでも無料の範囲で好意で作った物なので権利規約はありません。
本来はプラグイン化するつもりもなく、各々がコードを自由に弄ってくれ…と言うつもりでした。
(同時にこれは、修正要請に必ず応じるとは限らない、と言う事も意味します)」

→承知致しました。ありがとうございます。

単体での簡単なテストで、回復だけが無効になる事を確認致しました。
実際のゲームデータでのテスト後、問題が無ければ「解決済」としたいと思います。

この度は要望に応えて頂き本当にありがとうございました!
**********
英語は多少読めるけどプログラミングは全く出来ない&分からない人。
でも絵なら描ける完全ド文系人間。
普段は別名義で創作活動(ゲーム以外も含む)をしてます。
m**
記事: 29
登録日時: 2023年8月19日(土) 20:02

Re: 回復無効ステートを作りたい

投稿記事by m** » 2023年9月24日(日) 20:13

実際のゲームデータでテスト運用させて頂きましたのでその報告です。

以前作って頂いた「HP残量によってMPの回復量が変わるプラグイン(https://tm.lucky-duet.com/viewtopic.php?f=116&t=14224)」とも競合する事無く動きました。

ですが、「const preventMPHealStateId = 15; //Mp回復を妨害するステートのID」の部分でステートをコンマで区切って複数指定してみたところ「SyntaxError Unexpected number」とのエラーが出てしまいました。
(単独で指定したら問題無く動きました。)

最初に「複数指定が可能か」を確認しておけば良かったですね……すみませんでした。
もし可能であれば複数のステート番号を指定出来るようにしていただけないでしょうか?
何度も何度も要望を加えて申し訳ございません。検討のほどよろしくお願いいたします。
**********
英語は多少読めるけどプログラミングは全く出来ない&分からない人。
でも絵なら描ける完全ド文系人間。
普段は別名義で創作活動(ゲーム以外も含む)をしてます。

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