★解決済み★競合対策?を教えてください!

返信する
アバター
トウカ
記事: 22
登録日時: 2017年7月08日(土) 01:28

★解決済み★競合対策?を教えてください!

投稿記事 by トウカ »

こんばんは!いつもお世話になっています!

準公式プラグインのNumbStateと、
YEP_BattleEngineCoreもしくはYEP_X_BattleSysATBって競合します・・・?
新規プロジェクトに該当3種を入れて動かしても、麻痺確率が正常動作していないようで。。

私が何かやらかしてるだけなのかもですけど、どなたか競合対策をご存じの方がおられましたら教えていただけませんか。
どうぞよろしくおねがいします!
最後に編集したユーザー トウカ [ 2017年7月14日(金) 20:50 ], 累計 1 回
アバター
まっつUP
記事: 1149
登録日時: 2016年8月11日(木) 15:38
お住まい: タケノコ王国

Re: 競合対策?を教えてください!

投稿記事 by まっつUP »

トウカ様
お世話になります。
こちらでも症状は確認できました。(簡単に言うと処理が呼び出されていませんでした。)
NumbStates.jsに以下の処理を追加してください。
(即時関数のブロック内外どちらでも大丈夫だと思います。)
なお、私は両者のプラグイン作成者ではないため不具合が
取り切れているかははっきりとは分かりません。
また、プラグインの改変は自己責任でお願いします。

var _BattleManager_startATBAction = BattleManager.startATBAction;
BattleManager.startATBAction = function(battler) {
var subject = battler;
if ( subject.numb_occur() ){
subject.clearActions();
this._logWindow.displayNumbOccur(subject);
}
_BattleManager_startATBAction.call(this, battler);
};
RPGで笑顔を・・・

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

github
https://github.com/mattuup/RPGMakerMZ
アバター
トウカ
記事: 22
登録日時: 2017年7月08日(土) 01:28

Re: 競合対策?を教えてください!

投稿記事 by トウカ »

>>まっつUP様

いつもいつもありがとうございます!
動作確認できました!動作は問題ないようです。

ただこれ正常動作したからこそ気になる点が出てきたのですけれど、YEP_X_BattleSysATBの特性上、スキルの速度補正にマイナスがついている場合(0でも多少)は『詠唱時間』的なものがありまして、長い詠唱のスキルを選択した場合は詠唱完了後に『麻痺で動けない』かどうかの判定になっているんですよね。。。

厚かましくも重ねてお願いしたいのですけれど、スキルを選択した瞬間に麻痺判定が出るようにするか、これが難しいのであれば、いっその事ターンを回らないようにするようには出来ませんでしょうか!?

現状では
麻痺バトラー:ATBチャージ→コマンド入力→詠唱ATBチャージ→NumbState判定→アクション(NumbState発動の場合はスキップ)

希望前者はそのまま、
麻痺バトラー:ATBチャージ→コマンド入力→NumbState判定(発動の場合はこれより先をスキップ)→詠唱ATBチャージ→アクション

後者は厳密には、
麻痺バトラー:ATBチャージ→NumbState判定(発動の場合はこれより先をスキップ)→コマンド入力→詠唱ATBチャージ→アクション

わかりやすく伝えようとして逆にわかりづらくなってるような気もしますが・・・
改めて説明が必要でしたらいくらでも言いますので!!
アバター
まっつUP
記事: 1149
登録日時: 2016年8月11日(木) 15:38
お住まい: タケノコ王国

Re: 競合対策?を教えてください!

投稿記事 by まっつUP »

NumbStates.jsの
先の返信によって追加した記述は削除して
最終行の})();よりも下の行に以下の記述を足してください。
BattleManager.isnumboccur = function(battler) {
var canmove = battler.numb_occur();
if(canmove){
this._logWindow.displayNumbOccur(battler);
battler.resetAllATB();
battler.onTurnEnd();
}
return canmove;
};

また、YEP_X_BattleSysATB.jsの
battler.canInput() を
battler.canInput() && !this.isnumboccur(battler) に置き換えてください。

※プラグインの改変は自己責任でお願いします。

追記:後者の効果になります。
RPGで笑顔を・・・

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

github
https://github.com/mattuup/RPGMakerMZ
アバター
トウカ
記事: 22
登録日時: 2017年7月08日(土) 01:28

Re: 競合対策?を教えてください!

投稿記事 by トウカ »

>>まっつUP様

動作確認とれました。
無駄のない理想の麻痺ステートに・・・!

ありがとうございますっ。
まさかの場所での処理、これは目からウロコでした。
もっと複雑に条件分岐つけるか、別なプラグインにするかしかないのかなーと思ってました。
いつもいつも助けて頂いてほんとありがとうございます。
いつか恩返しができるよう、私も精進します!
返信する

“MV:質問”に戻る