查看: 70|回复: 0

[转载发布] 可以用事件直接存/读档(理论上支持无限存档)

[复制链接]
  • TA的每日心情
    开心
    4 天前
  • 签到天数: 37 天

    连续签到: 3 天

    [LV.5]常住居民I

    2028

    主题

    32

    回帖

    7260

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    0
    卡币
    5184
    OK点
    16
    积分
    7260
    发表于 同元一千年八月六日(秋) | 显示全部楼层 |阅读模式
    直接用事件脚本来存/读档
    使用方法
    存档(直接用事件脚本):
    Save.save(存档位置)
    读档(直接用事件脚本):
    Load.load(存档位置)

    RUBY 代码
    1. =begin
    2. By   九幽鬼少
    3. 使用方法
    4. 存档(直接用事件脚本):
    5. Save.save(存档位置)
    6. 读档(直接用事件脚本):
    7. Load.load(存档位置)
    8. =end
    9. module Save     
    10.   defself.save(index = nil)
    11.     @filename = "Save#{index}.rxdata"unless index.nil?
    12.     file = File.open(@filename, "wb")
    13.     characters = []
    14.     for i in0...$game_party.actors.size
    15.       actor = $game_party.actors[i]
    16.       characters.push([actor.character_name, actor.character_hue])
    17.     end
    18.     Marshal.dump(characters, file)
    19.     Marshal.dump(Graphics.frame_count, file)
    20.     $game_system.save_count += 1
    21.     $game_system.magic_number = $data_system.magic_number
    22.     Marshal.dump($game_system, file)
    23.     Marshal.dump($game_switches, file)
    24.     Marshal.dump($game_variables, file)
    25.     Marshal.dump($game_self_switches, file)
    26.     Marshal.dump($game_screen, file)
    27.     Marshal.dump($game_actors, file)
    28.     Marshal.dump($game_party, file)
    29.     Marshal.dump($game_troop, file)
    30.     Marshal.dump($game_map, file)
    31.     Marshal.dump($game_player, file)
    32.     file.close
    33.   end
    34. end
    35. moduleLoad   
    36.   defself.load(index = nil)
    37.     @filename = "Save#{index}.rxdata"unless index.nil?
    38.     file = File.open(@filename, "rb")
    39.     characters = Marshal.load(file)
    40.     Graphics.frame_count = Marshal.load(file)
    41.     $game_system        = Marshal.load(file)
    42.     $game_switches      = Marshal.load(file)
    43.     $game_variables     = Marshal.load(file)
    44.     $game_self_switches = Marshal.load(file)
    45.     $game_screen        = Marshal.load(file)
    46.     $game_actors        = Marshal.load(file)
    47.     $game_party         = Marshal.load(file)
    48.     $game_troop         = Marshal.load(file)
    49.     $game_map           = Marshal.load(file)
    50.     $game_player        = Marshal.load(file)
    51.     if$game_system.magic_number != $data_system.magic_number
    52.       $game_map.setup($game_map.map_id)
    53.       $game_player.center($game_player.x, $game_player.y)
    54.     end
    55.     $game_party.refresh
    56.     file.close
    57.     $game_system.bgm_play($game_system.playing_bgm)
    58.     $game_system.bgs_play($game_system.playing_bgs)
    59.     $game_map.update
    60.     $scene = Scene_Map.new
    61.   end
    62. end
    复制代码

                 本帖来自P1论坛作者九幽鬼少,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=366409  若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
    天天去同能,天天有童年!
    回复 论坛版权

    使用道具 举报

    ahome_bigavatar:guest
    ahome_bigavatar:welcomelogin
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2024-5-14 13:15 , Processed in 0.046482 second(s), 41 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表