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

Project1

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

[已经过期] 消除存档类脚本的这两行会不会对游戏造成严重影响?

 关闭 [复制链接]

Lv3.寻梦者 (版主)

八宝粥的基叔

梦石
0
星屑
4719
在线时间
5242 小时
注册时间
2009-4-29
帖子
14318

贵宾

跳转到指定楼层
1
发表于 2011-9-20 13:31:26 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 protosssonny 于 2011-9-20 18:44 编辑

进入游戏之后,只要和敌人打几仗,再保存进度就会弹出这样的错误提示:

游戏用了很多其他非默认脚本,我又修改了不少脚本,所以难以找到错误的根源。为了消除这个错误,我想到消除错误提示的这两行:
#    Marshal.dump($game_troop,          file)          #=>这行就是1398行
#    $game_troop          = Marshal.load(file)
就不 知道这样会不会对游戏造成严重影响。按照我的分析,$game_troop类的数据一般都是敌人的数据,而每次打仗,敌人都是不同的,数据也应该相应地重新读取,应该不会造成什么严重的影响。不知道我这样分析对不对,请大家来评价一下。
删除两行之后的脚本贴一下,我的储存进度定义在“随机属性”类里面。
  1. #==============================================================================
  2. # ■ Scene_File
  3. #==============================================================================
  4. class Scene_File < Scene_Base
  5.   #--------------------------------------------------------------------------
  6.   # ● 写入存档数据
  7.   #     file : 写入文件用对象 (已经打开)
  8.   #--------------------------------------------------------------------------
  9.   def write_save_data(file)
  10.     characters = []
  11.     for actor in $game_party.members
  12.       characters.push([actor.character_name, actor.character_index])
  13.     end
  14.     $game_system.save_count += 1
  15.     $game_system.version_id = $data_system.version_id
  16.     @last_bgm = RPG::BGM::last
  17.     @last_bgs = RPG::BGS::last
  18.     Marshal.dump(characters,           file)
  19.     Marshal.dump(Graphics.frame_count, file)
  20.     Marshal.dump(@last_bgm,            file)
  21.     Marshal.dump(@last_bgs,            file)
  22.     Marshal.dump($game_system,         file)
  23.     Marshal.dump($game_message,        file)
  24.     Marshal.dump($game_switches,       file)
  25.     Marshal.dump($game_variables,      file)
  26.     Marshal.dump($game_self_switches,  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.     Marshal.dump($data_weapons,        file)
  33.     Marshal.dump($data_armors,         file)
  34.   end
  35.   #--------------------------------------------------------------------------
  36.   # ● 读取存档数据
  37.   #     file : 读取文件用对象 (已经打开)
  38.   #--------------------------------------------------------------------------
  39.   def read_save_data(file)
  40.     characters           = Marshal.load(file)
  41.     Graphics.frame_count = Marshal.load(file)
  42.     @last_bgm            = Marshal.load(file)
  43.     @last_bgs            = Marshal.load(file)
  44.     $game_system         = Marshal.load(file)
  45.     $game_message        = Marshal.load(file)
  46.     $game_switches       = Marshal.load(file)
  47.     $game_variables      = Marshal.load(file)
  48.     $game_self_switches  = Marshal.load(file)
  49.     $game_actors         = Marshal.load(file)
  50.     $game_party          = Marshal.load(file)
  51.     ########(删除)$game_troop          = Marshal.load(file)
  52.     $game_map            = Marshal.load(file)
  53.     $game_player         = Marshal.load(file)
  54.     $data_weapons        = Marshal.load(file)
  55.     $data_armors         = Marshal.load(file)
  56.     if $game_system.version_id != $data_system.version_id
  57.       $game_map.setup($game_map.map_id)
  58.       $game_player.center($game_player.x, $game_player.y)
  59.     end
  60.   end
  61. end
复制代码
请大家说说自己的看法吧,删除这两行会不会对游戏造成严重影响?
《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

《逝去的回忆3》的讨论群:
一群:192885514
二群:200460747

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1071 小时
注册时间
2011-5-12
帖子
2317

贵宾

2
发表于 2011-9-20 14:56:13 | 只看该作者
是使用了随机敌人脚本吗?
还有…………打仗……是战斗吗?

点评

删除之后测试,到目前为止没有发现错误提示。所以问你们删除后会不会有严重后果啊。  发表于 2011-9-20 21:25
找我请找芙蕾娅
顺带一提,完全看得懂我头像请捡起你自己的节操哟(自重
回复

使用道具 举报

Lv3.寻梦者 (版主)

八宝粥的基叔

梦石
0
星屑
4719
在线时间
5242 小时
注册时间
2009-4-29
帖子
14318

贵宾

3
 楼主| 发表于 2011-9-20 15:23:47 | 只看该作者
用了随机敌人脚本,但是随机敌人脚本在我第一个游戏中也使用了,没有任何问题。
打仗就是战斗。
我估计凭我现阶段的水平是修复不了,所以想放弃修改,直接删除这2行。不知道可以不。

点评

删除之后测试,到目前为止没有发现错误提示。所以问你们删除后会不会有严重后果啊。  发表于 2011-9-20 21:24
删了测试看看?  发表于 2011-9-20 17:34
《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

《逝去的回忆3》的讨论群:
一群:192885514
二群:200460747
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
122 小时
注册时间
2009-6-12
帖子
73
4
发表于 2011-9-20 20:26:28 | 只看该作者
我只知道你删掉这两行,错误就会到其他的行了- -

点评

或者我换一种问法:脚本Marshal.dump($game_troop, file)到底是存储游戏中的哪些数据?读档是否真有必要读这些数据?  发表于 2011-9-20 21:29
主要是现在删除了,目前测试还没有出现错误提示。存档读档也能正常进行。  发表于 2011-9-20 21:26
回复

使用道具 举报

Lv1.梦旅人

追从自然的旅行者
奇特空·煦

梦石
0
星屑
107
在线时间
1387 小时
注册时间
2010-12-31
帖子
4944

开拓者贵宾

5
发表于 2011-9-20 22:49:38 | 只看该作者
f1中应该有关于Marshal的介绍吧
啥?蝌蚪文看不懂?找谷哥
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1071 小时
注册时间
2011-5-12
帖子
2317

贵宾

6
发表于 2011-9-21 05:36:31 | 只看该作者
试试全局搜索$game_troop 看看(加个空格在后面)
找我请找芙蕾娅
顺带一提,完全看得懂我头像请捡起你自己的节操哟(自重
回复

使用道具 举报

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1697
在线时间
3038 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

7
发表于 2011-9-21 11:12:14 | 只看该作者
$game_troop肯定是队伍的问题。
检查下有没有空的队伍,或者是已经删除掉的敌人组成的队伍,如果有请删除 by精灵

点评

$game_troop包括了数据库里面的队伍那页吧。详情请参考数据库-队伍(也就是敌人组成的队伍那页)  发表于 2011-9-21 20:53
或者还是Marshal.dump($game_troop,file)纯粹只是为了和Marshal.dump($game_party,file)配套成双的伪定义,而实际没有什么存储的必要?  发表于 2011-9-21 13:01
不知道您是否可以告诉我,Marshal.dump($game_troop,file)这行命令到底是存储敌人的哪些信息?读档的时候真有必要读取这些有关$game_troop的信息?  发表于 2011-9-21 12:58
直接进“新游戏”是可以存档的,但是不断和一个明雷敌人战斗之后,有一定的概率会出现这样的错误提示。战斗5次左右基本上一定会有错误提示了。  发表于 2011-9-21 12:55
回复

使用道具 举报

Lv3.寻梦者 (版主)

八宝粥的基叔

梦石
0
星屑
4719
在线时间
5242 小时
注册时间
2009-4-29
帖子
14318

贵宾

8
 楼主| 发表于 2011-9-27 11:36:14 | 只看该作者
我找到问题的根源了,是由于无法储存自定义变量@enemy_state造成的。
于是把我的自定义变量@enemy_state全部改成$enemy_state,即是不需要储存,问题得到完美的解决。
《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

《逝去的回忆3》的讨论群:
一群:192885514
二群:200460747
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-9 01:58

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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