【解決済み】戦闘開始時・戦闘終了時の汎用イベント

返信する
SIB
記事: 14
登録日時: 2016年12月10日(土) 20:09

【解決済み】戦闘開始時・戦闘終了時の汎用イベント

投稿記事 by SIB »

こんばんは。

ゲームのシステムで、戦闘中にHPなどではなく、変数を上下させて戦闘の状況に影響するシステムを組んでおります。
その際、戦闘中に変数Aが0から100の間で上昇していきスキルや敵の行動に影響するようにしているのですが、戦闘終了後、次の戦闘では0に戻り、TPのオリジナルバージョンのような形で使用したいと思っております。

初期TPはJSフォルダ内のrpg_objects.jsの

コード: 全て選択

Game_Battler.prototype.initTp = function() {
this.setTp(Math.randomInt(25)
の(25)の部分を変更すれば良いようですが、
「戦闘開始時に特定の変数を0にする。または何かしらのアクションを起こす」にはどうすればいいでしょうか?

また、戦闘終了時に特定の変数を0にする。または何かしらのアクションを毎回起こす方法も分かれば教えてもらえると嬉しいです。

今のところ、rpg_objects.jsの

コード: 全て選択

Game_Party.prototype.performVictory = function() {
    this.members().forEach(function(actor) {
        actor.performVictory();
        
Game_Party.prototype.performEscape = function() {
    this.members().forEach(function(actor) {
        actor.performEscape();        
のそれぞれの後に $gameVariables.setValue(1, 0) のような形で加えることで特定の変数を0に戻していますが、この2つは戦闘に勝利した時と逃走した時に適用される部分な為、戦闘敗北で続行した際に変数操作の処理が挟めませんでした。

できれば、「戦闘開始時や戦闘終了時に特定の動作を起こす」という動きを実装するにはどうすれば良いでしょうか?
例:戦闘開始時にアイテム1番を持っているなら変数1を+30する。 戦闘終了時にスイッチ1番がオンなら、変数1を0にする。

教えて頂けると幸いです。
最後に編集したユーザー SIB [ 2016年12月14日(水) 00:15 ], 累計 1 回
アバター
まっつUP
記事: 1149
登録日時: 2016年8月11日(木) 15:38
お住まい: タケノコ王国

Re: 戦闘開始時・戦闘終了時の汎用イベント

投稿記事 by まっつUP »

SIB様
お世話になります。

rpg_managers.js中のBattleManager.から始まるメソッドを見ていった方が
ご希望の処理位置が見つかりやすいと思います。
(戦闘開始時はstartBattleで、終了時は内容にendBattle(引数)が入っているところでしょうかね・・・。)
RPGで笑顔を・・・

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

github
https://github.com/mattuup/RPGMakerMZ
SIB
記事: 14
登録日時: 2016年12月10日(土) 20:09

Re: 戦闘開始時・戦闘終了時の汎用イベント

投稿記事 by SIB »

まっつUPさん

rpg_managers.js内の各当箇所で試行錯誤したところ戦闘開始時・終了時の汎用処理が上手くできたようです。
戦闘終了時側がやや不安なところがあるものの今のところうまくいけたとして解決済みとさせていただきます。

アドバイスありがとうございました。
返信する

“MV:質問”に戻る