Wow sorry, my mistake. In this case it was not $game_variables[19] but @game_variables[19] because we are not using the global value, we are using the loaded from each file Marshal data.
You can also change that 19 to the ID of the variable you want for the chapter.
Your script had some tabulation issues. It doesn't matter for the code itself, but scripters always prefer a good tabulation to easily understand the code.
So this is the corrected script, I hope it will work fine now:
You can also change that 19 to the ID of the variable you want for the chapter.
Your script had some tabulation issues. It doesn't matter for the code itself, but scripters always prefer a good tabulation to easily understand the code.
So this is the corrected script, I hope it will work fine now:
#==============================================================================
# MOG Scene File Ayumi V1.0
#==============================================================================
# By Moghunter
#==============================================================================
module MOG
#Transition Time
MSVT = 30
#Transition Type
MSVTT = "006-Stripe02"
end
$mogscript = {} if $mogscript == nil
$mogscript["menu_ayumi"] = true
###############
# Window_Base #
###############
class Window_Base < Window
def drw_win_file(x,y)
dwf = RPG::Cache.picture("Win_File")
cw = dwf.width
ch = dwf.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x , y - ch, dwf, src_rect)
end
end
###################
# Window_SaveFile #
###################
class Window_SaveFile < Window_Base
attr_reader :filename
attr_reader :selected
def initialize(file_index, filename)
super(0, 64 + file_index * 138, 640, 240)
self.contents = Bitmap.new(width - 32, height - 32)
self.opacity = 0
@file_index = file_index
@filename = "Save#{@file_index + 1}.rxdata"
@time_stamp = Time.at(0)
@file_exist = FileTest.exist?(@filename)
if @file_exist
file = File.open(@filename, "r")
@time_stamp = file.mtime
@characters = Marshal.load(file)
@frame_count = Marshal.load(file)
@game_system = Marshal.load(file)
@game_switches = Marshal.load(file)
@game_variables = Marshal.load(file)
@game_self_switches = Marshal.load(file)
@game_screen = Marshal.load(file)
@game_actors = Marshal.load(file)
@game_party = Marshal.load(file)
@game_troop = Marshal.load(file)
@game_map = Marshal.load(file)
@total_sec = @frame_count / Graphics.frame_rate
file.close
end
@wiref = 0
refresh
@selected = false
end
def refresh
self.contents.clear
drw_win_file(0,190)
name = "Pagina" + "#{@file_index + 1}"#nome pagina
self.contents.draw_text(338, 23, 600, 32, name) #posizione pagina
self.contents.draw_text(337, 22, 600, 32, name) #posizione pagina
@name_width = contents.text_size(name).width
chapter = case @game_variables[19] # Chapter
when 0 then "Capitolo 1: Destino Infernale"
when 1 then "Capitolo 2: Le ''Amazon Stones''"
when 2 then "Capitolo 3: Sogni In Pericolo"
when 3 then "Capitolo 4: Lotta Per La Galassia"
when 4 then "Capitolo 5: L'Ultima Battaglia"
when 5 then "Capitolo 6: Il Primo Amore Di Ami"
end
self.contents.draw_text(338, 23, 600, 32, chapter) #posizione pagina
self.contents.draw_text(337, 22, 600, 32, chapter) #posizione pagina
if @file_exist
for i in 0...@characters.size
bitmap = RPG::Cache.character(@characters[i][0], @characters[i][1])
cw = bitmap.rect.width / 4
ch = bitmap.rect.height / 4
src_rect = Rect.new(cw * @wiref + 1 , 0, cw, ch)
x = 360 - @characters.size + i * 32 - cw / 4 #posizione sailor
self.contents.blt(x - 10, 135 - ch, bitmap, src_rect) #135altezza sailor
x = 116
actors = @game_party.actors
for i in 0...[actors.size, 5].min
x = i * 60
actor = actors[i]
end
end
hour = @total_sec / 60 / 60
min = @total_sec / 60 % 60
sec = @total_sec % 60
time_string = sprintf("%02d:%02d:%02d", hour, min, sec)
self.contents.draw_text(5, 41, 397, 32, time_string, 2)
self.contents.draw_text(4, 40, 397, 32, time_string, 2)
end
end
def selected=(selected)
@selected = selected
end
end
##############
# Scene_File #
##############
class Scene_File
def initialize(help_text)
@help_text = help_text
end
def main
@mnback = Plane.new
@mnback.bitmap = RPG::Cache.picture("MN_BK")
@mnback.z = 1
@mnlay = Sprite.new
@mnlay.bitmap = RPG::Cache.picture("Lay_File")
@mnlay.z = 2
@help_window = Window_Help.new
@help_window.set_text(@help_text)
@help_window.opacity = 0
@savefile_windows = []
for i in 0..2
@savefile_windows.push(Window_SaveFile.new(i, make_filename(i)))
end
@savefile_windows[0]
@file_index = $game_temp.last_file_index
@savefile_windows[@file_index].selected = true
@savefile_windows[0].y = 40
@savefile_windows[1].y= 140
@savefile_windows[2].y= 240
@win_move_time = 0
@win_move = 0
@win_dire = 0
@win_opac = 255
@win1_y = 0
@win2_y = 0
@win3_y = 0
Graphics.transition(MOG::MSVT, "Graphics/Transitions/" + MOG::MSVTT)
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
for i in 0..50
@mnback.ox += 1
Graphics.update
end
Graphics.freeze
@help_window.dispose
@mnback.dispose
@mnlay.dispose
for i in @savefile_windows
i.dispose
end
end
def update
for i in 0..2
@savefile_windows[i].x = 0
@savefile_windows[i].z = 1
@savefile_windows[i].contents_opacity = 130
end
@savefile_windows[@file_index].x = @win_move
@savefile_windows[@file_index].z = 2
@savefile_windows[@file_index].contents_opacity = @win_opac
@help_window.update
for i in @savefile_windows
i.update
end
if Input.trigger?(Input::C)
on_decision(make_filename(@file_index))
$game_temp.last_file_index = @file_index
return
end
if Input.trigger?(Input::B)
on_cancel
return
end
if Input.repeat?(Input::DOWN)
if Input.trigger?(Input::DOWN) or @file_index < 3
$game_system.se_play($data_system.cursor_se)
@savefile_windows[@file_index].selected = false
@file_index = (@file_index + 1) % 3
@savefile_windows[@file_index].selected = true
return
end
end
if Input.repeat?(Input::UP)
if Input.trigger?(Input::UP) or @file_index > 0
$game_system.se_play($data_system.cursor_se)
@savefile_windows[@file_index].selected = false
@file_index = (@file_index - 1) % 3
@savefile_windows[@file_index].selected = true
return
end
end
end
def make_filename(file_index)
return "Save#{file_index + 1}.rxdata"
end
end