白の魔さまの魔物図鑑
Posted: 2024年11月05日(火) 15:23
魔物図鑑を開くときに
ID1ではなく最後に倒した敵の場所で開くようにするには
どうしたらいいでしょうか?
ID1ではなく最後に倒した敵の場所で開くようにするには
どうしたらいいでしょうか?
コード: 全て選択
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