白の魔さまの魔物図鑑

イシモチ
記事: 15
登録日時: 2022年1月17日(月) 05:28

白の魔さまの魔物図鑑

投稿記事by イシモチ » 2024年11月05日(火) 15:23

魔物図鑑を開くときに
ID1ではなく最後に倒した敵の場所で開くようにするには
どうしたらいいでしょうか?

DEDEN
記事: 86
登録日時: 2018年8月25日(土) 15:06

Re: 白の魔さまの魔物図鑑

投稿記事by DEDEN » 2024年11月06日(水) 23:17

イシモチ様、こんばんは
登録した時ではなく倒した時で間違いないでしょうか?
登録済みの敵も含めて最後に倒した敵にカーソルが合えば良いですか?

それと敵を倒して最初に魔物図鑑を開いた時だけではなく
倒した後は次に別の敵を倒すまではずっとそのエネミーにカーソルが合った状態で開くようにするという仕様で合っていますか?
イシモチ
記事: 15
登録日時: 2022年1月17日(月) 05:28

Re: 白の魔さまの魔物図鑑

投稿記事by イシモチ » 2024年11月11日(月) 16:36

ありがとうございます

はい、倒した時がいいですね

再度開くときのことは考えていませんでしたが
利便性的にはどっちがいいんでしょうね・・
ずっと最後の敵にあったほうが使いやすいかもしれないのでその仕様だと助かります
DEDEN
記事: 86
登録日時: 2018年8月25日(土) 15:06

Re: 白の魔さまの魔物図鑑

投稿記事by DEDEN » 2024年11月12日(火) 23:03

イシモチ様
お待たせしました
このコードを導入すれば挙動が変わると思います
何か不具合があればいつでもお知らせください

コード: 全て選択

class Window_MonsterDictionaryList < Window_Selectable
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize(x, y, width, height)
    super
    @data = []
    refresh
    activate
    select_last_enemy
  end
  #--------------------------------------------------------------------------
  # ● 最後に倒したIDを選択
  #--------------------------------------------------------------------------
  def select_last_enemy
    index = @data.index {|enemy| enemy.id == $last_enemy_id}
    index = 0 if index.nil?
    select(index)
  end
end

class Game_Enemy < Game_Battler
  #--------------------------------------------------------------------------
  # ● 戦闘不能になる
  #--------------------------------------------------------------------------
  def die
    super
    $last_enemy_id = @enemy_id
  end
end

module DataManager
  #--------------------------------------------------------------------------
  # ● 特異メソッド
  #--------------------------------------------------------------------------
  class << self
    alias :make_save_contents_deden :make_save_contents
    alias :extract_save_contents_deden :extract_save_contents
  end
  #--------------------------------------------------------------------------
  # ● セーブ内容の作成
  #--------------------------------------------------------------------------
  def self.make_save_contents
    contents = make_save_contents_deden
    contents[:last_enemy_id] = $last_enemy_id
    contents
  end
  #--------------------------------------------------------------------------
  # ● セーブ内容の展開
  #--------------------------------------------------------------------------
  def self.extract_save_contents(contents)
    extract_save_contents_deden(contents)
    $last_enemy_id  = contents[:last_enemy_id]
  end
end

class Scene_Title < Scene_Base
  #--------------------------------------------------------------------------
  # ● 開始処理
  #--------------------------------------------------------------------------
  alias start_deden start
  def start
    start_deden
    $last_enemy_id = 1
  end
end
イシモチ
記事: 15
登録日時: 2022年1月17日(月) 05:28

Re: 白の魔さまの魔物図鑑

投稿記事by イシモチ » 2024年11月13日(水) 01:23

ありがとうございます!
想定通りの挙動になってます
クレジットに表記させていただきます・・
と思ったらすでに書かれていました :shock:

“VX / Ace:スクリプト素材のリクエスト” へ戻る