设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2952|回复: 7
打印 上一主题 下一主题

[已经解决] 如何做到一鍵存档与载入?

[复制链接]

Lv1.梦旅人

Mist

梦石
0
星屑
49
在线时间
80 小时
注册时间
2010-9-16
帖子
283
跳转到指定楼层
1
发表于 2010-9-30 16:14:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 嵐。 于 2010-10-1 22:52 编辑

因为使用了事件做标题。希望能够实现这样的效果:事件设置,按下某键后激活一段脚本,直接载入游戏而不弹出存档口。另外在系统菜单栏内的存档选项被按下的时候不弹出存档窗口直接存档。有什么办法能够实现这种不弹出存档窗口,单一存档和读档的效果吗?

Lv1.梦旅人

梦石
0
星屑
85
在线时间
424 小时
注册时间
2009-8-3
帖子
984
2
发表于 2010-9-30 20:34:46 | 只看该作者
搜索。。我记得有一键存档的
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
66 小时
注册时间
2009-2-13
帖子
382
3
发表于 2010-9-30 22:45:36 | 只看该作者
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================

  4. # ————————————————————————————————————

  5. #———版权:carol3————

  6. #———使用方法与效果————
  7. #——默认状态下,将本脚本插入到main之前,在游戏进行中普通地图界面:
  8. #——按下F5将自动存档到4号进度,打开开关1号将存档到4号进度
  9. #——可修改内容:存档编号,开关编号,声效,以及可以自动存档的时候调用公共事件
  10. #———自定义内容
  11. #———1、你希望使用的自动存档开关编号,填写在下面,否则使用1号开关。
  12. #———2、你希望的自动存档编号,填写在下面,否则使用F5存档在4号
  13. #———3、按下F5后的音效,这个音效一定要存在,否则必然出错
  14. #———4、公共事件(可以没有)
  15. #—— 包括:打开开关的时候调用的公共事件,按下F5之后可以存档与禁止存档的公共事件
  16. #——(你可以在公共事件弹出一个对话框提示你已经自动存档了,播放一段音乐音效,补血或者什么别的),默认=0是不调用任何公共事件
  17. #——(注意这个编号如果不正确(比如该编号没有设置内容),程序将自动忽略这项功能)
  18. #########################################################################
  19. $carol3_打开自动存档用的开关编号 = 3
  20. $carol3_自动存档位置 = 4
  21. $carol3_按下F5之后的自动存档的音效 = "Audio/SE/Decision1"
  22. $carol3_按下F5之后禁止存档时候的音效 = "Audio/Se/Buzzer1"

  23. $carol3_打开自动存档开关之后调用的公共事件 = 0 #——默认未定义
  24. $carol3_按下F5之后可以存档调用的公共事件 = 0 #——默认未定义
  25. $carol3_按下F5之后禁止存档调用的公共事件 = 0 #——默认未定义
  26. #########################################################################
  27. #从此处往下的部分如果进行了修改出现问题后果自负。
  28. #########################################################################
  29. class Scene_Map
  30.   alias carol3_update update
  31.   def update
  32.     carol3_update
  33.     #——按下F5的时候自动存档,可以修改为F5,F6,F7,F8,也可以修改成默认按键但是不推荐。
  34.     #——注意在不可存档的时候是无效的
  35.     if Input.trigger?(Input::F5)
  36.       unless $game_map.interpreter.running?
  37.         if $game_system.save_disabled
  38.           Audio.se_play($carol3_按下F5之后禁止存档时候的音效)
  39.           $game_temp.common_event_id = $carol3_按下F5之后禁止存档调用的公共事件
  40.         else
  41.           Audio.se_play($carol3_按下F5之后的自动存档的音效)
  42.           $game_temp.common_event_id = $carol3_按下F5之后可以存档调用的公共事件
  43.           carol3_save
  44.         end
  45.       end
  46.     end
  47.     #——当BOSS战之前打开一下定义的开关,即可自动存档
  48.     if $game_switches[$carol3_打开自动存档用的开关编号] == true
  49.       $game_switches[$carol3_打开自动存档用的开关编号] = false
  50.       $game_temp.common_event_id = $carol3_打开自动存档开关之后调用的公共事件
  51.       carol3_save
  52.     end
  53.   end
  54.   def carol3_save
  55.     #——这里定义了储存的文件,如果不希望用Save4可以自己修改编号
  56.     #——默认情况可以修改为Save1到Save4,如果你增添了存档编号也可以自定义
  57.     carol3_file = File.open("Save#{$carol3_自动存档位置}.rvdata", "wb")
  58.     carol3_save_data(carol3_file)
  59.     carol3_file.close
  60.   end
  61.   def carol3_save_data(file)
  62.     #——以下定义内容和Scene_Save的write_save_data(file)完全一样
  63.     #——如果你修改过该存档方法,不要忘记用你修改的覆盖这部分内容。
  64.     characters = []
  65.     for actor in $game_party.members
  66.       characters.push([actor.character_name, actor.character_index])
  67.     end
  68.     $game_system.save_count += 1
  69.     $game_system.version_id = $data_system.version_id
  70.     @last_bgm = RPG::BGM::last
  71.     @last_bgs = RPG::BGS::last
  72.     Marshal.dump(characters,           file)
  73.     Marshal.dump(Graphics.frame_count, file)
  74.     Marshal.dump(@last_bgm,            file)
  75.     Marshal.dump(@last_bgs,            file)
  76.     Marshal.dump($game_system,         file)
  77.     Marshal.dump($game_message,        file)
  78.     Marshal.dump($game_switches,       file)
  79.     Marshal.dump($game_variables,      file)
  80.     Marshal.dump($game_self_switches,  file)
  81.     Marshal.dump($game_actors,         file)
  82.     Marshal.dump($game_party,          file)
  83.     Marshal.dump($game_troop,          file)
  84.     Marshal.dump($game_map,            file)
  85.     Marshal.dump($game_player,         file)
  86.   end
  87. end

  88. #==============================================================================
  89. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  90. #==============================================================================
复制代码
回复 支持 反对

使用道具 举报

Lv1.梦旅人

Mist

梦石
0
星屑
49
在线时间
80 小时
注册时间
2010-9-16
帖子
283
4
 楼主| 发表于 2010-10-1 08:08:31 | 只看该作者
回复 38571240 的帖子

虽然和我的意思有出入。不过还是谢谢你了。
回复 支持 反对

使用道具 举报

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
631
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

5
发表于 2010-10-1 08:11:14 | 只看该作者
  1. #事件中使用脚本
  2. #save(编号)
  3. #load(编号)
  4. #就可以存读进度了。
  5. class Scene_File
  6.   #--------------------------------------------------------------------------
  7.   # ● 执行保存
  8.   #--------------------------------------------------------------------------
  9.   def do_save(id = @index, from_interpreter = false)
  10.     if from_interpreter
  11.       file = File.open(make_filename(id), "wb")
  12.     else
  13.       file = File.open(@savefile_windows[id].filename, "wb")
  14.     end
  15.     write_save_data(file)
  16.     file.close
  17.     return_scene
  18.   end
  19.   #--------------------------------------------------------------------------
  20.   # ● 执行读取
  21.   #--------------------------------------------------------------------------
  22.   def do_load(id = @index, from_interpreter = false)
  23.     if from_interpreter
  24.       file = File.open(make_filename(id), "rb")
  25.     else
  26.       file = File.open(@savefile_windows[id].filename, "rb")
  27.     end
  28.     read_save_data(file)
  29.     file.close
  30.     $scene = Scene_Map.new
  31.     RPG::BGM.fade(1500)
  32.     Graphics.fadeout(60)
  33.     Graphics.wait(40)
  34.     @last_bgm.play
  35.     @last_bgs.play
  36.   end
  37. end


  38. class Game_Interpreter
  39.   #------------------------------------------------------------------
  40.   # ● 用事件脚本储存进度。方法:save(编号)
  41.   #------------------------------------------------------------------
  42.   def save(index = 0)
  43.     ts = Scene_File.new(true,false,true).do_save(index, true)
  44.   end
  45.   
  46.   #------------------------------------------------------------------
  47.   # ● 用事件脚本读取进度。方法:load(编号)
  48.   #------------------------------------------------------------------
  49.   def load(index = 0)
  50.     ts = Scene_File.new(false,false,true).do_load(index, true)
  51.   end  
  52. end
复制代码
这个么?编号0=1号档,1=2号……以此类推。

评分

参与人数 1星屑 +400 收起 理由
沉影不器 + 400 您的解答已经正确了...

查看全部评分

大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群
回复 支持 反对

使用道具 举报

Lv1.梦旅人

Mist

梦石
0
星屑
49
在线时间
80 小时
注册时间
2010-9-16
帖子
283
6
 楼主| 发表于 2010-10-1 23:26:35 | 只看该作者
回复 冰舞蝶恋 的帖子


  测试的时候发生了错误..事件-脚本:save(1)
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
46
在线时间
10 小时
注册时间
2007-5-27
帖子
2558

第1届Title华丽大赛新人奖

7
发表于 2010-10-1 23:55:58 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

Mist

梦石
0
星屑
49
在线时间
80 小时
注册时间
2010-9-16
帖子
283
8
 楼主| 发表于 2010-10-2 11:51:39 | 只看该作者
回复 沉影不器 的帖子


谢谢沉影前辈。谢谢冰舞~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-28 12:25

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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