セーブデータ毎のアクターネーム取得について

桜庭薫
記事: 6
登録日時: 2018年1月04日(木) 16:44

セーブデータ毎のアクターネーム取得について

投稿記事by 桜庭薫 » 2021年12月17日(金) 23:31

VX Aceについての質問です。
デフォルトのセーブ画面において、プレイ時間の横にアクター1の名前を表示したいと思っています。
表示自体は出来たのですが、現在ロードしているファイルのアクター1の名前が表示されてしまいます。

ファイル毎にアクター1の名前が異なるので、ファイル毎のアクター1の名前を表示したいのですが、
どのような記述をすれば名前を取得できるのでしょうか。

どなたか知恵をお貸しください。よろしくお願い致します。
添付ファイル
ツクマテ.png
ツクマテ.png (47.53 KiB) 閲覧数: 1995 回

名無し蛙
記事: 304
登録日時: 2015年11月23日(月) 02:46

Re: セーブデータ毎のアクターネーム取得について

投稿記事by 名無し蛙 » 2021年12月18日(土) 01:15

どうもこんばんは。
とりあえずスクリプト改造に関するノウハウがある程度ある事を前提に書きます。
正着手はセーブヘッダ情報の追加でしょうね。
DataManagerの199行目にdef self.make_save_headerというメソッドがあります。
これはセーブ画面でファイルの見出し情報を抜き出して保管する為のメソッドです。
再定義化するとしたらこんなところですか。

コード: 全て選択

class << DataManager
  #--------------------------------------------------------------------------
  # ○ セーブヘッダの作成
  #--------------------------------------------------------------------------
  alias :_old_make_save_header :make_save_header
  def make_save_header
    header = _old_make_save_header
    header[:actor1_name] = $game_actors[1].name
    header
  end
end

あとはWindow_SaveFile#draw_playtime等を参考に
headerからこの情報を抜き出して表示すれば上手くいくんじゃないでしょうか

“VX / Ace:質問” へ戻る