Mais um script de Auto Save, desta vez com uma demo que explica, com detalhes e em português, o que deve se fazer para implementar no seu projeto, além, claro, de demonstrar o funcionamento. O script é de autoria de Madajuv e basta apenas ser inserido no seu jogo do RPG Maker XP e ser chamado com ma_autosave
(para o auto-save) e/ou ma_load
(para carregar).
Obs: Visite o seguinte post, caso ao rodar a demo, você tenha o problema de Acesso Inválido Ao Local De Memória no RMXP. Como o de costume, você vai precisar do RTP do RPG Maker XP e de descompactar a demo. Pode ser com o izARC, caso não tenha algum utilitário do gênero.
#========================================================================== # Script de Auto Save #========================================================================== # Feito por Madajuv # 29/10/06 #========================================================================== # Para iniciar o autosave no jogo # use o comando chamar sciprt com isso escrito: # # ma_autosave # # Para carregar use isto: # # ma_load # #========================================================================== class Scene_Save < Scene_File def ma_write_save_data file = File.open("Save1.rxdata", "wb") Marshal.dump(Graphics.frame_count, file) $game_system.save_count += 1 $game_system.magic_number = $data_system.magic_number Marshal.dump($game_system, file) Marshal.dump($game_switches, file) Marshal.dump($game_variables, file) Marshal.dump($game_self_switches, file) Marshal.dump($game_screen, file) Marshal.dump($game_actors, file) Marshal.dump($game_party, file) Marshal.dump($game_troop, file) Marshal.dump($game_map, file) Marshal.dump($game_player, file) write_save_data(file) file.close end end class Scene_Load < Scene_File def ma_read_save_data file = File.open("Save1.rxdata", "rb") characters = 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) $game_map.setup($game_map.map_id) $game_player.center($game_player.x, $game_player.y) $game_party.refresh file.close end end def ma_autosave ma_scene_autosave_temp = Scene_Save.new ma_scene_autosave_temp.ma_write_save_data ma_scene_autosave_temp = nil end def ma_load ma_scene_autosave_temp = Scene_Load.new ma_scene_autosave_temp.ma_read_save_data ma_scene_autosave_temp = nil 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!