找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 9067|回复: 3

[经验] 给存档在保存时加上一句当前对话以便读取时便于查找

[复制链接]
发表于 2021-6-19 18:47:45 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 天使的遗族 于 2021-6-20 00:09 编辑

[RenPy] 纯文本查看 复制代码
if len(_last_say_what) >15:

                            action [SetVariable("save_name",_last_say_what[:15]+"..."),FileAction(slot)]#如果当前一句对话长于15个字,截取15个字并加上...

                        else:

                            action [SetVariable("save_name",_last_say_what),FileAction(slot)]

此时
[RenPy] 纯文本查看 复制代码
text FileSaveName(slot):

                                        style "slot_name_text"

就能正确显示每个存档保存的一句对话,默认此text指向的save_name应该为空

123.jpg
 楼主| 发表于 2021-6-20 00:06:00 | 显示全部楼层
本帖最后由 天使的遗族 于 2021-6-20 00:10 编辑

if len(_last_say_what) >15

回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2021-6-28 18:17:17 | 显示全部楼层
为了防止保存最近一句到save_game字符串时15个字的限制意外截断文本内标签如{w=1.0}导致错误,应改为:
[RenPy] 纯文本查看 复制代码
if _last_say_what >15:
                        action [SetVariable("save_name", re.sub('(\{.*?\})|(\\\w)|\s', '', _last_say_what[:15])+"..."),QuickSave(newest=True) ]
                    elif _last_say_what > 0:
                        action [SetVariable("save_name", re.sub('(\{.*?\})|(\\\w)|\s', '', _last_say_what)),QuickSave(newest=True) ]
                    else:
                        action [QuickSave(newest=True) ]
                        #需要保存最近一句话到save_name
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2021-6-28 18:19:12 | 显示全部楼层
把 _last_say_what改为_history_list[-1],记录的是当前对话框句子的上一句也就是历史记录的最后一句
回复 支持 抱歉

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 18:57 , Processed in 0.131779 second(s), 28 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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