ページ 22

Re: どうしてもうまくいかないので相談させてください

Posted: 2024年9月01日(日) 11:02
by DEDEN
スクショ掲載ありがとうございます
そのステータス表示はももまる様のリフォーム・バトルステータスでしょうか?
描画順で何かしらの問題が発生していそうですね
ATBは関係ないかもしれません
様々なスキンが用意されているようですがこれはどれにあたるのでしょうか?

お返事ありがとうございます!

Posted: 2024年9月01日(日) 11:20
by かろすらす
お返事ありがとうございます!
スキンというと、敵の下のゲージやアクター側のウィンドウ内の描写の事でしょうか。
上の紫色のゲージが敵のAPです。満タンになると行動します。これはATBのスクリプト関係のものですね。
下の橙色のゲージは敵のHPです。敵HPを描写するスクリプトも入れているので、それによるものです。

アクター側のスキンに関しては、XPスタイルバトルでのスキンを使っておりますが、
ATBに関係するものについては、ATBのサイトからダウンロードしたのかもしれません。
「ATB」のスクリプトは「XPスタイルバトル」と連携していたと思うので、
それ専用の素材を用いていたと思います。うろ覚えなので、確実な事が言えないのですが…。

XPスタイルバトルのリフォーム・バトルステータス内ですね。
ありがとうございます。そこを探ってみます。

進展がありましたので、連絡を入れさせていただきます。

Posted: 2024年9月01日(日) 14:33
by かろすらす
こんにちは…! 少しだけ進展がありましたので、連絡をいれさせていただきます。
まず、問題の挙動を起こしているスクリプトなのですが、
「XPスタイルバトル」の「リフォーム・バトルステータス」の中にあるとわかりました。
バックアップを取って「リフォーム・バトルステータス」と、
その関係のスクリプトを3つほど抜いたのちに最初から始めてみたところ、
その挙動が起こっていなかったように見えたので、おそらく原因はこの中にあると思います。
(ただ戦闘画面に移ってすぐにエラー落ちしてしまったので、しっかりと見れてはいません…。)

もう一つ、「リフォーム・バトルステータス」の中にある、
「● スプライトの位置設定」の項目の一つである、
「sprite.move(x + format[:x], @y + format[:y], format[:z])」の部分をコメントアウトし、
戦闘を行ったところ、各アクターのゲージの位置だけが左上に移動したので、
ここがアクターのゲージの位置を調節しているのだと思います。

今は「move(sprite, format)」を用いている部分の中に、
今回の不具合を起こしている場所があるとみて、調べています。
ただ、どこがそれに該当するのがかわからないので、
もしまたなにか分かったことがありましたら、連絡いただけると嬉しいです。
どうかよろしくお願いします…!

Re: どうしてもうまくいかないので相談させてください

Posted: 2024年9月01日(日) 15:18
by DEDEN
とりあえずstandardスキンで試してみましたが、かろすらす様と同じ現象が確認できました
Spriteset_BattleStatusのinitializeで描画を行っていますがここを調べた限りではアクターを並べ替えた後も正しい順番で配置されているようです
しかしその後の処理で何かしらの不具合が起きているみたいですね
もう少し調べてみるので進展があればまたお知らせします
少々お待ちください

Re: どうしてもうまくいかないので相談させてください

Posted: 2024年9月01日(日) 16:58
by DEDEN
かろすらす様
大変お待たせしました
原因は私が改造した部分でした
よく考えなくとも私がGame_Actorを弄った事によってバグが発生したのは明白だった筈が
それを完全に失念しており、ももまる様のスクリプトを疑うなんて本当にお恥ずかしい限りです…
余計なお手間を掛けさせてしまい申し訳ありませんでした
前回お渡ししたコードを以下の物に差し替えれば解決すると思います

コード: 全て選択

class Game_Actor < Game_Battler
  attr_accessor :index
  #--------------------------------------------------------------------------
  # ● インデックス取得
  #--------------------------------------------------------------------------
  def index
    return @index
  end
end
class Scene_Battle < Scene_Base
  #--------------------------------------------------------------------------
  # ● 開始処理
  #--------------------------------------------------------------------------
  alias start_ori start
  def start
    $game_party.members.map! {|actor|actor.index = $game_party.members.index(actor)}
    start_ori
  end
end

こちらでも確認しました!本当にありがとうございました!!

Posted: 2024年9月01日(日) 17:16
by かろすらす
返信どうもありがとうございます!!
無事に解決しておりました!ここまで見てくださって、本当にありがとうございました!!
それにこちらこそ、ずっと頼りっぱなしになってしまい、申し訳ありませんです…。
今後もいただいたスクリプトを活用させていただきますね…!
丁寧な対応、本当に感謝です…!

Re: どうしてもうまくいかないので相談させてください

Posted: 2024年9月02日(月) 00:40
by DEDEN
再三すみません
先程のコードでは別の不具合が発生する恐れがある事に気付いたので再度修正しました
お手数ですが以下の物に差し替えてください

コード: 全て選択

class Game_Actor < Game_Battler
  attr_accessor :index
  #--------------------------------------------------------------------------
  # ● インデックス取得
  #--------------------------------------------------------------------------
  def index
    return @index
  end
end
class Scene_Battle < Scene_Base
  #--------------------------------------------------------------------------
  # ● 開始処理
  #--------------------------------------------------------------------------
  alias start_deden start
  def start
    $game_party.members.map! do |actor|
      next if !actor.index.nil?
      actor.index = $game_party.members.index(actor)
    end
    start_deden
  end
end
class Game_Party < Game_Unit
  #--------------------------------------------------------------------------
  # ● 順序入れ替え
  #--------------------------------------------------------------------------
  alias swap_order_deden swap_order
  def swap_order(index1, index2)
    swap_order_deden(index1,index2)
    $game_actors[@actors[index1]].index = index1
    $game_actors[@actors[index2]].index = index2
  end
end

本当にありがとうございます!!

Posted: 2024年9月02日(月) 09:21
by かろすらす
おはようございます…!! 連絡ありがとうございます!!
まさか不具合の可能性も考えて、追加していただけるとは… ありがとうございます!!
早速ですが、取り入れさせていただきました!!見たところ、異変なく動いております!!
しっかりと丁寧に対応してくださって、とても嬉しいです…!!
大切に使わせていただきますね!本当にありがとうございました!感謝です…!!