Auto Load é um script para o RMXP, desenvolvido por Marcelo Cavaco, que ao inserido num projeto ou game, faz com que o primeiro save (do arquivo Save1.rxdata
) seja automaticamente, quando existir, na tela de título. Eu diria que este script precisa de algum trabalho e algumas correções, pois testei rapidamente, uma hora de erro no script, e outra hora ficou num loop infinito, quando o herói morria e o jogo reiniciava. Mas a idéia é interessante, de repente pode ser aproveitado ou então implementado apenas na hora em que o projeto tiver sido terminado (ele auto carrega o save até no modo de teste do RMXP).
class Scene_Title # ------------------------------------ def main if $BTEST battle_test return end $data_actors = load_data("Data/Actors.rxdata") $data_classes = load_data("Data/Classes.rxdata") $data_skills = load_data("Data/Skills.rxdata") $data_items = load_data("Data/Items.rxdata") $data_weapons = load_data("Data/Weapons.rxdata") $data_armors = load_data("Data/Armors.rxdata") $data_enemies = load_data("Data/Enemies.rxdata") $data_troops = load_data("Data/Troops.rxdata") $data_states = load_data("Data/States.rxdata") $data_animations = load_data("Data/Animations.rxdata") $data_tilesets = load_data("Data/Tilesets.rxdata") $data_common_events = load_data("Data/CommonEvents.rxdata") $data_system = load_data("Data/System.rxdata") $game_system = Game_System.new @sprite = Sprite.new @sprite.bitmap = RPG::Cache.title($data_system.title_name) s1 = "New Game" s2 = "Continue" s3 = "Shutdown" @command_window = Window_Command.new(192, [s1, s2, s3]) @command_window.back_opacity = 160 @command_window.x = 320 - @command_window.width / 2 @command_window.y = 288 @continue_enabled = false for i in 0..3 if FileTest.exist?("Save#{i+1}.rxdata") @continue_enabled = true end end if @continue_enabled @command_window.index = 1 else @command_window.disable_item(1) end $game_system.bgm_play($data_system.title_bgm) # ------------------------------------ # INICIO AUTO LOAD POR MARCELO CAVACO # ------------------------------------ if @continue_enabled load_Automatico end # ------------------------------------ # FIM AUTO LOAD POR MARCELO CAVACO # ------------------------------------ Audio.me_stop Audio.bgs_stop Graphics.transition loop do Graphics.update Input.update update if $scene != self break end end Graphics.freeze @command_window.dispose @sprite.bitmap.dispose @sprite.dispose end # ------------------------------------ # ------------------------------------ # INICIO AUTO LOAD POR MARCELO CAVACO # ------------------------------------ def load_Automatico # O AUTO LOAD VAI BUSCAR SEMPRE O ARQUIVO 'Save1.rxdata' filename = "Save1.rxdata" # SE NÃO EXISTIR ESTE ARQUIVO, NÃO FAZ O AUTOLOAD unless FileTest.exist?(filename) $game_system.se_play($data_system.buzzer_se) return end $game_system.se_play($data_system.load_se) file = File.open(filename, "rb") # CARREGANDO AS INFORMAÇÕES characters = Marshal.load(file) Graphics.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) $game_player = Marshal.load(file) if $game_system.magic_number != $data_system.magic_number $game_map.setup($game_map.map_id) $game_player.center($game_player.x, $game_player.y) end $game_party.refresh file.close $game_system.bgm_play($game_system.playing_bgm) $game_system.bgs_play($game_system.playing_bgs) # INICIANDO O JOGO $game_map.update $scene = Scene_Map.new end # ------------------------------------ # FIM AUTO LOAD POR MARCELO CAVACO # ------------------------------------ # ------------------------------------ def update @command_window.update if Input.trigger?(Input::C) case @command_window.index when 0 command_new_game when 1 command_continue when 2 command_shutdown end end end # ------------------------------------ def command_new_game $game_system.se_play($data_system.decision_se) Audio.bgm_stop Graphics.frame_count = 0 $game_temp = Game_Temp.new $game_system = Game_System.new $game_switches = Game_Switches.new $game_variables = Game_Variables.new $game_self_switches = Game_SelfSwitches.new $game_screen = Game_Screen.new $game_actors = Game_Actors.new $game_party = Game_Party.new $game_troop = Game_Troop.new $game_map = Game_Map.new $game_player = Game_Player.new $game_party.setup_starting_members $game_map.setup($data_system.start_map_id) $game_player.moveto($data_system.start_x, $data_system.start_y) $game_player.refresh $game_map.autoplay $game_map.update $scene = Scene_Map.new end # ------------------------------------ def command_continue unless @continue_enabled $game_system.se_play($data_system.buzzer_se) return end $game_system.se_play($data_system.decision_se) $scene = Scene_Load.new end # ------------------------------------ def command_shutdown $game_system.se_play($data_system.decision_se) Audio.bgm_fade(800) Audio.bgs_fade(800) Audio.me_fade(800) $scene = nil end # ------------------------------------ def battle_test $data_actors = load_data("Data/BT_Actors.rxdata") $data_classes = load_data("Data/BT_Classes.rxdata") $data_skills = load_data("Data/BT_Skills.rxdata") $data_items = load_data("Data/BT_Items.rxdata") $data_weapons = load_data("Data/BT_Weapons.rxdata") $data_armors = load_data("Data/BT_Armors.rxdata") $data_enemies = load_data("Data/BT_Enemies.rxdata") $data_troops = load_data("Data/BT_Troops.rxdata") $data_states = load_data("Data/BT_States.rxdata") $data_animations = load_data("Data/BT_Animations.rxdata") $data_tilesets = load_data("Data/BT_Tilesets.rxdata") $data_common_events = load_data("Data/BT_CommonEvents.rxdata") $data_system = load_data("Data/BT_System.rxdata") Graphics.frame_count = 0 $game_temp = Game_Temp.new $game_system = Game_System.new $game_switches = Game_Switches.new $game_variables = Game_Variables.new $game_self_switches = Game_SelfSwitches.new $game_screen = Game_Screen.new $game_actors = Game_Actors.new $game_party = Game_Party.new $game_troop = Game_Troop.new $game_map = Game_Map.new $game_player = Game_Player.new $game_party.setup_battle_test_members $game_temp.battle_troop_id = $data_system.test_troop_id $game_temp.battle_can_escape = true $game_map.battleback_name = $data_system.battleback_name $game_system.se_play($data_system.battle_start_se) $game_system.bgm_play($game_system.battle_bgm) $scene = Scene_Battle.new end end
Observação: se você gostou deste post ou ele lhe foi útil de alguma forma, por favor considere apoiar financeiramente a Gaming Room. Fico feliz só de ajudar, mas a contribuição do visitante é muito importante para que este site continua existindo e para que eu possa continuar provendo este tipo de conteúdo e melhorar cada vez mais. Acesse aqui e saiba como. Obrigado!