Project1

标题: 求自动存档、读档的脚本 [打印本页]

作者: Wind2010    时间: 2010-10-15 18:00
标题: 求自动存档、读档的脚本
本帖最后由 Wind2010 于 2010-10-15 18:01 编辑

就是说在游戏时可以调用一个指令,自动进行存档,不需要选择存档位置
读档也是,直接读取,不提示
作者: 魔之哆啦    时间: 2010-10-15 18:00
本帖最后由 魔之哆啦 于 2010-10-15 18:05 编辑

[qq]  995113876
[/qq]
我可以教你

作者: 魔之哆啦    时间: 2010-10-15 18:01
可以使用DNF的脚本
作者: nijunxin12321    时间: 2010-10-15 18:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: 雪_“‘    时间: 2010-10-15 18:53
1、LZ发帖前应该先搜索..我记得有这样的东西..(搜索在登录后右上角有显示..LZ只需打上”自动存档“即可)
2、3楼和4楼已经给了答案..LZ可以去查看的..
3、在下就给个连接吧..声明这个是搜索里找来的..
http://rpg.blue/forum.php?mod=vi ... 6%E5%AD%98%E6%A1%A3
作者: 429259591    时间: 2010-10-15 18:55
我记得好像神域里也有自动存档
作者: Wind2010    时间: 2010-10-15 19:17
呃……我要的不是可以在任何时候都可以存档的脚本
我是要一个可以调用的指令,这个指令可以自动生成一个存档而不用选择存档位置
读档的时候也是直接读取这个存档
作者: fux2    时间: 2010-10-15 20:05
回复 Wind2010 的帖子


    请参考夏娜大人的“即时存档”主题。
作者: DBZ-1    时间: 2010-10-15 21:04
魔石……记忆深刻啊
作者: Wind2010    时间: 2010-10-15 21:06
不是在每一帧都可以存档啊……
就是在城市中心做个存档事件,触发事件时生成一个存档
然后读取游戏时就读取这个存档
作者: 雪_“‘    时间: 2010-10-15 21:19
LZ的意思应该是:按存档时直接存档...读档时也是直接读档吧?
就像口袋妖怪那种一样的吧..意思是只能存一个档..而不是原本的按存档后有4个位置选的..
如果LZ的问题是这个意思..那么这个应该可以在脚本里改的吧...把某脚本里的1、2、3、4选项里删了2、3、4...之类的..(我脚本无能啊...貌似有个叫什么SAVE的东西..LZ会看脚本的话可以修改..感觉难度不大的..重要的是看看里面牵涉到什么脚本- -)..希望能帮到你...
作者: Wind2010    时间: 2010-10-15 23:26
然后现在自己解决掉存档的问题了……
  1. def baocun   
  2. file = File.open("game.sav", "wb") #game.sav是存档名称
  3.     # 生成描绘存档文件用的角色图形
  4.     characters = []
  5.     for i in 0...$game_party.actors.size
  6.       actor = $game_party.actors[i]
  7.       characters.push([actor.character_name, actor.character_hue,

  8. actor.id, actor.battler_name, actor.battler_hue])
  9.     end
  10.     # 写入描绘存档文件用的角色数据
  11.     Marshal.dump(characters, file)
  12.     # 写入测量游戏时间用画面计数
  13.     Marshal.dump(Graphics.frame_count, file)
  14.     # 保存魔法编号
  15.     # (将编辑器保存的值以随机值替换)
  16.     $game_system.magic_number = $data_system.magic_number
  17.     # 写入各种游戏对像
  18.     Marshal.dump($data_skills, file)
  19.     Marshal.dump($game_system, file)
  20.     Marshal.dump($game_switches, file)
  21.     Marshal.dump($game_variables, file)
  22.     Marshal.dump($game_self_switches, file)
  23.     Marshal.dump($game_screen, file)
  24.     Marshal.dump($game_actors, file)
  25.     Marshal.dump($game_party, file)
  26.     Marshal.dump($game_troop, file)
  27.     Marshal.dump($game_map, file)
  28.     Marshal.dump($game_player, file)
  29.     #Marshal.dump($keymiyue, file) 这个是密钥
  30.     file.close  
  31.   end
复制代码
然后现在就是读取有问题啊……有人能帮忙看看下面那个读取脚本有什么错误么,我用的是事件标题……
  1. def duqu
  2. if $continue_enabled == true
  3.     file = File.open("game.sav", "rb")
  4.     # 读取描绘存档文件用的角色数据
  5.     characters = Marshal.load(file)
  6.     # 读取测量游戏时间用画面计数
  7.     Graphics.frame_count = Marshal.load(file)
  8.     # 读取各种游戏对像
  9.     $game_system        = Marshal.load(file)
  10.     $game_switches      = Marshal.load(file)
  11.     $game_variables     = Marshal.load(file)
  12.     $game_self_switches = Marshal.load(file)
  13.     $game_screen        = Marshal.load(file)
  14.     $game_actors        = Marshal.load(file)
  15.     $game_party         = Marshal.load(file)
  16.     $game_troop         = Marshal.load(file)
  17.     $game_map           = Marshal.load(file)
  18.     $game_player        = Marshal.load(file)
  19.     #$keymiyue          = Marshal.load(file) 密钥
  20.     # 魔法编号与保存时有差异的情况下
  21.     # (加入编辑器的编辑过的数据)
  22.     if $game_system.magic_number != $data_system.magic_number
  23.       # 重新装载地图
  24.       $game_map.setup($game_map.map_id)
  25.       $game_player.center($game_player.x, $game_player.y)
  26.     end
  27.     # 刷新同伴成员
  28.     new_actors = []
  29.     for i in [email][email protected][/email]
  30.       if $data_actors[@actors[i].id] != nil
  31.         new_actors.push($game_actors[@actors[i].id])
  32.       end
  33.     end
  34.     @actors = new_actors
  35.     file.close
  36.     # 还原 BGM、BGS
  37.     $game_system.bgm_play($game_system.playing_bgm)
  38.     $game_system.bgs_play($game_system.playing_bgs)
  39.     # 刷新地图 (执行并行事件)
  40.     $game_map.update
  41.     # 切换到地图画面
  42.     $scene = Scene_Map.new
  43. end
  44. end
复制代码

作者: asperta    时间: 2010-10-16 00:35
在duqu函数
  1. $game_system        = Marshal.load(file)
复制代码
的前面加上一行
  1. $data_skills        = Marshal.load(file)
复制代码
试试
作者: Wind2010    时间: 2010-10-16 20:08
已经没有人看到这个帖子了么……
难道是因为我把X键调出菜单的脚本删掉了?




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1