解決済【Ace】Atelier RGSS「Battle Result」で控えにも経験値を

沫那環
記事: 8
登録日時: 2016年2月09日(火) 16:22
連絡を取る:

解決済【Ace】Atelier RGSS「Battle Result」で控えにも経験値を

投稿記事by 沫那環 » 2018年2月18日(日) 05:50

こんにちは。時々お世話になっています。
今回、Atelier RGSSにあるVX Ace用の「Battle Result」について、この場を借りて質問させていただきます。

今回、こちらのBattle Resultを制作中のRPGに導入したところ、バトルメンバーにしか経験値が入らなかったため、
控えのメンバーにも経験値が入るように自力で改造しようとしたのですが、ソースコードを見てもどこをどう変えればいいのか見当がつきません。
そこで、経験値を控えのキャラにも入るようにするには、どのように手を加えればいいですか?
また、既に他者様が同様の機能を持つパッチを作っていらっしゃるのであれば、そのURLを教えて下さる形でも構いません。
どうしてもできない場合は、控えに経験値が入らないのは仕様と割り切るつもりではあります。
難しい問題だと思われますが、どなたでも構いませんので対応してくださると幸いです。
最後に編集したユーザー 沫那環 on 2018年2月19日(月) 03:02 [ 編集 1 回目 ]

---
沫那環(あわな たまき)
URL:http://razor-edge.work/
Twitter:@t_awana
---
faida
記事: 216
登録日時: 2015年12月17日(木) 16:44

Re: 【Ace】Atelier RGSS「Battle Result」で控えにも経験値を

投稿記事by faida » 2018年2月18日(日) 13:28

こんにちは。
おそらく、データベースの「システム」タブの「控えメンバーも経験値を獲得」がオフになっていると思われます。
ここのチェックをオンにしないと、スクリプトの導入を問わず控えに経験値が入りません。

が、試していて気づいたことが一つあったので追加で回答を。
このスクリプトで表示されるアクターはバトルメンバーのみで、控えは表示されません。
つまり控えがレベルアップしても立ち絵による表示はないわけです。
これを改造するには「Battle Result」内「def check_level_up」の

コード: 全て選択

if @result_member_id > $game_party.battle_members.size
  $game_temp.level_parameter = []
  $game_temp.level_parameter_old = []
  next
end
をコメントアウトすればよいかと思われます。
---------------------------------------------
自作の(改造でない)スクリプト素材に
関しては、リードミーもしくは作中に
「faida」と記名していただければ
利用可能です。
沫那環
記事: 8
登録日時: 2016年2月09日(火) 16:22
連絡を取る:

Re: 【Ace】Atelier RGSS「Battle Result」で控えにも経験値を

投稿記事by 沫那環 » 2018年2月18日(日) 15:45

>faidaさん
お忙しい中、ありがとうございます。
faidaさんからのレスを見て、最初の書き込みの時に「『控えメンバーも経験値を取得』にはチェックを入れてある」という、とても大事なことを書き忘れていた事を思い出しました……。おお、何とも恥ずかしい。
チェックを入れた状態でも入らなかったので、なんでだろうと首をかしげていたのです。
お教えいただいた方法、試してみます。
---
沫那環(あわな たまき)
URL:http://razor-edge.work/
Twitter:@t_awana
---
沫那環
記事: 8
登録日時: 2016年2月09日(火) 16:22
連絡を取る:

Re: 【Ace】Atelier RGSS「Battle Result」で控えにも経験値を

投稿記事by 沫那環 » 2018年2月18日(日) 16:24

faidaさんからいただいたアドバイス通り、「控えメンバーも(以下略)」のところにチェックを入れ、
該当する箇所をコメントアウトしてやってみたのですが、それでもバトルメンバーのところにしか経験値が入りませんでした。
申し訳ないのですが、今回の件に関しては、仕様だと割り切って使うことにします……。
手を煩わせてしまい、申し訳ありませんでした。
---
沫那環(あわな たまき)
URL:http://razor-edge.work/
Twitter:@t_awana
---
faida
記事: 216
登録日時: 2015年12月17日(木) 16:44

Re: 【Ace】Atelier RGSS「Battle Result」で控えにも経験値を

投稿記事by faida » 2018年2月19日(月) 01:24

こちらもAtelier RGSS様が配布されているマスタープロジェクトで確認したので、単体の仕様ではないと思います。
簡潔に言えば競合ですね。というか、他のスクリプトの仕様かなと。
まぁどんなスクリプトを使用しているか私にはわからないのでこれ以上は何とも言えませんが。

ちなみにアクターの経験値を加算する処理は「Game_Actor」の「gain_exp」で、
戦闘シーンでの加算処理は「BattleManager」の「gain_exp」です。
これらを中心に検索すれば見つかるかと思います。
---------------------------------------------
自作の(改造でない)スクリプト素材に
関しては、リードミーもしくは作中に
「faida」と記名していただければ
利用可能です。
沫那環
記事: 8
登録日時: 2016年2月09日(火) 16:22
連絡を取る:

控えに経験値が入るようになりました

投稿記事by 沫那環 » 2018年2月19日(月) 03:02

あの書き込みの後、もう少し何とかできないか? とあがいていたのですが、

・update_victory_item内の

コード: 全て選択

if $data_system.opt_extra_exp
         @result_member_max = $game_party.members.size
      else


・check_level_up内の

コード: 全て選択

 actor_result = $game_party.members[@result_member_id]


・show_level_result内の

コード: 全て選択

@actor_result = $game_party.members[@result_member_id - 1] rescue nil


上記三か所の「$game_party.members.size」を「$game_party.all_members.size」にすることで、
控えメンバーにも経験値が入るようになりました。
また、最初にfaidaさんにアドバイスをいただいた箇所のコメントアウトと合わせて、
控えのレベルアップ時にもリザルトが表示されるようになりました。
これで、自分が求めていたものの形になんとかなりそうです。
本当にありがとうございました。
これで、解決とさせていただきます。
---
沫那環(あわな たまき)
URL:http://razor-edge.work/
Twitter:@t_awana
---

“VX / Ace:質問” へ戻る