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

Project1

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

[已经过期] 自动存档脚本错误,请教高手帮忙解答

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2011-7-2
帖子
12
跳转到指定楼层
1
发表于 2011-7-4 17:03:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 「旅」 于 2011-7-4 17:09 编辑

我下了个自动存档脚本,能存档,直接关掉游戏,默认存档最后时间。
关掉游戏后,重新进,选择继续,结果不想继续想重新开始,BUG出来了,脚本错误,然后存档丢失,不能再使用存档了,怎么弄都不行,我想写个直接跳过选择存档的那里,选继续直接进游戏,但是这样的话就只能玩一个号了,自动存档默认存档第一个(暂时我发现是这样的,刚用不久。)
希望高手帮个忙看看脚本是否存在问题,帮忙改下,感激不尽~~~。如果能给我个装备属性随机脚本就更好了~~~
  1. #==============================================================
  2. #以下是脚本
  3. #==============================================================
  4. module Kernel
  5. alias origin_exit exit unless method_defined? :exit
  6. def exit(*args)
  7.    case $scene
  8.    when Scene_Map
  9.      AutoSave.common_save unless $game_system.map_interpreter.running?
  10.    when Scene_Battle
  11.      AutoSave.common_save unless $game_system.battle_interpreter.running?
  12.    else
  13.      if $scene.type != NilClass and $scene.type != Scene_Title
  14.        AutoSave.common_save
  15.      end
  16.    end
  17.    origin_exit(*args)
  18. end
  19. end

  20. module AutoSave
  21. if @scene_proc.nil?

  22.    @last_scene = nil.class

  23.    @scene_proc = proc do |value|

  24.      if value.nil? or value.is_a?(Scene_Title)

  25.        if @last_scene != NilClass and @last_scene != Scene_Title

  26.          AutoSave.common_save

  27.        end

  28.      end

  29.      @last_scene = value.type

  30.    end

  31.    trace_var(:$scene,@scene_proc)

  32. end



  33. module_function



  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. def write_save_data(file)

  41.    characters = []

  42.    for i in 0...$game_party.actors.size

  43.      actor = $game_party.actors[i]

  44.      characters.push([actor.character_name, actor.character_hue])

  45.    end

  46.    Marshal.dump(characters, file)

  47.    Marshal.dump(Graphics.frame_count, file)

  48.    $game_system.save_count += 1

  49.    $game_system.magic_number = $data_system.magic_number

  50.    Marshal.dump($game_system, file)

  51.    Marshal.dump($game_switches, file)

  52.    Marshal.dump($game_variables, file)

  53.    Marshal.dump($game_self_switches, file)

  54.    Marshal.dump($game_screen, file)

  55.    Marshal.dump($game_actors, file)

  56.    Marshal.dump($game_party, file)

  57.    Marshal.dump($game_troop, file)

  58.    Marshal.dump($game_map, file)

  59.    Marshal.dump($game_player, file)

  60. end
  61. end
复制代码
进入继续后按Esc导致脚本错误。
   for i in 0...$game_party.actors.size

这个是错误行,另外还有个BUG,就是使用自动存档后,不能再手动存档,不然也会出错

在Windows_SaveFile脚本里面第28行

      @characters = Marshal.load(file)

这里又会出错~~~

谁帮忙看看怎么改改。


gzliujie于2011-7-4 17:14补充以下内容:
几分钟的事情,就没个高手花个几分钟帮我看看改改?这里高手都这样的?

Lv1.梦旅人

梦石
0
星屑
50
在线时间
45 小时
注册时间
2011-6-6
帖子
70
2
发表于 2011-7-6 13:42:19 | 只看该作者
本帖最后由 fux2 于 2011-7-6 14:33 编辑

这样
如下
  1. def auto_save
  2.     filename = "autosave.rxdata"
  3.     # 演奏存档 SE
  4.     # 写入存档数据
  5.     file = File.open(filename, "wb")
  6.     write_save_data(file)
  7.     file.close
  8.   end
  9.   def write_save_data(file)
  10.     # 生成描绘存档文件用的角色图形
  11.     characters = []
  12.     for i in 0...$game_party.actors.size
  13.       actor = $game_party.actors[i]
  14.       characters.push([actor.character_name, actor.character_hue])
  15.     end
  16.     # 写入描绘存档文件用的角色数据
  17.     Marshal.dump(characters, file)
  18.     # 写入测量游戏时间用画面计数
  19.     Marshal.dump(Graphics.frame_count, file)
  20.     # 增加 1 次存档次数
  21.     $game_system.save_count += 1
  22.     # 保存魔法编号
  23.     # (将编辑器保存的值以随机值替换)
  24.     $game_system.magic_number = $data_system.magic_number
  25.     # 写入各种游戏对像
  26.     Marshal.dump($game_system, file)
  27.     Marshal.dump($game_switches, file)
  28.     Marshal.dump($game_variables, file)
  29.     Marshal.dump($game_self_switches, file)
  30.     Marshal.dump($game_screen, file)
  31.     Marshal.dump($game_actors, file)
  32.     Marshal.dump($game_party, file)
  33.     Marshal.dump($game_troop, file)
  34.     Marshal.dump($game_map, file)
  35.     Marshal.dump($game_player, file)
  36.   end
复制代码
请问这里是地球吗?是的话告诉我人类在哪。我要灭了他们!
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2011-7-2
帖子
12
3
 楼主| 发表于 2011-7-6 18:28:09 | 只看该作者
160445706 发表于 2011-7-6 13:42
这样
如下

十分感谢,我去测试下。


gzliujie于2011-7-6 18:31补充以下内容:
===========
=
============
没有自动存档的效果~~~~~~直接关掉游戏不自动保存。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
45 小时
注册时间
2011-6-6
帖子
70
4
发表于 2011-7-6 18:39:48 | 只看该作者
试一下这样

def exit(n)
    filename = "autosave.rxdata"
    # 演奏存档 SE
    # 写入存档数据
    file = File.open(filename, "wb")
    characters = []
    for i in 0...$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)
    # 增加 1 次存档次数
    $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
    $scene=nil
end


160445706于2011-7-6 18:51补充以下内容:
注:仅用于Alt+F4和红叉叉还有exit的指令
    如要用在其它地方
    请在本脚本def exit(n)之后$scene=nil之前的东东
    放在任何脚本的$scene=nil之前
    例如:Scene_Title
请问这里是地球吗?是的话告诉我人类在哪。我要灭了他们!
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2011-7-2
帖子
12
5
 楼主| 发表于 2011-7-7 14:55:11 | 只看该作者
继续测试中,:loveliness:


gzliujie于2011-7-7 14:56补充以下内容:
还是不行:L有点小悲剧。兄弟,帮忙测试后告诉我具体方法可以么~~~~拜托


gzliujie于2011-7-7 14:57补充以下内容:
帮忙测试后告诉我完整使用方法吧?拜托咯大好人呐,帮忙帮到底嘛。
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-26 08:43

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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