戦闘終了後の挙動を入れ替えたい
-
- 記事: 5
- 登録日時: 2023年12月10日(日) 19:11
戦闘終了後の挙動を入れ替えたい
タイトル通りです。
通常だと戦闘終了後はドロップアイテム情報→レベルアップの順に表示されると思うのですが
ドラクエ式にレベルアップ→ドロップアイテム情報の順番に入れ替えたいです。
上記が可能になるプラグインなどをご存知の方は教えてください。
通常だと戦闘終了後はドロップアイテム情報→レベルアップの順に表示されると思うのですが
ドラクエ式にレベルアップ→ドロップアイテム情報の順番に入れ替えたいです。
上記が可能になるプラグインなどをご存知の方は教えてください。
Re: 戦闘終了後の挙動を入れ替えたい
デフォルト動作では、rio_a_lavender さんが書きました:タイトル通りです。
通常だと戦闘終了後はドロップアイテム情報→レベルアップの順に表示されると思うのですが
ドラクエ式にレベルアップ→ドロップアイテム情報の順番に入れ替えたいです。
上記が可能になるプラグインなどをご存知の方は教えてください。
・経験値取得
・レベルアップがあるなら、表示
・所持金獲得
・ドロップアイテムの表示
の順で処理される仕様のようです。
コード: 全て選択
BattleManager.gainRewards = function() {
this.gainExp();
this.gainGold();
this.gainDropItems();
};
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
-
- 記事: 5
- 登録日時: 2023年12月10日(日) 19:11
Re: 戦闘終了後の挙動を入れ替えたい
ムノクラさん、ご回答ありがとうございます。
プラグインの干渉を調べるため、コピーした環境下ですべてのプラグインをオフにして試しましたが
『ドロップアイテム情報』→『レベルアップ』の順番は変わりませんでした。
次に、完全に新規のプロジェクトを作成して挙動が変化するか調べましたが
『ドロップアイテム情報』→『レベルアップ』の順番は変わりませんでした。
rpg_managersも確認しましたが、コピー環境、テスト環境とも同一でした。
今のところお手上げ状態です……。
引き続き情報をお待ちしております。
プラグインの干渉を調べるため、コピーした環境下ですべてのプラグインをオフにして試しましたが
『ドロップアイテム情報』→『レベルアップ』の順番は変わりませんでした。
次に、完全に新規のプロジェクトを作成して挙動が変化するか調べましたが
『ドロップアイテム情報』→『レベルアップ』の順番は変わりませんでした。
rpg_managersも確認しましたが、コピー環境、テスト環境とも同一でした。
コード: 全て選択
BattleManager.gainRewards = function() {
this.gainExp();
this.gainGold();
this.gainDropItems();
};
BattleManager.gainExp = function() {
var exp = this._rewards.exp;
$gameParty.allMembers().forEach(function(actor) {
actor.gainExp(exp);
});
};
BattleManager.gainGold = function() {
$gameParty.gainGold(this._rewards.gold);
};
BattleManager.gainDropItems = function() {
var items = this._rewards.items;
items.forEach(function(item) {
$gameParty.gainItem(item, 1);
});
};
引き続き情報をお待ちしております。
Re: 戦闘終了後の挙動を入れ替えたい
私も新規プロジェクトでテストしているのですが、上記に上げた通りの動作になっているので、ちょっと分かりそうもないですね…rio_a_lavender さんが書きました:ムノクラさん、ご回答ありがとうございます。
プラグインの干渉を調べるため、コピーした環境下ですべてのプラグインをオフにして試しましたが
『ドロップアイテム情報』→『レベルアップ』の順番は変わりませんでした。
次に、完全に新規のプロジェクトを作成して挙動が変化するか調べましたが
『ドロップアイテム情報』→『レベルアップ』の順番は変わりませんでした。
rpg_managersも確認しましたが、コピー環境、テスト環境とも同一でした。
今のところお手上げ状態です……。コード: 全て選択
BattleManager.gainRewards = function() { this.gainExp(); this.gainGold(); this.gainDropItems(); }; BattleManager.gainExp = function() { var exp = this._rewards.exp; $gameParty.allMembers().forEach(function(actor) { actor.gainExp(exp); }); }; BattleManager.gainGold = function() { $gameParty.gainGold(this._rewards.gold); }; BattleManager.gainDropItems = function() { var items = this._rewards.items; items.forEach(function(item) { $gameParty.gainItem(item, 1); }); };
引き続き情報をお待ちしております。
できそうな事は、
1.一度ツクールを完全アンインストール
https://fungamemake.com/archives/2998
2.再インストール
3.新規プロジェクトでテスト
くらいでしょうか。
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
-
- 記事: 5
- 登録日時: 2023年12月10日(日) 19:11
Re: 戦闘終了後の挙動を入れ替えたい
ムノクラさん、ご回答ありがとうございます。
記事に記載のある通り、完全アンインストール
(steam版ではなかったので、AppData内のキャッシュファイルを削除)してから再インストールし、
新規プロジェクトでの挙動を確認しましたが、やはりドロップアイテム情報→レベルアップの順番でした。
私の環境だけでこの現象は起きていて、ムノクラさんを含むほかの方の環境では再現できないのでしょうか……?
記事に記載のある通り、完全アンインストール
(steam版ではなかったので、AppData内のキャッシュファイルを削除)してから再インストールし、
新規プロジェクトでの挙動を確認しましたが、やはりドロップアイテム情報→レベルアップの順番でした。
私の環境だけでこの現象は起きていて、ムノクラさんを含むほかの方の環境では再現できないのでしょうか……?
- Plasma Dark
- 記事: 736
- 登録日時: 2020年2月08日(土) 02:29
- 連絡する:
Re: 戦闘終了後の挙動を入れ替えたい
表示と実際の取得は別処理ですので、質問者さんの仰る通り、ドロップアイテム入手の表示の後にレベルアップの表示が来ます。
詳しくは BattleManager.processVictory から処理を追ってみてください。
レベルアップの表示が経験値の取得処理とある意味密結合であるため、戦闘勝利時の表示順を思い通りに変えるのは少し面倒になっています。
displayExpをフックして経験値取得までさせ、gainRewardsでは経験値取得を行わないように上書きするとか、勝利時の処理順をいじってなんとかするのが一番カンタンな方法ですが、戦闘報酬周りのプラグインとは競合しやすくなりそうです。
詳しくは BattleManager.processVictory から処理を追ってみてください。
レベルアップの表示が経験値の取得処理とある意味密結合であるため、戦闘勝利時の表示順を思い通りに変えるのは少し面倒になっています。
displayExpをフックして経験値取得までさせ、gainRewardsでは経験値取得を行わないように上書きするとか、勝利時の処理順をいじってなんとかするのが一番カンタンな方法ですが、戦闘報酬周りのプラグインとは競合しやすくなりそうです。
Re: 戦闘終了後の挙動を入れ替えたい
新規プロジェクトで確認したつもりでしたが、スクリーンショットを取りながら見返すと、確かに
勝利、獲得
ドロップアイテム
レベルアップ
の順でした…
混乱を招いてしまい、申し訳ございません。
勝利、獲得
ドロップアイテム
レベルアップ
の順でした…
混乱を招いてしまい、申し訳ございません。
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
-
- 記事: 5
- 登録日時: 2023年12月10日(日) 19:11
Re: 戦闘終了後の挙動を入れ替えたい
Plasma Darkさん、補足とご回答ありがとうございます。
現在、戦闘報酬に関するプラグインは
・MKR_LevelUpMessageEx
・LevelupRecover
・YEP_BattleEngineCore
などを入れています。
これらと競合しない形で意図通りに順番を変える方法はありますでしょうか?
ムノクラさん、訂正をありがとうございます。
どうかお気になさらないでください。
現在、戦闘報酬に関するプラグインは
・MKR_LevelUpMessageEx
・LevelupRecover
・YEP_BattleEngineCore
などを入れています。
これらと競合しない形で意図通りに順番を変える方法はありますでしょうか?
ムノクラさん、訂正をありがとうございます。
どうかお気になさらないでください。
Re: 戦闘終了後の挙動を入れ替えたい
rio_a_lavender様
私の誤情報で、混乱させてしまい、大変申し訳ございませんでした。
表示順はレベルアップの部分が独特で戦闘中と条件分岐したり、試行錯誤したのですが、難しく時間がかかりそうなので、先にこちらをお出しします。
ファイル名は何でもよいですが、一応添付します。
ちょっと競合は分からないです…
・MKR_LevelUpMessageEx
・LevelupRecover
・YEP_BattleEngineCore
は入れてみましたが、競合しなかったように見えます。
私の誤情報で、混乱させてしまい、大変申し訳ございませんでした。
ヒントのとおりに作ってみました。Plasma Dark さんが書きました:表示と実際の取得は別処理ですので、質問者さんの仰る通り、ドロップアイテム入手の表示の後にレベルアップの表示が来ます。
詳しくは BattleManager.processVictory から処理を追ってみてください。
レベルアップの表示が経験値の取得処理とある意味密結合であるため、戦闘勝利時の表示順を思い通りに変えるのは少し面倒になっています。
displayExpをフックして経験値取得までさせ、gainRewardsでは経験値取得を行わないように上書きするとか、勝利時の処理順をいじってなんとかするのが一番カンタンな方法ですが、戦闘報酬周りのプラグインとは競合しやすくなりそうです。
コード: 全て選択
(() => {
'use strict';
BattleManager.gainRewards = function () {
this.gainGold();
this.gainDropItems();
};
const _BattleManager_displayExp = BattleManager.displayExp;
BattleManager.displayExp = function () {
_BattleManager_displayExp.call(this);
this.gainExp();
};
})();
ファイル名は何でもよいですが、一応添付します。
ちょっと競合は分からないです…
・MKR_LevelUpMessageEx
・LevelupRecover
・YEP_BattleEngineCore
は入れてみましたが、競合しなかったように見えます。
- 添付ファイル
-
changeResult.js
- (330 バイト) ダウンロード数: 8 回
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
-
- 記事: 5
- 登録日時: 2023年12月10日(日) 19:11
Re: 戦闘終了後の挙動を入れ替えたい
ムノクラさん、ご回答とプラグインの作成をありがとうございます。
お返事が遅くなり申し訳ありません。
さっそく確認したところ、おおむね意図した通りの挙動になっていました。ありがとうございます!
こちらのままでも問題はないのですが、細かなところで一点だけよろしいでしょうか?
こちらのプラグインの挙動と表示は現在、
1,経験値を獲得
2,レベルアップ
3,ゴールドを取得
4,ドロップアイテムを取得
の順序になっているかと思います
この順番を、
1,経験値を獲得
2,ゴールドを取得
3,レベルアップ
4,ドロップアイテムを取得
に変えていただくことは可能でしょうか??
なるべくドラクエに近づけたいなと思い、念のためお聞ききしてみました。
もし難しいようであればこのまま使用させていただきます。
もちろん完成後のクレジットにはムノクラさんのお名前を入れさせていただきます。
お返事が遅くなり申し訳ありません。
さっそく確認したところ、おおむね意図した通りの挙動になっていました。ありがとうございます!
こちらのままでも問題はないのですが、細かなところで一点だけよろしいでしょうか?
こちらのプラグインの挙動と表示は現在、
1,経験値を獲得
2,レベルアップ
3,ゴールドを取得
4,ドロップアイテムを取得
の順序になっているかと思います
この順番を、
1,経験値を獲得
2,ゴールドを取得
3,レベルアップ
4,ドロップアイテムを取得
に変えていただくことは可能でしょうか??
なるべくドラクエに近づけたいなと思い、念のためお聞ききしてみました。
もし難しいようであればこのまま使用させていただきます。
もちろん完成後のクレジットにはムノクラさんのお名前を入れさせていただきます。