查看: 2950|回复: 2

[讨论] 退出轩辕剑商店菜单之后,不能存档No Marshal dump

[复制链接]
梦石
0
星屑
3905
在线时间
1972 小时
注册时间
2013-1-3
回帖
9146
发表于 2020-3-23 00:08:39 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 紫英晓狼1130 于 2020-3-23 08:24 编辑

轩辕剑美化商店 本来就有的问题
按照预设的操作退出商店后,游戏可以正常运行,但存档就会报错,头一次见到这样的问题
存档出来的save文件只有1kb,说明存档过程有了问题
查了一下F1,关于marshal的问题说明:有不能写入文件的数据写入时就会有typeerror
工程在此贴5楼,这个问题不是移植后的问题,而是原有的bug:https://rpg.blue/thread-141979-1-1.html



解决方法如下:
原因:在事件中调用的变量方式不对,导致存档时无法写入该值
方法:调用全局变量
[pre lang="ruby"]$shopcommand=Window_Command4.new(......)
$shopcommand.update
$shopcommand.dispose
[/pre]
ACF9ECEC-589E-4E67-B31A-A72656FECF13.png
56D47043-BA43-43D8-BC92-F8EEA0EEE95D.jpeg
《宿愿·寻剑篇》正式版已经发布!快去看看!点击进入论坛发布贴
梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

发表于 2020-3-23 02:19:48 | 显示全部楼层
本帖最后由 guoxiaomi 于 2020-4-15 01:30 编辑

嗯,因为存档的时候会储存 $game_system/Game_System 对象,其实例变量@map_interpreter(也就是当前地图上正在执行的事件)当然也会被存下来。你在当前的事件解释器里构建的 @shopcommand 对象也会一同存下来。于是导致了对应的bug。

解决方案:使用全局变量
  1. $shopcommand = Window_Commanda.new(...)
复制代码


在事件脚本里插入主流程其实非常的不合理,你可以参考SailCat的MiniScene: https://rpg.blue/thread-404988-1-1.html

点评

根据您的方法已经修改成功了 谢谢您 还是吃了语法的亏 被C语言中的全局变量影响了  发表于 2020-3-23 08:20

评分

参与人数 1赞 +1 收起 理由
taeckle + 1 大神威武!

查看全部评分

熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 1 0

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部