『戦闘終了時に得る経験値を変数として取得できる方法』を教えて下さい。

ワタベ2017-12-05に開始した「ツクールMV」の中の討論

  1. ワタベ

    ワタベ ユーザー

    『戦闘終了時に得る経験値を変数として取得できる方法』は、ありますでしょうか?

    現在、基本的に二人パーティーで冒険するRPGを製作しています。仲間にできるキャラクターは主人公を除いて三人です。
    主人公とのレベル差を無くすために、戦闘で得た経験値をパーティーに加わっていないメンバーにも取得させたいのです。

    ツクールMVの仕様として、仲間に加わっており戦闘に参加しないメンバーにも経験値が割り振られるようにはなっています。が、仲間に加わっていないキャラクターには経験値が与えられません。
    このため長編作品では主人公の想定レベルを仲間になった時点でのキャラクターのレベルに設定することになると思います。これが実行できれば、主人公と変わらない経験値やレベルに設定できるようになるのではないでしょうか。

    私の作品ではシンボルエンカウントを採用しています。戦闘終了後のイベントで『条件分岐』を使用し、仲間に加わっていないキャラクターに経験値を取得できるようにしてみたのですが、計算が間違っているのか数字が合いません。
    また戦闘バランスの調整中なのですが、モンスターの経験値を変更すると、かなりの数のシンボルエンカウントEVを修正しないといけなくなるため、非常に労力が掛かります。

    戦闘終了時の経験値を変数として取得できれば、コモンイベントを使用して、正確かつ手動でのシンボルエンカウントEV修正を必要としないように出来ると考えて、相談させていただきました。
    よろしくお願い致します。

    追記
    仲間になるキャラクターは三人と書きましたが、その内の一人は初めて仲間になる時は弱い状態にしています。もし『パーティーに加わっていないキャラクターにも経験値を取得させるプラグイン』があったとしても、パーティーに加わっていないアクター全員に無条件で経験値を取得させてしまうようなプラグインだと、利用できません。
    ワガママで申し訳無いです。
     
    #1
  2. ツミオ

    ツミオ ユーザー

    #2
    ワタベ がいいね!しました
  3. Kpoal

    Kpoal ユーザー

    もしくは、再加入のイベント時に主人公のレベルと同じレベルまで
    経験値を取得するのでは駄目でしょうか。

    外れていた仲間が再度仲間になるときに、
    変数A=主人公の経験値
    変数B=再加入キャラの経験値
    変数A-=変数B
    もし変数A>0なら、変数Aだけの経験値を再加入キャラに取得

    とすれば、プラグインなしでもイベントだけで
    主人公とパーティ外キャラのレベル差をなくす事ができます。
    (VXAceですが、自分もこの方法を使っています)
     
    #3
    ワタベ がいいね!しました
  4. ワタベ

    ワタベ ユーザー

    ツミオさま、kpoalさま、ご返信ありがとうございます。

    >ツミオさま
    プラグインを試作していただき、ありがとうございます。
    さっそくプラグインを導入してみます。
    何かしら不具合がありましたら、本スレッドにて報告させていただきますね。
    助かります。

    >kpoalさま
    変数を二つ以上使用する方法は思いつきませんでした。
    主人公の経験値を変数に指定し、仲間の経験値にイコールできないかとも考えたのですが、引き算すれば良かったのか・・・。
    ただ、kpoalさまの方法ですと、一緒に戦闘に参加していたキャラクターが戦闘不能で経験値が入らなかった場合、その設定がリセットされてしまいますね。仲間が加入するときに設定が変わるので、とても楽だとは思ったのですが。
    ワガママなのですが、戦闘不能による経験値の差は、一緒に戦闘したメモリーみたいなもののような気がしたので、今回はツミオ様のプラグインに頼らせていただきたいと思います。
    ご教授、ありがとうございました。
     
    #4
    ツミオ がいいね!しました
  5. ワタベ

    ワタベ ユーザー

    >ツミオさまへ
    先ほどプラグインを導入し、問題なく利用ができることを確認しました。
    現在、通しプレイ中ですが、すべてのイベントを修正し、また通しプレイでの確認を予定しています。
    ありがとうございました。
     
    #5
    ツミオ がいいね!しました
  6. ネコタ

    ネコタ ユーザー

    こんばんは。

    指定アクターの離脱時から再加入時までに主人公が獲得した経験値を指定アクターに加えるという処理を行いたい、という解釈でよろしいでしょうか?

    であれば、指定アクターの離脱時に主人公の経験値を変数Aに保存しておき、再加入時に主人公の経験値を変数Bに保存します。そして、

    変数B-=変数A

    とすれば、指定キャラの離脱時から再加入時の間で主人公が獲得した経験値を求められます。この操作で得られた変数Bを、再加入した指定キャラに経験値の増減で取得させる、という方法もあります。

    既に解決済みなようなので、今後ご検討いただければ幸いです。
     
    #6
    ワタベ がいいね!しました
  7. ワタベ

    ワタベ ユーザー

    >ネコタさま
    >指定アクターの離脱時から再加入時までに主人公が獲得した経験値を指定アクターに加えるという処理を行いたい、という解釈でよろしいでしょうか?

    はい、そういう理解です。
    ここでも引き算が活用されるわけですね。
    いちおう解決していると思うのですが、ご提案ありがとうございます。
     
    #7

このページを共有