ページ 1 / 1
【解決済み】外したメンバーを、再び加入した時のレベルと経験値について
Posted: 2018年2月10日(土) 18:20
by ぶろっく
自分の手には負えないので、この場を借りて質問させていただきます。
ゲーム途中のイベント内で、パーティメンバーAを一旦外し、
暫くしてから再びパーティに加える際に、
外れたメンバーAのレベルと経験値を、一番レベルの高いパーティメンバーに合わせたいのですが、どういう設定にすれば良いのでしょうか?
http://www14.atpages.jp/mikadan/ehime/s ... pt036.html ↑ ※RPGツクールVX向け用のスクリプトですviewtopic.php?t=1310上記のサイト様や、ツクマテ内で似たようなトピックがあったのですが、
新規メンバーの加入ではなく、レベルもある程度上がった状態のメンバーAを再加入して
尚且つ、現在のパーティ内で一番高いレベルのメンバーの、レベルと経験値に変えたいのです…。
何卒よろしくお願いいたします。
Re: 外したメンバーを、再び加入した時のレベルと経験値について
Posted: 2018年2月10日(土) 20:08
by ビービー
こんにちは。
パーティーメンバー内で一番レベルが高いアクターの経験値を変数Aに代入し
途中抜けたキャラクターの加入時の経験値を代入した変数Bで-すれば
最高レベルのアクターと同じレベルにできる経験値の値を取得できるので
その変数を加入キャラに与えれば可能です。
<イベント例>
◆変数の操作:#0001 最大レベルのアクター経験値 = ハロルドの経験値
◆変数の操作:#0002 加入時の経験値 = テレーゼの経験値
◆変数の操作:#0001 最大レベルのアクター経験値 -= 加入時の経験値
◆経験値の増減:テレーゼ, + {最大レベルのアクター経験値}
◆全回復:テレーゼ
※追記
職業の経験値曲線が同一の場合のみ可能な処理です。
Re: 外したメンバーを、再び加入した時のレベルと経験値について
Posted: 2018年2月10日(土) 21:24
by ぶろっく
お返事と迅速な対応、ありがとうございます!
加えてもう一つお聞きしたいのですが…
例えばゲームの途中のメンバーAの加入イベントの時点で、パーティメンバーが
メンバーB LV.11
メンバーC LV.10
メンバーD LV.6
というステータスで、上記の方法を使ってメンバーAを入れた際に
一番レベル(もしくはそれまでの戦闘で得た獲得経験値)の高いメンバーBに合わせるように、メンバーAのレベルを上げたいのですが、どうすれば良いのでしょうか…。
恐らくスクリプトで「現在までの獲得経験値が一番高いメンバー」を、ビービーさんが表記したイベント例で言う「ハロルドの経験値」に変えれば出来ると考えたのですが、そのスクリプトをどう表記すればいいのか…。
重ね重ね失礼します。
Re: 外したメンバーを、再び加入した時のレベルと経験値について
Posted: 2018年2月11日(日) 20:47
by ビービー
こんばんは。
イベントコマンドでやるなら以下で可能です。
◆変数の操作:#0003 チャンピオン経験値 = テレーゼの経験値
◆変数の操作:#0004 チャレンジャー経験値 = マーシャの経験値
◆条件分岐:チャンピオン経験値 < チャレンジャー経験値
◆変数の操作:#0003 チャンピオン経験値 = チャレンジャー経験値
◆
:分岐終了
◆変数の操作:#0004 チャレンジャー経験値 = ルキウスの経験値
◆条件分岐:チャンピオン経験値 < チャレンジャー経験値
◆変数の操作:#0003 チャンピオン経験値 = チャレンジャー経験値
◆
:分岐終了
◆変数の操作:#0002 加入時の経験値 = アクターAの経験値
◆変数の操作:#0003 チャンピオン経験値 -= 加入時の経験値
◆経験値の増減:アクターA, + {チャンピオン経験値}
◆全回復:アクターA
条件分岐で経験値獲得チャンピオンを決めています。
スクリプトでやるなら以下のスクリプトを変数に代入すれば可能です。
Math.max($gameActors.actor(アクターID_B).currentExp(), $gameActors.actor(アクターID_C).currentExp(), $gameActors.actor(アクターID_D).currentExp());
アクターID_B~Dを適当なIDに書き換えてお使いください。
以下が例になります。
◆変数の操作:#0001 最大レベルのアクター経験値 = Math.max($gameActors.actor(2).currentExp(), $gameActors.actor(3).currentExp(), $gameActors.actor(4).currentExp());
◆変数の操作:#0002 加入時の経験値 = アクターAの経験値
◆変数の操作:#0001 最大レベルのアクター経験値 -= 加入時の経験値
◆経験値の増減:アクターA, + {最大レベルのアクター経験値}
◆全回復:アクターA
アクター2,3,4の経験値の中から一番多いものを変数1に代入しています。
Re: 外したメンバーを、再び加入した時のレベルと経験値について
Posted: 2018年2月12日(月) 10:03
by にいやん
こんにちは。
ツクールMVには現メンバーの最大レベルを取得するスクリプトがあるのでそれを使えば以下のようなコードでも可能だと思います。10番目のアクターを仲間に入れるときは1の部分を10にする。回復処理までは入れていないので手動で回復して下さい。仕様として仲間に入るキャラのレベルが現パーティーのレベルよりも大きい場合にはレベルの変動は起きません。
コード: 全て選択
$gameActors.actor(1).changeLevel(($gameParty.highestLevel() - $gameActors.actor(1).level) + $gameActors.actor(1).level, false);
Re: 外したメンバーを、再び加入した時のレベルと経験値について
Posted: 2018年2月13日(火) 08:48
by ぶろっく
皆様のお陰で、うまく処理することができました!
また複数のメンバーを外して、その外れたメンバー全員を戻した場合でも、一番経験値の多いキャラクターに合わせることができました。
参考になるかはわかりませんが、自分用でまとめたものをこちらにも載せておきます。
この度は本当にありがとうございました!
※画像一枚目ではまっつUPさんの、多人数パーティ向けメニューステータスプラグインを使用しています。
※画像二枚目のイベントエディターでは、ビービーさんが教えてくださったスクリプトを導入しています。