直接用事件脚本来存/读档
使用方法
存档(直接用事件脚本):
Save.save(存档位置)
读档(直接用事件脚本):
Load.load(存档位置)
RUBY 代码 - =begin
- By 九幽鬼少
- 使用方法
- 存档(直接用事件脚本):
- Save.save(存档位置)
- 读档(直接用事件脚本):
- Load.load(存档位置)
- =end
- module Save
- defself.save(index = nil)
- @filename = "Save#{index}.rxdata"unless index.nil?
- file = File.open(@filename, "wb")
- characters = []
- for i in0...$game_party.actors.size
- actor = $game_party.actors[i]
- characters.push([actor.character_name, actor.character_hue])
- end
- Marshal.dump(characters, file)
- 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)
- file.close
- end
- end
- moduleLoad
- defself.load(index = nil)
- @filename = "Save#{index}.rxdata"unless index.nil?
- file = File.open(@filename, "rb")
- 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)
- $game_map.update
- $scene = Scene_Map.new
- end
- end
复制代码
本帖来自P1论坛作者九幽鬼少,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址: https://rpg.blue/forum.php?mod=viewthread&tid=366409 若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。 |