找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2891|回复: 0

[原创] 关于renpy存档机制的研究以及一点修改建议

[复制链接]
发表于 2022-4-14 16:09:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
本帖最后由 天使的遗族 于 2022-4-14 16:21 编辑

## 存档目录 ########################################################################
##
## 控制 Ren'Py 为此游戏放置存档的,基于平台的特定目录。存档文件将放置在:
##
## Windows:%APPDATA\RenPy\<config.save_directory>
##
## Macintosh:$HOME/Library/RenPy/<config.save_directory>
##
## Linux:$HOME/.renpy/<config.save_directory>
##
## 该命令一般不应变更,若要变更,应为有效字符串而不是表达式。
评价:不要看见上面那句唬人的话就对下面改默认存档位置投鼠忌器。

[RenPy] 纯文本查看 复制代码
define config.save_directory = "YOUR GAME NAME"


默认options.rpy配置的存档位置是%APPDATA\RenPy\<config.save_directory>,位于你的C盘文档文件夹,我们都明白这样保存文件十分容易由于文件损坏、重装系统、误删除文件导致存档丢失,丢失几个存档位文件还行,但是丢失persistent导致进度、之前选过的选项丢失,甚者Cg屋音乐屋又都锁上了,还要重新通关一遍,十分难受。
renpy默认的存档机制是这样的

1.%APPDATA\RenPy\<config.save_directory>为主要存档,首先读取该处的存档,如果该处没有存档,从根目录下game\saves里读取
但是无法解释为什么只删除%APPDATA\RenPy\<config.save_directory>内的persistent文件,却丢失进度(指persistent命名域的变量的值),因此有:

2.%APPDATA\RenPy\<config.save_directory>内的文件正常读取,会复制到根目录下game\saves,删除persistent文件后,运行renpy游戏会立即重新生成默认persistent文件,并替换saves文件夹里的persistent,即不会读取后者的persistent,这样saves文件夹存档的备份效果就完全无效了。
避免这样就不能保留两个存档目录,最稳妥的办法是修改保存目录就为game\saves,这样这个目录的存档就不会被替换了。

[RenPy] 纯文本查看 复制代码
define config.save_directory = "game\saves"


为了让无法读renpy代码了解renpy存档机制的玩家迅速找到存档位置,建议在设置页或读取screen加上打开存档目录的功能,方便玩家备份、删除、移动存档。
[RenPy] 纯文本查看 复制代码
init python:

    import os

    def open_saves_dir():

        save_dir = config.basedir+"\game\saves"#改成你想要的存档位置

        if save_dir and os.path.exists(save_dir):

            os.startfile(str(save_dir))

            return 

        return 



fixed:



    textbutton _("打开存档目录"):



                align(.95,0)



                xysize(150,50)



                action [Function(open_saves_dir)]





您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|RenPy中文空间 ( 苏ICP备17067825号|苏公网安备 32092302000068号 )

GMT+8, 2024-4-26 00:31 , Processed in 0.054061 second(s), 12 queries , File On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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