I'm using Moghunter's "MOG Scene File Ayumi V1.0", a saving menu script for XP, and trying to figure out how to have more then just three save slots. I don't know much about scripting other then edit this here or place that there. So I'm wondering if anyone can look into this script and see if you can change it from three save slots to six.

Thank you in advance.

The unchanged script I'm using
#_________________________________________________________________________
______
# MOG Scene File Ayumi V1.0
#_______________________________________________________________________________
# By Moghunter
#_______________________________________________________________________________
if true # True = Enable / False = Disable (Script)
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
def nada
face = RPG::Cache.picture("")
end
def draw_heroface3(actor,x,y)
face = RPG::Cache.picture(actor.name + "_fc3") rescue nada
cw = face.width
ch = face.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x , y - ch, face, src_rect)
end
def draw_actor_level6(actor, x, y)
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 1, y + 1, 32, 32, "Lv")
self.contents.font.color = system_color
self.contents.draw_text(x, y, 32, 32, "Lv")
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 17, y + 1, 24, 32, actor.level.to_s, 2)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(x + 16, y, 24, 32, actor.level.to_s, 2)
end
def draw_actor_name6(actor, x, y)
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 1, y + 1, 100, 32, actor.name,1)
self.contents.font.color = normal_color
self.contents.draw_text(x, y, 100, 32, actor.name,1)
end
end
############
# Game_Map #
############
class Game_Map
def map_name
@mapinfo = load_data("Data/MapInfos.rxdata") if @mapinfo == nil
return @mapinfo[@map_id].name
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
self.contents.font.name = "Georgia"
drw_win_file(0,190)
name = "#{@file_index + 1}"
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(161, 41, 600, 32, name)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(160, 40, 600, 32, name)
@name_width = contents.text_size(name).width
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 = 300 - @characters.size + i * 64 - cw / 4
self.contents.blt(x - 10, 150 - ch, bitmap, src_rect)
x = 116
actors = @game_party.actors
for i in 0...[actors.size, 4].min
x = i * 60
actor = actors[i]
self.contents.font.size = 20
draw_actor_level6(actor, x + 280, 140)
actor = actors[0]
draw_heroface3(actor,160,180)
draw_actor_name6(actor, 160, 155)
self.contents.font.size = 22
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.font.color = Color.new(0,0,0,255)
self.contents.draw_text(5, 41, 450, 32, time_string, 2)
self.contents.draw_text(41 , 141, 120 , 32, @game_map.map_name.to_s)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(40 , 140, 120 , 32, @game_map.map_name.to_s)
self.contents.draw_text(4, 40, 450, 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.PNG")
@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
@savefile_windows[0].x += 10
@savefile_windows[1].x -= 10
@savefile_windows[2].x += 10
for i in @savefile_windows
i.contents_opacity -= 5
end
Graphics.update
end
Graphics.freeze
@help_window.dispose
@mnback.dispose
@mnlay.dispose
for i in @savefile_windows
i.dispose
end
end
def update
@mnback.ox += 1
@win_opac += 3
@win_move_time += 1
if @win_opac > 254
@win_opac = 150
end
if @win_move_time > 60
@win_dire += 1
@win_move_time = 0
end
if @win_dire > 1
@win_dire = 0
end
if @win_dire == 0
@win_move += 1
else
@win_move -= 1
end
if @file_index == 0
@savefile_windows[0].z = 2
@savefile_windows[1].z = 1
@savefile_windows[2].z = 0
@savefile_windows[0].x = @win_move
@savefile_windows[1].x = 0
@savefile_windows[1].x= 0
@savefile_windows[2].x = 0
@savefile_windows[0].contents_opacity = @win_opac
@savefile_windows[1].contents_opacity = 130
@savefile_windows[2].contents_opacity = 130
elsif @file_index == 1
@savefile_windows[0].z = 1
@savefile_windows[1].z = 2
@savefile_windows[2].z = 1
@savefile_windows[0].x = 0
@savefile_windows[1].x = @win_move
@savefile_windows[2].x = 0
@savefile_windows[0].contents_opacity = 130
@savefile_windows[1].contents_opacity = @win_opac
@savefile_windows[2].contents_opacity = 130
else
@savefile_windows[0].z = 0
@savefile_windows[1].z = 1
@savefile_windows[2].z = 2
@savefile_windows[0].x = 0
@savefile_windows[1].x = 0
@savefile_windows[2].x = @win_move
@savefile_windows[0].contents_opacity = 130
@savefile_windows[1].contents_opacity = 130
@savefile_windows[2].contents_opacity = @win_opac
end
@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
end