Kod:
module FINAL_LVL
ACTOR_FINAL_LEVEL = [] # ← NIE USUWAĆ
# Konfiguracja poszczególnych bohaterów:
# ACTOR_FINAL_LEVEL[ID postaci] = maksymalny poziom
ACTOR_FINAL_LEVEL[1] = 40
ACTOR_FINAL_LEVEL[2] = 50
# Domyślny poziom postaci, jeśli nie skonfigurowano powyżej
DEFAULT_FINAL_LEVEL = 50
end
#------------------------------------------------------------------------------#
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# * Calculate Experience
#--------------------------------------------------------------------------
def make_exp_list
@exp_list = Array.new(final_level + 2)
@exp_list[1] = @exp_list[final_level + 1] = 0
m = actor.exp_basis
n = 0.75 + actor.exp_inflation / 200.0
(2..final_level).each { |i|
@exp_list[i] = @exp_list[i-1] + Integer(m)
m *= 1 + n
n *= 0.9
}
end
#--------------------------------------------------------------------------
# * Final Level
#--------------------------------------------------------------------------
def final_level
n = FINAL_LVL::ACTOR_FINAL_LEVEL[self.id]
return (n != nil ? n : FINAL_LVL::DEFAULT_FINAL_LEVEL)
end
#--------------------------------------------------------------------------
# * Change Level
# level : new level
# show : Level up display flag
#--------------------------------------------------------------------------
def change_level(level, show)
level = [[level, final_level].min, 1].max
change_exp(@exp_list[level], show)
end
end
class Scene_File < Scene_Base
#--------------------------------------------------------------------------
# * Read Save Data
# file : file object for reading (opened)
#--------------------------------------------------------------------------
alias read_save_data_final_lvl read_save_data
def read_save_data(file)
read_save_data_final_lvl(file)
(1...$data_actors.size).each { |i|
actor = $game_actors[i]
actor.make_exp_list
if actor.level > actor.final_level
while actor.level > actor.final_level
actor.level_down
end
actor.change_level(actor.final_level, false)
end
}
end
end