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

Project1

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

汗汗~ 无聊 抢别人的功劳来发下~ 自动存档啦~

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2006-12-20
帖子
213
跳转到指定楼层
1
发表于 2007-2-1 23:28:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
{/gg}{/gg}{/gg} 游戏自动存档~  当然不过遇到rp的比如断电那些情况就`````

N久米发过脚本~  无聊无聊抢别人的脚本改改发个好了~  邪恶啊 - -bbbbbbb

好了~ 不扯鸟 脚本如下~ :


  1. module Kernel

  2.   alias origin_exit exit unless method_defined? :exit
  3.   
  4.   def exit(*args)
  5.     case $scene
  6.     when Scene_Map
  7.       AutoSave.common_save unless $game_system.map_interpreter.running?
  8.     when Scene_Battle
  9.       AutoSave.common_save unless $game_system.battle_interpreter.running?
  10.     else
  11.       if $scene.type != NilClass and $scene.type != Scene_Title
  12.         AutoSave.common_save
  13.       end
  14.     end
  15.     origin_exit(*args)
  16.   end

  17. end


  18. module AutoSave

  19.   if @scene_proc.nil?
  20.     @last_scene = nil.class
  21.     @scene_proc = proc do |value|
  22.       if value.nil? or value.is_a?(Scene_Title)
  23.         if @last_scene != NilClass and @last_scene != Scene_Title
  24.           AutoSave.common_save
  25.         end
  26.       end
  27.       @last_scene = value.type
  28.     end
  29.     trace_var(:$scene,@scene_proc)
  30.   end
  31.   
  32.   module_function
  33.   
  34.   def common_save
  35.     filename = "Save#{$game_temp.last_file_index + 1}.rxdata"
  36.     file = File.open(filename, "wb")
  37.     write_save_data(file)
  38.     file.close
  39.   end
  40.   
  41.   def write_save_data(file)
  42.     characters = []
  43.     for i in 0...$game_party.actors.size
  44.       actor = $game_party.actors[i]
  45.       characters.push([actor.character_name, actor.character_hue])
  46.     end
  47.     Marshal.dump(characters, file)
  48.     Marshal.dump(Graphics.frame_count, file)
  49.     $game_system.save_count += 1
  50.     $game_system.magic_number = $data_system.magic_number
  51.     Marshal.dump($game_system, file)
  52.     Marshal.dump($game_switches, file)
  53.     Marshal.dump($game_variables, file)
  54.     Marshal.dump($game_self_switches, file)
  55.     Marshal.dump($game_screen, file)
  56.     Marshal.dump($game_actors, file)
  57.     Marshal.dump($game_party, file)
  58.     Marshal.dump($game_troop, file)
  59.     Marshal.dump($game_map, file)
  60.     Marshal.dump($game_player, file)
  61.   end
  62.   
  63. end

复制代码


              [本贴由 雷欧纳德 于 2007-5-30 15:43:49 进行了编辑]
哼哼。。。。

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2006-12-20
帖子
213
2
 楼主| 发表于 2007-2-1 23:28:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
{/gg}{/gg}{/gg} 游戏自动存档~  当然不过遇到rp的比如断电那些情况就`````

N久米发过脚本~  无聊无聊抢别人的脚本改改发个好了~  邪恶啊 - -bbbbbbb

好了~ 不扯鸟 脚本如下~ :


  1. module Kernel

  2.   alias origin_exit exit unless method_defined? :exit
  3.   
  4.   def exit(*args)
  5.     case $scene
  6.     when Scene_Map
  7.       AutoSave.common_save unless $game_system.map_interpreter.running?
  8.     when Scene_Battle
  9.       AutoSave.common_save unless $game_system.battle_interpreter.running?
  10.     else
  11.       if $scene.type != NilClass and $scene.type != Scene_Title
  12.         AutoSave.common_save
  13.       end
  14.     end
  15.     origin_exit(*args)
  16.   end

  17. end


  18. module AutoSave

  19.   if @scene_proc.nil?
  20.     @last_scene = nil.class
  21.     @scene_proc = proc do |value|
  22.       if value.nil? or value.is_a?(Scene_Title)
  23.         if @last_scene != NilClass and @last_scene != Scene_Title
  24.           AutoSave.common_save
  25.         end
  26.       end
  27.       @last_scene = value.type
  28.     end
  29.     trace_var(:$scene,@scene_proc)
  30.   end
  31.   
  32.   module_function
  33.   
  34.   def common_save
  35.     filename = "Save#{$game_temp.last_file_index + 1}.rxdata"
  36.     file = File.open(filename, "wb")
  37.     write_save_data(file)
  38.     file.close
  39.   end
  40.   
  41.   def write_save_data(file)
  42.     characters = []
  43.     for i in 0...$game_party.actors.size
  44.       actor = $game_party.actors[i]
  45.       characters.push([actor.character_name, actor.character_hue])
  46.     end
  47.     Marshal.dump(characters, file)
  48.     Marshal.dump(Graphics.frame_count, file)
  49.     $game_system.save_count += 1
  50.     $game_system.magic_number = $data_system.magic_number
  51.     Marshal.dump($game_system, file)
  52.     Marshal.dump($game_switches, file)
  53.     Marshal.dump($game_variables, file)
  54.     Marshal.dump($game_self_switches, file)
  55.     Marshal.dump($game_screen, file)
  56.     Marshal.dump($game_actors, file)
  57.     Marshal.dump($game_party, file)
  58.     Marshal.dump($game_troop, file)
  59.     Marshal.dump($game_map, file)
  60.     Marshal.dump($game_player, file)
  61.   end
  62.   
  63. end

复制代码


              [本贴由 雷欧纳德 于 2007-5-30 15:43:49 进行了编辑]
哼哼。。。。

Lv1.梦旅人

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
帖子
4085

第1届短篇游戏比赛亚军

3
发表于 2007-2-1 23:59:10 | 只看该作者
这个是什么意思
unless method_defined? :exit
纵然千里外,我等雁归来。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

本尊<

梦石
0
星屑
50
在线时间
2 小时
注册时间
2006-11-21
帖子
799

贵宾

4
发表于 2007-2-2 08:31:44 | 只看该作者
{/jy}关闭后存档?
黑羽毛
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2006-10-5
帖子
125
5
发表于 2007-2-2 20:59:08 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者


  • 更新完成啦

梦石
0
星屑
784
在线时间
6267 小时
注册时间
2006-6-7
帖子
8462
6
发表于 2007-2-2 22:31:53 | 只看该作者
一看就知道有小夏的成分{/hx}
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2006-10-5
帖子
125
7
发表于 2007-2-4 05:30:19 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2006-12-20
帖子
213
8
 楼主| 发表于 2007-2-5 06:44:30 | 只看该作者
以下引用美兽于2007-2-1 15:59:10的发言:

这个是什么意思

unless method_defined? :exit

判断 exit是否定义~ {/gg}

以下引用莫浪语于2007-2-2 0:31:44的发言:

关闭后存档?

是的 退出游戏时会自动存档~

以上两个灌水的PIA飞
哼哼。。。。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
帖子
4085

第1届短篇游戏比赛亚军

9
发表于 2007-2-5 17:05:00 | 只看该作者
我倒明白那个意思,但不明白的是结构

exit本身不是已经有了吗?为什么要判断是否存在???
这句话不是当模块没定义了exit的实例方法
unless method_defined? :exit
则重命名
alias origin_exit exit
那么没定义exit,又是根据什么重命名呢??

纵然千里外,我等雁归来。
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2006-10-7
帖子
28
10
发表于 2007-2-5 17:46:38 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-7-6 15:45

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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